summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/misc/bitcoinarmory
diff options
context:
space:
mode:
authorEric Litak <elitak@gmail.com>2017-04-07 23:28:33 -0700
committerEric Litak <elitak@gmail.com>2017-08-12 04:11:38 -0700
commite93fe9a1bde82b2d9892ea44be9b62d09ddc756f (patch)
tree4817bc5e05238206b5af52ae4d5c14b46e9128f9 /pkgs/applications/misc/bitcoinarmory
parent412da3210bb017c189418994f5bc3ad9655c8deb (diff)
bitcoinarmory: init at 0.96.1
Diffstat (limited to 'pkgs/applications/misc/bitcoinarmory')
-rw-r--r--pkgs/applications/misc/bitcoinarmory/default.nix87
1 files changed, 87 insertions, 0 deletions
diff --git a/pkgs/applications/misc/bitcoinarmory/default.nix b/pkgs/applications/misc/bitcoinarmory/default.nix
new file mode 100644
index 000000000000..78ac55088a4c
--- /dev/null
+++ b/pkgs/applications/misc/bitcoinarmory/default.nix
@@ -0,0 +1,87 @@
+{ stdenv, fetchFromGitHub, pythonPackages
+, pkgconfig, autoreconfHook, rsync
+, swig, qt4, fcgi
+, bitcoin, procps, utillinux
+}:
+let
+
+ version = "0.96.1";
+ sitePackages = pythonPackages.python.sitePackages;
+ inherit (pythonPackages) mkPythonDerivation pyqt4 psutil twisted;
+
+in mkPythonDerivation {
+
+ name = "bitcoinarmory-${version}";
+
+ src = fetchFromGitHub {
+ owner = "goatpig";
+ repo = "BitcoinArmory";
+ rev = "v${version}";
+ #sha256 = "023c7q1glhrkn4djz3pf28ckd1na52lsagv4iyfgchqvw7qm7yx2";
+ sha256 = "0pjk5qx16n3kvs9py62666qkwp2awkgd87by4karbj7vk6p1l14h"; fetchSubmodules = true;
+ };
+
+ # FIXME bitcoind doesn't die on shutdown. Need some sort of patch to fix that.
+ #patches = [ ./shutdown-fix.patch ];
+
+ buildInputs = [
+ pkgconfig
+ autoreconfHook
+ swig
+ qt4
+ fcgi
+ rsync # used by silly install script (TODO patch upstream)
+ ];
+
+ propagatedBuildInputs = [
+ pyqt4
+ psutil
+ twisted
+ ];
+
+ makeFlags = [ "PREFIX=$(out)" ];
+
+ makeWrapperArgs = [
+ "--prefix PATH : ${bitcoin}/bin" # for `bitcoind`
+ "--prefix PATH : ${procps}/bin" # for `free`
+ "--prefix PATH : ${utillinux}/bin" # for `whereis`
+ "--suffix LD_LIBRARY_PATH : $out/lib" # for python bindings built as .so files
+ "--run cd\\ $out/lib/armory" # so that GUI resources can be loaded
+ ];
+
+ # auditTmpdir runs during fixupPhase, so patchelf before that
+ preFixup = ''
+ newRpath=$(patchelf --print-rpath $out/bin/ArmoryDB | sed -r 's|(.*)(/tmp/nix-build-.*libfcgi/.libs:?)(.*)|\1\3|')
+ patchelf --set-rpath $out/lib:$newRpath $out/bin/ArmoryDB
+ '';
+
+ # fixupPhase of mkPythonDerivation wraps $out/bin/*, so this needs to come after
+ postFixup = ''
+ wrapPythonProgramsIn $out/lib/armory "$out $pythonPath"
+ ln -sf $out/lib/armory/ArmoryQt.py $out/bin/armory
+ '';
+
+ meta = {
+ description = "Bitcoin wallet with cold storage and multi-signature support";
+ longDescription = ''
+ Armory is the most secure and full featured solution available for users
+ and institutions to generate and store Bitcoin private keys. This means
+ users never have to trust the Armory team and can use it with the Glacier
+ Protocol. Satoshi would be proud!
+
+ Users are empowered with multiple encrypted Bitcoin wallets and permanent
+ one-time ‘paper backups’. Armory pioneered cold storage and distributed
+ multi-signature. Bitcoin cold storage is a system for securely storing
+ Bitcoins on a completely air-gapped offline computer.
+
+ Maintainer's note: The original authors at https://bitcoinarmory.com/
+ discontinued development. I elected instead to package GitHub user
+ @goatpig's fork, as it's the most active, at time of this writing.
+ '';
+ homepage = https://github.com/goatpig/BitcoinArmory;
+ license = stdenv.lib.licenses.agpl3Plus;
+ maintainers = with stdenv.lib.maintainers; [ elitak ];
+ platforms = [ "i686-linux" "x86_64-linux" ];
+ };
+
+}