From af576fc3b1fdc5fda49cd166a4582031594729d4 Mon Sep 17 00:00:00 2001 From: Dave Anderson Date: Wed, 11 Mar 2020 17:39:03 -0700 Subject: [PATCH] bitcoinarmory: remove The project has been abandoned upstream for 2 years. For its entire lifetime in nixpkgs, the installed binaries segfault due to static library linking that couldn't be undone due to proprietary changes to said libraries. In addition, there are unpatched CVEs according to #29956. Fixes #29956. Signed-off-by: David Anderson --- .../misc/bitcoinarmory/default.nix | 92 ------------------- pkgs/top-level/all-packages.nix | 2 - 2 files changed, 94 deletions(-) delete mode 100644 pkgs/applications/misc/bitcoinarmory/default.nix diff --git a/pkgs/applications/misc/bitcoinarmory/default.nix b/pkgs/applications/misc/bitcoinarmory/default.nix deleted file mode 100644 index 090cb2f519e1..000000000000 --- a/pkgs/applications/misc/bitcoinarmory/default.nix +++ /dev/null @@ -1,92 +0,0 @@ -{ stdenv, fetchFromGitHub, pythonPackages -, pkgconfig, autoreconfHook, rsync -, swig, qt48Full, fcgi -, bitcoin, procps, utillinux -}: -let - - version = "0.96.1"; - inherit (pythonPackages) buildPythonApplication pyqt4 psutil twisted; - -in buildPythonApplication { - - pname = "bitcoinarmory"; - inherit version; - - src = fetchFromGitHub { - owner = "goatpig"; - repo = "BitcoinArmory"; - rev = "v${version}"; - sha256 = "0pjk5qx16n3kvs9py62666qkwp2awkgd87by4karbj7vk6p1l14h"; fetchSubmodules = true; - }; - - format = "other"; - - # FIXME bitcoind doesn't die on shutdown. Need some sort of patch to fix that. - #patches = [ ./shutdown-fix.patch ]; - - nativeBuildInputs = [ - autoreconfHook - pkgconfig - swig - pyqt4 - qt48Full - rsync # used by silly install script (TODO patch upstream) - ]; - buildInputs = [ - qt48Full - fcgi - ]; - - 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" ]; - }; - -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d0c069663919..74ab773c2393 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18440,8 +18440,6 @@ in glew = glew110; }; - bitcoinarmory = callPackage ../applications/misc/bitcoinarmory { pythonPackages = python2Packages; }; - bitkeeper = callPackage ../applications/version-management/bitkeeper { gperf = gperf_3_0; };