summary refs log tree commit diff
path: root/pkgs/tools/security/pass
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2020-12-04 22:31:50 +0100
committerMaximilian Bosch <maximilian@mbosch.me>2020-12-04 22:34:03 +0100
commit05348ed50370765e5760b667f6d1aebc1e8e8240 (patch)
tree80a69c0a366ef4eb256162117b7c9dd46b52e8c5 /pkgs/tools/security/pass
parent2b674912b4d2f3c51046a14cba5e483cbe9dbfd6 (diff)
downloadnixpkgs-05348ed50370765e5760b667f6d1aebc1e8e8240.tar
nixpkgs-05348ed50370765e5760b667f6d1aebc1e8e8240.tar.gz
nixpkgs-05348ed50370765e5760b667f6d1aebc1e8e8240.tar.bz2
nixpkgs-05348ed50370765e5760b667f6d1aebc1e8e8240.tar.lz
nixpkgs-05348ed50370765e5760b667f6d1aebc1e8e8240.tar.xz
nixpkgs-05348ed50370765e5760b667f6d1aebc1e8e8240.tar.zst
nixpkgs-05348ed50370765e5760b667f6d1aebc1e8e8240.zip
pass: support extensions with `$out/bin`
An example for that would be `passExtensions.pass-import` where
`pimport` is available in `$out/bin`. In that case, `$out/bin` in
`buildEnv` isn't a symlink anymore and doesn't need to be removed.

Co-authored-by: elseym <elseym@me.com>
Diffstat (limited to 'pkgs/tools/security/pass')
-rw-r--r--pkgs/tools/security/pass/default.nix10
1 files changed, 7 insertions, 3 deletions
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index 9e934810501..354437a9bd5 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -34,11 +34,15 @@ let
 
       postBuild = ''
         files=$(find $out/bin/ -type f -exec readlink -f {} \;)
-        rm $out/bin
-        mkdir $out/bin
+        if [ -L $out/bin ]; then
+          rm $out/bin
+          mkdir $out/bin
+        fi
 
         for i in $files; do
-          ln -sf $i $out/bin/$(basename $i)
+          if ! [ "$(readlink -f "$out/bin/$(basename $i)")" = "$i" ]; then
+            ln -sf $i $out/bin/$(basename $i)
+          fi
         done
 
         wrapProgram $out/bin/pass \