Tue Aug 29 11:26:20 2017 UTC ()
Updated gpgme to 1.9.0.

Drop historic patches; adapt one to upstream changes
and add bug report URL.

Noteworthy changes in version 1.9.0 (2017-03-28)
------------------------------------------------

 * Clarified meaning of the 'expire' parameter of gpgme_op_createkey
   and gpgme_op_createsubkey.  New flag to force a key without an
   expiration date.

 * New function gpgme_op_keylist_from_data_start to list keys from
   data objects without importing them.

 * New function gpgme_op_set_uid_flag to flag a key as primary.

 * New function gpgme_op_decrypt_ext to run decryption with special
   flags.  This can for example be used to unwrap keys (remove only
   the encryption layer).

 * New encryption flags to wrap a key (adding an encryption layer to
   an OpenPGP message) or to create anonymously encrypted messages.

 * Support for adduid and revuid operations in the C++ bindings.

 * Support for smartcard key generation in the C++ bindings.

 * Several new functions for the Python binding.

 * Many smaller bug fixes.

 * Interface changes relative to the 1.8.0 release:
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 gpgme_op_createkey          CHANGED: Meaning of 'expire' parameter.
 gpgme_op_createsubkey       CHANGED: Meaning of 'expire' parameter.
 GPGME_CREATE_NOEXPIRE       NEW.
 gpgme_key_t                 EXTENDED: New field 'origin'.
 gpgme_key_t                 EXTENDED: New field 'last_update'.
 gpgme_subkey_t              EXTENDED: New field 'is_de_vs'.
 gpgme_user_id_t             EXTENDED: New field 'origin'.
 gpgme_user_id_t             EXTENDED: New field 'last_update'.
 gpgme_op_keylist_from_data_start NEW.
 gpgme_op_set_uid_flag_start      NEW.
 gpgme_op_set_uid_flag            NEW.
 gpgme_op_decrypt_ext_start       NEW.
 gpgme_op_decrypt_ext             NEW.
 GPGME_ENCRYPT_THROW_KEYIDS       NEW.
 GPGME_ENCRYPT_WRAP               NEW.
 GPGME_DECRYPT_VERIFY             NEW.
 GPGME_DECRYPT_UNWRAP             NEW.
 gpgme_data_rewind                UN-DEPRECATE.
 cpp: Context::revUid(const Key&, const char*)      NEW.
 cpp: Context::startRevUid(const Key&, const char*) NEW.
 cpp: Context::addUid(const Key&, const char*)      NEW.
 cpp: Context::startAddUid(const Key&, const char*) NEW.
 cpp: Key::UserID::revoke()                         NEW.
 cpp: Key::addUid()                                 NEW.
 cpp: Key::isDeVs                                   NEW.
 cpp: GpgGenCardKeyInteractor                       NEW.
 cpp: Subkey::keyGrip                               NEW.
 cpp: Subkey::isDeVs                                NEW.
 cpp: Data::toKeys                                  NEW.
 cpp: Context::setDecryptFlags                      NEW.
 cpp: Context::decrypt                         EXTENDED: Flags added.
 cpp: Context::startDecrypt                    EXTENDED: Flags added.
 cpp: Context::decryptAndVerify                EXTENDED: Flags added.
 cpp: Context::startCombinedDecryptionAndVerification EXTENDED: Flags.
 cpp: Context::encryptFlags                    EXTENDED: New flags.
 qt: CryptoConfig::stringValueList()                NEW.
 py: Context.__init__        EXTENDED: New keyword arg home_dir.
 py: Context.home_dir        NEW.
 py: Context.keylist         EXTENDED: New keyword arg mode.
 py: Context.keylist         EXTENDED: New keyword arg source.
 py: Context.create_key      NEW.
 py: Context.create_subkey   NEW.
 py: Context.key_add_uid     NEW.
 py: Context.key_revoke_uid  NEW.
 py: Context.key_sign        NEW.
 py: Context.key_tofu_policy NEW.
 py: core.pubkey_algo_string NEW.
 py: core.addrspec_from_uid  NEW.

 [c=C29/A18/R0 cpp=C10/A4/R0 qt=C9/A2/R0]


