dev-libs/libpcre2: fix multiple crash bugs
authorThomas Deutschmann <whissi@gentoo.org>
Thu, 31 Oct 2019 20:00:19 +0000 (21:00 +0100)
committerThomas Deutschmann <whissi@gentoo.org>
Thu, 31 Oct 2019 20:04:02 +0000 (21:04 +0100)
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
dev-libs/libpcre2/Manifest
dev-libs/libpcre2/libpcre2-10.33-r1.ebuild [new file with mode: 0644]

index 0bcad8842a873ccf1cf75a8601246f9d4af6331d..6d618f40b0de1ea519afc7e22feb698a723db3e0 100644 (file)
@@ -1,2 +1,3 @@
+DIST libpcre2-10.33-patchset-1.0.tar.xz 17812 BLAKE2B 7a6e73101ed12676e1acf1beafcb6bc84d99d588a9dc0a957697380d906474f6ac59ab509e6c7ee5a0879b8d6ec9d06a0aceb8b02c7b16f73602d034927dc836 SHA512 4a0e86756cb96e6143df3add6cd6bca4fb9bb8fcb6a4d2df1530847b946b2494132e9842da01d75b385c33555d96e25f1390788b9e41ca320c1d65f31c89b281
 DIST pcre2-10.32.tar.bz2 1641814 BLAKE2B fdd512312547ae90b36b6c9eb86b6fcfea9b03fcfd9766063c901819c6bf7536e1f3da89bd69ae62309069bc07c705e96e81f4a36355bf934c566f343e3104e4 SHA512 3d712e7d6afbaef227952680ded69fadbdec0b1abdfcac17cf071415c3c93edd152d6d268dec80570aedf24f82ba954f74f5f9e62c9b9991be75080a3d6ab5fe
 DIST pcre2-10.33.tar.bz2 1690739 BLAKE2B e59cf47a5068b2ec2d647d6dfe1cb5f8d6cdcc6fc6b47aa65a4c3d5aae256e7f0b090487d372c62aa7ec7f15a1f037650088b53385fc2fe31aa405878855e5d5 SHA512 c6aa52cdbb0c906b02e9a9f255697a1b9b99d9c7dccdaa484ffdb04fe3582d232ba3cb3c421d6df589a387b415dedb0817f58ec5391488b25b4e7bd9da6bab8f
diff --git a/dev-libs/libpcre2/libpcre2-10.33-r1.ebuild b/dev-libs/libpcre2/libpcre2-10.33-r1.ebuild
new file mode 100644 (file)
index 0000000..89e528f
--- /dev/null
@@ -0,0 +1,84 @@
+# Copyright 1999-2019 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="${P}-patchset-1.0.tar.xz"
+
+DESCRIPTION="Perl-compatible regular expression library"
+HOMEPAGE="http://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
+               ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2
+               https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}"
+else
+       SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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 )"
+
+RDEPEND="bzip2? ( app-arch/bzip2 )
+       zlib? ( sys-libs/zlib )
+       libedit? ( dev-libs/libedit )
+       readline? ( sys-libs/readline:0= )"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+       userland_GNU? ( >=sys-apps/findutils-4.4.0 )"
+
+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
+               --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
+               --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}" -name "*.la" -delete || die
+}