Merge pull request #93545 from helsinki-systems/drop/gnupg20

gnupg20: drop
This commit is contained in:
Daniël de Kok 2020-07-22 12:00:19 +02:00 committed by GitHub
commit 7aa79a7032
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 34 additions and 73 deletions

View file

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

View file

@ -0,0 +1,26 @@
From b05e301d1b264a5d8f07cb96e5edc243d99bff79 Mon Sep 17 00:00:00 2001
From: Antoine Jacoutot <ajacoutot@gnome.org>
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

View file

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

View file

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

View file

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