Add fix from upstream for posix regex behavior #382919 by Christian Kaps.
authorMike Frysinger <vapier@gentoo.org>
Sat, 17 Sep 2011 04:47:35 +0000 (04:47 +0000)
committerMike Frysinger <vapier@gentoo.org>
Sat, 17 Sep 2011 04:47:35 +0000 (04:47 +0000)
Package-Manager: portage-2.2.0_alpha58/cvs/Linux x86_64

dev-libs/libpcre/ChangeLog
dev-libs/libpcre/Manifest
dev-libs/libpcre/files/libpcre-8.13-posix-regex.patch [new file with mode: 0644]
dev-libs/libpcre/libpcre-8.13-r1.ebuild [new file with mode: 0644]

index de0a0580330060b9522c50dcb1407cf310a5955d..a3b13d55156510a5f2b8c108b349deeaf1703b9e 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for dev-libs/libpcre
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libpcre/ChangeLog,v 1.183 2011/09/01 06:26:43 radhermit Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libpcre/ChangeLog,v 1.184 2011/09/17 04:47:35 vapier Exp $
+
+*libpcre-8.13-r1 (17 Sep 2011)
+
+  17 Sep 2011; Mike Frysinger <vapier@gentoo.org> +libpcre-8.13-r1.ebuild,
+  +files/libpcre-8.13-posix-regex.patch:
+  Add fix from upstream for posix regex behavior #382919 by Christian Kaps.
 
 *libpcre-8.13 (01 Sep 2011)
 
index e81a5e83f784d1fe6163dafa2b27d8a9dee33567..2b747fbd6b895dd74e4372d386f26fc0098425e7 100644 (file)
@@ -1,7 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA512
+Hash: SHA256
 
 AUX libpcre-7.9-pkg-config.patch 1487 RMD160 b9e583ed8776a16cc1ec2c6dbd5c0153d6fdbf88 SHA1 57d60963fd635883a7eacdbed411405a28751fec SHA256 d247cbd8bf85a4e898e0f7512e27bebaaf121e020fd2b85dc04eb6a3c041cd70
+AUX libpcre-8.13-posix-regex.patch 1223 RMD160 413efc35a55410be9e2074166c15f08081f11644 SHA1 84e3ce23c948a2d0afe9e90e83b6ec0eaa0a9e6e SHA256 d31e0eac4c6b24d57e89e56bc16332d1d0a349a0af2a6c6031134c2d1966d2f0
 DIST pcre-7.9.tar.bz2 861580 RMD160 e7ccae1fe3d2cf3ff3264c6e6ad3486c64fe1cec SHA1 a4a34f71313ac042455355c01ad851791971a7fa SHA256 40a13a9759f1de5b16bc2f0d47b6aa5f0ec010325646922f54b013c040dcd740
 DIST pcre-8.02.tar.bz2 956462 RMD160 5a29c3d5e61ea877a6e3ab2b9e70f426c7f34771 SHA1 2cf2f7f04988813c7ce45c43eb934f3b8b1c3b34 SHA256 a4759036d9c3e1773e8b680827b17b843f724ef9021744db92b8dd35ebac4ebd
 DIST pcre-8.12.tar.bz2 992502 RMD160 ec7978604cdf92d8dbd98e0d0c360fe35eb62021 SHA1 2219b372bff53ee29a7e44ecf5977ad15df01cea SHA256 c63070d461edc451ec9457f2324e152a531e907d5c5d2d8f8121e725acd1aeec
@@ -9,17 +10,14 @@ DIST pcre-8.13.tar.bz2 1037903 RMD160 0448109dbf489e4c18cd9e2a0cf97a33ff7e5364 S
 EBUILD libpcre-7.9-r1.ebuild 2219 RMD160 d078f40adb1033becf323f99c9df6b3400a1e3fd SHA1 bfb5fd3e9f9363f716a07a3fb6f4c67143b2f0c4 SHA256 fc0cf38ae0747fdfef18fddeece0884f8b581b9dc3bdc547d585ac87a7ebb2cb
 EBUILD libpcre-8.02.ebuild 2002 RMD160 cf478287ed467c9a0d4e336d5af51e33a62bf642 SHA1 e1173cdec48309c387a7461dcac8f8a907fd12be SHA256 1d2ecc5a099793dde0af22358aa1287b7b6a6fc5690c482dfc3e684a2636c68b
 EBUILD libpcre-8.12.ebuild 2055 RMD160 016b220208b92980fc9293af651dc29a27d4d51f SHA1 c7a3f50fc07b60300cc999fbf6bf96648598fc9a SHA256 06d6bd9bea9fa62d1f0c9badc7ce050d91bda100d355b0ff3c477fc0ab0b3eeb
+EBUILD libpcre-8.13-r1.ebuild 2005 RMD160 778f9b7968409227cd07b85fbed968bd06fbf95f SHA1 c1cbb927943cec4e8457c7c53e8723ad1f720fe4 SHA256 13ab25c061ace9463d16c5d6c7f92f3f80af783a0c25761d994efff14fbdca1f
 EBUILD libpcre-8.13.ebuild 2041 RMD160 6a6c3b40102171812eb9e94e3164d1cb308d640f SHA1 6bc9fab9da7fc901ebc96064de9d19fe9f3f52cd SHA256 dce6fb93e8f04515f1c8a8991d9c84c70dbe5d4942aa44bc8e4470d0780e0185
