From b0ebd12de22226fd7b69140ccd700efda3eb5fa6 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 3 Aug 2023 22:54:31 +0100 Subject: gentoo auto-resync : 03:08:2023 - 22:54:30 --- dev-libs/libpcre/Manifest | 2 + .../libpcre-8.45-fix-stack-size-detection.patch | 18 ++++ dev-libs/libpcre/libpcre-8.45-r2.ebuild | 106 +++++++++++++++++++++ 3 files changed, 126 insertions(+) create mode 100644 dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch create mode 100644 dev-libs/libpcre/libpcre-8.45-r2.ebuild (limited to 'dev-libs/libpcre') diff --git a/dev-libs/libpcre/Manifest b/dev-libs/libpcre/Manifest index 54144022c7a8..05cdc0751b9f 100644 --- a/dev-libs/libpcre/Manifest +++ b/dev-libs/libpcre/Manifest @@ -1,4 +1,6 @@ AUX libpcre-8.41-fix-stack-size-detection.patch 569 BLAKE2B 68f685ccd9ebe0a256f829ff2086d93041dfc872e301a19a234c8da3b834fb5c0da3b510b0f63fff7fc07c1d6680ebfb964ba3dbf1a58b302abb14a393da36a4 SHA512 ac9f6155d055b25bcde26bf11450cb07618d7194e0a2c28e0c38dca4190b3319fbfdb85c97f01210dc7540a708fd4f8879853350d66ae382b54c4704e2e7028b +AUX libpcre-8.45-fix-stack-size-detection.patch 651 BLAKE2B 35eea87eecdf5041bf6def6bdd6bec99ef9d60b68f9f3676d26472a8752315ddc9de1268e921b3dc2f17efb8aad50d9ab22b8f54f5b1b3414c0f18eda8114c05 SHA512 b5ec6545a9e8bc3c9dab948ad53278ccf6c51054f1eeb5b7db3b5926f9526cee287ede3531559588f88c19b73edf7bbf762f8eaef90b62bb01123a8e0f83ab87 DIST pcre-8.45.tar.bz2 1578809 BLAKE2B 3954e08cf3c67a5e2249bf72f8d4c1a90fe7a098fffa5a0a06d0d665d07899027cfd632eab2757fcf2b1b9b413a43d5c484c8e52d05b7ca113b3bbbc4dd3bb29 SHA512 91bff52eed4a2dfc3f3bfdc9c672b88e7e2ffcf3c4b121540af8a4ae8c1ce05178430aa6b8000658b9bb7b4252239357250890e20ceb84b79cdfcde05154061a EBUILD libpcre-8.45-r1.ebuild 2523 BLAKE2B 6ee7fec7efb82b48a0f4594c69d2a668b7a62e91ebeb45e23123849594506f8947ce0d737359adbfcecc88a128420d0483567e737abba12621c0381120d62cc4 SHA512 b06c88362070bb2ce49ecc1281af369ae76480d78a0613f0500507ceaae39b152bab3a307bd12a5f5482f7b8364f3195849a6951d494cc22d1a30ccc69d34b76 +EBUILD libpcre-8.45-r2.ebuild 2536 BLAKE2B 17bc595c48ff90f94c16d62026880339674a52019727cee4b41ed091f34e881167c19e76d1b583e20f36b32d6afa4fc3cc7fd33e5348781699f237beec8731e7 SHA512 f9dd1c4dc04e3c33449baa9d592153e4f5e89ca4e76d447daf99813181a95cd4234123d698e964f0adec5e7ed20365ebb2f27c9a57b4897765493e80e730daeb MISC metadata.xml 1063 BLAKE2B c20c54462582bcffd5927643186e1ffbf49679a49490a53970f236f0bcd74fc8813233425ad4a642933ce60d224bb93457cb55fd12106b660a78902c45e11563 SHA512 8c2239d0176c9b79c162538824edead567ba4b51b9567c6edaa01af6ab1d4b2162867e134b40cc10c6c4d599e72c362beed3f9f6ed2a837a13a57cecff2f987a diff --git a/dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch b/dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch new file mode 100644 index 000000000000..2b5af062d36a --- /dev/null +++ b/dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch @@ -0,0 +1,18 @@ +https://bugs.exim.org/show_bug.cgi?id=2173#c4 +https://bugs.gentoo.org/910188 +https://github.com/MariaDB/server/pull/2700 +--- a/pcre_exec.c ++++ b/pcre_exec.c +@@ -509,6 +509,12 @@ + (e.g. stopped by repeated call or recursion limit) + */ + ++#ifdef __GNUC__ ++static int ++match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, ++ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, ++ unsigned int rdepth) __attribute__((optnone,noinline,noclone)); ++#endif + static int + match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, + PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, diff --git a/dev-libs/libpcre/libpcre-8.45-r2.ebuild b/dev-libs/libpcre/libpcre-8.45-r2.ebuild new file mode 100644 index 000000000000..0f71104bd917 --- /dev/null +++ b/dev-libs/libpcre/libpcre-8.45-r2.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool multilib-minimal preserve-libs usr-ldscript + +DESCRIPTION="Perl-compatible regular expression library" +HOMEPAGE="http://www.pcre.org/" +MY_P="pcre-${PV/_rc/-RC}" +if [[ ${PV} != *_rc* ]] ; then + # Only the final releases are available here. + SRC_URI=" + mirror://sourceforge/pcre/${MY_P}.tar.bz2 + https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2 + ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2 + " +else + SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2" +fi + +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline static-libs unicode valgrind zlib" +REQUIRED_USE=" + readline? ( !libedit ) + libedit? ( !readline ) +" + +RDEPEND=" + bzip2? ( app-arch/bzip2 ) + zlib? ( sys-libs/zlib ) + libedit? ( dev-libs/libedit ) + readline? ( sys-libs/readline:= ) +" +DEPEND=" + ${RDEPEND} + valgrind? ( dev-util/valgrind ) +" +BDEPEND="virtual/pkgconfig" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/pcre-config +) + +PATCHES=( + "${FILESDIR}"/${PN}-8.45-fix-stack-size-detection.patch +) + +src_prepare() { + default + + sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die + elibtoolize +} + +multilib_src_configure() { + local myeconfargs=( + $(multilib_native_use_enable bzip2 pcregrep-libbz2) + $(use_enable cxx cpp) + $(use_enable jit) + $(use_enable jit pcregrep-jit) + $(use_enable pcre16) + $(use_enable pcre32) + $(multilib_native_use_enable libedit pcretest-libedit) + $(multilib_native_use_enable readline pcretest-libreadline) + $(use_enable static-libs static) + $(use_enable unicode utf) + $(use_enable unicode unicode-properties) + $(multilib_native_use_enable valgrind) + $(multilib_native_use_enable zlib pcregrep-libz) + + --enable-pcre8 + --enable-shared + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=") +} + +multilib_src_install() { + emake \ + DESTDIR="${D}" \ + $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \ + install + + gen_usr_ldscript -a pcre +} + +multilib_src_install_all() { + find "${ED}" -type f -name "*.la" -delete || die +} + +pkg_preinst() { + preserve_old_lib /$(get_libdir)/libpcre.so.0 +} + +pkg_postinst() { + preserve_old_lib_notify /$(get_libdir)/libpcre.so.0 +} -- cgit v1.2.3