summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororbea <orbea@riseup.net>2024-01-30 19:08:18 -0800
committerJoonas Niilola <juippis@gentoo.org>2024-02-24 15:29:07 +0200
commiteeee80a3b04bc7d4a456ed08b2160f4e4b09ffdd (patch)
treed3a2650cbac6cadae663f6de95724f8d5e7f503b /dev-libs/xmlsec
parentdev-util/pycharm-professional: drop versions (diff)
downloadgentoo-eeee80a3b04bc7d4a456ed08b2160f4e4b09ffdd.tar.gz
gentoo-eeee80a3b04bc7d4a456ed08b2160f4e4b09ffdd.tar.bz2
gentoo-eeee80a3b04bc7d4a456ed08b2160f4e4b09ffdd.zip
dev-libs/xmlsec: fix the build with slibtool
On a LibreSSL system xmlsec tries to link $OPENSSL_LIBS with -Wl,Bstatic which doesn't work when using slibtool where only dynamic libssl and libcrypto libraries are installed. With GNU libtool the linker output is rearranged to obscure the issue. Upstream-PR: https://github.com/lsh123/xmlsec/pull/756 Upstream-Commit: https://github.com/lsh123/xmlsec/commit/de5251a8064231fbe6b9bccc669228cab4ab4ec7 Signed-off-by: orbea <orbea@riseup.net> Closes: https://github.com/gentoo/gentoo/pull/35110 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'dev-libs/xmlsec')
-rw-r--r--dev-libs/xmlsec/files/xmlsec-1.3.3-slibtool.patch48
-rw-r--r--dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild1
2 files changed, 49 insertions, 0 deletions
diff --git a/dev-libs/xmlsec/files/xmlsec-1.3.3-slibtool.patch b/dev-libs/xmlsec/files/xmlsec-1.3.3-slibtool.patch
new file mode 100644
index 000000000000..ed4c9e0397b7
--- /dev/null
+++ b/dev-libs/xmlsec/files/xmlsec-1.3.3-slibtool.patch
@@ -0,0 +1,48 @@
+https://github.com/lsh123/xmlsec/pull/756
+https://github.com/lsh123/xmlsec/commit/de5251a8064231fbe6b9bccc669228cab4ab4ec7
+
+From de5251a8064231fbe6b9bccc669228cab4ab4ec7 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Tue, 30 Jan 2024 18:57:19 -0800
+Subject: [PATCH] configure.ac: fix the build with slibtool (#756)
+
+When building with LibreSSL or BoringSSL the build will try to link the
+$OPENSSL_LIBS with -Wl,-Bstatic, but this will fail when using slibtool
+if only dynamic libssl and libcrypto libraries are installed.
+
+ ld: cannot find -lssl: No such file or directory
+ ld: cannot find -lcrypto: No such file or directory
+
+With GNU libtool it will "helpfully" rearrange the linker output to
+obscure the issue.
+
+ -lssl -lcrypto -lxslt -lxml2 ../.libs/libxmlsec1.so -g -O2 -O -Wl,-Bstatic -Wl,-Bdynamic
+
+While with slibtool it will do as instructed and produce a build
+failure.
+
+ -Wl,-Bstatic -lssl -lcrypto -Wl,-Bdynamic -lxslt
+---
+ configure.ac | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ce8a278c..25e70b24 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -806,7 +806,6 @@ if test "z$OPENSSL_FOUND" = "zyes" ; then
+ #endif
+ ],[
+ OPENSSL_VERSION="LibreSSL >= 3.5"
+- OPENSSL_LIBS="-Wl,-Bstatic $OPENSSL_LIBS -Wl,-Bdynamic"
+ enable_dh=no
+ ],[
+ OPENSSL_VERSION=""
+@@ -824,7 +823,6 @@ if test "z$OPENSSL_FOUND" = "zyes" ; then
+ #endif
+ ],[
+ OPENSSL_VERSION="BoringSSL >= 1.1.1"
+- OPENSSL_LIBS="-Wl,-Bstatic $OPENSSL_LIBS -Wl,-Bdynamic"
+ enable_ripemd160=no
+ enable_dsa=no
+ enable_dh=no
diff --git a/dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild b/dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild
index 49cd41086465..079d34a4be68 100644
--- a/dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild
+++ b/dev-libs/xmlsec/xmlsec-1.3.3-r1.ebuild
@@ -45,6 +45,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-1.3.0-optimisation.patch
"${FILESDIR}"/${PN}-1.3.3-typo-fix.patch
+ "${FILESDIR}"/${PN}-1.3.3-slibtool.patch
)
src_prepare() {