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]diff -r1.83 -r1.84 pkgsrc/security/gpgme/Makefile
(wiz)
@@ -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 | |||
3 | DISTNAME= gpgme-1.8.0 | 3 | DISTNAME= gpgme-1.9.0 | |
4 | PKGREVISION= 1 | |||
5 | CATEGORIES= security | 4 | CATEGORIES= security | |
6 | MASTER_SITES= ftp://ftp.gnupg.org/gcrypt/gpgme/ | 5 | MASTER_SITES= ftp://ftp.gnupg.org/gcrypt/gpgme/ | |
7 | EXTRACT_SUFX= .tar.bz2 | 6 | EXTRACT_SUFX= .tar.bz2 | |
8 | 7 | |||
9 | MAINTAINER= pkgsrc-users@NetBSD.org | 8 | MAINTAINER= pkgsrc-users@NetBSD.org | |
10 | HOMEPAGE= http://www.gnupg.org/related_software/gpgme/ | 9 | HOMEPAGE= http://www.gnupg.org/related_software/gpgme/ | |
11 | COMMENT= GnuPG Made Easy | 10 | COMMENT= GnuPG Made Easy | |
12 | LICENSE= gnu-gpl-v2 | 11 | LICENSE= gnu-gpl-v2 | |
13 | 12 | |||
14 | USE_LANGUAGES+= c c++ | 13 | USE_LANGUAGES+= c c++ | |
15 | 14 | |||
16 | USE_LIBTOOL= yes | 15 | USE_LIBTOOL= yes | |
17 | GNU_CONFIGURE= yes | 16 | GNU_CONFIGURE= yes | |
18 | PTHREAD_OPTS+= require | 17 | PTHREAD_OPTS+= require | |
19 | INFO_FILES= yes | 18 | INFO_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 | |||
23 | CONFIGURE_ENV+= ac_cv_path_SWIG= | |||
24 | ||||
25 | SUBST_CLASSES+= pthread | 20 | SUBST_CLASSES+= pthread | |
26 | SUBST_FILES.pthread= src/gpgme-config.in | 21 | SUBST_FILES.pthread= src/gpgme-config.in | |
27 | SUBST_SED.pthread+= -e 's,@PTHREAD_LIBS@,${PTHREAD_LDFLAGS} ${PTHREAD_LIBS},g' | 22 | SUBST_SED.pthread+= -e 's,@PTHREAD_LIBS@,${PTHREAD_LDFLAGS} ${PTHREAD_LIBS},g' | |
28 | SUBST_SED.pthread+= -e 's,@PTHREAD_CFLAGS@,${PTHREAD_CFLAGS},g' | 23 | SUBST_SED.pthread+= -e 's,@PTHREAD_CFLAGS@,${PTHREAD_CFLAGS},g' | |
29 | SUBST_STAGE.pthread= post-patch | 24 | SUBST_STAGE.pthread= post-patch | |
30 | 25 | |||
31 | CPPFLAGS.Darwin= -D_POSIX_C_SOURCE=200809L | 26 | CPPFLAGS.Darwin= -D_POSIX_C_SOURCE=200809L | |
32 | LIBS.SunOS+= -lnsl -lsocket | 27 | LIBS.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 | |||
36 | CONFIGURE_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 | |
40 | TEST_TARGET= check | 31 | TEST_TARGET= check | |
41 | 32 | |||
42 | .include "../../mk/pthread.buildlink3.mk" | |||
43 | ||||
44 | .include "options.mk" | 33 | .include "options.mk" | |
45 | 34 | |||
46 | CONFIGURE_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-*-*) | |||
53 | CONFIGURE_ENV+= gpgme_cv_tls_works=no | |||
54 | .endif | |||
55 | ||||
56 | # we want the getenv_r() semantics of NetBSD-current | |||
57 | BUILDLINK_API_DEPENDS.librfuncs+= librfuncs>=1.0.7nb1 | |||
58 | .include "../../devel/librfuncs/buildlink3.mk" | |||
59 | BUILDLINK_API_DEPENDS.libassuan+= libassuan>=2.0.2 | 36 | BUILDLINK_API_DEPENDS.libassuan+= libassuan>=2.0.2 | |
60 | .include "../../security/libassuan2/buildlink3.mk" | 37 | .include "../../security/libassuan2/buildlink3.mk" | |
61 | BUILDLINK_API_DEPENDS.libgpg-error+= libgpg-error>=1.17 | 38 | BUILDLINK_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= |
@@ -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 $ | |
2 | bin/gpgme-config | 2 | bin/gpgme-config | |
3 | bin/gpgme-tool | 3 | bin/gpgme-tool | |
4 | include/gpgme++/configuration.h | 4 | include/gpgme++/configuration.h | |
5 | include/gpgme++/context.h | 5 | include/gpgme++/context.h | |
6 | include/gpgme++/data.h | 6 | include/gpgme++/data.h | |
7 | include/gpgme++/decryptionresult.h | 7 | include/gpgme++/decryptionresult.h | |
8 | include/gpgme++/defaultassuantransaction.h | 8 | include/gpgme++/defaultassuantransaction.h | |
9 | include/gpgme++/editinteractor.h | 9 | include/gpgme++/editinteractor.h | |
10 | include/gpgme++/encryptionresult.h | 10 | include/gpgme++/encryptionresult.h | |
11 | include/gpgme++/engineinfo.h | 11 | include/gpgme++/engineinfo.h | |
12 | include/gpgme++/error.h | 12 | include/gpgme++/error.h | |
13 | include/gpgme++/eventloopinteractor.h | 13 | include/gpgme++/eventloopinteractor.h | |
14 | include/gpgme++/exception.h | 14 | include/gpgme++/exception.h | |
15 | include/gpgme++/global.h | 15 | include/gpgme++/global.h | |
16 | include/gpgme++/gpgadduserideditinteractor.h | 16 | include/gpgme++/gpgadduserideditinteractor.h | |
17 | include/gpgme++/gpgagentgetinfoassuantransaction.h | 17 | include/gpgme++/gpgagentgetinfoassuantransaction.h | |
18 | include/gpgme++/gpggencardkeyinteractor.h | |||
18 | include/gpgme++/gpgmefw.h | 19 | include/gpgme++/gpgmefw.h | |
19 | include/gpgme++/gpgmepp_export.h | 20 | include/gpgme++/gpgmepp_export.h | |
20 | include/gpgme++/gpgmepp_version.h | 21 | include/gpgme++/gpgmepp_version.h | |
21 | include/gpgme++/gpgsetexpirytimeeditinteractor.h | 22 | include/gpgme++/gpgsetexpirytimeeditinteractor.h | |
22 | include/gpgme++/gpgsetownertrusteditinteractor.h | 23 | include/gpgme++/gpgsetownertrusteditinteractor.h | |
23 | include/gpgme++/gpgsignkeyeditinteractor.h | 24 | include/gpgme++/gpgsignkeyeditinteractor.h | |
24 | include/gpgme++/importresult.h | 25 | include/gpgme++/importresult.h | |
25 | include/gpgme++/interfaces/assuantransaction.h | 26 | include/gpgme++/interfaces/assuantransaction.h | |
26 | include/gpgme++/interfaces/dataprovider.h | 27 | include/gpgme++/interfaces/dataprovider.h | |
27 | include/gpgme++/interfaces/passphraseprovider.h | 28 | include/gpgme++/interfaces/passphraseprovider.h | |
28 | include/gpgme++/interfaces/progressprovider.h | 29 | include/gpgme++/interfaces/progressprovider.h | |
29 | include/gpgme++/key.h | 30 | include/gpgme++/key.h | |
30 | include/gpgme++/keygenerationresult.h | 31 | include/gpgme++/keygenerationresult.h |
@@ -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 | |||
3 | SHA1 (gpgme-1.8.0.tar.bz2) = efa043064dbf675fd713228c6fcfcc4116feb221 | 3 | SHA1 (gpgme-1.9.0.tar.bz2) = 870719cd3d2ef6a7fcb1d6af9ce5446edba7bfc3 | |
4 | RMD160 (gpgme-1.8.0.tar.bz2) = b21a322ddbaf160538267cf201aeec207b8287f6 | 4 | RMD160 (gpgme-1.9.0.tar.bz2) = 55719b4a7263ae8d0ef79205e26409ff5693ea27 | |
5 | SHA512 (gpgme-1.8.0.tar.bz2) = 9f214a44ddc4d602c2a0befc66aa6be9f2c90a24e153b873475867e30eec30e074826b98c11d20b0a2e4cd04e2625ce2545220481225fceb6ca9c51d3208e3de | 5 | SHA512 (gpgme-1.9.0.tar.bz2) = 2a33343e907d9d70cc57dc1ef4e1c01995e1030bb0db937f44435643d6abfbb1bd55d52ba241701fa702783ebf035c09941131604fd8a811474b8bee41afccc8 | |
6 | Size (gpgme-1.8.0.tar.bz2) = 1298407 bytes | 6 | Size (gpgme-1.9.0.tar.bz2) = 1344222 bytes | |
7 | SHA1 (patch-aa) = 6b81bc9b6b17f14329e0dbf1917d1352c142c072 | 7 | SHA1 (patch-aa) = 6b81bc9b6b17f14329e0dbf1917d1352c142c072 | |
8 | SHA1 (patch-ac) = 4862ec21f1d5f4fc6e58d761b0514a28af19346b | 8 | SHA1 (patch-af) = 972982cd34315b2163d14919982f5d5b8fff1000 | |
9 | SHA1 (patch-ae) = 1259739c4690db656bc5b6113842b1d5c4623616 | |||
10 | SHA1 (patch-af) = 99787938b677f291a84eae57fa29be60890f444b | |||
11 | SHA1 (patch-ag) = e41a315f9b3fa4a80bcc439f6be21ded0bc0b063 | |||
12 | SHA1 (patch-ah) = 84c9ad8c0c0e16584261cbb9c92e3073ce94da48 |
@@ -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 | 3 | Add missing getenv_r() support. | |
4 | https://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 |