about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/version-management/blackbox/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/version-management/blackbox/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/version-management/blackbox/default.nix58
1 files changed, 48 insertions, 10 deletions
diff --git a/nixpkgs/pkgs/applications/version-management/blackbox/default.nix b/nixpkgs/pkgs/applications/version-management/blackbox/default.nix
index aee0e92e8064..5c802d8a300a 100644
--- a/nixpkgs/pkgs/applications/version-management/blackbox/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/blackbox/default.nix
@@ -1,24 +1,62 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, expect
+, which
+, gnupg
+, coreutils
+, git
+, pinentry
+, gnutar
+, procps
+}:
 
 stdenv.mkDerivation rec {
-  version = "1.20181219";
-  pname   = "blackbox";
+  pname = "blackbox";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
-    owner  = "stackexchange";
-    repo   = pname;
-    rev    = "v${version}";
-    sha256 = "1lpwwwc3rf992vdf3iy1ds07n1xkmad065im2bqzc6kdsbkn7rjx";
+    owner = "stackexchange";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1plwdmzds6dq2rlp84dgiashrfg0kg4yijhnxaapz2q4d1vvx8lq";
   };
 
+  buildInputs = [ gnupg ];
+
+  doCheck = true;
+
+  checkInputs = [
+    expect
+    which
+    coreutils
+    pinentry.tty
+    git
+    gnutar
+    procps
+  ];
+
+  postPatch = ''
+    patchShebangs bin tools
+    substituteInPlace Makefile \
+      --replace "PREFIX?=/usr/local" "PREFIX=$out"
+
+    substituteInPlace tools/confidence_test.sh \
+      --replace 'PATH="''${blackbox_home}:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/local/bin:/usr/pkg/bin:/usr/pkg/gnu/bin:''${blackbox_home}"' \
+        "PATH=/build/source/bin/:$PATH"
+  '';
+
   installPhase = ''
-    mkdir -p $out/bin && cp -r bin/* $out/bin
+    runHook preInstall
+    mkdir -p $out/bin
+    make copy-install
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Safely store secrets in a VCS repo";
     maintainers = with maintainers; [ ericsagnes ];
-    license     = licenses.mit;
-    platforms   = platforms.all;
+    license = licenses.mit;
+    platforms = platforms.all;
   };
 }