-MISC ChangeLog 24010 RMD160 4d1d5845d24358769997398b2ff9073fc8c55f0d SHA1 c505ad5931d78794d2ebc0b6fbe96476672805ea SHA256 dcf57e8ea89e08ca7aaa83985fff4cbc5a581e2d486f6fdf5ae1f14246db6f1e
+MISC ChangeLog 24232 RMD160 7b8ed74e500e659d2c938fbb5cf73f49336ab5aa SHA1 bd22f7e2dabf42ce0f9825cc65ad4145258a05e0 SHA256 aee4bb24b820d875e59d3be5a78ec1431228174da5149a89c8c208da54e8e330
 MISC metadata.xml 350 RMD160 5224f17e5a48e04717eabc1c716d640850bb9b38 SHA1 cdbd6adbdc7271ef217001a3fd7616ac5f491feb SHA256 43fd555785f7e73e17e21727705df12cd8b00fae32e13fc4dca22a0135b9c770
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.18 (GNU/Linux)
+Version: GnuPG v2.0.17 (GNU/Linux)
 
-iQEcBAEBCgAGBQJOXyWsAAoJEEqz6FtPBkyjx0oH/AqtpTV2WwCqPcP+Mb9rUFer
-0olHJ0JbLaG7CBAsh+m13bnLtgqHR9rBwZOTofDWlsJupAjqf1RryiO17c8kT/54
-HvTRZA6q3W9R91icgA4wJ+Jy1IQCk1o3R4Qce49kR0+bXvTvd5RBlBSdPbGMS1+c
-EGXlJol5qjwAO0vsAvEJSVvRqG8QIQQmjUcQzs3nlwsyArnmlLE+e4VkGzth7qYV
-rLBedu3L+ekWp9TYdv2kCRaZljNA9TU/I8fyTIARuZIodBCG8/WYafJwBKIefopY
-PLRb1eu3ukJC/KMwOVcgJb9Oo8hru0OvH1NcX2u6FuLlN9QguJsFGmdfFOlvckQ=
-=VbkI
+iF4EAREIAAYFAk50Jm0ACgkQaC/OocHi7JbP/wD/ZPzvcX0IW0dJ7K5XHP4Sv3p4
+FT9tRGFaehrGnzotEGkA/2LcVm/DcOFQZ5aFSfcHVrOtDqHPzvRM/EPfal7v4AlU
+=Kiqk
 -----END PGP SIGNATURE-----
diff --git a/dev-libs/libpcre/files/libpcre-8.13-posix-regex.patch b/dev-libs/libpcre/files/libpcre-8.13-posix-regex.patch
new file mode 100644 (file)
index 0000000..6c6d2c3
--- /dev/null
@@ -0,0 +1,29 @@
+http://bugs.exim.org/show_bug.cgi?id=1136
+https://bugs.gentoo.org/382919
+
+--- code/trunk/pcre_compile.c  2011/08/02 11:00:40     654
++++ code/trunk/pcre_compile.c  2011/08/21 09:00:54     661
+@@ -2295,8 +2295,13 @@
+ A user pointed out that PCRE was rejecting [:a[:digit:]] whereas Perl was not.
+ It seems that the appearance of a nested POSIX class supersedes an apparent
+ external class. For example, [:a[:digit:]b:] matches "a", "b", ":", or
+-a digit. Also, unescaped square brackets may also appear as part of class
+-names. For example, [:a[:abc]b:] gives unknown class "[:abc]b:]"in Perl.
++a digit. 
++
++In Perl, unescaped square brackets may also appear as part of class names. For
++example, [:a[:abc]b:] gives unknown POSIX class "[:abc]b:]". However, for
++[:a[:abc]b][b:] it gives unknown POSIX class "[:abc]b][b:]", which does not
++seem right at all. PCRE does not allow closing square brackets in POSIX class 
++names.
+ Arguments:
+   ptr      pointer to the initial [
+@@ -2314,6 +2319,7 @@
+   {
+   if (*ptr == CHAR_BACKSLASH && ptr[1] == CHAR_RIGHT_SQUARE_BRACKET)
+     ptr++;
++  else if (*ptr == CHAR_RIGHT_SQUARE_BRACKET) return FALSE;   
+   else
+     {
+     if (*ptr == terminator && ptr[1] == CHAR_RIGHT_SQUARE_BRACKET)
diff --git a/dev-libs/libpcre/libpcre-8.13-r1.ebuild b/dev-libs/libpcre/libpcre-8.13-r1.ebuild
new file mode 100644 (file)
index 0000000..4bb6bd0
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libpcre/libpcre-8.13-r1.ebuild,v 1.1 2011/09/17 04:47:35 vapier Exp $
+
+EAPI="4"
+
+inherit libtool eutils toolchain-funcs flag-o-matic
+
+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 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="bzip2 +cxx +recursion-limit static-libs unicode zlib"
+
+RDEPEND="bzip2? ( app-arch/bzip2 )
+       zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+       dev-util/pkgconfig
+       userland_GNU? ( >=sys-apps/findutils-4.4.0 )"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+       sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
+       elibtoolize
+       epatch "${FILESDIR}"/${P}-posix-regex.patch #382919
+}
+
+src_configure() {
+       [[ ${CHOST} == *-mint* ]] && append-flags -D_GNU_SOURCE
+       econf \
+               --with-match-limit-recursion=$(use recursion-limit && echo 8192 || echo MATCH_LIMIT) \
+               $(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="${EPREFIX}"/usr/share/doc/${PF}/html \
+               --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+       gen_usr_ldscript -a pcre
+       find "${D}" -type f -name '*.la' -exec rm -f {} +
+}