From 6964cd8985b1c7928779085e09fb142d06c1da9d Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 17 Sep 2011 04:47:35 +0000 Subject: [PATCH] Add fix from upstream for posix regex behavior #382919 by Christian Kaps. Package-Manager: portage-2.2.0_alpha58/cvs/Linux x86_64 --- dev-libs/libpcre/ChangeLog | 8 ++- dev-libs/libpcre/Manifest | 18 +++--- .../files/libpcre-8.13-posix-regex.patch | 29 ++++++++++ dev-libs/libpcre/libpcre-8.13-r1.ebuild | 57 +++++++++++++++++++ 4 files changed, 101 insertions(+), 11 deletions(-) create mode 100644 dev-libs/libpcre/files/libpcre-8.13-posix-regex.patch create mode 100644 dev-libs/libpcre/libpcre-8.13-r1.ebuild diff --git a/dev-libs/libpcre/ChangeLog b/dev-libs/libpcre/ChangeLog index de0a05803300..a3b13d551565 100644 --- a/dev-libs/libpcre/ChangeLog +++ b/dev-libs/libpcre/ChangeLog @@ -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 +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) diff --git a/dev-libs/libpcre/Manifest b/dev-libs/libpcre/Manifest index e81a5e83f784..2b747fbd6b89 100644 --- a/dev-libs/libpcre/Manifest +++ b/dev-libs/libpcre/Manifest @@ -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 index 000000000000..6c6d2c38954c --- /dev/null +++ b/dev-libs/libpcre/files/libpcre-8.13-posix-regex.patch @@ -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 index 000000000000..4bb6bd0289e2 --- /dev/null +++ b/dev-libs/libpcre/libpcre-8.13-r1.ebuild @@ -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 {} + +} -- 2.26.2