summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2012-04-20 19:21:54 +0000
committerAlexandre Rostovtsev <tetromino@gentoo.org>2012-04-20 19:21:54 +0000
commit674ecc9cb794ce2144ad450dc4bb71784a42fef9 (patch)
tree14cd3d9b061eca440a84092e622220dc7495a072 /x11-libs/goffice
parent[bump] dev-perl/DBIx-Migration-0.70.0 (diff)
downloadhistorical-674ecc9cb794ce2144ad450dc4bb71784a42fef9.tar.gz
historical-674ecc9cb794ce2144ad450dc4bb71784a42fef9.tar.bz2
historical-674ecc9cb794ce2144ad450dc4bb71784a42fef9.zip
Prevent goffice from accidentally linking to pcre and causing undefined
Package-Manager: portage-2.2.0_alpha100/cvs/Linux x86_64
Diffstat (limited to 'x11-libs/goffice')
-rw-r--r--x11-libs/goffice/ChangeLog9
-rw-r--r--x11-libs/goffice/Manifest16
-rw-r--r--x11-libs/goffice/files/goffice-0.8.17-no-pcre.patch219
-rw-r--r--x11-libs/goffice/goffice-0.8.17-r1.ebuild62
4 files changed, 300 insertions, 6 deletions
diff --git a/x11-libs/goffice/ChangeLog b/x11-libs/goffice/ChangeLog
index 42a03b5089bd..85446eee1e9a 100644
--- a/x11-libs/goffice/ChangeLog
+++ b/x11-libs/goffice/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for x11-libs/goffice
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/goffice/ChangeLog,v 1.103 2012/04/15 15:49:45 eva Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/goffice/ChangeLog,v 1.104 2012/04/20 19:21:54 tetromino Exp $
+
+*goffice-0.8.17-r1 (20 Apr 2012)
+
+ 20 Apr 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+ +goffice-0.8.17-r1.ebuild, +files/goffice-0.8.17-no-pcre.patch:
+ Prevent goffice from accidentally linking to pcre and causing "undefined
+ symbol: pcre_info" errors (bug #404271).
15 Apr 2012; Gilles Dartiguelongue <eva@gentoo.org> -goffice-0.8.13.ebuild,
-goffice-0.8.16.ebuild:
diff --git a/x11-libs/goffice/Manifest b/x11-libs/goffice/Manifest
index 8df90d812d2a..5f025ed3b009 100644
--- a/x11-libs/goffice/Manifest
+++ b/x11-libs/goffice/Manifest
@@ -1,14 +1,20 @@
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA512
+Hash: SHA1
+AUX goffice-0.8.17-no-pcre.patch 6490 RMD160 6bf7abaa847bfdcadda548cd2e0626dd3744f59e SHA1 84ecce6e69f656d492cac47e4f102b545f14692f SHA256 dd22ff8ffdea5618ff7357b9a36d68522f0bd4a9236d40e578182f8a6c2049d5
DIST goffice-0.8.17.tar.xz 1814488 RMD160 91d1df371c8164c8c5c9860c7c9c87b9fb69f6c3 SHA1 aceee7ddff4a473131b4a0ac1c05e52a82755a4e SHA256 165070beb67b84580afe80a8a100b674a81d553ab791acd72ac0c655f4fadb15
+EBUILD goffice-0.8.17-r1.ebuild 1554 RMD160 7bfea58e3671f09d205ede70426a66e89014689d SHA1 9eaee2806a5ba93987ff71012a917d1484be936e SHA256 d37bf194796a55e4bd4b973265b2e360d87b28419da3b0e966bc36efe5a5d38b
EBUILD goffice-0.8.17.ebuild 1277 RMD160 bfb1fa2a790ea1f0aea268a5c32d4cf0c376141d SHA1 da5c58a87923359a17304cf916849b987658d38a SHA256 a913fe846eb80afb8a298a19e1aebeca737e414ea99b12e11e2aba0e9f593899
-MISC ChangeLog 14054 RMD160 97e83c35515d47dd1845e93a2ae6f729584e1c28 SHA1 3e5a81c9b42eae182209a336047cf85e905384f2 SHA256 44c2215e7c601062529b60e4b084d20db6ba794fdcbe0ced8ecc5e4c8a639556
+MISC ChangeLog 14338 RMD160 aabedc326a4c6632be4e672b1436cb9247c65120 SHA1 deb38a4c6fa11df04f38c341fe67e7e0bc208c79 SHA256 a10750b433221c29ab6ebb2803616def517cc9105bec9226c11b26ea2ea915a1
MISC metadata.xml 355 RMD160 c615373a952d378745eededbb389702d3d40d65a SHA1 27456654786f959e23af4221d884fd7ac0f6ac41 SHA256 5eedbf049eb7d297420c9dc4f58b392f9a05405a9d755e75661157a45fb51962
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iEYEAREKAAYFAk+K7h4ACgkQ1fmVwcYIWAYnEwCcD4r1rTEfkOrJKQSf3fth+0iF
-ExAAniHyNKdJU1Mjj9pfGwdmbcn2EwB7
-=uG7B
+iQEcBAEBAgAGBQJPkbdYAAoJEJ0WA1zPCt1hIioH/i+oHloCZH3R6lRJKi7/mcPC
+wtpBNydPEloG7YeYpG5QEbxRchp5t7rzZxLOHXJ1ZSLWn86S2E0nIOKs2oF2O/aK
+GThkfAJ2N08N8AH7HCgRqMtzzCD9n3IVU+LTEG24AkI8dQtUakUnPkkST1W3BCEE
+o6zzWLKZt2a2it6UARMoa3vUdpIw9mXtgOMdc9UpfGc8VJJ3SAax4BKPvs2zx9A8
+CR2t2E6WzlTR18TT72LhdAEbxctGvifvt5ZLB3VR4AG/D/RwOntIBZ7kxZLyNE1i
+V4VKWfOCDdccr/pxf2FJzN8EKP3nEwFqmv5CmpwoVAFccr2qHq0tlqPn+FkdPKU=
+=rIeX
-----END PGP SIGNATURE-----
diff --git a/x11-libs/goffice/files/goffice-0.8.17-no-pcre.patch b/x11-libs/goffice/files/goffice-0.8.17-no-pcre.patch
new file mode 100644
index 000000000000..4691acdcd8ff
--- /dev/null
+++ b/x11-libs/goffice/files/goffice-0.8.17-no-pcre.patch
@@ -0,0 +1,219 @@
+From 00b816027e11f5fd890df07ae94d720cce106f34 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Fri, 20 Apr 2012 14:57:59 -0400
+Subject: [PATCH] Drop pcre workaround for <glib-2.15.1
+
+For unknown reason, it sometimes gets enabled even on modern systems,
+causing problems.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=670316
+---
+ configure.in | 24 +----------
+ goffice/utils/regutf8.c | 106 -----------------------------------------------
+ 2 files changed, 1 insertions(+), 129 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index fd40d53..62e299d 100644
+--- a/configure.in
++++ b/configure.in
+@@ -93,7 +93,7 @@ PKG_PROG_PKG_CONFIG
+
+ dnl *****************************
+ goffice_reqs="
+- glib-2.0 >= 2.8.0
++ glib-2.0 >= 2.16.0
+ gobject-2.0 >= 2.16.0
+ gmodule-2.0 >= 2.16.0
+ gio-2.0 >= 2.16.0
+@@ -492,13 +492,6 @@ SAVE_CFLAGS=$CFLAGS
+ SAVE_LIBS=$LIBS
+ CFLAGS="$CFLAGS $GOFFICE_CFLAGS"
+ LIBS="$GOFFICE_LIBS $LIBS"
+-AC_MSG_CHECKING([for G_REGEX_ERROR_STRAY_BACKSLASH])
+-AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <glib/gregex.h>]], [[GRegexError error=G_REGEX_ERROR_STRAY_BACKSLASH;]])],
+- [AC_DEFINE(HAVE_G_REGEX_ERROR_STRAY_BACKSLASH, 1, [Define if G_REGEX_ERROR_STRAY_BACKSLASH is defined])
+- glib_has_G_REGEX_ERROR_STRAY_BACKSLASH=yes
+- AC_MSG_RESULT(yes)],
+- [AC_MSG_RESULT(no)
+- glib_has_G_REGEX_ERROR_STRAY_BACKSLASH=no])
+ if test "x$goffice_with_gtk" = "xtrue" ; then
+ AC_CHECK_FUNCS(gtk_dialog_get_response_for_widget)
+ AC_CHECK_FUNCS(gtk_widget_set_tooltip_text gtk_tool_item_set_tooltip_text,
+@@ -511,21 +504,6 @@ if test $gtk_disable_deprecated = yes; then
+ CFLAGS="$CFLAGS -DGTK_DISABLE_DEPRECATED"
+ fi
+
+-if test "x$glib_has_G_REGEX_ERROR_STRAY_BACKSLASH" = "xno"; then
+- dnl Check for working pcre
+- AC_CHECK_HEADER(pcre.h,[], AC_MSG_ERROR([Header files for PCRE were not found]))
+- AC_CHECK_LIB(pcre,pcre_compile2,[], AC_MSG_ERROR([The PCRE library is missing or too old]))
+- AC_MSG_CHECKING([for UTF-8 support in pcre])
+- if (pcretest -C 2>&1) | grep -i "^ *UTF-8 support" >/dev/null; then
+- AC_MSG_RESULT(yes)
+- LIBS="$LIBS -lpcre"
+- EXTRA_LIBS="$EXTRA_LIBS -lpcre"
+- else
+- AC_MSG_ERROR([The installed PCRE library is not configured for UTF-8 support.])
+- fi
+-fi
+-
+-
+ AC_DEFUN([GOFFICE_CHECK_FUNC],
+ [AC_CHECK_FUNC([$1],
+ [],
+diff --git a/goffice/utils/regutf8.c b/goffice/utils/regutf8.c
+index bc4aae4..3f32dd6 100644
+--- a/goffice/utils/regutf8.c
++++ b/goffice/utils/regutf8.c
+@@ -7,9 +7,6 @@
+
+ #include <goffice/goffice-config.h>
+ #include "regutf8.h"
+-#ifndef HAVE_G_REGEX_ERROR_STRAY_BACKSLASH
+-#include <pcre.h>
+-#endif
+ #include "go-glib-extras.h"
+ #include <gsf/gsf-impl-utils.h>
+ #include <glib/gi18n-lib.h>
+@@ -21,11 +18,7 @@ void
+ go_regfree (GORegexp *gor)
+ {
+ if (gor->ppcre) {
+-#ifdef HAVE_G_REGEX_ERROR_STRAY_BACKSLASH
+ g_regex_unref (gor->ppcre);
+-#else
+- pcre_free (gor->ppcre);
+-#endif
+ gor->ppcre = NULL;
+ }
+ }
+@@ -70,7 +63,6 @@ go_regerror (int errcode, const GORegexp *gor, char *dst, size_t dstsize)
+ int
+ go_regcomp (GORegexp *gor, const char *pat, int cflags)
+ {
+-#ifdef HAVE_G_REGEX_ERROR_STRAY_BACKSLASH
+ GError *error = NULL;
+ GRegex *r;
+ int coptions =
+@@ -119,47 +111,6 @@ go_regcomp (GORegexp *gor, const char *pat, int cflags)
+ gor->nosub = (cflags & GO_REG_NOSUB) != 0;
+ return 0;
+ }
+-#else
+- const char *errorptr;
+- int errorofs, errorcode;
+- pcre *r;
+- int coptions =
+- PCRE_UTF8 |
+- PCRE_NO_UTF8_CHECK |
+- ((cflags & GO_REG_ICASE) ? PCRE_CASELESS : 0) |
+- ((cflags & GO_REG_NEWLINE) ? PCRE_MULTILINE : 0);
+-
+- if (&pcre_compile2 == NULL) {
+- g_error ("libgoffice has been dynamically linked against a libpcre\n"
+- "that lacks the pcre_compile2 function. This indicates a\n"
+- "distribution dependency problem. Please report this at\n"
+- "bugzilla.gnome.org and for you distribution.");
+- }
+-
+- gor->ppcre = r = pcre_compile2 (pat, coptions,
+- &errorcode, &errorptr, &errorofs,
+- NULL);
+-
+- if (r == NULL) {
+- switch (errorcode) {
+- case 1: case 2: case 3: case 37: return GO_REG_EESCAPE;
+- case 4: case 5: return GO_REG_EBRACE;
+- case 6: return GO_REG_EBRACK;
+- case 7: case 30: return GO_REG_ECTYPE;
+- case 8: return GO_REG_ERANGE;
+- case 9: case 10: return GO_REG_BADRPT;
+- case 14: case 18: case 22: return GO_REG_EPAREN;
+- case 15: return GO_REG_ESUBREG;
+- case 19: case 20: return GO_REG_ESIZE;
+- case 21: return GO_REG_ESPACE;
+- default: return GO_REG_BADPAT;
+- }
+- } else {
+- gor->re_nsub = pcre_info (r, NULL, NULL);
+- gor->nosub = (cflags & GO_REG_NOSUB) != 0;
+- return 0;
+- }
+-#endif
+ return 0;
+ }
+
+@@ -167,7 +118,6 @@ int
+ go_regexec (const GORegexp *gor, const char *txt,
+ size_t nmatch, GORegmatch *pmatch, int eflags)
+ {
+-#ifdef HAVE_G_REGEX_ERROR_STRAY_BACKSLASH
+ int eoptions =
+ ((eflags & GO_REG_NOTBOL) ? G_REGEX_MATCH_NOTBOL : 0) |
+ ((eflags & GO_REG_NOTEOL) ? G_REGEX_MATCH_NOTEOL : 0);
+@@ -196,62 +146,6 @@ go_regexec (const GORegexp *gor, const char *txt,
+ g_match_info_free (match_info);
+
+ return matched ? GO_REG_NOERROR : GO_REG_NOMATCH;
+-#else
+- size_t txtlen = strlen (txt);
+- int eoptions =
+- ((eflags & GO_REG_NOTBOL) ? PCRE_NOTBOL : 0) |
+- ((eflags & GO_REG_NOTEOL) ? PCRE_NOTEOL : 0);
+- int res;
+- int *offsets, *allocated;
+- int offsetcount;
+- if (gor->nosub)
+- nmatch = 0;
+-
+- if (nmatch > 0) {
+- /* Paranoia. */
+- if (nmatch >= G_MAXINT / sizeof (int) / 3)
+- return GO_REG_ESPACE;
+-
+- offsetcount = nmatch * 3;
+- offsets = allocated = g_try_new (int, offsetcount);
+- if (!offsets)
+- return GO_REG_ESPACE;
+- } else {
+- offsets = allocated = NULL;
+- offsetcount = 0;
+- }
+-
+- res = pcre_exec (gor->ppcre, NULL, txt, txtlen, 0, eoptions,
+- offsets, offsetcount);
+- if (res >= 0) {
+- int i;
+-
+- if (res == 0) res = nmatch;
+-
+- for (i = 0; i < res; i++) {
+- pmatch[i].rm_so = offsets[i * 2];
+- pmatch[i].rm_eo = offsets[i * 2 + 1];
+- }
+- for (; i < (int)nmatch; i++) {
+- pmatch[i].rm_so = -1;
+- pmatch[i].rm_eo = -1;
+- }
+- g_free (allocated);
+- return GO_REG_NOERROR;
+- }
+-
+- g_free (allocated);
+- switch (res) {
+- case PCRE_ERROR_NOMATCH:
+- return GO_REG_NOMATCH;
+- case PCRE_ERROR_BADUTF8:
+- case PCRE_ERROR_BADUTF8_OFFSET:
+- /* POSIX doesn't seem to foresee this kind of error. */
+- return GO_REG_BADPAT;
+- default:
+- return GO_REG_ESPACE;
+- }
+-#endif
+ }
+
+ /* ------------------------------------------------------------------------- */
+--
+1.7.8.5
+
diff --git a/x11-libs/goffice/goffice-0.8.17-r1.ebuild b/x11-libs/goffice/goffice-0.8.17-r1.ebuild
new file mode 100644
index 000000000000..fb3d2951607e
--- /dev/null
+++ b/x11-libs/goffice/goffice-0.8.17-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/goffice/goffice-0.8.17-r1.ebuild,v 1.1 2012/04/20 19:21:54 tetromino Exp $
+
+EAPI="4"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit autotools eutils gnome2 flag-o-matic
+
+DESCRIPTION="A library of document-centric objects and utilities"
+HOMEPAGE="http://git.gnome.org/browse/goffice/"
+
+LICENSE="GPL-2"
+SLOT="0.8"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris"
+IUSE="doc gnome"
+
+# Build fails with -gtk
+# FIXME: add lasem to tree
+RDEPEND=">=dev-libs/glib-2.16:2
+ >=gnome-extra/libgsf-1.14.9
+ >=dev-libs/libxml2-2.4.12:2
+ >=x11-libs/pango-1.8.1
+ >=x11-libs/cairo-1.2[svg]
+ x11-libs/libXext
+ x11-libs/libXrender
+ >=x11-libs/gtk+-2.16:2
+ gnome? ( >=gnome-base/gconf-2:2 )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.18
+ >=dev-util/intltool-0.35
+ doc? ( >=dev-util/gtk-doc-1.11 )
+
+ dev-util/gtk-doc-am
+ gnome-base/gnome-common"
+# eautoreconf requires: gtk-doc-am, gnome-common
+
+pkg_setup() {
+ DOCS="AUTHORS BUGS ChangeLog MAINTAINERS NEWS README"
+
+ # Gsettings is still experimental
+ if use gnome; then
+ G2CONF="${G2CONF} --with-config-backend=gconf"
+ else
+ G2CONF="${G2CONF} --with-config-backend=keyfile"
+ fi
+
+ G2CONF="${G2CONF}
+ --without-lasem
+ --with-gtk"
+
+ filter-flags -ffast-math
+}
+
+src_prepare() {
+ # bug #404271, https://bugzilla.gnome.org/show_bug.cgi?id=670316
+ epatch "${FILESDIR}/${P}-no-pcre.patch"
+ eautoreconf
+ gnome2_src_prepare
+}