about summary refs log tree commit diff
path: root/pkgs/tools/security/gnupg/default.nix
diff options
context:
space:
mode:
authorYury G. Kudryashov <urkud.urkud@gmail.com>2010-05-19 20:58:47 +0000
committerYury G. Kudryashov <urkud.urkud@gmail.com>2010-05-19 20:58:47 +0000
commitea1953d7445ac719db975e6bdaf84e381c6f9803 (patch)
tree76c70b0fb4294adb7f6c610d7d3b5ddbfc94ca93 /pkgs/tools/security/gnupg/default.nix
parent7751f8bd6218890b36579bde4b566fad25c36cef (diff)
downloadnixlib-ea1953d7445ac719db975e6bdaf84e381c6f9803.tar
nixlib-ea1953d7445ac719db975e6bdaf84e381c6f9803.tar.gz
nixlib-ea1953d7445ac719db975e6bdaf84e381c6f9803.tar.bz2
nixlib-ea1953d7445ac719db975e6bdaf84e381c6f9803.tar.lz
nixlib-ea1953d7445ac719db975e6bdaf84e381c6f9803.tar.xz
nixlib-ea1953d7445ac719db975e6bdaf84e381c6f9803.tar.zst
nixlib-ea1953d7445ac719db975e6bdaf84e381c6f9803.zip
Move gnupg to gnupg1 and gnupg2 to gnupg
Also add gnupg1-compatibility symlinks to gnupg2.
Most packages should be able to use gnupg2 instead of gnupg1.

svn path=/nixpkgs/trunk/; revision=21883
Diffstat (limited to 'pkgs/tools/security/gnupg/default.nix')
-rw-r--r--pkgs/tools/security/gnupg/default.nix66
1 files changed, 44 insertions, 22 deletions
diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix
index dc396d9f35b3..2312d3ff06d6 100644
--- a/pkgs/tools/security/gnupg/default.nix
+++ b/pkgs/tools/security/gnupg/default.nix
@@ -1,36 +1,58 @@
-{ # Support for the IDEA cipher (used by the old PGP) should only be
-  # enabled if it is legal for you to do so.
-  ideaSupport ? false
+# Remember to install Pinentry and
+# 'echo "pinentry-program `which pinentry-gtk-2`" >> ~/.gnupg/gpg-agent.conf'.
 
-, stdenv, fetchurl, readline, bzip2
+{ fetchurl, stdenv, readline, zlib, libgpgerror, pth, libgcrypt, libassuan, libksba
+, useLdap ? true, openldap ? null, useBzip2 ? true, bzip2 ? null, useUsb ? true, libusb ? null
+, useCurl ? true, curl ? null
 }:
 
-let
-
-  idea = fetchurl {
-    url = http://nixos.org/tarballs/idea.c.gz;
-    md5 = "9dc3bc086824a8c7a331f35e09a3e57f";
-  };
-
-in
+assert useLdap -> (openldap != null);
+assert useBzip2 -> (bzip2 != null);
+assert useUsb -> (libusb != null);
+assert useCurl -> (curl != null);
 
 stdenv.mkDerivation rec {
-  name = "gnupg-1.4.10";
+  name = "gnupg-2.0.15";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "0f5v8c8fkxcnrlmnijaq2sqfqq6xhmbyi2p44pj98y6n6927z452";
+    sha256 = "070diybdiwf45d8xqbb5lwf3jjvhja1lcr6sf4fcw8519lpqi0aq";
   };
 
-  buildInputs = [ readline bzip2 ];
+  buildInputs = [ readline zlib libgpgerror pth libgcrypt libassuan libksba ]
+    ++ stdenv.lib.optional useLdap openldap
+    ++ stdenv.lib.optional useBzip2 bzip2
+    ++ stdenv.lib.optional useUsb libusb
+    ++ stdenv.lib.optional useCurl curl;
+
+  patchPhase = "sed -e 's@/bin/pwd@pwd@g' -i tests/pkits/*";
+
+  postInstall = ''
+    ln -s gpg2 $out/bin/gpg
+    ln -s gpgv2 $out/bin/gpgv
+  '';
+
+  doCheck = true;
 
-  preConfigure = stdenv.lib.optionalString ideaSupport
-    ''
-      gunzip < ${idea} > ./cipher/idea.c
-    '';
-  
   meta = {
-    description = "A free implementation of the OpenPGP standard for encrypting and signing data";
-    homepage = http://www.gnupg.org/;
+    description = "GNU Privacy Guard (GnuPG), GNU Project's implementation of the OpenPGP standard";
+
+    longDescription = ''
+      GnuPG is the GNU project's complete and free implementation of
+      the OpenPGP standard as defined by RFC4880.  GnuPG allows to
+      encrypt and sign your data and communication, features a
+      versatile key managment system as well as access modules for all
+      kind of public key directories.  GnuPG, also known as GPG, is a
+      command line tool with features for easy integration with other
+      applications.  A wealth of frontend applications and libraries
+      are available.  Version 2 of GnuPG also provides support for
+      S/MIME.
+    '';
+
+    homepage = http://gnupg.org/;
+
+    license = "GPLv3+";
+
+    maintainers = with stdenv.lib.maintainers; [ ludo urkud ];
   };
 }