about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2010-05-19 20:59:20 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2010-05-19 20:59:20 +0000
commitcc6ca8b2ae628b5623fab2057a209af24650448a (patch)
treee926e31c4bec3510920828b25cda4aef286bc7e0
parent6a0318feadb583b2cf1c5eea48ecb6484ab76e61 (diff)
downloadnixlib-cc6ca8b2ae628b5623fab2057a209af24650448a.tar
nixlib-cc6ca8b2ae628b5623fab2057a209af24650448a.tar.gz
nixlib-cc6ca8b2ae628b5623fab2057a209af24650448a.tar.bz2
nixlib-cc6ca8b2ae628b5623fab2057a209af24650448a.tar.lz
nixlib-cc6ca8b2ae628b5623fab2057a209af24650448a.tar.xz
nixlib-cc6ca8b2ae628b5623fab2057a209af24650448a.tar.zst
nixlib-cc6ca8b2ae628b5623fab2057a209af24650448a.zip
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
-rw-r--r--pkgs/tools/security/gnupg1compat/default.nix20
-rw-r--r--pkgs/top-level/all-packages.nix12
2 files changed, 30 insertions, 2 deletions
diff --git a/pkgs/tools/security/gnupg1compat/default.nix b/pkgs/tools/security/gnupg1compat/default.nix
new file mode 100644
index 000000000000..9bd71467f0ea
--- /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 6f3e365cd2d1..a59975f4af44 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;