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
wip/yesman
Yury G. Kudryashov 14 years ago
parent 7751f8bd62
commit ea1953d744
  1. 4
      pkgs/development/libraries/gpgme/default.nix
  2. 66
      pkgs/tools/security/gnupg/default.nix
  3. 36
      pkgs/tools/security/gnupg1/default.nix
  4. 51
      pkgs/tools/security/gnupg2/default.nix
  5. 6
      pkgs/top-level/all-packages.nix
  6. 2
      pkgs/top-level/release.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];
}

@ -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 ];
};
}

@ -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/;
};
}

@ -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 ];
};
}

@ -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 {

@ -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;

Loading…
Cancel
Save