summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-09-01 15:00:13 +0100
committerSam James <sam@gentoo.org>2023-09-01 15:04:53 +0100
commita3a11cfe962d506e6e6e5c96cdab2376c8167110 (patch)
tree27c65dad9a84f61a5e45ba48025ac9597d12f1c1 /sys-apps/coreutils
parentwww-client/opera: remove old (diff)
downloadgentoo-a3a11cfe962d506e6e6e5c96cdab2376c8167110.tar.gz
gentoo-a3a11cfe962d506e6e6e5c96cdab2376c8167110.tar.bz2
gentoo-a3a11cfe962d506e6e6e5c96cdab2376c8167110.zip
sys-apps/coreutils: fix build w/ <openssl-3
Closes: https://bugs.gentoo.org/913368 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-apps/coreutils')
-rw-r--r--sys-apps/coreutils/coreutils-9.4.ebuild1
-rw-r--r--sys-apps/coreutils/files/coreutils-9.4-gnulib-openssl-1.1.patch165
2 files changed, 166 insertions, 0 deletions
diff --git a/sys-apps/coreutils/coreutils-9.4.ebuild b/sys-apps/coreutils/coreutils-9.4.ebuild
index 1eeb24a0282e..65deec47eb27 100644
--- a/sys-apps/coreutils/coreutils-9.4.ebuild
+++ b/sys-apps/coreutils/coreutils-9.4.ebuild
@@ -111,6 +111,7 @@ src_prepare() {
# TODO: past 2025, we may need to add our own hack for bug #907474.
local PATCHES=(
# Upstream patches
+ "${FILESDIR}"/${P}-gnulib-openssl-1.1.patch
)
if ! use vanilla && [[ -d "${WORKDIR}"/${MY_PATCH} ]] ; then
diff --git a/sys-apps/coreutils/files/coreutils-9.4-gnulib-openssl-1.1.patch b/sys-apps/coreutils/files/coreutils-9.4-gnulib-openssl-1.1.patch
new file mode 100644
index 000000000000..3576c7d0d1eb
--- /dev/null
+++ b/sys-apps/coreutils/files/coreutils-9.4-gnulib-openssl-1.1.patch
@@ -0,0 +1,165 @@
+https://bugs.gentoo.org/913368
+https://debbugs.gnu.org/65674
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=ce20e238f0b4448a098bd7c076c131edbc759764
+
+From ce20e238f0b4448a098bd7c076c131edbc759764 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Fri, 1 Sep 2023 12:55:30 +0200
+Subject: crypto/{sha*,md5,sm3}-buffer: Fix --with-openssl (regr. 2023-08-26).
+
+Reported by Agostino Sarubbo via Sam James <sam@gentoo.org> in
+<https://lists.gnu.org/archive/html/bug-gnulib/2023-09/msg00000.html>.
+
+* lib/sha1.h: Test the OpenSSL major version before attempting to
+include <openssl/configuration.h>.
+* lib/sha256.h: Likewise.
+* lib/sha512.h: Likewise.
+* lib/md5.h: Likewise.
+* lib/sm3.h: Likewise.
+--- a/lib/md5.h
++++ b/lib/md5.h
+@@ -33,14 +33,18 @@
+ # define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */
+ # endif
+ /* If <openssl/macros.h> would give a compile-time error, don't use OpenSSL. */
+-# include <openssl/configuration.h>
+-# if (OPENSSL_CONFIGURED_API \
+- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
+- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
+- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
+- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
+-# undef HAVE_OPENSSL_MD5
+-# else
++# include <openssl/opensslv.h>
++# if OPENSSL_VERSION_MAJOR >= 3
++# include <openssl/configuration.h>
++# if (OPENSSL_CONFIGURED_API \
++ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
++ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
++ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
++ + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
++# undef HAVE_OPENSSL_MD5
++# endif
++# endif
++# if HAVE_OPENSSL_MD5
+ # include <openssl/md5.h>
+ # endif
+ # endif
+--- a/lib/sha1.h
++++ b/lib/sha1.h
+@@ -32,14 +32,18 @@
+ # define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */
+ # endif
+ /* If <openssl/macros.h> would give a compile-time error, don't use OpenSSL. */
+-# include <openssl/configuration.h>
+-# if (OPENSSL_CONFIGURED_API \
+- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
+- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
+- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
+- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
+-# undef HAVE_OPENSSL_SHA1
+-# else
++# include <openssl/opensslv.h>
++# if OPENSSL_VERSION_MAJOR >= 3
++# include <openssl/configuration.h>
++# if (OPENSSL_CONFIGURED_API \
++ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
++ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
++ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
++ + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
++# undef HAVE_OPENSSL_SHA1
++# endif
++# endif
++# if HAVE_OPENSSL_SHA1
+ # include <openssl/sha.h>
+ # endif
+ # endif
+--- a/lib/sha256.h
++++ b/lib/sha256.h
+@@ -31,14 +31,18 @@
+ # define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */
+ # endif
+ /* If <openssl/macros.h> would give a compile-time error, don't use OpenSSL. */
+-# include <openssl/configuration.h>
+-# if (OPENSSL_CONFIGURED_API \
+- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
+- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
+- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
+- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
+-# undef HAVE_OPENSSL_SHA256
+-# else
++# include <openssl/opensslv.h>
++# if OPENSSL_VERSION_MAJOR >= 3
++# include <openssl/configuration.h>
++# if (OPENSSL_CONFIGURED_API \
++ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
++ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
++ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
++ + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
++# undef HAVE_OPENSSL_SHA256
++# endif
++# endif
++# if HAVE_OPENSSL_SHA256
+ # include <openssl/sha.h>
+ # endif
+ # endif
+--- a/lib/sha512.h
++++ b/lib/sha512.h
+@@ -31,14 +31,18 @@
+ # define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */
+ # endif
+ /* If <openssl/macros.h> would give a compile-time error, don't use OpenSSL. */
+-# include <openssl/configuration.h>
+-# if (OPENSSL_CONFIGURED_API \
+- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
+- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
+- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
+- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
+-# undef HAVE_OPENSSL_SHA512
+-# else
++# include <openssl/opensslv.h>
++# if OPENSSL_VERSION_MAJOR >= 3
++# include <openssl/configuration.h>
++# if (OPENSSL_CONFIGURED_API \
++ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
++ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
++ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
++ + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
++# undef HAVE_OPENSSL_SHA512
++# endif
++# endif
++# if HAVE_OPENSSL_SHA512
+ # include <openssl/sha.h>
+ # endif
+ # endif
+--- a/lib/sm3.h
++++ b/lib/sm3.h
+@@ -40,14 +40,18 @@
+ # define OPENSSL_API_COMPAT 0x10101000L /* FIXME: Use OpenSSL 1.1+ API. */
+ # endif
+ /* If <openssl/macros.h> would give a compile-time error, don't use OpenSSL. */
+-# include <openssl/configuration.h>
+-# if (OPENSSL_CONFIGURED_API \
+- < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
+- ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
+- + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
+- + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
+-# undef HAVE_OPENSSL_SM3
+-# else
++# include <openssl/opensslv.h>
++# if OPENSSL_VERSION_MAJOR >= 3
++# include <openssl/configuration.h>
++# if (OPENSSL_CONFIGURED_API \
++ < (OPENSSL_API_COMPAT < 0x900000L ? OPENSSL_API_COMPAT : \
++ ((OPENSSL_API_COMPAT >> 28) & 0xF) * 10000 \
++ + ((OPENSSL_API_COMPAT >> 20) & 0xFF) * 100 \
++ + ((OPENSSL_API_COMPAT >> 12) & 0xFF)))
++# undef HAVE_OPENSSL_SM3
++# endif
++# endif
++# if HAVE_OPENSSL_SM3
+ # include <openssl/sm3.h>
+ # endif
+ # endif
+--
+cgit v1.1