From cc6ca8b2ae628b5623fab2057a209af24650448a Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Wed, 19 May 2010 20:59:20 +0000 Subject: [PATCH] Add gnupg1 compatibility wrapper Gnupg1compat is symlinked gnupg2 with two additional symlinks: gpg->gpg2 and gpgv->gpgv2. Move original gnupg 1.x to gnupg1orig. Set default gnupg1 to gnupg1compat. svn path=/nixpkgs/trunk/; revision=21888 --- pkgs/tools/security/gnupg1compat/default.nix | 20 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 12 ++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 pkgs/tools/security/gnupg1compat/default.nix diff --git a/pkgs/tools/security/gnupg1compat/default.nix b/pkgs/tools/security/gnupg1compat/default.nix new file mode 100644 index 00000000000..9bd71467f0e --- /dev/null +++ b/pkgs/tools/security/gnupg1compat/default.nix @@ -0,0 +1,20 @@ +{ stdenv, gnupg, coreutils, writeScript }: + +stdenv.mkDerivation { + name = "gnupg1compat-0"; + + builder = writeScript "gnupg1compat-builder" '' + # First symlink all top-level dirs + ${coreutils}/bin/mkdir -p $out + ${coreutils}/bin/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 + + # Add gpg->gpg2 and gpgv->gpgv2 symlinks + ${coreutils}/bin/ln -s gpg2 $out/bin/gpg + ${coreutils}/bin/ln -s gpgv2 $out/bin/gpgv + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6f3e365cd2d..a59975f4af4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -650,8 +650,9 @@ let }; duplicity = import ../tools/backup/duplicity { - inherit fetchurl stdenv librsync gnupg makeWrapper python; + inherit fetchurl stdenv librsync makeWrapper python; inherit (pythonPackages) boto; + gnupg = gnupg1; }; dvdplusrwtools = import ../tools/cd-dvd/dvd+rw-tools { @@ -811,11 +812,18 @@ let inherit fetchurl stdenv ed; }); - gnupg1 = makeOverridable (import ../tools/security/gnupg1) { + gnupg1orig = makeOverridable (import ../tools/security/gnupg1) { inherit fetchurl stdenv readline bzip2; ideaSupport = false; }; + gnupg1compat = import ../tools/security/gnupg1compat { + inherit stdenv gnupg writeScript coreutils; + }; + + # use config.packageOverrides if you prefer original gnupg1 + gnupg1 = gnupg1compat; + gnupg = makeOverridable (import ../tools/security/gnupg) { inherit fetchurl stdenv readline libgpgerror libgcrypt libassuan pth libksba zlib openldap bzip2 libusb curl coreutils;