about summary refs log tree commit diff
path: root/pkgs/applications/misc/bitcoin/altcoins.nix
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2014-08-30 10:04:02 +0200
committerVladimír Čunát <vcunat@gmail.com>2014-08-30 10:04:02 +0200
commite51f73652d38d5c53b331b7bcae2e2483e1b8afe (patch)
tree9126d3fd0737db3a0d57cda866d96c377fc0e452 /pkgs/applications/misc/bitcoin/altcoins.nix
parenta283bec71cec60c2b9c84ea9af320fc8df0dfd5f (diff)
parent4e0d2706f174bb893378a8241df7bd2055901b9e (diff)
downloadnixlib-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.tar
nixlib-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.tar.gz
nixlib-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.tar.bz2
nixlib-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.tar.lz
nixlib-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.tar.xz
nixlib-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.tar.zst
nixlib-e51f73652d38d5c53b331b7bcae2e2483e1b8afe.zip
Merge recent master into staging
Hydra: ?compare=1149952

Conflicts:
	nixos/doc/manual/configuration.xml (changed split file)
	nixos/modules/config/users-groups.nix (choosing filterNull instead of inline definition)
	pkgs/development/libraries/readline/readline6.3.nix (auto-solved)
Diffstat (limited to 'pkgs/applications/misc/bitcoin/altcoins.nix')
-rw-r--r--pkgs/applications/misc/bitcoin/altcoins.nix100
1 files changed, 100 insertions, 0 deletions
diff --git a/pkgs/applications/misc/bitcoin/altcoins.nix b/pkgs/applications/misc/bitcoin/altcoins.nix
new file mode 100644
index 000000000000..2b99bad58da4
--- /dev/null
+++ b/pkgs/applications/misc/bitcoin/altcoins.nix
@@ -0,0 +1,100 @@
+{ fetchurl, stdenv, pkgconfig
+, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf, utillinux }:
+
+with stdenv.lib;
+
+let
+  buildAltcoin = makeOverridable ({walletName, gui ? true, ...}@a:
+    stdenv.mkDerivation ({
+      name = "${walletName}${toString (optional (!gui) "d")}-${a.version}";
+      buildInputs = [ openssl db48 boost zlib miniupnpc ]
+        ++ optionals gui [ qt4 qrencode ] ++ a.extraBuildInputs or [];
+
+      configurePhase = optional gui "qmake";
+
+      preBuild = optional (!gui) "cd src";
+      makefile = optional (!gui) "makefile.unix";
+
+      installPhase = if gui then ''
+        install -D "${walletName}-qt" "$out/bin/${walletName}-qt"
+      '' else ''
+        install -D "${walletName}d" "$out/bin/${walletName}d"
+      '';
+
+      passthru.walletName = walletName;
+
+      meta = {
+        platforms = platforms.unix;
+        license = license.mit;
+        maintainers = [ maintainers.offline ];
+      };
+    } // a)
+  );
+
+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 = "Litecoin is 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";
+    gui = false;
+
+    src = fetchurl {
+      url = "https://github.com/namecoin/namecoin/archive/nc${version}.tar.gz";
+      sha256 = "0r6zjzichfjzhvpdy501gwy9h3zvlla3kbgb38z1pzaa0ld9siyx";
+    };
+
+    patches = [ ./namecoin_dynamic.patch ];
+
+    extraBuildInputs = [ glib ];
+
+    meta = {
+      description = "Namecoin is a decentralized key/value registration and transfer system based on Bitcoin technology.";
+      homepage = http://namecoin.info;
+    };
+  };
+
+  dogecoin = buildAltcoin rec {
+    walletName = "dogecoin";
+    version = "1.4";
+
+    src = fetchurl {
+      url = "https://github.com/dogecoin/dogecoin/archive/1.4.tar.gz";
+      sha256 = "4af983f182976c98f0e32d525083979c9509b28b7d6faa0b90c5bd40b71009cc";
+    };
+
+    meta = {
+      description = "Wow, such coin, much shiba, very rich";
+      longDescription = "wow";
+      homepage = http://www.dogecoin.com/;
+      maintainers = [ maintainers.offline maintainers.edwtjo ];
+    };
+  };
+  dogecoind = dogecoin.override { gui = false; };
+
+}