commit:     6398d91b7792348b1b903fcb4c4567ed93ae0f9d
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 19 00:45:56 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Feb 19 00:48:10 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6398d91b

dev-libs/libpcre2: fix performance regression

Bug: https://bugs.exim.org/show_bug.cgi?id=2698
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 dev-libs/libpcre2/Manifest                 |  1 +
 dev-libs/libpcre2/libpcre2-10.36-r1.ebuild | 91 ++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+)

diff --git a/dev-libs/libpcre2/Manifest b/dev-libs/libpcre2/Manifest
index 1e61e8faa74..d21cbbc6362 100644
--- a/dev-libs/libpcre2/Manifest
+++ b/dev-libs/libpcre2/Manifest
@@ -1,3 +1,4 @@
 DIST libpcre2-10.34-patchset-01.tar.xz 1208 BLAKE2B 
615b7eff085bd52bb3aed30c90ec5b8cec406f96c58bdfb0304dd59311517662067e68f85bc9930ed6f749820ecfe3c483e261616187bc1077ebb053670d4950
 SHA512 
d881665701bc330f237d19ee48491a81dc8b952b0b8e529eb83c3ffdf14710f68eb934f872ed76ef6b0bee1864261453e7e71e60e14217c004e4e12c6baa499f
+DIST libpcre2-10.36-patchset-01.tar.xz 1364 BLAKE2B 
bfef3c876a092e06972107b44794c23b758a030181f3040c8b722db166789eac794783169b468fc71334fd660bc2f1c31422a8cb8e5bdc18a69b72654b1b59b2
 SHA512 
04324d1efa6d155fa3ffbc328638e4674bea305fef7f57d4369ab4a6399a0f489b4c0ecfb49643feff310d91872e1673e965c48a5c60f1bf54a319f0d275c306
 DIST pcre2-10.35.tar.bz2 1725214 BLAKE2B 
f97412258f0d2c09dc18c5973156e616730ae301713a0172fb2f467e5d2857bf64c6d02ac247e797ce4c96e2fb9b122888f71aede3f5eb3540731f6c3c254ed4
 SHA512 
ecfb8d48e219daff02874783b7b436fe7d70d8471e44eb66e1e29abb7b0aa67547e6b5fba7058b074ac90eef265ece7d12728f80afdda45b6b8124435f4561fd
 DIST pcre2-10.36.tar.bz2 1722310 BLAKE2B 
5c70b7b1b0644edbcc29d3486fc0f3e2d0cb4822f4f3f3e7df603b4f4e27656a2e7f71389628ceb9bd7acc746ce4b626cd2a128d894840b22796841d1269765f
 SHA512 
fc2a920562c80c3d31cedd94028fab55314ae0fb168cac7178f286c344a11fc514939edc3b83b8e0b57c872db4e595fd5530fd1d4b8c779be629553e9ec965a3

diff --git a/dev-libs/libpcre2/libpcre2-10.36-r1.ebuild 
b/dev-libs/libpcre2/libpcre2-10.36-r1.ebuild
new file mode 100644
index 00000000000..b4562da1909
--- /dev/null
+++ b/dev-libs/libpcre2/libpcre2-10.36-r1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic libtool multilib-minimal toolchain-funcs usr-ldscript
+
+PATCH_SET="${PN}-10.36-patchset-01.tar.xz"
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="https://www.pcre.org/";
+MY_P="pcre2-${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";
+else
+       SRC_URI="https://ftp.pcre.org/pub/pcre/Testing/${MY_P}.tar.bz2";
+fi
+
+if [[ -n "${PATCH_SET}" ]] ; then
+       SRC_URI+=" https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}
+               https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}";
+fi
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs 
unicode zlib"
+REQUIRED_USE="?? ( libedit readline )"
+
+BDEPEND="
+       virtual/pkgconfig
+       userland_GNU? ( >=sys-apps/findutils-4.4.0 )
+"
+RDEPEND="
+       bzip2? ( app-arch/bzip2 )
+       libedit? ( dev-libs/libedit )
+       readline? ( sys-libs/readline:0= )
+       zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+MULTILIB_CHOST_TOOLS=(
+       /usr/bin/pcre2-config
+)
+
+src_prepare() {
+       [[ -d "${WORKDIR}/patches" ]] && eapply "${WORKDIR}"/patches
+
+       default
+
+       elibtoolize
+}
+
+multilib_src_configure() {
+       local myeconfargs=(
+               --enable-pcre2-8
+               --enable-shared
+               --with-match-limit-depth=$(usex recursion-limit 8192 
MATCH_LIMIT)
+               $(multilib_native_use_enable bzip2 pcre2grep-libbz2)
+               $(multilib_native_use_enable libedit pcre2test-libedit)
+               $(multilib_native_use_enable readline pcre2test-libreadline)
+               $(multilib_native_use_enable zlib pcre2grep-libz)
+               $(use_enable jit)
+               $(use_enable jit pcre2grep-jit)
+               $(use_enable pcre16 pcre2-16)
+               $(use_enable pcre32 pcre2-32)
+               $(use_enable static-libs static)
+               $(use_enable unicode)
+       )
+       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_is_native_abi && gen_usr_ldscript -a pcre2-posix
+}
+
+multilib_src_install_all() {
+       find "${ED}" -type f -name "*.la" -delete || die
+}

Reply via email to