* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libpcre/files/, dev-libs/libpcre/
@ 2016-04-02 20:51 Mike Frysinger
0 siblings, 0 replies; 9+ messages in thread
From: Mike Frysinger @ 2016-04-02 20:51 UTC (permalink / raw
To: gentoo-commits
commit: cee01d4f06b3984b8211bd3c27358f7d18cf90fb
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 2 20:49:56 2016 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Sat Apr 2 20:51:12 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cee01d4f
dev-libs/libpcre: add upstream fixes #570694 #575546
.../libpcre/files/libpcre-8.38-CVE-2016-1283.patch | 42 +++++
.../libpcre/files/libpcre-8.38-ZDI-CAN-3542.patch | 172 +++++++++++++++++++++
dev-libs/libpcre/libpcre-8.38-r1.ebuild | 93 +++++++++++
3 files changed, 307 insertions(+)
diff --git a/dev-libs/libpcre/files/libpcre-8.38-CVE-2016-1283.patch b/dev-libs/libpcre/files/libpcre-8.38-CVE-2016-1283.patch
new file mode 100644
index 0000000..77c5046
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-8.38-CVE-2016-1283.patch
@@ -0,0 +1,42 @@
+From b7537308b7c758f33c347cb0bec62754c43c271f Mon Sep 17 00:00:00 2001
+From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
+Date: Sat, 27 Feb 2016 17:38:11 +0000
+Subject: [PATCH] Yet another duplicate name bugfix by overestimating the
+ memory needed (i.e. another hack - PCRE2 has this "properly" fixed).
+
+git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1636 2f5784b3-3f2a-0410-8824-cb99058d5e15
+---
+ ChangeLog | 7 +++++++
+ pcre_compile.c | 7 ++++++-
+ testdata/testinput2 | 2 ++
+ testdata/testoutput2 | 2 ++
+ 4 files changed, 17 insertions(+), 1 deletion(-)
+
+14. And yet another buffer overflow bug involving duplicate named groups, this
+ time nested, with a nested back reference. Yet again, I have just allowed
+ for more memory, because anything more needs all the refactoring that has
+ been done for PCRE2. An example pattern that provoked this bug is:
+ /((?J)(?'R'(?'R'(?'R'(?'R'(?'R'(?|(\k'R'))))))))/ and the bug was
+ registered as CVE-2016-1283.
+
+diff --git a/pcre_compile.c b/pcre_compile.c
+index 5019854..4ffea0c 100644
+--- a/pcre_compile.c
++++ b/pcre_compile.c
+@@ -7311,7 +7311,12 @@ for (;; ptr++)
+ so far in order to get the number. If the name is not found, leave
+ the value of recno as 0 for a forward reference. */
+
+- else
++ /* This patch (removing "else") fixes a problem when a reference is
++ to multiple identically named nested groups from within the nest.
++ Once again, it is not the "proper" fix, and it results in an
++ over-allocation of memory. */
++
++ /* else */
+ {
+ ng = cd->named_groups;
+ for (i = 0; i < cd->names_found; i++, ng++)
+--
+2.7.4
+
diff --git a/dev-libs/libpcre/files/libpcre-8.38-ZDI-CAN-3542.patch b/dev-libs/libpcre/files/libpcre-8.38-ZDI-CAN-3542.patch
new file mode 100644
index 0000000..7ca05f9
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-8.38-ZDI-CAN-3542.patch
@@ -0,0 +1,172 @@
+From 943a5105b9fe2842851003f692c7077a6cdbeefe Mon Sep 17 00:00:00 2001
+From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
+Date: Wed, 10 Feb 2016 19:13:17 +0000
+Subject: [PATCH] Fix workspace overflow for (*ACCEPT) with deeply nested
+ parentheses.
+
+git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1631 2f5784b3-3f2a-0410-8824-cb99058d5e15
+---
+ ChangeLog | 32 ++++++++++++++++++--------------
+ pcre_compile.c | 23 +++++++++++++++++++----
+ pcre_internal.h | 4 ++--
+ pcreposix.c | 5 +++--
+ testdata/testinput11 | 2 ++
+ testdata/testoutput11-16 | 3 +++
+ testdata/testoutput11-32 | 3 +++
+ testdata/testoutput11-8 | 3 +++
+ 8 files changed, 53 insertions(+), 22 deletions(-)
+
+13. A pattern that included (*ACCEPT) in the middle of a sufficiently deeply
+ nested set of parentheses of sufficient size caused an overflow of the
+ compiling workspace (which was diagnosed, but of course is not desirable).
+
+diff --git a/pcre_compile.c b/pcre_compile.c
+index b9a239e..5019854 100644
+--- a/pcre_compile.c
++++ b/pcre_compile.c
+@@ -6,7 +6,7 @@
+ and semantics are as close as possible to those of the Perl 5 language.
+
+ Written by Philip Hazel
+- Copyright (c) 1997-2014 University of Cambridge
++ Copyright (c) 1997-2016 University of Cambridge
+
+ -----------------------------------------------------------------------------
+ Redistribution and use in source and binary forms, with or without
+@@ -560,6 +560,7 @@ static const char error_texts[] =
+ /* 85 */
+ "parentheses are too deeply nested (stack check)\0"
+ "digits missing in \\x{} or \\o{}\0"
++ "regular expression is too complicated\0"
+ ;
+
+ /* Table to identify digits and hex digits. This is used when compiling
+@@ -4591,7 +4592,8 @@ for (;; ptr++)
+ if (code > cd->start_workspace + cd->workspace_size -
+ WORK_SIZE_SAFETY_MARGIN) /* Check for overrun */
+ {
+- *errorcodeptr = ERR52;
++ *errorcodeptr = (code >= cd->start_workspace + cd->workspace_size)?
++ ERR52 : ERR87;
+ goto FAILED;
+ }
+
+@@ -6626,8 +6628,21 @@ for (;; ptr++)
+ cd->had_accept = TRUE;
+ for (oc = cd->open_caps; oc != NULL; oc = oc->next)
+ {
+- *code++ = OP_CLOSE;
+- PUT2INC(code, 0, oc->number);
++ if (lengthptr != NULL)
++ {
++#ifdef COMPILE_PCRE8
++ *lengthptr += 1 + IMM2_SIZE;
++#elif defined COMPILE_PCRE16
++ *lengthptr += 2 + IMM2_SIZE;
++#elif defined COMPILE_PCRE32
++ *lengthptr += 4 + IMM2_SIZE;
++#endif
++ }
++ else
++ {
++ *code++ = OP_CLOSE;
++ PUT2INC(code, 0, oc->number);
++ }
+ }
+ setverb = *code++ =
+ (cd->assert_depth > 0)? OP_ASSERT_ACCEPT : OP_ACCEPT;
+diff --git a/pcre_internal.h b/pcre_internal.h
+index f7a5ee7..dbfe80e 100644
+--- a/pcre_internal.h
++++ b/pcre_internal.h
+@@ -7,7 +7,7 @@
+ and semantics are as close as possible to those of the Perl 5 language.
+
+ Written by Philip Hazel
+- Copyright (c) 1997-2014 University of Cambridge
++ Copyright (c) 1997-2016 University of Cambridge
+
+ -----------------------------------------------------------------------------
+ Redistribution and use in source and binary forms, with or without
+@@ -2289,7 +2289,7 @@ enum { ERR0, ERR1, ERR2, ERR3, ERR4, ERR5, ERR6, ERR7, ERR8, ERR9,
+ ERR50, ERR51, ERR52, ERR53, ERR54, ERR55, ERR56, ERR57, ERR58, ERR59,
+ ERR60, ERR61, ERR62, ERR63, ERR64, ERR65, ERR66, ERR67, ERR68, ERR69,
+ ERR70, ERR71, ERR72, ERR73, ERR74, ERR75, ERR76, ERR77, ERR78, ERR79,
+- ERR80, ERR81, ERR82, ERR83, ERR84, ERR85, ERR86, ERRCOUNT };
++ ERR80, ERR81, ERR82, ERR83, ERR84, ERR85, ERR86, ERR87, ERRCOUNT };
+
+ /* JIT compiling modes. The function list is indexed by them. */
+
+diff --git a/pcreposix.c b/pcreposix.c
+index dcc13ef..55b6ddc 100644
+--- a/pcreposix.c
++++ b/pcreposix.c
+@@ -6,7 +6,7 @@
+ and semantics are as close as possible to those of the Perl 5 language.
+
+ Written by Philip Hazel
+- Copyright (c) 1997-2014 University of Cambridge
++ Copyright (c) 1997-2016 University of Cambridge
+
+ -----------------------------------------------------------------------------
+ Redistribution and use in source and binary forms, with or without
+@@ -173,7 +173,8 @@ static const int eint[] = {
+ REG_BADPAT, /* group name must start with a non-digit */
+ /* 85 */
+ REG_BADPAT, /* parentheses too deeply nested (stack check) */
+- REG_BADPAT /* missing digits in \x{} or \o{} */
++ REG_BADPAT, /* missing digits in \x{} or \o{} */
++ REG_BADPAT /* pattern too complicated */
+ };
+
+ /* Table of texts corresponding to POSIX error codes */
+diff --git a/testdata/testinput11 b/testdata/testinput11
+index ac9d228..6f0989a 100644
+--- a/testdata/testinput11
++++ b/testdata/testinput11
+@@ -138,4 +138,6 @@ is required for these tests. --/
+
+ /.((?2)(?R)\1)()/B
+
++/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
++
+ /-- End of testinput11 --/
+diff --git a/testdata/testoutput11-16 b/testdata/testoutput11-16
+index 280692e..3c485da 100644
+--- a/testdata/testoutput11-16
++++ b/testdata/testoutput11-16
+@@ -765,4 +765,7 @@ Memory allocation (code space): 14
+ 25 End
+ ------------------------------------------------------------------
+
++/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
++Failed: regular expression is too complicated at offset 490
++
+ /-- End of testinput11 --/
+diff --git a/testdata/testoutput11-32 b/testdata/testoutput11-32
+index cdbda74..e19518d 100644
+--- a/testdata/testoutput11-32
++++ b/testdata/testoutput11-32
+@@ -765,4 +765,7 @@ Memory allocation (code space): 28
+ 25 End
+ ------------------------------------------------------------------
+
++/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
++Failed: missing ) at offset 509
++
+ /-- End of testinput11 --/
+diff --git a/testdata/testoutput11-8 b/testdata/testoutput11-8
+index cb37896..5a4fbb2 100644
+--- a/testdata/testoutput11-8
++++ b/testdata/testoutput11-8
+@@ -765,4 +765,7 @@ Memory allocation (code space): 10
+ 38 End
+ ------------------------------------------------------------------
+
++/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
++Failed: missing ) at offset 509
++
+ /-- End of testinput11 --/
+--
+2.7.4
+
diff --git a/dev-libs/libpcre/libpcre-8.38-r1.ebuild b/dev-libs/libpcre/libpcre-8.38-r1.ebuild
new file mode 100644
index 0000000..7fb6a5b
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.38-r1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
+
+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
+ 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
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
+REQUIRED_USE="readline? ( !libedit )
+ libedit? ( !readline )"
+
+RDEPEND="bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${RDEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-ZDI-CAN-3542.patch #575546
+ epatch "${FILESDIR}"/${P}-CVE-2016-1283.patch #570694
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+ elibtoolize
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT) \
+ $(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 zlib pcregrep-libz) \
+ --enable-pcre8 \
+ --enable-shared \
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+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() {
+ prune_libtool_files
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libpcre/files/, dev-libs/libpcre/
@ 2016-06-14 18:39 Lars Wendler
0 siblings, 0 replies; 9+ messages in thread
From: Lars Wendler @ 2016-06-14 18:39 UTC (permalink / raw
To: gentoo-commits
commit: e992bbc5c6cd3d14ae5742cd58e0549b647da18f
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 14 18:38:46 2016 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Tue Jun 14 18:39:03 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e992bbc5
dev-libs/libpcre: Removed old.
Package-Manager: portage-2.2.28
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
dev-libs/libpcre/Manifest | 1 -
.../libpcre/files/libpcre-7.9-pkg-config.patch | 48 -----------------
dev-libs/libpcre/libpcre-7.9-r1.ebuild | 61 ----------------------
3 files changed, 110 deletions(-)
diff --git a/dev-libs/libpcre/Manifest b/dev-libs/libpcre/Manifest
index 77a27a7..acbed3f 100644
--- a/dev-libs/libpcre/Manifest
+++ b/dev-libs/libpcre/Manifest
@@ -1,3 +1,2 @@
-DIST pcre-7.9.tar.bz2 861580 SHA256 40a13a9759f1de5b16bc2f0d47b6aa5f0ec010325646922f54b013c040dcd740 SHA512 b4c47a9b196750d4bead9e3904702fc793d282a22af1b34e24081077b4c167ec787cf7dec9a565fa9df4dafb5927b7accdd49568f5c2f8733842cbbec5d4d25c WHIRLPOOL 412cf0a128861cbb991a0424e9f4ba551093b7853465776e17465f9c2b4222002a8b26d7a234b91a49e055a04ae840ad5d6c1613615c98db3d44413a723a6152
DIST pcre-8.38.tar.bz2 1562265 SHA256 b9e02d36e23024d6c02a2e5b25204b3a4fa6ade43e0a5f869f254f49535079df SHA512 ad3412ceee8f992787a3e7cbe0155ffba67affd4b2dfece6c4501dc8d2012f52dcc1ee1f56759362e04bbbd10ea9370b3e46f238e2f75005cb69f6c8439e52c0 WHIRLPOOL 68533f741a3faa618f4d7341bfa59aaac295ac6af6085772e4c169ad73fae38e98cace2ce2af2899a619bb05dce79859dcd175a158a73729082f7cf52107d1df
DIST pcre-8.39.tar.bz2 1560758 SHA256 b858099f82483031ee02092711689e7245586ada49e534a06e678b8ea9549e8b SHA512 8b0f14ae5947c4b2d74876a795b04e532fd71c2479a64dbe0ed817e7c7894ea3cae533413de8c17322d305cb7f4e275d72b43e4e828eaca77dc4bcaf04529cf6 WHIRLPOOL 00e8e7fb3dc60cbbd2ee185e269696058b568a0f269749386bad44cb474f723c9ed3dfd2af91ddce0b5047aab459864f07e05940af17d3d51d2f1b068415b1ed
diff --git a/dev-libs/libpcre/files/libpcre-7.9-pkg-config.patch b/dev-libs/libpcre/files/libpcre-7.9-pkg-config.patch
deleted file mode 100644
index 3015d78..0000000
--- a/dev-libs/libpcre/files/libpcre-7.9-pkg-config.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -NrU5 pcre-7.9.orig/configure.ac pcre-7.9/configure.ac
---- pcre-7.9.orig/configure.ac 2009-04-11 16:09:54.000000000 +0200
-+++ pcre-7.9/configure.ac 2009-04-18 22:40:50.000000000 +0200
-@@ -598,10 +598,11 @@
-
- # Produce these files, in addition to config.h.
- AC_CONFIG_FILES(
- Makefile
- libpcre.pc
-+ libpcreposix.pc
- libpcrecpp.pc
- pcre-config
- pcre.h
- pcre_stringpiece.h
- pcrecpparg.h
-diff -NrU5 pcre-7.9.orig/libpcreposix.pc.in pcre-7.9/libpcreposix.pc.in
---- pcre-7.9.orig/libpcreposix.pc.in 1970-01-01 01:00:00.000000000 +0100
-+++ pcre-7.9/libpcreposix.pc.in 2009-04-18 22:38:02.000000000 +0200
-@@ -0,0 +1,13 @@
-+# Package Information for pkg-config
-+
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: libpcreposix
-+Description: PCREPosix - Posix compatible regular expressions C library
-+Version: @PACKAGE_VERSION@
-+Libs: -L${libdir} -lpcreposix
-+Cflags: -I${includedir}
-+Requires.private: libpcre
-diff -NrU5 pcre-7.9.orig/Makefile.am pcre-7.9/Makefile.am
---- pcre-7.9.orig/Makefile.am 2009-02-27 17:02:49.000000000 +0100
-+++ pcre-7.9/Makefile.am 2009-04-18 22:40:00.000000000 +0200
-@@ -325,11 +325,11 @@
- $(CC) -shared -o pcre.dll -Wl,"--strip-all" -Wl,"--export-all-symbols" $(DLL_OBJS)
-
-
- # We have .pc files for pkg-config users.
- pkgconfigdir = $(libdir)/pkgconfig
--pkgconfig_DATA = libpcre.pc
-+pkgconfig_DATA = libpcre.pc libpcreposix.pc
- if WITH_PCRE_CPP
- pkgconfig_DATA += libpcrecpp.pc
- endif
-
- dist_man_MANS = \
diff --git a/dev-libs/libpcre/libpcre-7.9-r1.ebuild b/dev-libs/libpcre/libpcre-7.9-r1.ebuild
deleted file mode 100644
index 3d1ff6b..0000000
--- a/dev-libs/libpcre/libpcre-7.9-r1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=2
-
-inherit libtool eutils toolchain-funcs autotools multilib
-
-DESCRIPTION="Perl-compatible regular expression library"
-HOMEPAGE="http://www.pcre.org/"
-if [[ ${PV} == ${PV/_rc} ]]
-then
- MY_P="pcre-${PV}"
- SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
-else
- MY_P="pcre-${PV/_rc/-RC}"
- SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
-fi
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd"
-IUSE="bzip2 +cxx doc unicode zlib static-libs"
-
-RDEPEND="bzip2? ( app-arch/bzip2 )
- zlib? ( sys-libs/zlib )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S=${WORKDIR}/${MY_P}
-
-src_prepare() {
- sed -i -e "s:libdir=@libdir@:libdir=/$(get_libdir):" libpcre.pc.in || die "Fixing libpcre pkgconfig files failed"
- sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die "Fixing libpcrecpp pkgconfig files failed"
- echo "Requires: libpcre = @PACKAGE_VERSION@" >> libpcrecpp.pc.in
- epatch "${FILESDIR}"/libpcre-7.9-pkg-config.patch
- eautoreconf
- elibtoolize
-}
-
-src_configure() {
- econf --with-match-limit-recursion=8192 \
- $(use_enable unicode utf8) $(use_enable unicode unicode-properties) \
- $(use_enable cxx cpp) \
- $(use_enable zlib pcregrep-libz) \
- $(use_enable bzip2 pcregrep-libbz2) \
- $(use_enable static-libs static) \
- --enable-shared \
- --htmldir=/usr/share/doc/${PF}/html \
- --docdir=/usr/share/doc/${PF} \
- || die "econf failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "make install failed"
-
- gen_usr_ldscript -a pcre
-
- dodoc doc/*.txt AUTHORS
- use doc && dohtml doc/html/*
- find "${D}" -type f -name '*.la' -exec rm -rf '{}' '+' || die "la removal failed"
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libpcre/files/, dev-libs/libpcre/
@ 2017-01-17 16:23 Lars Wendler
0 siblings, 0 replies; 9+ messages in thread
From: Lars Wendler @ 2017-01-17 16:23 UTC (permalink / raw
To: gentoo-commits
commit: e2f7f720636e8e1657e9a24bcd83b64858025b72
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 17 16:11:21 2017 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Tue Jan 17 16:23:40 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2f7f720
dev-libs/libpcre: Removed old.
Package-Manager: Portage-2.3.3, Repoman-2.3.1
dev-libs/libpcre/Manifest | 1 -
.../libpcre/files/libpcre-8.38-CVE-2016-1283.patch | 42 -----
.../libpcre/files/libpcre-8.38-ZDI-CAN-3542.patch | 172 ---------------------
dev-libs/libpcre/libpcre-8.38-r1.ebuild | 93 -----------
4 files changed, 308 deletions(-)
diff --git a/dev-libs/libpcre/Manifest b/dev-libs/libpcre/Manifest
index afa833f..ec5ea11 100644
--- a/dev-libs/libpcre/Manifest
+++ b/dev-libs/libpcre/Manifest
@@ -1,3 +1,2 @@
-DIST pcre-8.38.tar.bz2 1562265 SHA256 b9e02d36e23024d6c02a2e5b25204b3a4fa6ade43e0a5f869f254f49535079df SHA512 ad3412ceee8f992787a3e7cbe0155ffba67affd4b2dfece6c4501dc8d2012f52dcc1ee1f56759362e04bbbd10ea9370b3e46f238e2f75005cb69f6c8439e52c0 WHIRLPOOL 68533f741a3faa618f4d7341bfa59aaac295ac6af6085772e4c169ad73fae38e98cace2ce2af2899a619bb05dce79859dcd175a158a73729082f7cf52107d1df
DIST pcre-8.39.tar.bz2 1560758 SHA256 b858099f82483031ee02092711689e7245586ada49e534a06e678b8ea9549e8b SHA512 8b0f14ae5947c4b2d74876a795b04e532fd71c2479a64dbe0ed817e7c7894ea3cae533413de8c17322d305cb7f4e275d72b43e4e828eaca77dc4bcaf04529cf6 WHIRLPOOL 00e8e7fb3dc60cbbd2ee185e269696058b568a0f269749386bad44cb474f723c9ed3dfd2af91ddce0b5047aab459864f07e05940af17d3d51d2f1b068415b1ed
DIST pcre-8.40.tar.bz2 1560119 SHA256 00e27a29ead4267e3de8111fcaa59b132d0533cdfdbdddf4b0604279acbcf4f4 SHA512 b4c27eafbdf33bd7a1384655b1936f4be3bc6745c072347eb26e988896c52664bd85ac42444da1be78b6e20f45b6c7e5921f5f20f5b0741b5bd3d9844e5bd4e2 WHIRLPOOL 6711688972b3db4b98902d548b84e8b03b61c3a12d24a4e42fc49ddc5e2b4be51f98f91873166e550866e88b6cd55092ea27704a3b7e71d58a2af21148ad3340
diff --git a/dev-libs/libpcre/files/libpcre-8.38-CVE-2016-1283.patch b/dev-libs/libpcre/files/libpcre-8.38-CVE-2016-1283.patch
deleted file mode 100644
index 77c5046..00000000
--- a/dev-libs/libpcre/files/libpcre-8.38-CVE-2016-1283.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From b7537308b7c758f33c347cb0bec62754c43c271f Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Sat, 27 Feb 2016 17:38:11 +0000
-Subject: [PATCH] Yet another duplicate name bugfix by overestimating the
- memory needed (i.e. another hack - PCRE2 has this "properly" fixed).
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1636 2f5784b3-3f2a-0410-8824-cb99058d5e15
----
- ChangeLog | 7 +++++++
- pcre_compile.c | 7 ++++++-
- testdata/testinput2 | 2 ++
- testdata/testoutput2 | 2 ++
- 4 files changed, 17 insertions(+), 1 deletion(-)
-
-14. And yet another buffer overflow bug involving duplicate named groups, this
- time nested, with a nested back reference. Yet again, I have just allowed
- for more memory, because anything more needs all the refactoring that has
- been done for PCRE2. An example pattern that provoked this bug is:
- /((?J)(?'R'(?'R'(?'R'(?'R'(?'R'(?|(\k'R'))))))))/ and the bug was
- registered as CVE-2016-1283.
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 5019854..4ffea0c 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -7311,7 +7311,12 @@ for (;; ptr++)
- so far in order to get the number. If the name is not found, leave
- the value of recno as 0 for a forward reference. */
-
-- else
-+ /* This patch (removing "else") fixes a problem when a reference is
-+ to multiple identically named nested groups from within the nest.
-+ Once again, it is not the "proper" fix, and it results in an
-+ over-allocation of memory. */
-+
-+ /* else */
- {
- ng = cd->named_groups;
- for (i = 0; i < cd->names_found; i++, ng++)
---
-2.7.4
-
diff --git a/dev-libs/libpcre/files/libpcre-8.38-ZDI-CAN-3542.patch b/dev-libs/libpcre/files/libpcre-8.38-ZDI-CAN-3542.patch
deleted file mode 100644
index 7ca05f9..00000000
--- a/dev-libs/libpcre/files/libpcre-8.38-ZDI-CAN-3542.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From 943a5105b9fe2842851003f692c7077a6cdbeefe Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Wed, 10 Feb 2016 19:13:17 +0000
-Subject: [PATCH] Fix workspace overflow for (*ACCEPT) with deeply nested
- parentheses.
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1631 2f5784b3-3f2a-0410-8824-cb99058d5e15
----
- ChangeLog | 32 ++++++++++++++++++--------------
- pcre_compile.c | 23 +++++++++++++++++++----
- pcre_internal.h | 4 ++--
- pcreposix.c | 5 +++--
- testdata/testinput11 | 2 ++
- testdata/testoutput11-16 | 3 +++
- testdata/testoutput11-32 | 3 +++
- testdata/testoutput11-8 | 3 +++
- 8 files changed, 53 insertions(+), 22 deletions(-)
-
-13. A pattern that included (*ACCEPT) in the middle of a sufficiently deeply
- nested set of parentheses of sufficient size caused an overflow of the
- compiling workspace (which was diagnosed, but of course is not desirable).
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index b9a239e..5019854 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -6,7 +6,7 @@
- and semantics are as close as possible to those of the Perl 5 language.
-
- Written by Philip Hazel
-- Copyright (c) 1997-2014 University of Cambridge
-+ Copyright (c) 1997-2016 University of Cambridge
-
- -----------------------------------------------------------------------------
- Redistribution and use in source and binary forms, with or without
-@@ -560,6 +560,7 @@ static const char error_texts[] =
- /* 85 */
- "parentheses are too deeply nested (stack check)\0"
- "digits missing in \\x{} or \\o{}\0"
-+ "regular expression is too complicated\0"
- ;
-
- /* Table to identify digits and hex digits. This is used when compiling
-@@ -4591,7 +4592,8 @@ for (;; ptr++)
- if (code > cd->start_workspace + cd->workspace_size -
- WORK_SIZE_SAFETY_MARGIN) /* Check for overrun */
- {
-- *errorcodeptr = ERR52;
-+ *errorcodeptr = (code >= cd->start_workspace + cd->workspace_size)?
-+ ERR52 : ERR87;
- goto FAILED;
- }
-
-@@ -6626,8 +6628,21 @@ for (;; ptr++)
- cd->had_accept = TRUE;
- for (oc = cd->open_caps; oc != NULL; oc = oc->next)
- {
-- *code++ = OP_CLOSE;
-- PUT2INC(code, 0, oc->number);
-+ if (lengthptr != NULL)
-+ {
-+#ifdef COMPILE_PCRE8
-+ *lengthptr += 1 + IMM2_SIZE;
-+#elif defined COMPILE_PCRE16
-+ *lengthptr += 2 + IMM2_SIZE;
-+#elif defined COMPILE_PCRE32
-+ *lengthptr += 4 + IMM2_SIZE;
-+#endif
-+ }
-+ else
-+ {
-+ *code++ = OP_CLOSE;
-+ PUT2INC(code, 0, oc->number);
-+ }
- }
- setverb = *code++ =
- (cd->assert_depth > 0)? OP_ASSERT_ACCEPT : OP_ACCEPT;
-diff --git a/pcre_internal.h b/pcre_internal.h
-index f7a5ee7..dbfe80e 100644
---- a/pcre_internal.h
-+++ b/pcre_internal.h
-@@ -7,7 +7,7 @@
- and semantics are as close as possible to those of the Perl 5 language.
-
- Written by Philip Hazel
-- Copyright (c) 1997-2014 University of Cambridge
-+ Copyright (c) 1997-2016 University of Cambridge
-
- -----------------------------------------------------------------------------
- Redistribution and use in source and binary forms, with or without
-@@ -2289,7 +2289,7 @@ enum { ERR0, ERR1, ERR2, ERR3, ERR4, ERR5, ERR6, ERR7, ERR8, ERR9,
- ERR50, ERR51, ERR52, ERR53, ERR54, ERR55, ERR56, ERR57, ERR58, ERR59,
- ERR60, ERR61, ERR62, ERR63, ERR64, ERR65, ERR66, ERR67, ERR68, ERR69,
- ERR70, ERR71, ERR72, ERR73, ERR74, ERR75, ERR76, ERR77, ERR78, ERR79,
-- ERR80, ERR81, ERR82, ERR83, ERR84, ERR85, ERR86, ERRCOUNT };
-+ ERR80, ERR81, ERR82, ERR83, ERR84, ERR85, ERR86, ERR87, ERRCOUNT };
-
- /* JIT compiling modes. The function list is indexed by them. */
-
-diff --git a/pcreposix.c b/pcreposix.c
-index dcc13ef..55b6ddc 100644
---- a/pcreposix.c
-+++ b/pcreposix.c
-@@ -6,7 +6,7 @@
- and semantics are as close as possible to those of the Perl 5 language.
-
- Written by Philip Hazel
-- Copyright (c) 1997-2014 University of Cambridge
-+ Copyright (c) 1997-2016 University of Cambridge
-
- -----------------------------------------------------------------------------
- Redistribution and use in source and binary forms, with or without
-@@ -173,7 +173,8 @@ static const int eint[] = {
- REG_BADPAT, /* group name must start with a non-digit */
- /* 85 */
- REG_BADPAT, /* parentheses too deeply nested (stack check) */
-- REG_BADPAT /* missing digits in \x{} or \o{} */
-+ REG_BADPAT, /* missing digits in \x{} or \o{} */
-+ REG_BADPAT /* pattern too complicated */
- };
-
- /* Table of texts corresponding to POSIX error codes */
-diff --git a/testdata/testinput11 b/testdata/testinput11
-index ac9d228..6f0989a 100644
---- a/testdata/testinput11
-+++ b/testdata/testinput11
-@@ -138,4 +138,6 @@ is required for these tests. --/
-
- /.((?2)(?R)\1)()/B
-
-+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
-+
- /-- End of testinput11 --/
-diff --git a/testdata/testoutput11-16 b/testdata/testoutput11-16
-index 280692e..3c485da 100644
---- a/testdata/testoutput11-16
-+++ b/testdata/testoutput11-16
-@@ -765,4 +765,7 @@ Memory allocation (code space): 14
- 25 End
- ------------------------------------------------------------------
-
-+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
-+Failed: regular expression is too complicated at offset 490
-+
- /-- End of testinput11 --/
-diff --git a/testdata/testoutput11-32 b/testdata/testoutput11-32
-index cdbda74..e19518d 100644
---- a/testdata/testoutput11-32
-+++ b/testdata/testoutput11-32
-@@ -765,4 +765,7 @@ Memory allocation (code space): 28
- 25 End
- ------------------------------------------------------------------
-
-+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
-+Failed: missing ) at offset 509
-+
- /-- End of testinput11 --/
-diff --git a/testdata/testoutput11-8 b/testdata/testoutput11-8
-index cb37896..5a4fbb2 100644
---- a/testdata/testoutput11-8
-+++ b/testdata/testoutput11-8
-@@ -765,4 +765,7 @@ Memory allocation (code space): 10
- 38 End
- ------------------------------------------------------------------
-
-+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
-+Failed: missing ) at offset 509
-+
- /-- End of testinput11 --/
---
-2.7.4
-
diff --git a/dev-libs/libpcre/libpcre-8.38-r1.ebuild b/dev-libs/libpcre/libpcre-8.38-r1.ebuild
deleted file mode 100644
index 6f19c7b..00000000
--- a/dev-libs/libpcre/libpcre-8.38-r1.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-
-inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
-
-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
- 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
-
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
-REQUIRED_USE="readline? ( !libedit )
- libedit? ( !readline )"
-
-RDEPEND="bzip2? ( app-arch/bzip2 )
- zlib? ( sys-libs/zlib )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:0= )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-RDEPEND="${RDEPEND}
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )"
-
-S=${WORKDIR}/${MY_P}
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre-config
-)
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-ZDI-CAN-3542.patch #575546
- epatch "${FILESDIR}"/${P}-CVE-2016-1283.patch #570694
- sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
- elibtoolize
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT) \
- $(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 zlib pcregrep-libz) \
- --enable-pcre8 \
- --enable-shared \
- --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- --docdir="${EPREFIX}"/usr/share/doc/${PF}
-}
-
-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() {
- prune_libtool_files
-}
-
-pkg_preinst() {
- preserve_old_lib /$(get_libdir)/libpcre.so.0
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libpcre/files/, dev-libs/libpcre/
@ 2017-03-20 7:48 Mike Frysinger
0 siblings, 0 replies; 9+ messages in thread
From: Mike Frysinger @ 2017-03-20 7:48 UTC (permalink / raw
To: gentoo-commits
commit: ef1e0f46ae56483d3b5695108e684a887bab4d33
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 20 07:44:52 2017 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Mon Mar 20 07:48:01 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef1e0f46
dev-libs/libpcre: add upstream fixes for pcregrep & jit compiler #609592
dev-libs/libpcre/files/libpcre-8.40-jit-else.patch | 68 +++++++++++++++
.../files/libpcre-8.40-pcregrep-multiline-1.patch | 69 ++++++++++++++++
.../files/libpcre-8.40-pcregrep-multiline-2.patch | 25 ++++++
dev-libs/libpcre/libpcre-8.40-r1.ebuild | 96 ++++++++++++++++++++++
4 files changed, 258 insertions(+)
diff --git a/dev-libs/libpcre/files/libpcre-8.40-jit-else.patch b/dev-libs/libpcre/files/libpcre-8.40-jit-else.patch
new file mode 100644
index 00000000000..d347a7f5e1e
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-8.40-jit-else.patch
@@ -0,0 +1,68 @@
+https://bugs.gentoo.org/609592
+https://bugs.exim.org/show_bug.cgi?id=2035
+
+From 7ddfbe9d0b9f43402f8043e940172a318cc407c6 Mon Sep 17 00:00:00 2001
+From: Zoltan Herczeg <hzmester@freemail.hu>
+Date: Tue, 14 Feb 2017 08:48:18 +0000
+Subject: [PATCH] Fix a missing else in the JIT compiler reported by
+ 'idaifish'.
+
+git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1680 2f5784b3-3f2a-0410-8824-cb99058d5e15
+---
+ ChangeLog | 2 ++
+ pcre_jit_compile.c | 2 +-
+ testdata/testinput12 | 2 ++
+ testdata/testoutput12 | 2 ++
+ 4 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index 373ee8422ef5..d813935539bd 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -15,6 +15,8 @@ mode with --only-matching matched several lines, it restarted scanning at the
+ next line instead of moving on to the end of the matched string, which can be
+ several lines after the start.
+
++3. Fix a missing else in the JIT compiler reported by 'idaifish'.
++
+
+ Version 8.40 11-January-2017
+ ----------------------------
+diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c
+index c301f05d5e3f..6ef8e48ff5e8 100644
+--- a/pcre_jit_compile.c
++++ b/pcre_jit_compile.c
+@@ -8110,7 +8110,7 @@ if (opcode == OP_COND || opcode == OP_SCOND)
+
+ if (*matchingpath == OP_FAIL)
+ stacksize = 0;
+- if (*matchingpath == OP_RREF)
++ else if (*matchingpath == OP_RREF)
+ {
+ stacksize = GET2(matchingpath, 1);
+ if (common->currententry == NULL)
+diff --git a/testdata/testinput12 b/testdata/testinput12
+index 944be6943f5e..89ed4564bcd4 100644
+--- a/testdata/testinput12
++++ b/testdata/testinput12
+@@ -104,4 +104,6 @@ and a couple of things that are different with JIT. --/
+ /(.|.)*?bx/
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax
+
++/((?(?!))x)(?'name')(?1)/S++
++
+ /-- End of testinput12 --/
+diff --git a/testdata/testoutput12 b/testdata/testoutput12
+index 87911086f498..7632c4e58013 100644
+--- a/testdata/testoutput12
++++ b/testdata/testoutput12
+@@ -201,4 +201,6 @@ No match, mark = m (JIT)
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax
+ Error -8 (match limit exceeded)
+
++/((?(?!))x)(?'name')(?1)/S++
++
+ /-- End of testinput12 --/
+--
+2.12.0
+
diff --git a/dev-libs/libpcre/files/libpcre-8.40-pcregrep-multiline-1.patch b/dev-libs/libpcre/files/libpcre-8.40-pcregrep-multiline-1.patch
new file mode 100644
index 00000000000..f15968dfe98
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-8.40-pcregrep-multiline-1.patch
@@ -0,0 +1,69 @@
+From 5be027b624bc866702808abadfe5f99360414086 Mon Sep 17 00:00:00 2001
+From: Philip Hazel <ph10@cam.ac.uk>
+Date: Fri, 10 Feb 2017 17:47:34 +0000
+Subject: [PATCH] Correct fix for pcre2grep multiline with --only-matching.
+
+git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1678 2f5784b3-3f2a-0410-8824-cb99058d5e15
+---
+ ChangeLog | 5 +++++
+ configure.ac | 6 +++---
+ pcregrep.c | 20 +++++++++++++++-----
+ 3 files changed, 23 insertions(+), 8 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index ab4e053e601e..373ee8422ef5 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -10,6 +10,11 @@ Version 8.41
+ 1. Fixed typo in CMakeLists.txt (wrong number of arguments for
+ PCRE_STATIC_RUNTIME (affects MSVC only).
+
++2. Issue 1 for 8.40 below was not correctly fixed. If pcregrep in multiline
++mode with --only-matching matched several lines, it restarted scanning at the
++next line instead of moving on to the end of the matched string, which can be
++several lines after the start.
++
+
+ Version 8.40 11-January-2017
+ ----------------------------
+diff --git a/pcregrep.c b/pcregrep.c
+index fd2a67622baa..2070c057e4a0 100644
+--- a/pcregrep.c
++++ b/pcregrep.c
+@@ -1804,11 +1804,6 @@ while (ptr < endptr)
+ if (line_buffered) fflush(stdout);
+ rc = 0; /* Had some success */
+
+- /* If the current match ended past the end of the line (only possible
+- in multiline mode), we are done with this line. */
+-
+- if ((unsigned int)offsets[1] > linelength) goto END_ONE_MATCH;
+-
+ startoffset = offsets[1]; /* Restart after the match */
+ if (startoffset <= oldstartoffset)
+ {
+@@ -1818,6 +1813,21 @@ while (ptr < endptr)
+ if (utf8)
+ while ((matchptr[startoffset] & 0xc0) == 0x80) startoffset++;
+ }
++
++ /* If the current match ended past the end of the line (only possible
++ in multiline mode), we must move on to the line in which it did end
++ before searching for more matches. */
++
++ while (startoffset > (int)linelength)
++ {
++ matchptr = ptr += linelength + endlinelength;
++ filepos += (int)(linelength + endlinelength);
++ linenumber++;
++ startoffset -= (int)(linelength + endlinelength);
++ t = end_of_line(ptr, endptr, &endlinelength);
++ linelength = t - ptr - endlinelength;
++ }
++
+ goto ONLY_MATCHING_RESTART;
+ }
+ }
+--
+2.12.0
+
diff --git a/dev-libs/libpcre/files/libpcre-8.40-pcregrep-multiline-2.patch b/dev-libs/libpcre/files/libpcre-8.40-pcregrep-multiline-2.patch
new file mode 100644
index 00000000000..63ad51cd104
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-8.40-pcregrep-multiline-2.patch
@@ -0,0 +1,25 @@
+From 8b0fdf16e57ce9a653a0a03c39f6cc061e8122e8 Mon Sep 17 00:00:00 2001
+From: Philip Hazel <ph10@cam.ac.uk>
+Date: Sun, 12 Feb 2017 13:28:11 +0000
+Subject: [PATCH] Fix bug in most recent fix for multiline pcre2grep.
+
+git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1679 2f5784b3-3f2a-0410-8824-cb99058d5e15
+---
+ pcregrep.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/pcregrep.c b/pcregrep.c
+index 2070c057e4a0..3cd70eeb4261 100644
+--- a/pcregrep.c
++++ b/pcregrep.c
+@@ -1826,6 +1826,7 @@ while (ptr < endptr)
+ startoffset -= (int)(linelength + endlinelength);
+ t = end_of_line(ptr, endptr, &endlinelength);
+ linelength = t - ptr - endlinelength;
++ length = (size_t)(endptr - ptr);
+ }
+
+ goto ONLY_MATCHING_RESTART;
+--
+2.12.0
+
diff --git a/dev-libs/libpcre/libpcre-8.40-r1.ebuild b/dev-libs/libpcre/libpcre-8.40-r1.ebuild
new file mode 100644
index 00000000000..bf1be7c573f
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.40-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
+
+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
+ 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
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
+REQUIRED_USE="readline? ( !libedit )
+ libedit? ( !readline )"
+
+RDEPEND="bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${RDEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+ )"
+
+S=${WORKDIR}/${MY_P}
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-pcregrep-multiline-{1,2}.patch
+ "${FILESDIR}"/${P}-jit-else.patch #609592
+)
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+ elibtoolize
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT) \
+ $(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 zlib pcregrep-libz) \
+ --enable-pcre8 \
+ --enable-shared \
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+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() {
+ prune_libtool_files
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libpcre/files/, dev-libs/libpcre/
@ 2018-03-21 7:05 Lars Wendler
0 siblings, 0 replies; 9+ messages in thread
From: Lars Wendler @ 2018-03-21 7:05 UTC (permalink / raw
To: gentoo-commits
commit: 18db8a135756f3d263a97169430aceb21410177c
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 21 07:00:56 2018 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Mar 21 07:05:44 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18db8a13
dev-libs/libpcre: Removed old.
Package-Manager: Portage-2.3.24, Repoman-2.3.6
dev-libs/libpcre/Manifest | 1 -
dev-libs/libpcre/files/libpcre-8.40-jit-else.patch | 68 --------------
.../files/libpcre-8.40-pcregrep-multiline-1.patch | 69 --------------
.../files/libpcre-8.40-pcregrep-multiline-2.patch | 25 -----
dev-libs/libpcre/libpcre-8.40-r1.ebuild | 96 -------------------
dev-libs/libpcre/libpcre-8.41.ebuild | 103 ---------------------
6 files changed, 362 deletions(-)
diff --git a/dev-libs/libpcre/Manifest b/dev-libs/libpcre/Manifest
index 9c138703d64..f67a4002d14 100644
--- a/dev-libs/libpcre/Manifest
+++ b/dev-libs/libpcre/Manifest
@@ -1,3 +1,2 @@
-DIST pcre-8.40.tar.bz2 1560119 BLAKE2B 121d2c9f8c403a663fe27a68030faf09a06dec5e6a25ae8d62e06887850e219e87c71a14f6ded084fa25b719067acb71c89c66c81f6f09f55dcc51feaf41e737 SHA512 b4c27eafbdf33bd7a1384655b1936f4be3bc6745c072347eb26e988896c52664bd85ac42444da1be78b6e20f45b6c7e5921f5f20f5b0741b5bd3d9844e5bd4e2
DIST pcre-8.41.tar.bz2 1561874 BLAKE2B 2a97a859237994137190da00c30ba7c15e8631b82b7f200858cf722f1fdd0405d36c24bb716eb099d8107f2f829a85fd7d3497f36cdac51769636989331e7a79 SHA512 cc9cdbeb98c010fe4f093a019bebfb91965dae4c6a48f8e49c38ec8df7d9da7f0d32c12fc58f22c51f1c2f010e72b65bcbf8bbf180060e93edf464fa9a7c3551
DIST pcre-8.42.tar.bz2 1570171 BLAKE2B f68bac3cf8ff5a81ccba31fd4d8926e05143a25a756e7daba9793467cec9cd8a4766f394f958ffca088b472463a43a31ea77014f2d4505082c1f366a18f30c7a SHA512 b47b923108f6ee0c31409b79d0888314271b482a22590e164d02f21d2112fba22dd0342c24f9ba0f5fcc5b8c65550bad08c476e30a2fc79b34ecf4601ed82f3d
diff --git a/dev-libs/libpcre/files/libpcre-8.40-jit-else.patch b/dev-libs/libpcre/files/libpcre-8.40-jit-else.patch
deleted file mode 100644
index d347a7f5e1e..00000000000
--- a/dev-libs/libpcre/files/libpcre-8.40-jit-else.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-https://bugs.gentoo.org/609592
-https://bugs.exim.org/show_bug.cgi?id=2035
-
-From 7ddfbe9d0b9f43402f8043e940172a318cc407c6 Mon Sep 17 00:00:00 2001
-From: Zoltan Herczeg <hzmester@freemail.hu>
-Date: Tue, 14 Feb 2017 08:48:18 +0000
-Subject: [PATCH] Fix a missing else in the JIT compiler reported by
- 'idaifish'.
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1680 2f5784b3-3f2a-0410-8824-cb99058d5e15
----
- ChangeLog | 2 ++
- pcre_jit_compile.c | 2 +-
- testdata/testinput12 | 2 ++
- testdata/testoutput12 | 2 ++
- 4 files changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 373ee8422ef5..d813935539bd 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -15,6 +15,8 @@ mode with --only-matching matched several lines, it restarted scanning at the
- next line instead of moving on to the end of the matched string, which can be
- several lines after the start.
-
-+3. Fix a missing else in the JIT compiler reported by 'idaifish'.
-+
-
- Version 8.40 11-January-2017
- ----------------------------
-diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c
-index c301f05d5e3f..6ef8e48ff5e8 100644
---- a/pcre_jit_compile.c
-+++ b/pcre_jit_compile.c
-@@ -8110,7 +8110,7 @@ if (opcode == OP_COND || opcode == OP_SCOND)
-
- if (*matchingpath == OP_FAIL)
- stacksize = 0;
-- if (*matchingpath == OP_RREF)
-+ else if (*matchingpath == OP_RREF)
- {
- stacksize = GET2(matchingpath, 1);
- if (common->currententry == NULL)
-diff --git a/testdata/testinput12 b/testdata/testinput12
-index 944be6943f5e..89ed4564bcd4 100644
---- a/testdata/testinput12
-+++ b/testdata/testinput12
-@@ -104,4 +104,6 @@ and a couple of things that are different with JIT. --/
- /(.|.)*?bx/
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax
-
-+/((?(?!))x)(?'name')(?1)/S++
-+
- /-- End of testinput12 --/
-diff --git a/testdata/testoutput12 b/testdata/testoutput12
-index 87911086f498..7632c4e58013 100644
---- a/testdata/testoutput12
-+++ b/testdata/testoutput12
-@@ -201,4 +201,6 @@ No match, mark = m (JIT)
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabax
- Error -8 (match limit exceeded)
-
-+/((?(?!))x)(?'name')(?1)/S++
-+
- /-- End of testinput12 --/
---
-2.12.0
-
diff --git a/dev-libs/libpcre/files/libpcre-8.40-pcregrep-multiline-1.patch b/dev-libs/libpcre/files/libpcre-8.40-pcregrep-multiline-1.patch
deleted file mode 100644
index f15968dfe98..00000000000
--- a/dev-libs/libpcre/files/libpcre-8.40-pcregrep-multiline-1.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 5be027b624bc866702808abadfe5f99360414086 Mon Sep 17 00:00:00 2001
-From: Philip Hazel <ph10@cam.ac.uk>
-Date: Fri, 10 Feb 2017 17:47:34 +0000
-Subject: [PATCH] Correct fix for pcre2grep multiline with --only-matching.
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1678 2f5784b3-3f2a-0410-8824-cb99058d5e15
----
- ChangeLog | 5 +++++
- configure.ac | 6 +++---
- pcregrep.c | 20 +++++++++++++++-----
- 3 files changed, 23 insertions(+), 8 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index ab4e053e601e..373ee8422ef5 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -10,6 +10,11 @@ Version 8.41
- 1. Fixed typo in CMakeLists.txt (wrong number of arguments for
- PCRE_STATIC_RUNTIME (affects MSVC only).
-
-+2. Issue 1 for 8.40 below was not correctly fixed. If pcregrep in multiline
-+mode with --only-matching matched several lines, it restarted scanning at the
-+next line instead of moving on to the end of the matched string, which can be
-+several lines after the start.
-+
-
- Version 8.40 11-January-2017
- ----------------------------
-diff --git a/pcregrep.c b/pcregrep.c
-index fd2a67622baa..2070c057e4a0 100644
---- a/pcregrep.c
-+++ b/pcregrep.c
-@@ -1804,11 +1804,6 @@ while (ptr < endptr)
- if (line_buffered) fflush(stdout);
- rc = 0; /* Had some success */
-
-- /* If the current match ended past the end of the line (only possible
-- in multiline mode), we are done with this line. */
--
-- if ((unsigned int)offsets[1] > linelength) goto END_ONE_MATCH;
--
- startoffset = offsets[1]; /* Restart after the match */
- if (startoffset <= oldstartoffset)
- {
-@@ -1818,6 +1813,21 @@ while (ptr < endptr)
- if (utf8)
- while ((matchptr[startoffset] & 0xc0) == 0x80) startoffset++;
- }
-+
-+ /* If the current match ended past the end of the line (only possible
-+ in multiline mode), we must move on to the line in which it did end
-+ before searching for more matches. */
-+
-+ while (startoffset > (int)linelength)
-+ {
-+ matchptr = ptr += linelength + endlinelength;
-+ filepos += (int)(linelength + endlinelength);
-+ linenumber++;
-+ startoffset -= (int)(linelength + endlinelength);
-+ t = end_of_line(ptr, endptr, &endlinelength);
-+ linelength = t - ptr - endlinelength;
-+ }
-+
- goto ONLY_MATCHING_RESTART;
- }
- }
---
-2.12.0
-
diff --git a/dev-libs/libpcre/files/libpcre-8.40-pcregrep-multiline-2.patch b/dev-libs/libpcre/files/libpcre-8.40-pcregrep-multiline-2.patch
deleted file mode 100644
index 63ad51cd104..00000000000
--- a/dev-libs/libpcre/files/libpcre-8.40-pcregrep-multiline-2.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 8b0fdf16e57ce9a653a0a03c39f6cc061e8122e8 Mon Sep 17 00:00:00 2001
-From: Philip Hazel <ph10@cam.ac.uk>
-Date: Sun, 12 Feb 2017 13:28:11 +0000
-Subject: [PATCH] Fix bug in most recent fix for multiline pcre2grep.
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1679 2f5784b3-3f2a-0410-8824-cb99058d5e15
----
- pcregrep.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/pcregrep.c b/pcregrep.c
-index 2070c057e4a0..3cd70eeb4261 100644
---- a/pcregrep.c
-+++ b/pcregrep.c
-@@ -1826,6 +1826,7 @@ while (ptr < endptr)
- startoffset -= (int)(linelength + endlinelength);
- t = end_of_line(ptr, endptr, &endlinelength);
- linelength = t - ptr - endlinelength;
-+ length = (size_t)(endptr - ptr);
- }
-
- goto ONLY_MATCHING_RESTART;
---
-2.12.0
-
diff --git a/dev-libs/libpcre/libpcre-8.40-r1.ebuild b/dev-libs/libpcre/libpcre-8.40-r1.ebuild
deleted file mode 100644
index 0f6e7c38bcb..00000000000
--- a/dev-libs/libpcre/libpcre-8.40-r1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
-
-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
- 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
-
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
-REQUIRED_USE="readline? ( !libedit )
- libedit? ( !readline )"
-
-RDEPEND="bzip2? ( app-arch/bzip2 )
- zlib? ( sys-libs/zlib )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:0= )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-RDEPEND="${RDEPEND}
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )"
-
-S=${WORKDIR}/${MY_P}
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${P}-pcregrep-multiline-{1,2}.patch
- "${FILESDIR}"/${P}-jit-else.patch #609592
-)
-
-src_prepare() {
- epatch "${PATCHES[@]}"
- sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
- elibtoolize
-}
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf \
- --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT) \
- $(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 zlib pcregrep-libz) \
- --enable-pcre8 \
- --enable-shared \
- --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
- --docdir="${EPREFIX}"/usr/share/doc/${PF}
-}
-
-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() {
- prune_libtool_files
-}
-
-pkg_preinst() {
- preserve_old_lib /$(get_libdir)/libpcre.so.0
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
-}
diff --git a/dev-libs/libpcre/libpcre-8.41.ebuild b/dev-libs/libpcre/libpcre-8.41.ebuild
deleted file mode 100644
index e167ae0e6ea..00000000000
--- a/dev-libs/libpcre/libpcre-8.41.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
-
-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
- 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
-
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
-REQUIRED_USE="readline? ( !libedit )
- libedit? ( !readline )"
-
-RDEPEND="
- bzip2? ( app-arch/bzip2 )
- zlib? ( sys-libs/zlib )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:0= )
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-RDEPEND="
- ${RDEPEND}
- abi_x86_32? (
- !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
- !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
- )
-"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.41-sljit_mips-label-statement-fix.patch
-)
-
-src_prepare() {
- epatch "${PATCHES[@]}"
- sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
- elibtoolize
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT)
- $(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 zlib pcregrep-libz)
- --enable-pcre8
- --enable-shared
- --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
- --docdir="${EPREFIX}"/usr/share/doc/${PF}
- )
- 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() {
- prune_libtool_files
-}
-
-pkg_preinst() {
- preserve_old_lib /$(get_libdir)/libpcre.so.0
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libpcre/files/, dev-libs/libpcre/
@ 2019-04-10 5:06 Lars Wendler
0 siblings, 0 replies; 9+ messages in thread
From: Lars Wendler @ 2019-04-10 5:06 UTC (permalink / raw
To: gentoo-commits
commit: 738937f1dd8819af159f52452fcd6fd93468f7da
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 10 05:05:33 2019 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Apr 10 05:06:48 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=738937f1
dev-libs/libpcre: Removed old
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
dev-libs/libpcre/Manifest | 1 -
...bpcre-8.41-sljit_mips-label-statement-fix.patch | 15 ----
dev-libs/libpcre/libpcre-8.41-r1.ebuild | 100 ---------------------
3 files changed, 116 deletions(-)
diff --git a/dev-libs/libpcre/Manifest b/dev-libs/libpcre/Manifest
index 78c057db7ae..79a8a6acc0b 100644
--- a/dev-libs/libpcre/Manifest
+++ b/dev-libs/libpcre/Manifest
@@ -1,3 +1,2 @@
-DIST pcre-8.41.tar.bz2 1561874 BLAKE2B 2a97a859237994137190da00c30ba7c15e8631b82b7f200858cf722f1fdd0405d36c24bb716eb099d8107f2f829a85fd7d3497f36cdac51769636989331e7a79 SHA512 cc9cdbeb98c010fe4f093a019bebfb91965dae4c6a48f8e49c38ec8df7d9da7f0d32c12fc58f22c51f1c2f010e72b65bcbf8bbf180060e93edf464fa9a7c3551
DIST pcre-8.42.tar.bz2 1570171 BLAKE2B f68bac3cf8ff5a81ccba31fd4d8926e05143a25a756e7daba9793467cec9cd8a4766f394f958ffca088b472463a43a31ea77014f2d4505082c1f366a18f30c7a SHA512 b47b923108f6ee0c31409b79d0888314271b482a22590e164d02f21d2112fba22dd0342c24f9ba0f5fcc5b8c65550bad08c476e30a2fc79b34ecf4601ed82f3d
DIST pcre-8.43.tar.bz2 1576584 BLAKE2B 12c2117fc5d242ada44884df279f7f8b4c680fa1623ddc131c0adca1740ec47614ac6af20fc60b0c516d9d7b66488ba8a4e5efa5fc8a0a70aacb02bb3d38ee53 SHA512 3b4ac2c7ccd77c9575d07a33c3456f40b50731029e62d01fb8f2f5871d7118e12bc9e6bc7a8079769c765e38da5ecf98c4b261b10ff0a2f14f0881b434f67af7
diff --git a/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch b/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch
deleted file mode 100644
index 0494ccc25eb..00000000000
--- a/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naurp pcre-8.41.orig/sljit/sljitNativeMIPS_common.c pcre-8.41/sljit/sljitNativeMIPS_common.c
---- pcre-8.41.orig/sljit/sljitNativeMIPS_common.c 2017-05-07 11:32:25.000000000 -0400
-+++ pcre-8.41/sljit/sljitNativeMIPS_common.c 2017-07-29 17:50:24.508909742 -0400
-@@ -503,9 +503,11 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit
- #ifdef SLJIT_IS_FPU_AVAILABLE
- return SLJIT_IS_FPU_AVAILABLE;
- #elif defined(__GNUC__)
-+ {
- sljit_sw fir;
- asm ("cfc1 %0, $0" : "=r"(fir));
- return (fir >> 22) & 0x1;
-+ }
- #else
- #error "FIR check is not implemented for this architecture"
- #endif
diff --git a/dev-libs/libpcre/libpcre-8.41-r1.ebuild b/dev-libs/libpcre/libpcre-8.41-r1.ebuild
deleted file mode 100644
index d6f935a21d8..00000000000
--- a/dev-libs/libpcre/libpcre-8.41-r1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
-
-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
- 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
-
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
-REQUIRED_USE="readline? ( !libedit )
- libedit? ( !readline )"
-
-RDEPEND="
- bzip2? ( app-arch/bzip2 )
- zlib? ( sys-libs/zlib )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:0= )
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-RDEPEND="
- ${RDEPEND}
-"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.41-sljit_mips-label-statement-fix.patch
- "${FILESDIR}"/${PN}-8.41-fix-stack-size-detection.patch
-)
-
-src_prepare() {
- epatch "${PATCHES[@]}"
- sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
- elibtoolize
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT)
- $(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 zlib pcregrep-libz)
- --enable-pcre8
- --enable-shared
- --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
- --docdir="${EPREFIX}"/usr/share/doc/${PF}
- )
- 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() {
- prune_libtool_files
-}
-
-pkg_preinst() {
- preserve_old_lib /$(get_libdir)/libpcre.so.0
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libpcre/files/, dev-libs/libpcre/
@ 2019-04-10 6:19 Lars Wendler
0 siblings, 0 replies; 9+ messages in thread
From: Lars Wendler @ 2019-04-10 6:19 UTC (permalink / raw
To: gentoo-commits
commit: 378165b144d4c9d0fe540d82ed064ca46b045dab
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 10 06:17:00 2019 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Apr 10 06:18:31 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=378165b1
Revert "dev-libs/libpcre: Removed old"
This reverts commit 738937f1dd8819af159f52452fcd6fd93468f7da.
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
dev-libs/libpcre/Manifest | 1 +
...bpcre-8.41-sljit_mips-label-statement-fix.patch | 15 ++++
dev-libs/libpcre/libpcre-8.41-r1.ebuild | 100 +++++++++++++++++++++
3 files changed, 116 insertions(+)
diff --git a/dev-libs/libpcre/Manifest b/dev-libs/libpcre/Manifest
index 79a8a6acc0b..78c057db7ae 100644
--- a/dev-libs/libpcre/Manifest
+++ b/dev-libs/libpcre/Manifest
@@ -1,2 +1,3 @@
+DIST pcre-8.41.tar.bz2 1561874 BLAKE2B 2a97a859237994137190da00c30ba7c15e8631b82b7f200858cf722f1fdd0405d36c24bb716eb099d8107f2f829a85fd7d3497f36cdac51769636989331e7a79 SHA512 cc9cdbeb98c010fe4f093a019bebfb91965dae4c6a48f8e49c38ec8df7d9da7f0d32c12fc58f22c51f1c2f010e72b65bcbf8bbf180060e93edf464fa9a7c3551
DIST pcre-8.42.tar.bz2 1570171 BLAKE2B f68bac3cf8ff5a81ccba31fd4d8926e05143a25a756e7daba9793467cec9cd8a4766f394f958ffca088b472463a43a31ea77014f2d4505082c1f366a18f30c7a SHA512 b47b923108f6ee0c31409b79d0888314271b482a22590e164d02f21d2112fba22dd0342c24f9ba0f5fcc5b8c65550bad08c476e30a2fc79b34ecf4601ed82f3d
DIST pcre-8.43.tar.bz2 1576584 BLAKE2B 12c2117fc5d242ada44884df279f7f8b4c680fa1623ddc131c0adca1740ec47614ac6af20fc60b0c516d9d7b66488ba8a4e5efa5fc8a0a70aacb02bb3d38ee53 SHA512 3b4ac2c7ccd77c9575d07a33c3456f40b50731029e62d01fb8f2f5871d7118e12bc9e6bc7a8079769c765e38da5ecf98c4b261b10ff0a2f14f0881b434f67af7
diff --git a/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch b/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch
new file mode 100644
index 00000000000..0494ccc25eb
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch
@@ -0,0 +1,15 @@
+diff -Naurp pcre-8.41.orig/sljit/sljitNativeMIPS_common.c pcre-8.41/sljit/sljitNativeMIPS_common.c
+--- pcre-8.41.orig/sljit/sljitNativeMIPS_common.c 2017-05-07 11:32:25.000000000 -0400
++++ pcre-8.41/sljit/sljitNativeMIPS_common.c 2017-07-29 17:50:24.508909742 -0400
+@@ -503,9 +503,11 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit
+ #ifdef SLJIT_IS_FPU_AVAILABLE
+ return SLJIT_IS_FPU_AVAILABLE;
+ #elif defined(__GNUC__)
++ {
+ sljit_sw fir;
+ asm ("cfc1 %0, $0" : "=r"(fir));
+ return (fir >> 22) & 0x1;
++ }
+ #else
+ #error "FIR check is not implemented for this architecture"
+ #endif
diff --git a/dev-libs/libpcre/libpcre-8.41-r1.ebuild b/dev-libs/libpcre/libpcre-8.41-r1.ebuild
new file mode 100644
index 00000000000..d6f935a21d8
--- /dev/null
+++ b/dev-libs/libpcre/libpcre-8.41-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
+
+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
+ 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
+
+LICENSE="BSD"
+SLOT="3"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
+REQUIRED_USE="readline? ( !libedit )
+ libedit? ( !readline )"
+
+RDEPEND="
+ bzip2? ( app-arch/bzip2 )
+ zlib? ( sys-libs/zlib )
+ libedit? ( dev-libs/libedit )
+ readline? ( sys-libs/readline:0= )
+"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+RDEPEND="
+ ${RDEPEND}
+"
+
+S="${WORKDIR}/${MY_P}"
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/pcre-config
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.41-sljit_mips-label-statement-fix.patch
+ "${FILESDIR}"/${PN}-8.41-fix-stack-size-detection.patch
+)
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+ elibtoolize
+}
+
+multilib_src_configure() {
+ local myeconfargs=(
+ --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT)
+ $(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 zlib pcregrep-libz)
+ --enable-pcre8
+ --enable-shared
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+ )
+ 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() {
+ prune_libtool_files
+}
+
+pkg_preinst() {
+ preserve_old_lib /$(get_libdir)/libpcre.so.0
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libpcre/files/, dev-libs/libpcre/
@ 2020-02-13 10:20 Lars Wendler
0 siblings, 0 replies; 9+ messages in thread
From: Lars Wendler @ 2020-02-13 10:20 UTC (permalink / raw
To: gentoo-commits
commit: 35ddbcc2ef4d71b165ca54bddd95878dbec14945
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 13 09:31:37 2020 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Thu Feb 13 10:20:00 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35ddbcc2
dev-libs/libpcre: Removed old
Package-Manager: Portage-2.3.88, Repoman-2.3.20
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
dev-libs/libpcre/Manifest | 1 -
...bpcre-8.41-sljit_mips-label-statement-fix.patch | 15 ----
dev-libs/libpcre/libpcre-8.41-r1.ebuild | 100 ---------------------
3 files changed, 116 deletions(-)
diff --git a/dev-libs/libpcre/Manifest b/dev-libs/libpcre/Manifest
index 1bfd7ce5184..ee5a25a1815 100644
--- a/dev-libs/libpcre/Manifest
+++ b/dev-libs/libpcre/Manifest
@@ -1,4 +1,3 @@
-DIST pcre-8.41.tar.bz2 1561874 BLAKE2B 2a97a859237994137190da00c30ba7c15e8631b82b7f200858cf722f1fdd0405d36c24bb716eb099d8107f2f829a85fd7d3497f36cdac51769636989331e7a79 SHA512 cc9cdbeb98c010fe4f093a019bebfb91965dae4c6a48f8e49c38ec8df7d9da7f0d32c12fc58f22c51f1c2f010e72b65bcbf8bbf180060e93edf464fa9a7c3551
DIST pcre-8.42.tar.bz2 1570171 BLAKE2B f68bac3cf8ff5a81ccba31fd4d8926e05143a25a756e7daba9793467cec9cd8a4766f394f958ffca088b472463a43a31ea77014f2d4505082c1f366a18f30c7a SHA512 b47b923108f6ee0c31409b79d0888314271b482a22590e164d02f21d2112fba22dd0342c24f9ba0f5fcc5b8c65550bad08c476e30a2fc79b34ecf4601ed82f3d
DIST pcre-8.43.tar.bz2 1576584 BLAKE2B 12c2117fc5d242ada44884df279f7f8b4c680fa1623ddc131c0adca1740ec47614ac6af20fc60b0c516d9d7b66488ba8a4e5efa5fc8a0a70aacb02bb3d38ee53 SHA512 3b4ac2c7ccd77c9575d07a33c3456f40b50731029e62d01fb8f2f5871d7118e12bc9e6bc7a8079769c765e38da5ecf98c4b261b10ff0a2f14f0881b434f67af7
DIST pcre-8.44.tar.bz2 1577611 BLAKE2B ef8d5737ca1f4c72f12c8726956ce5d3bad13aa8303b7c3b5d25499e3027ddc2edcdb937d9ad2bdd437a8885f1af8757ba194aa0b2f236b6e6a3a18d2ec8f138 SHA512 f26d850aab5228799e58ac8c2306fb313889332c39e29b118ef1de57677c5c90f970d68d3f475cabc64f8b982a77f04eca990ff1057f3ccf5e19bd137997c4ac
diff --git a/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch b/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch
deleted file mode 100644
index 0494ccc25eb..00000000000
--- a/dev-libs/libpcre/files/libpcre-8.41-sljit_mips-label-statement-fix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naurp pcre-8.41.orig/sljit/sljitNativeMIPS_common.c pcre-8.41/sljit/sljitNativeMIPS_common.c
---- pcre-8.41.orig/sljit/sljitNativeMIPS_common.c 2017-05-07 11:32:25.000000000 -0400
-+++ pcre-8.41/sljit/sljitNativeMIPS_common.c 2017-07-29 17:50:24.508909742 -0400
-@@ -503,9 +503,11 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit
- #ifdef SLJIT_IS_FPU_AVAILABLE
- return SLJIT_IS_FPU_AVAILABLE;
- #elif defined(__GNUC__)
-+ {
- sljit_sw fir;
- asm ("cfc1 %0, $0" : "=r"(fir));
- return (fir >> 22) & 0x1;
-+ }
- #else
- #error "FIR check is not implemented for this architecture"
- #endif
diff --git a/dev-libs/libpcre/libpcre-8.41-r1.ebuild b/dev-libs/libpcre/libpcre-8.41-r1.ebuild
deleted file mode 100644
index 83d4cfce9cb..00000000000
--- a/dev-libs/libpcre/libpcre-8.41-r1.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils multilib libtool flag-o-matic toolchain-funcs 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
- 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
-
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 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 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
-REQUIRED_USE="readline? ( !libedit )
- libedit? ( !readline )"
-
-RDEPEND="
- bzip2? ( app-arch/bzip2 )
- zlib? ( sys-libs/zlib )
- libedit? ( dev-libs/libedit )
- readline? ( sys-libs/readline:0= )
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-RDEPEND="
- ${RDEPEND}
-"
-
-S="${WORKDIR}/${MY_P}"
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/pcre-config
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-8.41-sljit_mips-label-statement-fix.patch
- "${FILESDIR}"/${PN}-8.41-fix-stack-size-detection.patch
-)
-
-src_prepare() {
- epatch "${PATCHES[@]}"
- sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
- elibtoolize
-}
-
-multilib_src_configure() {
- local myeconfargs=(
- --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT)
- $(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 zlib pcregrep-libz)
- --enable-pcre8
- --enable-shared
- --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
- --docdir="${EPREFIX}"/usr/share/doc/${PF}
- )
- 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() {
- prune_libtool_files
-}
-
-pkg_preinst() {
- preserve_old_lib /$(get_libdir)/libpcre.so.0
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
-}
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libpcre/files/, dev-libs/libpcre/
@ 2023-08-03 19:08 Sam James
0 siblings, 0 replies; 9+ messages in thread
From: Sam James @ 2023-08-03 19:08 UTC (permalink / raw
To: gentoo-commits
commit: c7ebd2b053695929b4028cabac2744b23a0bb4c6
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 3 19:08:09 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Aug 3 19:08:09 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7ebd2b0
dev-libs/libpcre: fix attributes w/ clang 16
pcre_exec was optimised, despite the attributes asking it not to, because
Clang 16 recognises different tokens.
Thanks to Zhixu Liu for the wonderful analysis.
Closes: https://bugs.gentoo.org/910188
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../libpcre-8.45-fix-stack-size-detection.patch | 18 ++++
dev-libs/libpcre/libpcre-8.45-r2.ebuild | 106 +++++++++++++++++++++
2 files changed, 124 insertions(+)
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
+}
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-08-03 19:08 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-17 16:23 [gentoo-commits] repo/gentoo:master commit in: dev-libs/libpcre/files/, dev-libs/libpcre/ Lars Wendler
-- strict thread matches above, loose matches on Subject: below --
2023-08-03 19:08 Sam James
2020-02-13 10:20 Lars Wendler
2019-04-10 6:19 Lars Wendler
2019-04-10 5:06 Lars Wendler
2018-03-21 7:05 Lars Wendler
2017-03-20 7:48 Mike Frysinger
2016-06-14 18:39 Lars Wendler
2016-04-02 20:51 Mike Frysinger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox