summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-09-06 00:58:25 +0100
committerSam James <sam@gentoo.org>2021-09-06 00:58:25 +0100
commit87834abded7c46005d3e53d0cfc1282c1d03507c (patch)
tree7575e38b0c02c44828e4350925dd075fc5c0e5c7 /app-crypt/gpgme
parentprofiles: [QA] mask broken htop rc1 (diff)
downloadgentoo-87834abded7c46005d3e53d0cfc1282c1d03507c.tar.gz
gentoo-87834abded7c46005d3e53d0cfc1282c1d03507c.tar.bz2
gentoo-87834abded7c46005d3e53d0cfc1282c1d03507c.zip
app-crypt/gpgme: backport glibc-2.34 patch
Maintainer timeout. Closes: https://bugs.gentoo.org/803557 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-crypt/gpgme')
-rw-r--r--app-crypt/gpgme/files/gpgme-1.16.0-glibc-2.34.patch33
-rw-r--r--app-crypt/gpgme/gpgme-1.16.0.ebuild4
2 files changed, 37 insertions, 0 deletions
diff --git a/app-crypt/gpgme/files/gpgme-1.16.0-glibc-2.34.patch b/app-crypt/gpgme/files/gpgme-1.16.0-glibc-2.34.patch
new file mode 100644
index 000000000000..f328e4540ae3
--- /dev/null
+++ b/app-crypt/gpgme/files/gpgme-1.16.0-glibc-2.34.patch
@@ -0,0 +1,33 @@
+https://bugs.gentoo.org/803557
+https://dev.gnupg.org/T5587
+
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Sun, 5 Sep 2021 00:05:00 +0200
+Subject: [PATCH] src/posix-io.c: fix build with glibc >= 2.34
+
+Fix the following build failure with glibc >= 2.34 raised because
+closefrom doesn't return an int but a void since its addition with
+https://github.com/bminor/glibc/commit/607449506f197cc9514408908f41f22537a47a8c
+
+```
+posix-io.c: In function '_gpgme_io_spawn':
+posix-io.c:577:23: error: void value not ignored as it ought to be
+ 577 | while ((i = closefrom (fd)) && errno == EINTR)
+ | ^
+```
+
+Fixes:
+ - http://autobuild.buildroot.org/results/b11094ddd35263071b7dd453a6590c5b684026ff
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+--- a/src/posix-io.c
++++ b/src/posix-io.c
+@@ -570,7 +570,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], unsigned int flags,
+ if (fd_list[i].fd > fd)
+ fd = fd_list[i].fd;
+ fd++;
+-#if defined(__sun) || defined(__FreeBSD__)
++#if defined(__sun) || defined(__FreeBSD__) || (defined (__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 34)
+ closefrom (fd);
+ max_fds = fd;
+ #else /*!__sun */
diff --git a/app-crypt/gpgme/gpgme-1.16.0.ebuild b/app-crypt/gpgme/gpgme-1.16.0.ebuild
index ed9a1cc7e57a..d8df58daf471 100644
--- a/app-crypt/gpgme/gpgme-1.16.0.ebuild
+++ b/app-crypt/gpgme/gpgme-1.16.0.ebuild
@@ -29,6 +29,10 @@ BDEPEND="python? ( dev-lang/swig )"
REQUIRED_USE="qt5? ( cxx ) python? ( ${PYTHON_REQUIRED_USE} )"
+PATCHES=(
+ "${FILESDIR}"/${P}-glibc-2.34.patch
+)
+
do_python() {
if use python; then
pushd "lang/python" > /dev/null || die