(wiz)
diff -r1.83 -r1.84 pkgsrc/security/gpgme/Makefile
diff -r1.19 -r1.20 pkgsrc/security/gpgme/PLIST
diff -r1.37 -r1.38 pkgsrc/security/gpgme/distinfo
diff -r1.12 -r0 pkgsrc/security/gpgme/patches/patch-ac
diff -r1.6 -r0 pkgsrc/security/gpgme/patches/patch-ae
diff -r1.6 -r1.7 pkgsrc/security/gpgme/patches/patch-af
diff -r1.5 -r0 pkgsrc/security/gpgme/patches/patch-ag
diff -r1.3 -r0 pkgsrc/security/gpgme/patches/patch-ah

cvs diff -r1.83 -r1.84 pkgsrc/security/gpgme/Makefile (expand / switch to unified diff)

--- pkgsrc/security/gpgme/Makefile 2017/08/10 18:49:17 1.83
+++ pkgsrc/security/gpgme/Makefile 2017/08/29 11:26:19 1.84
@@ -1,64 +1,41 @@ @@ -1,64 +1,41 @@
1# $NetBSD: Makefile,v 1.83 2017/08/10 18:49:17 tron Exp $ 1# $NetBSD: Makefile,v 1.84 2017/08/29 11:26:19 wiz Exp $
2 2
3DISTNAME= gpgme-1.8.0 3DISTNAME= gpgme-1.9.0
4PKGREVISION= 1 
5CATEGORIES= security 4CATEGORIES= security
6MASTER_SITES= ftp://ftp.gnupg.org/gcrypt/gpgme/ 5MASTER_SITES= ftp://ftp.gnupg.org/gcrypt/gpgme/
7EXTRACT_SUFX= .tar.bz2 6EXTRACT_SUFX= .tar.bz2
8 7
9MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= http://www.gnupg.org/related_software/gpgme/ 9HOMEPAGE= http://www.gnupg.org/related_software/gpgme/
11COMMENT= GnuPG Made Easy 10COMMENT= GnuPG Made Easy
12LICENSE= gnu-gpl-v2 11LICENSE= gnu-gpl-v2
13 12
14USE_LANGUAGES+= c c++ 13USE_LANGUAGES+= c c++
15 14
16USE_LIBTOOL= yes 15USE_LIBTOOL= yes
17GNU_CONFIGURE= yes 16GNU_CONFIGURE= yes
18PTHREAD_OPTS+= require 17PTHREAD_OPTS+= require
19INFO_FILES= yes 18INFO_FILES= yes
20 19
21# turn off swig/python detection; there is no configure flag as of 1.8.0 
22# https://dev.gnupg.org/T3057 
23CONFIGURE_ENV+= ac_cv_path_SWIG= 
24 
25SUBST_CLASSES+= pthread 20SUBST_CLASSES+= pthread
26SUBST_FILES.pthread= src/gpgme-config.in 21SUBST_FILES.pthread= src/gpgme-config.in
27SUBST_SED.pthread+= -e 's,@PTHREAD_LIBS@,${PTHREAD_LDFLAGS} ${PTHREAD_LIBS},g' 22SUBST_SED.pthread+= -e 's,@PTHREAD_LIBS@,${PTHREAD_LDFLAGS} ${PTHREAD_LIBS},g'
28SUBST_SED.pthread+= -e 's,@PTHREAD_CFLAGS@,${PTHREAD_CFLAGS},g' 23SUBST_SED.pthread+= -e 's,@PTHREAD_CFLAGS@,${PTHREAD_CFLAGS},g'
29SUBST_STAGE.pthread= post-patch 24SUBST_STAGE.pthread= post-patch
30 25
31CPPFLAGS.Darwin= -D_POSIX_C_SOURCE=200809L 26CPPFLAGS.Darwin= -D_POSIX_C_SOURCE=200809L
32LIBS.SunOS+= -lnsl -lsocket 27LIBS.SunOS+= -lnsl -lsocket
33 28
34# getenv_r is not detected correctly. It will be found 29# 18 errors as of 1.9.0
35# in either base system or librfuncs 
36CONFIGURE_ENV+= ac_cv_func_getenv_r=yes 
37 
38# 17 errors as of 1.8.0 
39# https://dev.gnupg.org/T3056 30# https://dev.gnupg.org/T3056
40TEST_TARGET= check 31TEST_TARGET= check
41 32
42.include "../../mk/pthread.buildlink3.mk" 
43 
44.include "options.mk" 33.include "options.mk"
45 34
46CONFIGURE_ENV.HPUX+= ac_cv_lib_pthread_pthread_create=yes 35.include "../../mk/pthread.buildlink3.mk"
47 
48.include "../../mk/bsd.prefs.mk" 
49 
50# TLS is unsupported on NetBSD<=5, but causes crashes on -current too 
51#.if !empty(MACHINE_PLATFORM:MNetBSD-[0-5].*-*) 
52.if !empty(MACHINE_PLATFORM:MNetBSD-*-*) 
53CONFIGURE_ENV+= gpgme_cv_tls_works=no 
54.endif 
55 
56# we want the getenv_r() semantics of NetBSD-current 
57BUILDLINK_API_DEPENDS.librfuncs+= librfuncs>=1.0.7nb1 
58.include "../../devel/librfuncs/buildlink3.mk" 
59BUILDLINK_API_DEPENDS.libassuan+= libassuan>=2.0.2 36BUILDLINK_API_DEPENDS.libassuan+= libassuan>=2.0.2
60.include "../../security/libassuan2/buildlink3.mk" 37.include "../../security/libassuan2/buildlink3.mk"
61BUILDLINK_API_DEPENDS.libgpg-error+= libgpg-error>=1.17 38BUILDLINK_API_DEPENDS.libgpg-error+= libgpg-error>=1.17
62.include "../../security/libgpg-error/buildlink3.mk" 39.include "../../security/libgpg-error/buildlink3.mk"
63.include "../../mk/bsd.pkg.mk" 40.include "../../mk/bsd.pkg.mk"
64_UNWRAP_FILES= 41#_UNWRAP_FILES=

