nixpkgs/pkgs/tools/security/gnupg/1compat.nix
2021-11-30 21:11:29 +01:00

32 lines
885 B
Nix

{ stdenv, gnupg, coreutils, writeScript }:
stdenv.mkDerivation {
pname = "gnupg1compat";
version = gnupg.version;
builder = writeScript "gnupg1compat-builder" ''
PATH=${coreutils}/bin
# First symlink all top-level dirs
mkdir -p $out
ln -s "${gnupg}/"* $out
# Replace bin with directory and symlink it contents
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 // {
description = gnupg.meta.description +
" with symbolic links for gpg and gpgv";
priority = -1;
};
}