From b7d93fed25227de591b7d90af5d13691cd517d9c Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Fri, 28 Nov 2014 16:04:55 -0200 Subject: [PATCH] Litecoin: Update to 0.9.3-preview5 Now Litecoin expression lives in a single file, litecoin.nix --- pkgs/applications/misc/bitcoin/altcoins.nix | 33 ++---------- pkgs/applications/misc/bitcoin/litecoin.nix | 60 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 +- 3 files changed, 66 insertions(+), 30 deletions(-) create mode 100644 pkgs/applications/misc/bitcoin/litecoin.nix diff --git a/pkgs/applications/misc/bitcoin/altcoins.nix b/pkgs/applications/misc/bitcoin/altcoins.nix index 6fea18b8d4d..4b7d81ba882 100644 --- a/pkgs/applications/misc/bitcoin/altcoins.nix +++ b/pkgs/applications/misc/bitcoin/altcoins.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, pkgconfig , openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf -, utillinux, autogen, autoconf, autobuild, automake, db }: +, utillinux, autogen, autoconf, autobuild, automake, autoreconfHook, db }: with stdenv.lib; @@ -8,7 +8,7 @@ let buildAltcoin = makeOverridable ({walletName, gui ? true, ...}@a: stdenv.mkDerivation ({ name = "${walletName}${toString (optional (!gui) "d")}-${a.version}"; - buildInputs = [ openssl db48 boost zlib miniupnpc ] + buildInputs = [ pkgconfig openssl db48 boost zlib miniupnpc ] ++ optionals gui [ qt4 qrencode ] ++ a.extraBuildInputs or []; configurePhase = optional gui "qmake"; @@ -27,7 +27,7 @@ let meta = { platforms = platforms.unix; license = license.mit; - maintainers = [ maintainers.offline ]; + maintainers = [ maintainers.offline ] ++ a.extraMaintainers; }; } // a) ); @@ -35,31 +35,6 @@ let in rec { inherit buildAltcoin; - litecoin = buildAltcoin rec { - walletName = "litecoin"; - version = "0.8.5.3-rc3"; - - src = fetchurl { - url = "https://github.com/litecoin-project/litecoin/archive/v${version}.tar.gz"; - sha256 = "1z4a7bm3z9kd7n0s38kln31z8shsd32d5d5v3br5p0jlnr5g3lk7"; - }; - - meta = { - description = "A lite version of Bitcoin using scrypt as a proof-of-work algorithm"; - longDescription= '' - Litecoin is a peer-to-peer Internet currency that enables instant payments - to anyone in the world. It is based on the Bitcoin protocol but differs - from Bitcoin in that it can be efficiently mined with consumer-grade hardware. - Litecoin provides faster transaction confirmations (2.5 minutes on average) - and uses a memory-hard, scrypt-based mining proof-of-work algorithm to target - the regular computers and GPUs most people already have. - The Litecoin network is scheduled to produce 84 million currency units. - ''; - homepage = https://litecoin.org/; - }; - }; - litecoind = litecoin.override { gui = false; }; - namecoin = buildAltcoin rec { walletName = "namecoin"; version = "0.3.51.00"; @@ -99,7 +74,7 @@ in rec { transactions, similar to cash. ''; homepage = http://darkcoin.io; - maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + extraMaintainers = [ maintainers.AndersonTorres ]; }; }; darkcoind = darkcoin.override { gui = false; }; diff --git a/pkgs/applications/misc/bitcoin/litecoin.nix b/pkgs/applications/misc/bitcoin/litecoin.nix new file mode 100644 index 00000000000..3e5d9427cf3 --- /dev/null +++ b/pkgs/applications/misc/bitcoin/litecoin.nix @@ -0,0 +1,60 @@ +{ stdenv, fetchurl, pkgconfig +, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf +, utillinux, autogen, autoreconfHook }: + +with stdenv.lib; + +let + mkAutoreconfCoin = + { name, version, withGui, src, meta }: + + stdenv.mkDerivation { + + inherit src meta; + + name = name + (toString (optional (!withGui) "d")) + "-" + version; + + buildInputs = [ autogen autoreconfHook pkgconfig openssl + boost zlib miniupnpc db48 glib utillinux protobuf ] + ++ optionals withGui [ qt4 qrencode protobuf ]; + + configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ] ++ optionals withGui [ "--with-gui=qt4" ]; + }; + + mkLitecoin = { withGui }: + + mkAutoreconfCoin rec { + + name = "litecoin"; + version = "0.9.3-preview5"; + inherit withGui; + + src = fetchurl { + url = "https://github.com/litecoin-project/litecoin/archive/v${version}.tar.gz"; + sha256 = "0nnfz4s2g28jb5fqy6cabsryp3h2amzlyslr6g6k8r1vmzvx5ym6"; + }; + + meta = with stdenv.lib; { + description = "A lite version of Bitcoin using scrypt as a proof-of-work algorithm"; + longDescription= '' + Litecoin is a peer-to-peer Internet currency that enables instant payments + to anyone in the world. It is based on the Bitcoin protocol but differs + from Bitcoin in that it can be efficiently mined with consumer-grade hardware. + Litecoin provides faster transaction confirmations (2.5 minutes on average) + and uses a memory-hard, scrypt-based mining proof-of-work algorithm to target + the regular computers and GPUs most people already have. + The Litecoin network is scheduled to produce 84 million currency units. + ''; + homepage = https://litecoin.org/; + platforms = platforms.unix; + license = licenses.mit; + maintainers = [ maintainers.offline maintainers.AndersonTorres ]; + }; + }; + +in { + + litecoin = mkLitecoin { withGui = true; }; + litecoind = mkLitecoin { withGui = false; }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3b27e447009..0d35c658091 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9100,7 +9100,8 @@ let altcoins = recurseIntoAttrs ( (callPackage ../applications/misc/bitcoin/altcoins.nix {}) // - (callPackage ../applications/misc/bitcoin/dogecoin.nix {}) + (callPackage ../applications/misc/bitcoin/dogecoin.nix {}) // + (callPackage ../applications/misc/bitcoin/litecoin.nix {}) ); bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { };