commit:     2ad1ddf9b8b0e0b1f91fc3dd9412ad2f9c1346c3
Author:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 10 00:49:28 2024 +0000
Commit:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Tue Sep 10 01:07:18 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ad1ddf9

app-crypt/gpgme: fix broken build with setuptools 72.2

It's totally broken with the only setuptools we have in-tree. Revbump
directly to stable.

Bug: https://github.com/pypa/setuptools/issues/4642
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>

 .../ecd0c86d62351d267bdc9566286c532a394c711b.patch | 40 ++++++++++++++++++++++
 ...{gpgme-1.23.2.ebuild => gpgme-1.23.2-r1.ebuild} |  2 ++
 2 files changed, 42 insertions(+)

diff --git 
a/app-crypt/gpgme/files/ecd0c86d62351d267bdc9566286c532a394c711b.patch 
b/app-crypt/gpgme/files/ecd0c86d62351d267bdc9566286c532a394c711b.patch
new file mode 100644
index 000000000000..5e7a37d9ff01
--- /dev/null
+++ b/app-crypt/gpgme/files/ecd0c86d62351d267bdc9566286c532a394c711b.patch
@@ -0,0 +1,40 @@
+From ecd0c86d62351d267bdc9566286c532a394c711b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <[email protected]>
+Date: Mon, 2 Sep 2024 15:33:25 +0200
+Subject: [PATCH] build,python: Fix build with setuptools 72.2.0+
+
+* lang/python/setup.py.in (BuildExtFirstHack.run): Extend members of the
+extension instead of lists that were passed to the extension.
+--
+
+setuptools 72.2.0 integrated changes in distutils which included
+"Support for Pathlike objects in data files and extensions". With this
+change the extensions now take a copy of the sources list passed to the
+constructor instead of keeping a reference to the passed list. Hence,
+modifying the sources list that was passed to the extension didn't
+change the sources list of the extension anymore. This is fixed by
+modifying the sources list of the extension directly. For consistency
+we do the same for the swig_opts list.
+
+GnuPG-bug-id: 7281
+---
+ lang/python/setup.py.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in
+index 7b64ba7b..d6f537e0 100755
+--- a/lang/python/setup.py.in
++++ b/lang/python/setup.py.in
+@@ -217,9 +217,9 @@ class BuildExtFirstHack(build):
+     def run(self):
+         self._generate()
+ 
+-        swig_sources.extend((self._in_build_base('gpgme.i'),
+-                             self._in_build_base('helpers.c')))
+-        swig_opts.extend([
++        swige.sources.extend((self._in_build_base('gpgme.i'),
++                              self._in_build_base('helpers.c')))
++        swige.swig_opts.extend([
+             '-I' + self.build_base, '-outdir',
+             os.path.join(self.build_lib, 'gpg')
+         ])

diff --git a/app-crypt/gpgme/gpgme-1.23.2.ebuild 
b/app-crypt/gpgme/gpgme-1.23.2-r1.ebuild
similarity index 98%
rename from app-crypt/gpgme/gpgme-1.23.2.ebuild
rename to app-crypt/gpgme/gpgme-1.23.2-r1.ebuild
index 729e18d1df98..043a8992cf5c 100644
--- a/app-crypt/gpgme/gpgme-1.23.2.ebuild
+++ b/app-crypt/gpgme/gpgme-1.23.2-r1.ebuild
@@ -69,6 +69,8 @@ BDEPEND="
 PATCHES=(
        "${FILESDIR}"/${PN}-1.18.0-tests-start-stop-agent-use-command-v.patch
        "${FILESDIR}"/${PN}-1.23.1-tests-gnupg-no-tofu.patch
+       # backport fix for setuptools 72.2 breakage
+       "${FILESDIR}"/ecd0c86d62351d267bdc9566286c532a394c711b.patch
 )
 
 src_prepare() {

Reply via email to