summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorLancelot SIX <lsix+github@lancelotsix.com>2018-10-10 15:04:27 +0200
committerGitHub <noreply@github.com>2018-10-10 15:04:27 +0200
commit20249caf14e38ff1b93245821341184dbc50ca36 (patch)
treea81a4f34fc4fe9aa4149dd3d79c12ed9d45bb8c0 /pkgs/tools
parentcf4742365012a6718de0a2bee991066ae0e9697d (diff)
parent1e237142964793c9c3d55faaa3a8cdbe3315c855 (diff)
downloadnixlib-20249caf14e38ff1b93245821341184dbc50ca36.tar
nixlib-20249caf14e38ff1b93245821341184dbc50ca36.tar.gz
nixlib-20249caf14e38ff1b93245821341184dbc50ca36.tar.bz2
nixlib-20249caf14e38ff1b93245821341184dbc50ca36.tar.lz
nixlib-20249caf14e38ff1b93245821341184dbc50ca36.tar.xz
nixlib-20249caf14e38ff1b93245821341184dbc50ca36.tar.zst
nixlib-20249caf14e38ff1b93245821341184dbc50ca36.zip
Merge pull request #47977 from charles-dyfis-net/gnupg20-1compat-fix
gnupg1compat: fix compatibility with gnupg20
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/security/gnupg/1compat.nix18
-rw-r--r--pkgs/tools/security/gnupg/20.nix3
2 files changed, 15 insertions, 6 deletions
diff --git a/pkgs/tools/security/gnupg/1compat.nix b/pkgs/tools/security/gnupg/1compat.nix
index eadfbe230b3f..371a7ca67afd 100644
--- a/pkgs/tools/security/gnupg/1compat.nix
+++ b/pkgs/tools/security/gnupg/1compat.nix
@@ -4,14 +4,22 @@ stdenv.mkDerivation {
   name = "gnupg1compat-${gnupg.version}";
 
   builder = writeScript "gnupg1compat-builder" ''
+    PATH=${coreutils}/bin
     # First symlink all top-level dirs
-    ${coreutils}/bin/mkdir -p $out
-    ${coreutils}/bin/ln -s "${gnupg}/"* $out
+    mkdir -p $out
+    ln -s "${gnupg}/"* $out
 
     # Replace bin with directory and symlink it contents
-    ${coreutils}/bin/rm $out/bin
-    ${coreutils}/bin/mkdir -p $out/bin
-    ${coreutils}/bin/ln -s "${gnupg}/bin/"* $out/bin
+    rm $out/bin
+    mkdir -p $out/bin
+    ln -s "${gnupg}/bin/"* $out/bin
+
+    # Add symlinks for any executables that end in 2 and lack any non-*2 version
+    for f in $out/bin/*2; do
+      [[ -x $f ]] || continue # ignore failed globs and non-executable files
+      [[ -e ''${f%2} ]] && continue # ignore commands that already have non-*2 versions
+      ln -s -- "''${f##*/}" "''${f%2}"
+    done
   '';
 
   meta = gnupg.meta // {
diff --git a/pkgs/tools/security/gnupg/20.nix b/pkgs/tools/security/gnupg/20.nix
index 9404cb1d0655..6ae2bbc436ed 100644
--- a/pkgs/tools/security/gnupg/20.nix
+++ b/pkgs/tools/security/gnupg/20.nix
@@ -12,7 +12,8 @@ with stdenv.lib;
 assert guiSupport -> pinentry != null;
 
 stdenv.mkDerivation rec {
-  name = "gnupg-2.0.30";
+  name = "gnupg-${version}";
+  version = "2.0.30";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";