summaryrefslogtreecommitdiff
path: root/testing/pcre
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-08-23 23:14:30 +0000
committerroot <root@rshg054.dnsready.net>2011-08-23 23:14:30 +0000
commit9254c2bc6500471b22eead69781ddef84f87e2bf (patch)
treec4afa4b28422f98d69f9b2594705e164e8c3049c /testing/pcre
parent64e290184042563a240e2d6d15c02e06703d00ee (diff)
Tue Aug 23 23:14:30 UTC 2011
Diffstat (limited to 'testing/pcre')
-rw-r--r--testing/pcre/PKGBUILD21
-rw-r--r--testing/pcre/r661.diff26
2 files changed, 42 insertions, 5 deletions
diff --git a/testing/pcre/PKGBUILD b/testing/pcre/PKGBUILD
index d66b7c8ff..e00105faa 100644
--- a/testing/pcre/PKGBUILD
+++ b/testing/pcre/PKGBUILD
@@ -1,28 +1,39 @@
-# $Id: PKGBUILD 135641 2011-08-16 22:23:31Z allan $
+# $Id: PKGBUILD 136064 2011-08-22 11:33:49Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
pkgname=pcre
pkgver=8.13
-pkgrel=1
+pkgrel=2
pkgdesc="A library that implements Perl 5-style regular expressions"
arch=('i686' 'x86_64')
url="http://www.pcre.org/"
license=('BSD')
depends=('gcc-libs')
options=('!libtool')
-source=(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('5e595edbcded141813fa1a10dbce05cb')
-
+source=(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${pkgname}-${pkgver}.tar.bz2
+ r661.diff)
+md5sums=('5e595edbcded141813fa1a10dbce05cb'
+ '70e2725b46ff6f3f114ce5067fd03405')
build() {
cd "${srcdir}"/${pkgname}-${pkgver}
+
+ # http://bugs.exim.org/show_bug.cgi?id=1136
+ patch -Np2 -i "${srcdir}"/r661.diff
+ sed -i '12140d' testdata/testoutput2
+
[ "${CARCH}" = "x86_64" ] && export CFLAGS="${CFLAGS} -fPIC"
./configure --prefix=/usr --enable-utf8 --enable-unicode-properties
make
}
+check() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ make check
+}
+
package() {
cd "${srcdir}"/${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
diff --git a/testing/pcre/r661.diff b/testing/pcre/r661.diff
new file mode 100644
index 000000000..7bed4ce2e
--- /dev/null
+++ b/testing/pcre/r661.diff
@@ -0,0 +1,26 @@
+--- 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)