From f7674c211c50d488401d04bc6405ff6787cc86a7905affad908b14ece8b18c75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= Date: Tue, 1 Nov 2011 16:19:53 +0000 Subject: [PATCH] Accepting request 89878 from home:elvigia:branches:Base:System - Update to version 8.20 * too many fixes to list here, see included ChangeLog * replace pcre-visibility patch with the one I submitted to upstream for inclusion. OBS-URL: https://build.opensuse.org/request/show/89878 OBS-URL: https://build.opensuse.org/package/show/Base:System/pcre?expand=0&rev=29 --- pcre-8.13.tar.bz2 | 3 - pcre-8.20.tar.bz2 | 3 + pcre-visibility.patch | 204 ++++++++++++++++++++++++++++++++---------- pcre.changes | 8 ++ pcre.spec | 6 +- 5 files changed, 169 insertions(+), 55 deletions(-) delete mode 100644 pcre-8.13.tar.bz2 create mode 100644 pcre-8.20.tar.bz2 diff --git a/pcre-8.13.tar.bz2 b/pcre-8.13.tar.bz2 deleted file mode 100644 index 29d6dee..0000000 --- a/pcre-8.13.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3384624ea3281af5fc83400e1fd184e0bdd49e1705315faefd7cfe91b739b504 -size 1037903 diff --git a/pcre-8.20.tar.bz2 b/pcre-8.20.tar.bz2 new file mode 100644 index 0000000..453b77a --- /dev/null +++ b/pcre-8.20.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e06b0943ce4b0f15324a20020d6086760a75b72f5ad7c23b9b2bfe690ed49acd +size 1164103 diff --git a/pcre-visibility.patch b/pcre-visibility.patch index fd80c73..c00d2bb 100644 --- a/pcre-visibility.patch +++ b/pcre-visibility.patch @@ -1,53 +1,159 @@ ---- configure.ac.orig -+++ configure.ac -@@ -672,6 +672,44 @@ if test "$enable_pcretest_libreadline" = - fi - AC_SUBST(LIBREADLINE) +Index: configure.ac +=================================================================== +--- configure.ac (revisión: 741) ++++ configure.ac (copia de trabajo) +@@ -42,6 +42,7 @@ -+ -+ dnl ************************************************************ -+ dnl Enable hiding of internal symbols in library to reduce its size and -+ dnl speed dynamic linking of applications. This currently is only supported -+ dnl on gcc >= 4.0 and SunPro C. -+ dnl -+ AC_MSG_CHECKING([whether to enable hidden symbols in the library]) -+ AC_ARG_ENABLE(hidden-symbols, -+ AC_HELP_STRING([--enable-hidden-symbols],[Hide internal symbols in library]) -+ AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibility in library]), -+ [ case "$enableval" in -+ no) -+ AC_MSG_RESULT(no) -+ ;; -+ *) -+ AC_MSG_CHECKING([whether $CC supports it]) -+ if test "$GCC" = yes ; then -+ if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(PCRE_EXP_DECL, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) -+ AC_DEFINE(PCRE_EXP_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible]) -+ AC_DEFINE(PCRE_EXP_DATA_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible]) -+ AC_DEFINE(PCREPOSIX_EXP_DECL, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) -+ AC_DEFINE(PCREPOSIX_EXP_DEFN, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) -+ AC_DEFINE(PCRECPP_EXP_DECL, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) -+ AC_DEFINE(PCRECPP_EXP_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible]) -+ CFLAGS="$CFLAGS -fvisibility=hidden" -+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden" -+ else -+ AC_MSG_RESULT(no) -+ fi -+ -+ fi -+ ;; -+ esac ], -+ AC_MSG_RESULT(no) -+ ) -+ - # Produce these files, in addition to config.h. - AC_CONFIG_FILES( - Makefile ---- Makefile.am.orig -+++ Makefile.am -@@ -252,7 +252,7 @@ TESTS += RunGrepTest + AC_PROG_CC + AC_PROG_CXX ++PCRE_VISIBILITY + + if test "x$remember_set_CFLAGS" = "x" + then +Index: m4/visibility.m4 +=================================================================== +--- m4/visibility.m4 (revisión: 0) ++++ m4/visibility.m4 (revisión: 0) +@@ -0,0 +1,89 @@ ++# visibility.m4 serial 4 (gettext-0.18.2) ++dnl Copyright (C) 2005, 2008, 2010-2011 Free Software Foundation, Inc. ++dnl This file is free software; the Free Software Foundation ++dnl gives unlimited permission to copy and/or distribute it, ++dnl with or without modifications, as long as this notice is preserved. ++ ++dnl From Bruno Haible. ++ ++dnl Tests whether the compiler supports the command-line option ++dnl -fvisibility=hidden and the function and variable attributes ++dnl __attribute__((__visibility__("hidden"))) and ++dnl __attribute__((__visibility__("default"))). ++dnl Does *not* test for __visibility__("protected") - which has tricky ++dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on ++dnl MacOS X. ++dnl Does *not* test for __visibility__("internal") - which has processor ++dnl dependent semantics. ++dnl Does *not* test for #pragma GCC visibility push(hidden) - which is ++dnl "really only recommended for legacy code". ++dnl Set the variable CFLAG_VISIBILITY. ++dnl Defines and sets the variable HAVE_VISIBILITY. ++ ++dnl Modified to fit with PCRE build environment by Cristian Rodríguez. ++ ++AC_DEFUN([PCRE_VISIBILITY], ++[ ++ AC_REQUIRE([AC_PROG_CC]) ++ CFLAG_VISIBILITY= ++ CXXFLAG_INLINES_HIDDEN= ++ HAVE_VISIBILITY=0 ++ if test -n "$GCC"; then ++ dnl First, check whether -Werror can be added to the command line, or ++ dnl whether it leads to an error because of some other option that the ++ dnl user has put into $CC $CFLAGS $CPPFLAGS. ++ AC_MSG_CHECKING([whether the -Werror option is usable]) ++ AC_CACHE_VAL([gl_cv_cc_vis_werror], [ ++ gl_save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS -Werror" ++ AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM([[]], [[]])], ++ [gl_cv_cc_vis_werror=yes], ++ [gl_cv_cc_vis_werror=no]) ++ CFLAGS="$gl_save_CFLAGS"]) ++ AC_MSG_RESULT([$gl_cv_cc_vis_werror]) ++ dnl Now check whether visibility declarations are supported. ++ AC_MSG_CHECKING([for simple visibility declarations]) ++ AC_CACHE_VAL([gl_cv_cc_visibility], [ ++ gl_save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS -fvisibility=hidden" ++ dnl We use the option -Werror and a function dummyfunc, because on some ++ dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning ++ dnl "visibility attribute not supported in this configuration; ignored" ++ dnl at the first function definition in every compilation unit, and we ++ dnl don't want to use the option in this case. ++ if test $gl_cv_cc_vis_werror = yes; then ++ CFLAGS="$CFLAGS -Werror" ++ fi ++ AC_COMPILE_IFELSE( ++ [AC_LANG_PROGRAM( ++ [[extern __attribute__((__visibility__("hidden"))) int hiddenvar; ++ extern __attribute__((__visibility__("default"))) int exportedvar; ++ extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); ++ extern __attribute__((__visibility__("default"))) int exportedfunc (void); ++ void dummyfunc (void) {} ++ ]], ++ [[]])], ++ [gl_cv_cc_visibility=yes], ++ [gl_cv_cc_visibility=no]) ++ CFLAGS="$gl_save_CFLAGS"]) ++ AC_MSG_RESULT([$gl_cv_cc_visibility]) ++ if test $gl_cv_cc_visibility = yes; then ++ CFLAG_VISIBILITY="-fvisibility=hidden" ++ CXXFLAG_INLINES_HIDDEN="-fvisibility-inlines-hidden" ++ HAVE_VISIBILITY=1 ++ AC_DEFINE(PCRE_EXP_DECL, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) ++ AC_DEFINE(PCRE_EXP_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible]) ++ AC_DEFINE(PCRE_EXP_DATA_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible]) ++ AC_DEFINE(PCREPOSIX_EXP_DECL, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) ++ AC_DEFINE(PCREPOSIX_EXP_DEFN, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) ++ AC_DEFINE(PCRECPP_EXP_DECL, [extern __attribute__ ((visibility ("default")))], [to make a symbol visible]) ++ AC_DEFINE(PCRECPP_EXP_DEFN, [__attribute__ ((visibility ("default")))], [to make a symbol visible]) ++ fi ++ fi ++ AC_SUBST([CFLAG_VISIBILITY]) ++ AC_SUBST([CXXFLAG_INLINES_HIDDEN]) ++ AC_SUBST([HAVE_VISIBILITY]) ++ AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY], ++ [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.]) ++]) +Index: Makefile.am +=================================================================== +--- Makefile.am (revisión: 741) ++++ Makefile.am (copia de trabajo) +@@ -171,6 +171,9 @@ + + ## The main pcre library + lib_LTLIBRARIES += libpcre.la ++ ++libpcre_la_CFLAGS = $(CFLAG_VISIBILITY) ++ + libpcre_la_SOURCES = \ + pcre_compile.c \ + pcre_config.c \ +@@ -224,7 +227,7 @@ + sljit/sljitNativeX86_common.c \ + sljit/sljitUtils.c + +-libpcre_la_LDFLAGS = $(EXTRA_LIBPCRE_LDFLAGS) ++libpcre_la_LDFLAGS = -no-undefined $(EXTRA_LIBPCRE_LDFLAGS) + + CLEANFILES += pcre_chartables.c + +@@ -238,21 +241,23 @@ + + ## A version of the main pcre library that has a posix re API. + lib_LTLIBRARIES += libpcreposix.la ++libpcreposix_la_CFLAGS = $(CFLAG_VISIBILITY) + libpcreposix_la_SOURCES = \ + pcreposix.c +-libpcreposix_la_LDFLAGS = $(EXTRA_LIBPCREPOSIX_LDFLAGS) ++libpcreposix_la_LDFLAGS = -no-undefined $(EXTRA_LIBPCREPOSIX_LDFLAGS) + libpcreposix_la_LIBADD = libpcre.la + + ## There's a C++ library as well. + if WITH_PCRE_CPP + + lib_LTLIBRARIES += libpcrecpp.la ++libpcrecpp_la_CXXFLAGS = $(CFLAG_VISIBILITY) $(CXXFLAG_INLINES_HIDDEN) + libpcrecpp_la_SOURCES = \ + pcrecpp_internal.h \ + pcrecpp.cc \ + pcre_scanner.cc \ + pcre_stringpiece.cc +-libpcrecpp_la_LDFLAGS = $(EXTRA_LIBPCRECPP_LDFLAGS) ++libpcrecpp_la_LDFLAGS = -no-undefined $(EXTRA_LIBPCRECPP_LDFLAGS) + libpcrecpp_la_LIBADD = libpcre.la + + TESTS += pcrecpp_unittest +@@ -288,7 +293,7 @@ dist_noinst_SCRIPTS += RunGrepTest bin_PROGRAMS += pcregrep pcregrep_SOURCES = pcregrep.c diff --git a/pcre.changes b/pcre.changes index 20d1f7c..23eeb2c 100644 --- a/pcre.changes +++ b/pcre.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Nov 1 16:16:49 UTC 2011 - crrodriguez@opensuse.org + +- Update to version 8.20 + * too many fixes to list here, see included ChangeLog + * replace pcre-visibility patch with the one I submitted to + upstream for inclusion. + ------------------------------------------------------------------- Tue Oct 11 22:39:57 UTC 2011 - dmueller@suse.de diff --git a/pcre.spec b/pcre.spec index 3865e00..98ac0f6 100644 --- a/pcre.spec +++ b/pcre.spec @@ -20,7 +20,7 @@ Name: pcre BuildRequires: gcc-c++ pkg-config -Version: 8.13 +Version: 8.20 Release: 1 Summary: A library for Perl-compatible regular expressions License: BSD3c(or similar) ; Other uncritical OpenSource License @@ -34,6 +34,7 @@ Url: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%name-%version.tar.bz2 Source2: baselibs.conf BuildRoot: %{_tmppath}/%{name}-%{version}-build +#PATCH-FIX-UPSTREAM crrodriguez@opensuse.org http://bugs.exim.org/show_bug.cgi?id=1173 Patch: pcre-visibility.patch %description @@ -121,9 +122,8 @@ as Perl 5. %patch %build -mkdir m4 autoreconf -fiv -%configure --enable-hidden-symbols --disable-static \ +%configure --enable-jit --disable-static \ --with-link-size=2 \ --with-match-limit=10000000 \ --enable-newline-is-lf \