summaryrefslogtreecommitdiff
path: root/dev-libs/libpcre
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libpcre')
-rw-r--r--dev-libs/libpcre/Manifest1
-rw-r--r--dev-libs/libpcre/libpcre-8.45-r3.ebuild109
2 files changed, 110 insertions, 0 deletions
diff --git a/dev-libs/libpcre/Manifest b/dev-libs/libpcre/Manifest
index fae70be89f7f..34223ebc75d6 100644
--- a/dev-libs/libpcre/Manifest
+++ b/dev-libs/libpcre/Manifest
@@ -3,4 +3,5 @@ AUX libpcre-8.45-fix-stack-size-detection.patch 651 BLAKE2B 35eea87eecdf5041bf6d
DIST pcre-8.45.tar.bz2 1578809 BLAKE2B 3954e08cf3c67a5e2249bf72f8d4c1a90fe7a098fffa5a0a06d0d665d07899027cfd632eab2757fcf2b1b9b413a43d5c484c8e52d05b7ca113b3bbbc4dd3bb29 SHA512 91bff52eed4a2dfc3f3bfdc9c672b88e7e2ffcf3c4b121540af8a4ae8c1ce05178430aa6b8000658b9bb7b4252239357250890e20ceb84b79cdfcde05154061a
EBUILD libpcre-8.45-r1.ebuild 2524 BLAKE2B 1aa96f5fd6603c0d18237a8a02538978d2494bc40bb0e080f5d9d81ebd692f7a2f6dbc63e928278934bd58734638113a4fc773538c6ca766560dfc7e6dc74247 SHA512 73442e994e49d47c04c76f16ef7204602acd596f88b402d8e8d18c8737134732d793c19752a2b5dbff96614ca3fadf5bbf935bba3e32f3021d3c593d61cdc515
EBUILD libpcre-8.45-r2.ebuild 2529 BLAKE2B 4b056dba5cf00c02786260e2d235072cc522ae09804a9b91811e850aa55b127ed4e93c71d057e720fd07407b7cd9ba8e910856ecb918491c0c78670af92d267f SHA512 3919d3a882d11f9c4c92dc1cd79f514e3afcf9c727d4c846123c8d7891171545675ad2a065912ac4b82bdb2291a616303232fb02769702763b9907e8b7b4a46d
+EBUILD libpcre-8.45-r3.ebuild 2724 BLAKE2B 0079704ee1a6f0fc9d2380eec5bcd70303f1712c59fb225df660d0af2bda1e9a884397d753dc61bee8fae533234277e782dacc49f0e73b8cc2a37c94ae8cb67a SHA512 0432414d01d51bcd15072e9d69a4fe67781274bb36d4b00dcb7027f8d5ce1d7555ea59af720b891825e8b9e2311a2fa19c3b676f56550d1fb20095cb424c25a5
MISC metadata.xml 1063 BLAKE2B c20c54462582bcffd5927643186e1ffbf49679a49490a53970f236f0bcd74fc8813233425ad4a642933ce60d224bb93457cb55fd12106b660a78902c45e11563 SHA512 8c2239d0176c9b79c162538824edead567ba4b51b9567c6edaa01af6ab1d4b2162867e134b40cc10c6c4d599e72c362beed3f9f6ed2a837a13a57cecff2f987a
diff --git a/dev-libs/libpcre/libpcre-8.45-r3.ebuild b/dev-libs/libpcre/libpcre-8.45-r3.ebuild
new file mode 100644
index 000000000000..006e23369ba2
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.45-r3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal preserve-libs
+
+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-debug/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
+
+ # We do a full autoreconf because:
+ # - the software is end of life and never getting new dist tarballs
+ # - it uses a frankensteined "2.4.6.42-b88ce-dirty" libtool, which
+ # means elibtoolize can't find patches to apply
+ eautoreconf
+}
+
+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
+}
+
+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
+}