cvs diff -r1.19 -r1.20 pkgsrc/security/gpgme/PLIST (expand / switch to unified diff)

--- pkgsrc/security/gpgme/PLIST 2017/08/01 11:48:20 1.19
+++ pkgsrc/security/gpgme/PLIST 2017/08/29 11:26:19 1.20
@@ -1,30 +1,31 @@ @@ -1,30 +1,31 @@
1@comment $NetBSD: PLIST,v 1.19 2017/08/01 11:48:20 ryoon Exp $ 1@comment $NetBSD: PLIST,v 1.20 2017/08/29 11:26:19 wiz Exp $
2bin/gpgme-config 2bin/gpgme-config
3bin/gpgme-tool 3bin/gpgme-tool
4include/gpgme++/configuration.h 4include/gpgme++/configuration.h
5include/gpgme++/context.h 5include/gpgme++/context.h
6include/gpgme++/data.h 6include/gpgme++/data.h
7include/gpgme++/decryptionresult.h 7include/gpgme++/decryptionresult.h
8include/gpgme++/defaultassuantransaction.h 8include/gpgme++/defaultassuantransaction.h
9include/gpgme++/editinteractor.h 9include/gpgme++/editinteractor.h
10include/gpgme++/encryptionresult.h 10include/gpgme++/encryptionresult.h
11include/gpgme++/engineinfo.h 11include/gpgme++/engineinfo.h
12include/gpgme++/error.h 12include/gpgme++/error.h
13include/gpgme++/eventloopinteractor.h 13include/gpgme++/eventloopinteractor.h
14include/gpgme++/exception.h 14include/gpgme++/exception.h
15include/gpgme++/global.h 15include/gpgme++/global.h
16include/gpgme++/gpgadduserideditinteractor.h 16include/gpgme++/gpgadduserideditinteractor.h
17include/gpgme++/gpgagentgetinfoassuantransaction.h 17include/gpgme++/gpgagentgetinfoassuantransaction.h
 18include/gpgme++/gpggencardkeyinteractor.h
