From 2c5230cb64dced96ae47134df27734a4bac63ccf Mon Sep 17 00:00:00 2001 From: Moritz Ulrich Date: Thu, 26 Sep 2013 21:30:08 +0200 Subject: [PATCH] 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. --- pkgs/tools/security/pass/default.nix | 23 +++++++++++++++++------ 1 file 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" + ''; +}