svn path=/nixpkgs/trunk/; revision=26544
This commit is contained in:
Russell O'Connor 2011-03-27 06:44:34 +00:00
parent ac951a6469
commit 72124a0aa9
5 changed files with 146 additions and 0 deletions

View File

@ -0,0 +1,50 @@
{ fetchurl, stdenv, openssl, db4, boost, zlib, glib, libSM, gtk, wxGTK }:
stdenv.mkDerivation rec {
version = "0.3.20.2";
name = "bitcoin-${version}";
src = fetchurl {
url = "mirror://sourceforge/project/bitcoin/Bitcoin/bitcoin-0.3.20/bitcoin-0.3.20.2-linux.tar.gz";
sha256 = "1maq75myqkyngfi9ngaw6kv6nfia5wsjj2zjhns75k3wxhmvgpw5";
};
buildInputs = [ openssl db4 boost zlib glib libSM gtk wxGTK ];
preConfigure = ''
cd src
mkdir obj
mkdir obj/nogui
substituteInPlace makefile.unix \
--replace "-Wl,-Bstatic" "" \
--replace "-Wl,-Bdynamic" "" \
--replace "-mt \\" " \\" \
--replace "-l wx_gtk2ud-2.9" "-l wx_gtk2u_core-2.9 -l wx_gtk2u_html-2.9 -l wx_gtk2u_adv-2.9" \
--replace "DEBUGFLAGS=-g -D__WXDEBUG__" "DEBUGFLAGS=" \
--replace "/usr/local/include/wx-2.9" "${wxGTK}/include/wx-2.9" \
--replace "/usr/local/lib/wx/include/gtk2-unicode-debug-static-2.9" "${wxGTK}/lib/wx/include/gtk2-unicode-release-2.9"
'';
makefile = "makefile.unix";
buildFlags = "bitcoin bitcoind";
installPhase = ''
ensureDir $out/bin
cp bitcoin $out/bin
cp bitcoind $out/bin
'';
meta = {
description = "Bitcoin is a peer-to-peer currency";
longDescription=''
Bitcoin is a free open source peer-to-peer electronic cash system that is
completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending.
'';
homepage = "http://www.bitcoin.org/";
maintainers = [ stdenv.lib.maintainers.roconnor ];
license = "MIT";
};
}

View File

@ -0,0 +1,18 @@
{stdenv, fetchurl, cxxSupport ? true, compat185 ? true}:
stdenv.mkDerivation {
name = "db4-4.7.25";
builder = ./builder.sh;
src = fetchurl {
url = http://download-east.oracle.com/berkeley-db/db-4.7.25.tar.gz;
sha256 = "0gi667v9cw22c03hddd6xd6374l0pczsd56b7pba25c9sdnxjkzi";
};
configureFlags = [
(if cxxSupport then "--enable-cxx" else "--disable-cxx")
(if compat185 then "--enable-compat185" else "--disable-compat185")
];
}

View File

@ -0,0 +1,18 @@
{stdenv, fetchurl, cxxSupport ? true, compat185 ? true}:
stdenv.mkDerivation {
name = "db4-4.8.26";
builder = ./builder.sh;
src = fetchurl {
url = http://download-east.oracle.com/berkeley-db/db-4.8.26.tar.gz;
sha256 = "0hcxh0kb6m0wk3apjhs57p7b171zzn63rg4l3nkcavygg5gx2mgp";
};
configureFlags = [
(if cxxSupport then "--enable-cxx" else "--disable-cxx")
(if compat185 then "--enable-compat185" else "--disable-compat185")
];
}

View File

@ -0,0 +1,46 @@
{ stdenv, fetchurl, pkgconfig, gtk, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
, mesa, compat24 ? false, compat26 ? true, unicode ? true,
}:
assert pkgconfig != null && gtk != null;
assert gtk.libtiff != null;
assert gtk.libjpeg != null;
assert gtk.libpng != null;
assert gtk.libpng.zlib != null;
stdenv.mkDerivation {
name = "wxwidgets-2.9.0";
src = fetchurl {
url = mirror://sourceforge/wxwindows/wxWidgets-2.9.0.tar.bz2;
sha256 = "10n75mpypd9411b29gxmi0g2s7dgbfwkgiyhxwkjsyrmyvfc3xcc";
};
buildInputs = [
pkgconfig gtk gtk.libtiff gtk.libjpeg gtk.libpng gtk.libpng.zlib
libXinerama libSM libXxf86vm xf86vidmodeproto mesa
];
configureFlags = [
"--enable-gtk2"
(if compat24 then "--enable-compat24" else "--disable-compat24")
(if compat26 then "--enable-compat26" else "--disable-compat26")
"--disable-precomp-headers"
(if unicode then "--enable-unicode" else "")
"--with-opengl"
];
SEARCH_LIB = "${mesa}/lib";
preConfigure = "
substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
substituteInPlace configure --replace /usr /no-such-path
";
postInstall = "
(cd $out/include && ln -s wx-*/* .)
";
passthru = {inherit gtk compat24 compat26 unicode;};
}

View File

@ -2873,6 +2873,10 @@ let
db45 = callPackage ../development/libraries/db4/db4-4.5.nix { };
db47 = callPackage ../development/libraries/db4/db4-4.7.nix { };
db48 = callPackage ../development/libraries/db4/db4-4.8.nix { };
dbus = callPackage ../development/libraries/dbus {
useX11 = true;
};
@ -4194,6 +4198,10 @@ let
inherit (gtkLibs) gtk;
};
wxGTK290 = callPackage ../development/libraries/wxGTK-2.9/2.9.0.nix {
inherit (gtkLibs) gtk;
};
wtk = callPackage ../development/libraries/wtk { };
x264 = callPackage ../development/libraries/x264 { };
@ -5698,6 +5706,12 @@ let
qt = qt4;
} ;
bitcoin = callPackage ../applications/misc/bitcoin {
wxGTK = wxGTK290;
db4 = db47;
inherit (xlibs) libSM;
};
bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { };
# commented out because it's using the new configuration style proposal which is unstable