commit: f7a25164f606a8b12dac5f144057d3d53c74f1ad Author: Violet Purcell <vimproved <AT> inventati <DOT> org> AuthorDate: Mon Feb 13 04:04:04 2023 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Mon Feb 13 04:23:36 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7a25164
app-crypt/libmd: Backport Clang 16 configure fix Closes: https://bugs.gentoo.org/894010 Signed-off-by: Violet Purcell <vimproved <AT> inventati.org> Closes: https://github.com/gentoo/gentoo/pull/29565 Signed-off-by: Sam James <sam <AT> gentoo.org> ...x-version-script-linker-support-detection.patch | 38 ++++++++++++++++++++++ app-crypt/libmd/libmd-1.0.4.ebuild | 13 +++++++- 2 files changed, 50 insertions(+), 1 deletion(-) 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 <[email protected]> +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 }
