summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-libs/libpcre/ChangeLog10
-rw-r--r--dev-libs/libpcre/files/libpcre-7.6-ABI_correction.patch17
-rw-r--r--dev-libs/libpcre/libpcre-7.6-r1.ebuild (renamed from dev-libs/libpcre/libpcre-7.6.ebuild)3
3 files changed, 28 insertions, 2 deletions
diff --git a/dev-libs/libpcre/ChangeLog b/dev-libs/libpcre/ChangeLog
index 4cb3a366cd2a..48f2e5e1989e 100644
--- a/dev-libs/libpcre/ChangeLog
+++ b/dev-libs/libpcre/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for dev-libs/libpcre
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libpcre/ChangeLog,v 1.135 2008/02/10 21:54:48 tester Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libpcre/ChangeLog,v 1.136 2008/02/13 08:12:01 opfer Exp $
+
+*libpcre-7.6-r1 (13 Feb 2008)
+
+ 13 Feb 2008; Christian Faulhammer <opfer@gentoo.org>
+ +files/libpcre-7.6-ABI_correction.patch, -libpcre-7.6.ebuild,
+ +libpcre-7.6-r1.ebuild:
+ revision bump (direct stable), to fix ABI breakage reported in bug 209697 by
+ jakub
10 Feb 2008; Olivier Crête <tester@gentoo.org> libpcre-7.6.ebuild:
Stable on amd64, security bug #209067
diff --git a/dev-libs/libpcre/files/libpcre-7.6-ABI_correction.patch b/dev-libs/libpcre/files/libpcre-7.6-ABI_correction.patch
new file mode 100644
index 000000000000..99da95c7458a
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-7.6-ABI_correction.patch
@@ -0,0 +1,17 @@
+--- pcrecpp.cc.orig 2008-02-13 09:04:56.000000000 +0100
++++ pcrecpp.cc 2008-02-13 09:05:28.000000000 +0100
+@@ -57,6 +57,14 @@
+ // Special object that stands-in for no argument
+ Arg RE::no_arg((void*)NULL);
+
++// This is for ABI compatibility with old versions of pcre (pre-7.6),
++// which defined a global no_arg variable instead of putting it in the
++// RE class. This works on GCC >= 3, at least. We could probably have
++// a more inclusive test if we ever needed it.
++#if defined(__GNUC__) && __GNUC__ >= 3
++ extern Arg no_arg __attribute__((alias("_ZN7pcrecpp2RE6no_argE")));
++#endif
++
+ // If a regular expression has no error, its error_ field points here
+ static const string empty_string;
+
diff --git a/dev-libs/libpcre/libpcre-7.6.ebuild b/dev-libs/libpcre/libpcre-7.6-r1.ebuild
index e59ece15df95..737d83aa62a5 100644
--- a/dev-libs/libpcre/libpcre-7.6.ebuild
+++ b/dev-libs/libpcre/libpcre-7.6-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libpcre/libpcre-7.6.ebuild,v 1.8 2008/02/10 21:54:48 tester Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libpcre/libpcre-7.6-r1.ebuild,v 1.1 2008/02/13 08:12:01 opfer Exp $
EAPI=1
@@ -25,6 +25,7 @@ S=${WORKDIR}/${MY_P}
src_unpack() {
unpack ${A}
cd "${S}"
+ epatch "${FILESDIR}"/${P}-ABI_correction.patch
elibtoolize
}