From a612c5e9b394a1f0a82912ba23a2179b798a2d56 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Wed, 18 Jan 2023 00:31:05 +0000 Subject: [PATCH] core/gpgme to 1.18.0-2 --- ...python310.patch => 0001-python-3-10.patch} | 0 core/gpgme/0002-python-setup.patch | 166 ++++++++++++++++++ core/gpgme/PKGBUILD | 16 +- ...8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD.asc | 10 ++ 4 files changed, 186 insertions(+), 6 deletions(-) rename core/gpgme/{python310.patch => 0001-python-3-10.patch} (100%) create mode 100644 core/gpgme/0002-python-setup.patch create mode 100644 core/gpgme/keys/pgp/AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD.asc diff --git a/core/gpgme/python310.patch b/core/gpgme/0001-python-3-10.patch similarity index 100% rename from core/gpgme/python310.patch rename to core/gpgme/0001-python-3-10.patch diff --git a/core/gpgme/0002-python-setup.patch b/core/gpgme/0002-python-setup.patch new file mode 100644 index 000000000..c18c29465 --- /dev/null +++ b/core/gpgme/0002-python-setup.patch @@ -0,0 +1,166 @@ +commit ae9258fbf3b9d434495ef11fc184a91fe7c4ca57 +Author: NIIBE Yutaka +Date: Thu Sep 15 13:46:23 2022 +0900 + + build:python: Don't use gpg-error-config/gpgme-config. + + * lang/python/setup.py.in: Use @prefix@, @GPGME_CONFIG_LIBS@, + @GPGME_CONFIG_CFLAGS@, and @GPG_ERROR_CFLAGS@ of configure. + + -- + + GnuPG-bug-id: 6204 + Signed-off-by: NIIBE Yutaka + +diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in +index 9785a282..6741d3c8 100755 +--- a/lang/python/setup.py.in ++++ b/lang/python/setup.py.in +@@ -30,9 +30,6 @@ import subprocess + import sys + + # Out-of-tree build of the gpg bindings. +-gpg_error_config = ['gpg-error-config'] +-gpgme_config_flags = ['--thread=pthread'] +-gpgme_config = ['gpgme-config'] + gpgme_config_flags + gpgme_h = '' + include_dirs = [os.getcwd()] + library_dirs = [] +@@ -44,8 +41,6 @@ top_builddir = os.environ.get('top_builddir') + if top_builddir: + # In-tree build. + in_tree = True +- gpgme_config = [os.path.join(top_builddir, 'src/gpgme-config') +- ] + gpgme_config_flags + gpgme_h = os.path.join(top_builddir, 'src/gpgme.h') + library_dirs = [os.path.join(top_builddir, + 'src/.libs')] # XXX uses libtool internals +@@ -60,20 +55,8 @@ if hasattr(subprocess, 'DEVNULL'): + else: + devnull = open(os.devnull, 'w') + +-try: +- subprocess.check_call(gpgme_config + ['--version'], stdout=devnull) +-except: +- sys.exit('Could not find gpgme-config. ' + +- 'Please install the libgpgme development package.') + +- +-def getconfig(what, config=gpgme_config): +- confdata = subprocess.Popen( +- config + ['--%s' % what], stdout=subprocess.PIPE).communicate()[0] +- return [x for x in confdata.decode('utf-8').split() if x != ''] +- +- +-version = version_raw = getconfig('version')[0] ++version = version_raw = "@VERSION@" + if '-' in version: + version = version.split('-')[0] + major, minor, patch = map(int, version.split('.')) +@@ -82,17 +65,17 @@ if not (major > 1 or (major == 1 and minor >= 7)): + sys.exit('Need at least GPGME version 1.7, found {}.'.format(version_raw)) + + if not gpgme_h: +- gpgme_h = os.path.join(getconfig('prefix')[0], 'include', 'gpgme.h') ++ gpgme_h = os.path.join('@prefix@', 'include', 'gpgme.h') + + define_macros = [] +-libs = getconfig('libs') ++libs = '@GPGME_CONFIG_LIBS@'.split(' ') + + # Define extra_macros for both the SWIG and C code + for k, v in extra_macros.items(): + extra_swig_opts.append('-D{0}={1}'.format(k, v)) + define_macros.append((k, str(v))) + +-for item in getconfig('cflags'): ++for item in '@GPGME_CONFIG_CFLAGS@'.split(' '): + if item.startswith('-I'): + include_dirs.append(item[2:]) + elif item.startswith('-D'): +@@ -182,15 +165,8 @@ class BuildExtFirstHack(build): + + def _generate_errors_i(self): + +- try: +- subprocess.check_call( +- gpg_error_config + ['--version'], stdout=devnull) +- except: +- sys.exit('Could not find gpg-error-config. ' + +- 'Please install the libgpg-error development package.') +- + gpg_error_content = self._read_header( +- 'gpg-error.h', getconfig('cflags', config=gpg_error_config)) ++ 'gpg-error.h', '@GPG_ERROR_CFLAGS@'.split(' ')) + + filter_re = re.compile(r'GPG_ERR_[^ ]* =') + rewrite_re = re.compile(r' *(.*) = .*') + +commit f1802682c3c8794edaca37966405bd1f070f5e01 +Author: NIIBE Yutaka +Date: Wed Oct 26 11:02:36 2022 +0900 + + python: Fix configure generating setup.py. + + * lang/python/setup.py.in: Handle the case, when substitutions + may be empty. + + -- + + Reported-by: Andreas Metzler + Fixes-commit: ae9258fbf3b9d434495ef11fc184a91fe7c4ca57 + GnuPG-bug-id: 6204 + Signed-off-by: NIIBE Yutaka + +diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in +index 6741d3c8..6f36861d 100755 +--- a/lang/python/setup.py.in ++++ b/lang/python/setup.py.in +@@ -68,22 +68,26 @@ if not gpgme_h: + gpgme_h = os.path.join('@prefix@', 'include', 'gpgme.h') + + define_macros = [] +-libs = '@GPGME_CONFIG_LIBS@'.split(' ') ++if '@GPGME_CONFIG_LIBS@': ++ libs = '@GPGME_CONFIG_LIBS@'.split(' ') ++else: ++ libs = [] + + # Define extra_macros for both the SWIG and C code + for k, v in extra_macros.items(): + extra_swig_opts.append('-D{0}={1}'.format(k, v)) + define_macros.append((k, str(v))) + +-for item in '@GPGME_CONFIG_CFLAGS@'.split(' '): +- if item.startswith('-I'): +- include_dirs.append(item[2:]) +- elif item.startswith('-D'): +- defitem = item[2:].split('=', 1) +- if len(defitem) == 2: +- define_macros.append((defitem[0], defitem[1])) +- else: +- define_macros.append((defitem[0], None)) ++if '@GPGME_CONFIG_CFLAGS@': ++ for item in '@GPGME_CONFIG_CFLAGS@'.split(' '): ++ if item.startswith('-I'): ++ include_dirs.append(item[2:]) ++ elif item.startswith('-D'): ++ defitem = item[2:].split('=', 1) ++ if len(defitem) == 2: ++ define_macros.append((defitem[0], defitem[1])) ++ else: ++ define_macros.append((defitem[0], None)) + + # Adjust include and library locations in case of win32 + uname_s = os.popen('uname -s').read() +@@ -165,8 +169,9 @@ class BuildExtFirstHack(build): + + def _generate_errors_i(self): + ++ ge_cflags='@GPG_ERROR_CFLAGS@' + gpg_error_content = self._read_header( +- 'gpg-error.h', '@GPG_ERROR_CFLAGS@'.split(' ')) ++ 'gpg-error.h', ge_cflags.split(' ') if ge_cflags else []) + + filter_re = re.compile(r'GPG_ERR_[^ ]* =') + rewrite_re = re.compile(r' *(.*) = .*') diff --git a/core/gpgme/PKGBUILD b/core/gpgme/PKGBUILD index d1f2c4e80..2749d68f6 100644 --- a/core/gpgme/PKGBUILD +++ b/core/gpgme/PKGBUILD @@ -9,24 +9,28 @@ pkgbase=gpgme pkgname=(gpgme qgpgme python-gpgme) pkgver=1.18.0 -pkgrel=1 +pkgrel=2 _python_ver=3.10 pkgdesc='A C wrapper library for GnuPG' arch=('x86_64') url='https://www.gnupg.org/related_software/gpgme/' license=('LGPL') makedepends=('libgpg-error' 'gnupg' 'qt5-base' 'python' 'swig') -options=('debug') -validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA') # Werner Koch (dist signing 2020) +validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA' # Werner Koch (dist signing 2020) + 'AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD') # Niibe Yutaka (GnuPG Release Key) source=("https://www.gnupg.org/ftp/gcrypt/${pkgbase}/${pkgbase}-${pkgver}.tar.bz2"{,.sig} - python310.patch) + '0001-python-3-10.patch' + '0002-python-setup.patch') sha256sums=('361d4eae47ce925dba0ea569af40e7b52c645c4ae2e65e5621bf1b6cdd8b0e9e' 'SKIP' - '5de2f6bcb6b30642d0cbc3fbd86803c9460d732f44a526f44cedee8bb78d291a') + '5de2f6bcb6b30642d0cbc3fbd86803c9460d732f44a526f44cedee8bb78d291a' + '84fb13e9afa549027469e0d1a1bad69bf786b63ef6359a5d65320bd226dcccc7') prepare() { cd ${pkgbase}-${pkgver} - patch -Np1 -i ../python310.patch + + patch -Np1 -i ../0001-python-3-10.patch + patch -Np1 -i ../0002-python-setup.patch } build() { diff --git a/core/gpgme/keys/pgp/AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD.asc b/core/gpgme/keys/pgp/AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD.asc new file mode 100644 index 000000000..4cc3b046e --- /dev/null +++ b/core/gpgme/keys/pgp/AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD.asc @@ -0,0 +1,10 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEYKSChxYJKwYBBAHaRw8BAQdAmZ1/CnyMQ3k/d4SOFCJaTrNCLy62+A69gPnt +eYT4fz60IE5paWJlIFl1dGFrYSAoR251UEcgUmVsZWFzZSBLZXkpiJoEExYKAEIW +IQSsjhFb9z4tjUf6mQjpjpstGcbIvQUCYKSChwIbAwUJCw0GmQULCQgHAgMiAgEG +FQoJCAsCBBYCAwECHgcCF4AACgkQ6Y6bLRnGyL3/ggD/Wu9KvcxT5K/iOE0PMP4J +4LeCYeQ97DqmL1UcSwTB2CYBAPYG2JfvDWwkv8IHKUZa/mPGPjfjmY/1h9mbRGyD +M+MM +=nU8p +-----END PGP PUBLIC KEY BLOCK-----