summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViolet Purcell <vimproved@inventati.org>2023-02-12 23:04:04 -0500
committerSam James <sam@gentoo.org>2023-02-13 04:23:36 +0000
commitf7a25164f606a8b12dac5f144057d3d53c74f1ad (patch)
tree271b1febcf308857cf3c5d3806034bba4b5a5414 /app-crypt
parentapp-text/dos2unix: add 7.4.4 (diff)
downloadgentoo-f7a25164f606a8b12dac5f144057d3d53c74f1ad.tar.gz
gentoo-f7a25164f606a8b12dac5f144057d3d53c74f1ad.tar.bz2
gentoo-f7a25164f606a8b12dac5f144057d3d53c74f1ad.zip
app-crypt/libmd: Backport Clang 16 configure fix
Closes: https://bugs.gentoo.org/894010 Signed-off-by: Violet Purcell <vimproved@inventati.org> Closes: https://github.com/gentoo/gentoo/pull/29565 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-crypt')
-rw-r--r--app-crypt/libmd/files/libmd-1.0.4-fix-version-script-linker-support-detection.patch38
-rw-r--r--app-crypt/libmd/libmd-1.0.4.ebuild13
2 files changed, 50 insertions, 1 deletions
diff --git a/app-crypt/libmd/files/libmd-1.0.4-fix-version-script-linker-support-detection.patch b/app-crypt/libmd/files/libmd-1.0.4-fix-version-script-linker-support-detection.patch
new file mode 100644
index 000000000000..bcee3a06611f
--- /dev/null
+++ b/app-crypt/libmd/files/libmd-1.0.4-fix-version-script-linker-support-detection.patch
@@ -0,0 +1,38 @@
+From e408786075b9540f76783f5c3ce87f6d1ece13cf Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@hadrons.org>
+Date: Sun, 12 Feb 2023 23:55:09 +0100
+Subject: [PATCH] build: Fix version script linker support detection
+
+When the linker uses --no-undefined-version either specified by the user
+or as the default behavior (such as with newer clang >= 16 releases), a missing symbol definition will cause a linker error if that symbol is
+listed in the version script.
+
+
+Bug: https://bugs.gentoo.org/894010
+Upstream issue: https://gitlab.freedesktop.org/libbsd/libmd/-/issues/1
+Upstream commit: https://gitlab.freedesktop.org/libbsd/libmd/-/commit/e408786075b9540f76783f5c3ce87f6d1ece13cf
+
+---
+ m4/libmd-linker.m4 | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/m4/libmd-linker.m4 b/m4/libmd-linker.m4
+index 7d1236a..3d6edcd 100644
+--- a/m4/libmd-linker.m4
++++ b/m4/libmd-linker.m4
+@@ -8,7 +8,11 @@ AC_DEFUN([LIBMD_LINKER_VERSION_SCRIPT], [
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
+ AC_LINK_IFELSE([
+- AC_LANG_PROGRAM([], [])
++ AC_LANG_PROGRAM([[
++extern int symbol(void);
++int symbol(void) { return 0; }
++]], [[
++]])
+ ], [
+ libmd_cv_version_script=yes
+ ], [
+--
+GitLab
+
diff --git a/app-crypt/libmd/libmd-1.0.4.ebuild b/app-crypt/libmd/libmd-1.0.4.ebuild
index 95989a9ac9f9..62869ee7db54 100644
--- a/app-crypt/libmd/libmd-1.0.4.ebuild
+++ b/app-crypt/libmd/libmd-1.0.4.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit multilib-minimal
+inherit autotools multilib-minimal
DESCRIPTION="Message Digest functions from BSD systems"
HOMEPAGE="https://www.hadrons.org/software/libmd/"
@@ -13,6 +13,17 @@ LICENSE="|| ( BSD BSD-2 ISC BEER-WARE public-domain )"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+PATCHES=(
+ "${FILESDIR}/${P}-fix-version-script-linker-support-detection.patch"
+)
+
+src_prepare() {
+ default
+
+ # Drop on next release, only needed for lld patch
+ eautoreconf
+}
+
multilib_src_configure() {
ECONF_SOURCE="${S}" econf
}