summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-06-27 07:35:04 +0100
committerSam James <sam@gentoo.org>2024-06-27 07:35:34 +0100
commit37d02084f569fa71329bf0db592ea18da4604fcd (patch)
tree3a53cf9204a7897b6d7da7c2b43066034e820043
parent39d278750438e9c277956eeed5cd3d158dd0772b (diff)
downloadgentoo-37d02084f569fa71329bf0db592ea18da4604fcd.tar.gz
gentoo-37d02084f569fa71329bf0db592ea18da4604fcd.tar.bz2
gentoo-37d02084f569fa71329bf0db592ea18da4604fcd.zip
dev-libs/libpcre2: fix shared library build on mips (libtool-2.5.0 bug)
Closes: https://bugs.gentoo.org/934977 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--dev-libs/libpcre2/libpcre2-10.44-r1.ebuild (renamed from dev-libs/libpcre2/libpcre2-10.44.ebuild)13
1 files changed, 12 insertions, 1 deletions
diff --git a/dev-libs/libpcre2/libpcre2-10.44.ebuild b/dev-libs/libpcre2/libpcre2-10.44-r1.ebuild
index 4d571ec14abb..493d5149dd4f 100644
--- a/dev-libs/libpcre2/libpcre2-10.44.ebuild
+++ b/dev-libs/libpcre2/libpcre2-10.44-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/philiphazel.asc
-inherit libtool multilib-minimal verify-sig
+inherit libtool multilib-minimal toolchain-funcs verify-sig
MY_P="pcre2-${PV/_rc/-RC}"
@@ -67,6 +67,10 @@ src_prepare() {
}
multilib_src_configure() {
+ # Workaround for bug #934977 (libtool-2.5.0), drop when dist tarball
+ # uses newer libtool with the fix.
+ export ac_cv_prog_ac_ct_FILECMD='file' FILECMD='file'
+
local myeconfargs=(
--enable-pcre2-8
--enable-shared
@@ -99,6 +103,13 @@ multilib_src_install() {
DESTDIR="${D}" \
$(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
install
+
+ # bug #934977
+ if ! tc-is-static-only && [[ ! -f "${ED}/usr/$(get_libdir)/libpcre2-8$(get_libname)" ]] ; then
+ eerror "Sanity check for libpcre2-8$(get_libname) failed."
+ eerror "Shared library wasn't built, possible libtool bug"
+ [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "libpcre2-8$(get_libname) not found in build, aborting"
+ fi
}
multilib_src_install_all() {