diff --git a/pkgs/development/libraries/libcryptui/default.nix b/pkgs/development/libraries/libcryptui/default.nix index e3db41c73e1a..829d16e59d06 100644 --- a/pkgs/development/libraries/libcryptui/default.nix +++ b/pkgs/development/libraries/libcryptui/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, intltool, glib, gnome3, gtk3, gnupg20, gpgme, dbus-glib, libgnome-keyring }: +{ stdenv, fetchurl, autoreconfHook, pkgconfig, intltool, glib, gnome3, gtk3, gnupg22, gpgme, dbus-glib, libgnome-keyring }: stdenv.mkDerivation rec { pname = "libcryptui"; @@ -9,8 +9,12 @@ stdenv.mkDerivation rec { sha256 = "0rh8wa5k2iwbwppyvij2jdxmnlfjbna7kbh2a5n7zw4nnjkx3ski"; }; - nativeBuildInputs = [ pkgconfig intltool ]; - buildInputs = [ glib gtk3 gnupg20 gpgme dbus-glib libgnome-keyring ]; + patches = [ + ./fix-gnupg-2.2.patch # based on https://gitlab.gnome.org/GNOME/libcryptui/-/commit/b05e301d1b264a5d8f07cb96e5edc243d99bff79.patch + ]; + + nativeBuildInputs = [ pkgconfig intltool autoreconfHook ]; + buildInputs = [ glib gtk3 gnupg22 gpgme dbus-glib libgnome-keyring ]; propagatedBuildInputs = [ dbus-glib ]; passthru = { diff --git a/pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch b/pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch new file mode 100644 index 000000000000..50d5e0c82c1c --- /dev/null +++ b/pkgs/development/libraries/libcryptui/fix-gnupg-2.2.patch @@ -0,0 +1,26 @@ +From b05e301d1b264a5d8f07cb96e5edc243d99bff79 Mon Sep 17 00:00:00 2001 +From: Antoine Jacoutot +Date: Fri, 10 Nov 2017 08:55:55 +0100 +Subject: [PATCH] Accept GnuPG 2.2.x as supported version + +https://bugzilla.gnome.org/show_bug.cgi?id=790152 +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 4486e7b2..be5b28b4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -95,7 +95,7 @@ AC_ARG_ENABLE(gpg-check, + DO_CHECK=$enableval, DO_CHECK=yes) + + if test "$DO_CHECK" = "yes"; then +- accepted_versions="1.2 1.4 2.0" ++ accepted_versions="1.2 1.4 2.0 2.2" + AC_PATH_PROGS(GNUPG, [gpg gpg2], no) + AC_DEFINE_UNQUOTED(GNUPG, "$GNUPG", [Path to gpg executable.]) + ok="no" +-- +GitLab + diff --git a/pkgs/tools/security/gnupg/20.nix b/pkgs/tools/security/gnupg/20.nix deleted file mode 100644 index f5b693fed35a..000000000000 --- a/pkgs/tools/security/gnupg/20.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ fetchurl, stdenv, readline, zlib, libgpgerror, pth, libgcrypt, libassuan -, libksba, coreutils, libiconv, pcsclite - -# Each of the dependencies below are optional. -# Gnupg can be built without them at the cost of reduced functionality. -, pinentry ? null, guiSupport ? false -, openldap ? null, bzip2 ? null, libusb-compat-0_1 ? null, curl ? null -}: - -with stdenv.lib; - -assert guiSupport -> pinentry != null; - -stdenv.mkDerivation rec { - pname = "gnupg"; - version = "2.0.30"; - - src = fetchurl { - url = "mirror://gnupg/gnupg/${pname}-${version}.tar.bz2"; - sha256 = "0wax4cy14hh0h7kg9hj0hjn9424b71z8lrrc5kbsasrn9xd7hag3"; - }; - - buildInputs - = [ readline zlib libgpgerror libgcrypt libassuan libksba pth - openldap bzip2 libusb-compat-0_1 curl libiconv ]; - - patches = [ ./gpgkey2ssh-20.patch ]; - - prePatch = '' - find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i - '' + stdenv.lib.optionalString stdenv.isLinux '' - sed -i 's,"libpcsclite\.so[^"]*","${stdenv.lib.getLib pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c - '' + stdenv.lib.optionalString stdenv.isDarwin '' - find . -name pcsc-wrapper.c | xargs sed -i 's/typedef unsinged int pcsc_dword_t/typedef unsigned int pcsc_dword_t/' - '' + '' - patch gl/stdint_.h < ${./clang.patch} - ''; - - pinentryBinaryPath = pinentry.binaryPath or "bin/pinentry"; - configureFlags = optional guiSupport "--with-pinentry-pgm=${pinentry}/${pinentryBinaryPath}"; - - postConfigure = "substituteAllInPlace tools/gpgkey2ssh.c"; - - checkPhase="GNUPGHOME=`pwd` ./agent/gpg-agent --daemon make check"; - - doCheck = true; - - meta = with stdenv.lib; { - homepage = "https://gnupg.org"; - description = "Stable (2.0) release of the GNU Privacy Guard, a GPL OpenPGP implementation"; - license = licenses.gpl3Plus; - longDescription = '' - The GNU Privacy Guard is the GNU project's complete and free - implementation of the OpenPGP standard as defined by RFC4880. GnuPG - "stable" (2.0) is the current stable version for general use. This is - what most users are still using. GnuPG allows to encrypt and sign your - data and communication, features a versatile key management 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. - ''; - maintainers = with maintainers; [ roconnor ]; - platforms = platforms.all; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index c77e06f2ebaa..c9c101da1a06 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -164,6 +164,7 @@ mapAliases ({ gnuradio-rds = gr-rds; # added 2019-05-27 gnuradio-osmosdr = gr-osmosdr; # added 2019-05-27 gnustep-make = gnustep.make; # added 2016-7-6 + gnupg20 = throw "gnupg20 has been removed from nixpkgs as upstream dropped support on 2017-12-31";# added 2020-07-12 go_1_12 = throw "go_1_12 has been removed"; # added 2020-04-26 go-pup = pup; # added 2017-12-19 gobjectIntrospection = gobject-introspection; # added 2018-12-02 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 74efc6ad3202..e68a7d729605 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3849,10 +3849,6 @@ in gnupg1orig = callPackage ../tools/security/gnupg/1.nix { }; gnupg1compat = callPackage ../tools/security/gnupg/1compat.nix { }; gnupg1 = gnupg1compat; # use config.packageOverrides if you prefer original gnupg1 - gnupg20 = callPackage ../tools/security/gnupg/20.nix { - guiSupport = stdenv.isDarwin; - pinentry = if stdenv.isDarwin then pinentry_mac else pinentry-gtk2; - }; gnupg22 = callPackage ../tools/security/gnupg/22.nix { guiSupport = stdenv.isDarwin; pinentry = if stdenv.isDarwin then pinentry_mac else pinentry-gtk2;