summaryrefslogtreecommitdiff
path: root/dev-libs/libpcre
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-03 22:54:31 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-03 22:54:31 +0100
commitb0ebd12de22226fd7b69140ccd700efda3eb5fa6 (patch)
treeefcf8d59607e53b8bf2fb453629b05bea28cc3ce /dev-libs/libpcre
parent99547b97ff461f107e03ed5323b6286a66677bce (diff)
gentoo auto-resync : 03:08:2023 - 22:54:30
Diffstat (limited to 'dev-libs/libpcre')
-rw-r--r--dev-libs/libpcre/Manifest2
-rw-r--r--dev-libs/libpcre/files/libpcre-8.45-fix-stack-size-detection.patch18
-rw-r--r--dev-libs/libpcre/libpcre-8.45-r2.ebuild106
3 files changed, 126 insertions, 0 deletions
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
+}