diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-09-17 04:47:35 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-09-17 04:47:35 +0000 |
commit | 78010fe544bcba0d5daba4b2287c079a04622c24 (patch) | |
tree | bc12127d2f4b2f9f591963e77fba88c1388ee8c4 /dev-libs/libpcre | |
parent | Cleanup base.use.mask (diff) | |
download | gentoo-2-78010fe544bcba0d5daba4b2287c079a04622c24.tar.gz gentoo-2-78010fe544bcba0d5daba4b2287c079a04622c24.tar.bz2 gentoo-2-78010fe544bcba0d5daba4b2287c079a04622c24.zip |
Add fix from upstream for posix regex behavior #382919 by Christian Kaps.
(Portage version: 2.2.0_alpha58/cvs/Linux x86_64)
Diffstat (limited to 'dev-libs/libpcre')
-rw-r--r-- | dev-libs/libpcre/ChangeLog | 8 | ||||
-rw-r--r-- | dev-libs/libpcre/files/libpcre-8.13-posix-regex.patch | 29 | ||||
-rw-r--r-- | dev-libs/libpcre/libpcre-8.13-r1.ebuild | 57 |
3 files changed, 93 insertions, 1 deletions
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 <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) 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 {} + +} |