nixpkgs/pkgs/applications/misc/bitcoin/default.nix
2014-11-13 21:12:43 +03:00

53 lines
1.6 KiB
Nix

{ fetchurl, stdenv, openssl, db48, boost, zlib, miniupnpc, qt4, utillinux
, pkgconfig, protobuf, qrencode, gui ? true }:
with stdenv.lib;
stdenv.mkDerivation rec {
version = "0.9.3";
name = "bitcoin${toString (optional (!gui) "d")}-${version}";
src = fetchurl {
url = "https://bitcoin.org/bin/${version}/bitcoin-${version}-linux.tar.gz";
sha256 = "1kb59w7232qzfh952rz6vvjri2w26n9cq7baml0vifdsdhxph9f4";
};
# hexdump from utillinux is required for tests
buildInputs = [
openssl db48 boost zlib miniupnpc utillinux pkgconfig protobuf
] ++ optionals gui [ qt4 qrencode ];
unpackPhase = ''
mkdir tmp-extract && (cd tmp-extract && tar xf $src)
tar xf tmp-extract/bitcoin*/src/bitcoin*.tar*
cd bitcoin*
'';
preCheck = ''
# At least one test requires writing in $HOME
HOME=$TMPDIR
'';
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
doCheck = true;
enableParallelBuilding = true;
passthru.walletName = "bitcoin";
meta = {
description = "Peer-to-peer electronic cash system";
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 = [ maintainers.roconnor ];
license = licenses.mit;
platforms = platforms.unix;
};
}