18include/gpgme++/gpgmefw.h 19include/gpgme++/gpgmefw.h
19include/gpgme++/gpgmepp_export.h 20include/gpgme++/gpgmepp_export.h
20include/gpgme++/gpgmepp_version.h 21include/gpgme++/gpgmepp_version.h
21include/gpgme++/gpgsetexpirytimeeditinteractor.h 22include/gpgme++/gpgsetexpirytimeeditinteractor.h
22include/gpgme++/gpgsetownertrusteditinteractor.h 23include/gpgme++/gpgsetownertrusteditinteractor.h
23include/gpgme++/gpgsignkeyeditinteractor.h 24include/gpgme++/gpgsignkeyeditinteractor.h
24include/gpgme++/importresult.h 25include/gpgme++/importresult.h
25include/gpgme++/interfaces/assuantransaction.h 26include/gpgme++/interfaces/assuantransaction.h
26include/gpgme++/interfaces/dataprovider.h 27include/gpgme++/interfaces/dataprovider.h
27include/gpgme++/interfaces/passphraseprovider.h 28include/gpgme++/interfaces/passphraseprovider.h
28include/gpgme++/interfaces/progressprovider.h 29include/gpgme++/interfaces/progressprovider.h
29include/gpgme++/key.h 30include/gpgme++/key.h
30include/gpgme++/keygenerationresult.h 31include/gpgme++/keygenerationresult.h

cvs diff -r1.37 -r1.38 pkgsrc/security/gpgme/distinfo (expand / switch to unified diff)

--- pkgsrc/security/gpgme/distinfo 2017/03/31 10:31:57 1.37
+++ pkgsrc/security/gpgme/distinfo 2017/08/29 11:26:19 1.38
@@ -1,12 +1,8 @@ @@ -1,12 +1,8 @@
1$NetBSD: distinfo,v 1.37 2017/03/31 10:31:57 wiz Exp $ 1$NetBSD: distinfo,v 1.38 2017/08/29 11:26:19 wiz Exp $
2 2
3SHA1 (gpgme-1.8.0.tar.bz2) = efa043064dbf675fd713228c6fcfcc4116feb221 3SHA1 (gpgme-1.9.0.tar.bz2) = 870719cd3d2ef6a7fcb1d6af9ce5446edba7bfc3
4RMD160 (gpgme-1.8.0.tar.bz2) = b21a322ddbaf160538267cf201aeec207b8287f6 4RMD160 (gpgme-1.9.0.tar.bz2) = 55719b4a7263ae8d0ef79205e26409ff5693ea27
5SHA512 (gpgme-1.8.0.tar.bz2) = 9f214a44ddc4d602c2a0befc66aa6be9f2c90a24e153b873475867e30eec30e074826b98c11d20b0a2e4cd04e2625ce2545220481225fceb6ca9c51d3208e3de 5SHA512 (gpgme-1.9.0.tar.bz2) = 2a33343e907d9d70cc57dc1ef4e1c01995e1030bb0db937f44435643d6abfbb1bd55d52ba241701fa702783ebf035c09941131604fd8a811474b8bee41afccc8
6Size (gpgme-1.8.0.tar.bz2) = 1298407 bytes 6Size (gpgme-1.9.0.tar.bz2) = 1344222 bytes
7SHA1 (patch-aa) = 6b81bc9b6b17f14329e0dbf1917d1352c142c072 7SHA1 (patch-aa) = 6b81bc9b6b17f14329e0dbf1917d1352c142c072
8SHA1 (patch-ac) = 4862ec21f1d5f4fc6e58d761b0514a28af19346b 8SHA1 (patch-af) = 972982cd34315b2163d14919982f5d5b8fff1000
9SHA1 (patch-ae) = 1259739c4690db656bc5b6113842b1d5c4623616 
10SHA1 (patch-af) = 99787938b677f291a84eae57fa29be60890f444b 
11SHA1 (patch-ag) = e41a315f9b3fa4a80bcc439f6be21ded0bc0b063 
12SHA1 (patch-ah) = 84c9ad8c0c0e16584261cbb9c92e3073ce94da48 

