about summary refs log tree commit diff
path: root/pkgs/tools/security/pass
diff options
context:
space:
mode:
authorMoritz Ulrich <moritz@tarn-vedra.de>2013-09-26 21:30:08 +0200
committerMoritz Ulrich <moritz@tarn-vedra.de>2013-09-26 19:32:21 +0000
commit2c5230cb64dced96ae47134df27734a4bac63ccf (patch)
tree8b6bb378d99ea3f03d6407edfdf6eca145624104 /pkgs/tools/security/pass
parent9f7a56dcb63fb265141d448971efaca21861017b (diff)
downloadnixlib-2c5230cb64dced96ae47134df27734a4bac63ccf.tar
nixlib-2c5230cb64dced96ae47134df27734a4bac63ccf.tar.gz
nixlib-2c5230cb64dced96ae47134df27734a4bac63ccf.tar.bz2
nixlib-2c5230cb64dced96ae47134df27734a4bac63ccf.tar.lz
nixlib-2c5230cb64dced96ae47134df27734a4bac63ccf.tar.xz
nixlib-2c5230cb64dced96ae47134df27734a4bac63ccf.tar.zst
nixlib-2c5230cb64dced96ae47134df27734a4bac63ccf.zip
password-store: Wrap script and set correct PATH.
pass is just a simple script to store passwords encrypted via gnupg in
a git repository. It uses many other tools, and until now relied on
them being in PATH.

This commit wraps the script and sets PATH.
Diffstat (limited to 'pkgs/tools/security/pass')
-rw-r--r--pkgs/tools/security/pass/default.nix23
1 files changed, 17 insertions, 6 deletions
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index ba86b0b1d9ce..e78002837c72 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, getopt }:
+{ stdenv, fetchurl
+, coreutils, gnused, getopt, pwgen, git, tree, gnupg
+, makeWrapper }:
 
 stdenv.mkDerivation rec {
   version = "1.4.2";
@@ -9,11 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "00m3q6dihrhw8cxsrham3bdqg5841an8ch4s3a4k5fynlcb802m1";
   };
 
+  buildInputs = [ makeWrapper ];
+
   meta = with stdenv.lib; {
-    description = "Stores, retrieves, generates, and synchronizes passwords securely.";
+    description = "Stores, retrieves, generates, and synchronizes passwords securely";
     homepage    = http://zx2c4.com/projects/password-store/;
     license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ lovek323 ];
+    maintainers = with maintainers; [ lovek323 the-kenny ];
     platforms   = platforms.unix;
 
     longDescription = ''
@@ -25,8 +29,6 @@ stdenv.mkDerivation rec {
     '';
   };
 
-  propagatedBuildInputs = [ getopt ];
-
   installPhase = ''
     # link zsh and fish completions
     sed -ie '22s/^#//' Makefile
@@ -44,5 +46,14 @@ stdenv.mkDerivation rec {
     sed -ie '34c GETOPT="${getopt}/bin/getopt"' \
       "$out/lib/password-store.platform.sh"
   '';
-}
 
+  postFixup = ''
+    # Fix program name in --help
+    substituteInPlace $out/bin/pass \
+      --replace "\$program" "pass"
+
+    # Ensure all dependencies are in PATH
+    wrapProgram $out/bin/pass \
+      --prefix PATH : "${coreutils}/bin:${gnused}/bin:${getopt}/bin:${gnupg}/bin:${git}/bin:${tree}/bin:${pwgen}/bin"
+  '';
+}