public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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