71 lines
1.9 KiB
Nix
71 lines
1.9 KiB
Nix
|
{ fetchurl, stdenv, pkgconfig
|
||
|
, openssl, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf
|
||
|
, utillinux, autogen, autoconf, autobuild, automake, db }:
|
||
|
|
||
|
with stdenv.lib;
|
||
|
|
||
|
let
|
||
|
|
||
|
mkAutotoolCoin =
|
||
|
{ name, version, withGui, src, meta }:
|
||
|
|
||
|
stdenv.mkDerivation {
|
||
|
inherit src meta;
|
||
|
|
||
|
name = name + (toString (optional (!withGui) "d")) + "-" + version;
|
||
|
|
||
|
buildInputs = [ autogen autoconf automake pkgconfig openssl
|
||
|
boost zlib miniupnpc db utillinux protobuf ]
|
||
|
++ optionals withGui [ qt4 qrencode ];
|
||
|
|
||
|
patchPhase = ''
|
||
|
sed -i \
|
||
|
-e 's,BDB_CPPFLAGS=$,BDB_CPPFLAGS="-I${db}/include",g' \
|
||
|
-e 's,BDB_LIBS=$,BDB_LIBS="-L${db}/lib",g' \
|
||
|
-e 's,bdbdirlist=$,bdbdirlist="${db}/include",g' \
|
||
|
src/m4/dogecoin_find_bdb51.m4
|
||
|
'';
|
||
|
|
||
|
configurePhase = ''
|
||
|
./autogen.sh \
|
||
|
&& ./configure --prefix=$out \
|
||
|
--with-incompatible-bdb \
|
||
|
${ if withGui then "--with-gui" else "" }
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
install -D "src/dogecoin-cli" "$out/bin/dogecoin-cli"
|
||
|
install -D "src/dogecoind" "$out/bin/dogecoind"
|
||
|
${ if withGui then "install -D src/qt/dogecoin-qt $out/bin/dogecoin-qt" else "" }
|
||
|
'';
|
||
|
|
||
|
};
|
||
|
|
||
|
mkDogeCoin = { withGui }:
|
||
|
|
||
|
mkAutotoolCoin rec {
|
||
|
name = "dogecoin";
|
||
|
version = "1.8.0";
|
||
|
inherit withGui;
|
||
|
|
||
|
src = fetchurl {
|
||
|
url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz";
|
||
|
sha256 = "8a33958c04213cd621aa3c86910477813af22512f03b47c98995d20d31f3f935";
|
||
|
};
|
||
|
|
||
|
meta = {
|
||
|
description = "Wow, such coin, much shiba, very rich";
|
||
|
longDescription = "wow";
|
||
|
homepage = http://www.dogecoin.com/;
|
||
|
license = licenses.mit;
|
||
|
maintainers = with maintainers; [ edwtjo offline ];
|
||
|
};
|
||
|
};
|
||
|
|
||
|
in {
|
||
|
|
||
|
dogecoin = mkDogeCoin { withGui = true; };
|
||
|
dogecoind = mkDogeCoin { withGui = false; };
|
||
|
|
||
|
}
|