diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 64f1a746b03c..f98201fd4f8c 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -1,4 +1,4 @@ -args: with args; +{stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth}: stdenv.mkDerivation { name = "gpgme-1.1.4"; @@ -6,5 +6,5 @@ stdenv.mkDerivation { url = ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-1.1.4.tar.bz2; sha256 = "0ncrv7p33rjq1avkxpp9x0gz6wna9y3b3dmw6nv366n5mgvxmpg8"; }; - buildInputs = [libgpgerror gnupg gnupg2 pkgconfig glib pth]; + buildInputs = [libgpgerror gnupg pkgconfig glib pth]; } 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 ]; }; } diff --git a/pkgs/tools/security/gnupg1/default.nix b/pkgs/tools/security/gnupg1/default.nix new file mode 100644 index 000000000000..dc396d9f35b3 --- /dev/null +++ b/pkgs/tools/security/gnupg1/default.nix @@ -0,0 +1,36 @@ +{ # 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 + +, stdenv, fetchurl, readline, bzip2 +}: + +let + + idea = fetchurl { + url = http://nixos.org/tarballs/idea.c.gz; + md5 = "9dc3bc086824a8c7a331f35e09a3e57f"; + }; + +in + +stdenv.mkDerivation rec { + name = "gnupg-1.4.10"; + + src = fetchurl { + url = "mirror://gnupg/gnupg/${name}.tar.bz2"; + sha256 = "0f5v8c8fkxcnrlmnijaq2sqfqq6xhmbyi2p44pj98y6n6927z452"; + }; + + buildInputs = [ readline bzip2 ]; + + 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/; + }; +} diff --git a/pkgs/tools/security/gnupg2/default.nix b/pkgs/tools/security/gnupg2/default.nix deleted file mode 100644 index b52d8bcf56ab..000000000000 --- a/pkgs/tools/security/gnupg2/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -# Remember to install Pinentry and -# 'echo "pinentry-program `which pinentry-gtk-2`" >> ~/.gnupg/gpg-agent.conf'. - -{ fetchurl, stdenv, readline, openldap, bzip2, zlib, libgpgerror -, pth, libgcrypt, libassuan, libksba, libusb, curl }: - -stdenv.mkDerivation rec { - name = "gnupg-2.0.12"; - - src = fetchurl { - url = "mirror://gnupg/gnupg/${name}.tar.bz2"; - sha256 = "1klw3m32s6d81qkslin4pibb2f84yz8l6n6fkwfdxyhrql2f2cwn"; - }; - - buildInputs = [ readline openldap bzip2 zlib libgpgerror pth libgcrypt - libassuan libksba libusb curl ]; - - patchPhase = '' - for file in tests/pkits/* - do - if [ -f "$file" ] - then - sed -i "$file" -es'|/bin/pwd|pwd|g' - fi - done - ''; - - doCheck = true; - - meta = { - 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 = [ stdenv.lib.maintainers.ludo ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4c08ef9f7663..3e7684554cda 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -807,12 +807,12 @@ let inherit fetchurl stdenv ed; }); - gnupg = makeOverridable (import ../tools/security/gnupg) { + gnupg1 = makeOverridable (import ../tools/security/gnupg1) { inherit fetchurl stdenv readline bzip2; ideaSupport = false; }; - gnupg2 = makeOverridable (import ../tools/security/gnupg2) { + gnupg = makeOverridable (import ../tools/security/gnupg) { inherit fetchurl stdenv readline libgpgerror libgcrypt libassuan pth libksba zlib openldap bzip2 libusb curl; }; @@ -4030,7 +4030,7 @@ let }; gpgme = import ../development/libraries/gpgme { - inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg gnupg2 glib; + inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg glib; }; gsasl = import ../development/libraries/gsasl { diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index edb82944508f..47db7f587196 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -120,7 +120,7 @@ with (import ./release-lib.nix); gnum4 = all; gnumake = all; gnupatch = all; - gnupg2 = linux; + gnupg = linux; gnuplot = allBut "i686-cygwin"; gnused = all; gnutar = all;