File Deleted: pkgsrc/security/gpgme/patches/Attic/patch-ac

File Deleted: pkgsrc/security/gpgme/patches/Attic/patch-ae

cvs diff -r1.6 -r1.7 pkgsrc/security/gpgme/patches/Attic/patch-af (expand / switch to unified diff)

--- pkgsrc/security/gpgme/patches/Attic/patch-af 2009/11/15 18:41:55 1.6
+++ pkgsrc/security/gpgme/patches/Attic/patch-af 2017/08/29 11:26:20 1.7
@@ -1,42 +1,35 @@ @@ -1,42 +1,35 @@
1$NetBSD: patch-af,v 1.6 2009/11/15 18:41:55 drochner Exp $ 1$NetBSD: patch-af,v 1.7 2017/08/29 11:26:20 wiz Exp $
2 2
3--- src/get-env.c.orig 2004-12-07 21:47:40.000000000 +0100 3Add missing getenv_r() support.
 4https://dev.gnupg.org/T3376
 5
 6--- src/get-env.c.orig 2016-11-16 12:22:41.000000000 +0000
4+++ src/get-env.c 7+++ src/get-env.c
5@@ -22,6 +22,9 @@ 8@@ -53,7 +53,25 @@ _gpgme_getenv (const char *name, char **
6 #include <config.h> 
7 #endif 
8 #include <stdlib.h> 
9+#if HAVE_RFUNCS_H 
10+#include <rfuncs.h> 
11+#endif 
12 #include <errno.h> 
13 #include <string.h> 
14  
15@@ -53,7 +56,25 @@ _gpgme_getenv (const char *name, char ** 
16  9
17 #else 10 #else
18  11
19-/* FIXME: Implement this when we have the specification for it. */ 12-/* FIXME: Implement this when we have the specification for it. */
20-#error Use of getenv_r not implemented. 13-#error Use of getenv_r not implemented.
21+/* Retrieve the environment variable NAME and return a copy of it in a 14+/* Retrieve the environment variable NAME and return a copy of it in a
22+ malloc()'ed buffer in *VALUE. If the environment variable is not 15+ malloc()'ed buffer in *VALUE. If the environment variable is not
23+ set, return NULL in *VALUE. */ 16+ set, return NULL in *VALUE. */
24+gpgme_error_t 17+gpgme_error_t
25+_gpgme_getenv (const char *name, char **value) 18+_gpgme_getenv (const char *name, char **value)
26+{ 19+{
27+ char env_value[256]; 20+ char env_value[256];
28+ if (getenv_r (name, env_value, 256) < 0) 21+ if (getenv_r (name, env_value, 256) < 0)
29+ *value = NULL; 22+ *value = NULL;
30+ else 23+ else
31+ { 24+ {
32+ *value = strdup (env_value); 25+ *value = strdup (env_value);
33+ if (!*value) 26+ if (!*value)
34+ errno = ENOMEM; 27+ errno = ENOMEM;
35+ } 28+ }
36+ if (!*value && errno != ENOENT) 29+ if (!*value && errno != ENOENT)
37+ return gpg_error_from_errno (errno); 30+ return gpg_error_from_syserror ();
38+ else 31+ else
39+ return (0); 32+ return 0;
40+} 33+}
41  34
42 #endif 35 #endif

File Deleted: pkgsrc/security/gpgme/patches/Attic/patch-ag

File Deleted: pkgsrc/security/gpgme/patches/Attic/patch-ah