X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=pcre-shared.patch;h=c1b2627e27b3fa4c1a3c80e3d8874baf507e72c5;hb=01067183ae1af409c8f9484ce75b5725ef3504c8;hp=6bb1a70c158bcdd393c0ac94a6ec6fad1afdd149;hpb=47130bb86ff82df6ba9ec83597ffeacabc1d888a;p=packages%2Fphp.git diff --git a/pcre-shared.patch b/pcre-shared.patch index 6bb1a70..c1b2627 100644 --- a/pcre-shared.patch +++ b/pcre-shared.patch @@ -1,106 +1,176 @@ ---- php-5.3.1/ext/pcre/config0.m4 2009-11-30 22:09:24.385647500 +0000 -+++ php-5.3.24/ext/pcre/config0.m4 2013-04-17 13:37:52.761509001 +0300 -@@ -11,7 +11,7 @@ - - if test "$PHP_PCRE_REGEX" != "yes" && test "$PHP_PCRE_REGEX" != "no"; then - AC_MSG_CHECKING([for PCRE headers location]) -- for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre $PHP_PCRE_REGEX/local/include; do -+ for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre $PHP_PCRE_REGEX/local/include /usr/include; do - test -f $i/pcre.h && PCRE_INCDIR=$i - done - -@@ -21,7 +21,7 @@ - AC_MSG_RESULT([$PCRE_INCDIR]) - - AC_MSG_CHECKING([for PCRE library location]) -- for j in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/$PHP_LIBDIR; do -+ for j in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/$PHP_LIBDIR /usr/$PHP_LIBDIR; do - test -f $j/libpcre.a || test -f $j/libpcre.$SHLIB_SUFFIX_NAME && PCRE_LIBDIR=$j - done - -@@ -43,12 +43,14 @@ - AC_MSG_ERROR([The PCRE extension requires PCRE library version >= 6.6]) +diff -urN php-7.3.12.orig/ext/pcre/config0.m4 php-7.3.12/ext/pcre/config0.m4 +--- php-7.3.12.orig/ext/pcre/config0.m4 2019-12-12 21:43:24.775000000 +0100 ++++ php-7.3.12/ext/pcre/config0.m4 2019-12-12 21:43:36.336000000 +0100 +@@ -84,8 +84,9 @@ + ]) fi -- PHP_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR) -+ PHP_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR, PCRE_SHARED_LIBADD) - - AC_DEFINE(HAVE_PCRE, 1, [ ]) - PHP_ADD_INCLUDE($PCRE_INCDIR) -- PHP_NEW_EXTENSION(pcre, php_pcre.c, no) -+ PHP_NEW_EXTENSION(pcre, php_pcre.c, $ext_shared) -+ PHP_SUBST(PCRE_SHARED_LIBADD) +- PHP_NEW_EXTENSION(pcre, php_pcre.c, no,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) ++ PHP_NEW_EXTENSION(pcre, php_pcre.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) PHP_INSTALL_HEADERS([ext/pcre], [php_pcre.h]) -+ EXTRA_LIBS="$EXTRA_LIBS -lpcre" ++ EXTRA_LIBS="$EXTRA_LIBS -lpcre2-8" else AC_MSG_CHECKING([for PCRE library to use]) AC_MSG_RESULT([bundled]) ---- php-5.3.1/ext/pcre/php_pcre.h 2009-11-30 20:59:04.046581246 +0200 -+++ php-5.3.1.pcre/ext/pcre/php_pcre.h 2009-11-30 21:38:06.435493243 +0000 -@@ -34,7 +34,12 @@ - #endif - - PHPAPI char *php_pcre_replace(char *regex, int regex_len, char *subject, int subject_len, zval *replace_val, int is_callable_replace, int *result_len, int limit, int *replace_count TSRMLS_DC); +diff -urN php-7.3.12.orig/ext/pcre/php_pcre.c php-7.3.12/ext/pcre/php_pcre.c +--- php-7.3.12.orig/ext/pcre/php_pcre.c 2019-12-12 21:43:24.775000000 +0100 ++++ php-7.3.12/ext/pcre/php_pcre.c 2019-12-12 21:43:36.339000000 +0100 +@@ -19,6 +19,9 @@ + #include "php.h" + #include "php_ini.h" + #include "php_globals.h" +#if COMPILE_DL_PCRE -+#define pcre_get_compiled_regex pcre_get_compiled_regex_p -+extern PHPAPI pcre* (*pcre_get_compiled_regex)(char *regex, pcre_extra **extra, int *options TSRMLS_DC); -+#else - PHPAPI pcre* pcre_get_compiled_regex(char *regex, pcre_extra **extra, int *options TSRMLS_DC); ++#define COMPILE_DL_PCRE_NOREDIRECT +#endif - PHPAPI pcre* pcre_get_compiled_regex_ex(char *regex, pcre_extra **extra, int *preg_options, int *coptions TSRMLS_DC); - - extern zend_module_entry pcre_module_entry; ---- php-5.3.1/ext/pcre/php_pcre.c 2009-11-30 21:10:01.370473754 +0200 -+++ php-5.3.1.pcre/ext/pcre/php_pcre.c 2009-11-30 21:38:01.759684456 +0000 -@@ -27,6 +27,11 @@ - - #if HAVE_PCRE || HAVE_BUNDLED_PCRE + #include "php_pcre.h" + #include "ext/standard/info.h" + #include "ext/standard/basic_functions.h" +@@ -290,6 +293,17 @@ + pcre2_set_match_limit(mctx, (uint32_t)PCRE_G(backtrack_limit)); + } +#if COMPILE_DL_PCRE -+#undef pcre_get_compiled_regex -+PHPAPI pcre* pcre_get_compiled_regex(char *regex, pcre_extra **extra, int *preg_options TSRMLS_DC); ++ pcre_get_compiled_regex_p = pcre_get_compiled_regex; ++ pcre_get_compiled_regex_cache_p = pcre_get_compiled_regex_cache; ++ php_pcre_replace_impl_p = php_pcre_replace_impl; ++ php_pcre_match_impl_p = php_pcre_match_impl; ++ php_pcre_split_impl_p = php_pcre_split_impl; ++ php_pcre_create_match_data_p = php_pcre_create_match_data; ++ php_pcre_free_match_data_p = php_pcre_free_match_data; ++ php_pcre_mctx_p = php_pcre_mctx; +#endif + - #include "ext/standard/php_string.h" + return SUCCESS; + }/*}}}*/ - #define PREG_PATTERN_ORDER 1 -@@ -153,6 +158,10 @@ - REGISTER_LONG_CONSTANT("PREG_BAD_UTF8_OFFSET_ERROR", PHP_PCRE_BAD_UTF8_OFFSET_ERROR, CONST_CS | CONST_PERSISTENT); - REGISTER_STRING_CONSTANT("PCRE_VERSION", (char *)pcre_version(), CONST_CS | CONST_PERSISTENT); +diff -urN php-7.3.12.orig/ext/pcre/php_pcre.h php-7.3.12/ext/pcre/php_pcre.h +--- php-7.3.12.orig/ext/pcre/php_pcre.h 2019-12-12 21:43:24.777000000 +0100 ++++ php-7.3.12/ext/pcre/php_pcre.h 2019-12-12 21:45:10.506000000 +0100 +@@ -31,7 +31,35 @@ + #include + #endif -+#if COMPILE_DL_PCRE -+ pcre_get_compiled_regex_p = pcre_get_compiled_regex; ++#if !defined(COMPILE_DL_PCRE_NOREDIRECT) ++#define pcre_get_compiled_regex (*pcre_get_compiled_regex_p) ++#define pcre_get_compiled_regex_cache (*pcre_get_compiled_regex_cache_p) ++#define php_pcre_replace_impl (*php_pcre_replace_impl_p) ++#define php_pcre_match_impl (*php_pcre_match_impl_p) ++#define php_pcre_split_impl (*php_pcre_split_impl_p) ++#define php_pcre_create_match_data (*php_pcre_create_match_data_p) ++#define php_pcre_free_match_data (*php_pcre_free_match_data_p) ++#define php_pcre_mctx (*php_pcre_mctx_p) ++#if !defined(COMPILE_DL_PCRE_NOEXTERN) ++# define PCRE_EXTERN extern ++#else ++# define PCRE_EXTERN ++#endif ++#else ++// for pcre.c ++#define PCRE_EXTERN ++extern void *pcre_get_compiled_regex_p; ++extern void *pcre_get_compiled_regex_cache_p; ++extern void *php_pcre_replace_impl_p; ++extern void *php_pcre_match_impl_p; ++extern void *php_pcre_split_impl_p; ++extern void *php_pcre_create_match_data_p; ++extern void *php_pcre_free_match_data_p; ++extern void *php_pcre_mctx_p; +#endif + - return SUCCESS; - } - /* }}} */ -@@ -429,6 +438,7 @@ - } - /* }}} */ + PHPAPI zend_string *php_pcre_replace(zend_string *regex, zend_string *subject_str, char *subject, size_t subject_len, zend_string *replace_str, size_t limit, size_t *replace_count); ++PCRE_EXTERN + PHPAPI pcre2_code* pcre_get_compiled_regex(zend_string *regex, uint32_t *capture_count, uint32_t *options); + PHPAPI pcre2_code* pcre_get_compiled_regex_ex(zend_string *regex, uint32_t *capture_count, uint32_t *preg_options, uint32_t *coptions); -+ - /* {{{ pcre_get_compiled_regex - */ - PHPAPI pcre* pcre_get_compiled_regex(char *regex, pcre_extra **extra, int *preg_options TSRMLS_DC) ---- php-5.3.1/ext/standard/browscap.c 2009-06-06 02:40:49.000000000 +0000 -+++ php-5.3.1.pcre/ext/standard/browscap.c 2009-11-30 21:33:00.775241138 +0000 -@@ -31,6 +31,11 @@ - static zval *current_section; - static char *current_section_name; +@@ -43,21 +71,26 @@ + + typedef struct _pcre_cache_entry pcre_cache_entry; + ++PCRE_EXTERN + PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex); + PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache_ex(zend_string *regex, int locale_aware); + ++PCRE_EXTERN + PHPAPI void php_pcre_match_impl( pcre_cache_entry *pce, char *subject, size_t subject_len, zval *return_value, + zval *subpats, int global, int use_flags, zend_long flags, zend_off_t start_offset); + ++PCRE_EXTERN + PHPAPI zend_string *php_pcre_replace_impl(pcre_cache_entry *pce, zend_string *subject_str, char *subject, size_t subject_len, zend_string *replace_str, + size_t limit, size_t *replace_count); + ++PCRE_EXTERN + PHPAPI void php_pcre_split_impl( pcre_cache_entry *pce, zend_string *subject_str, zval *return_value, + zend_long limit_val, zend_long flags); + + PHPAPI void php_pcre_grep_impl( pcre_cache_entry *pce, zval *input, zval *return_value, + zend_long flags); + ++PCRE_EXTERN + PHPAPI pcre2_match_context *php_pcre_mctx(void); + PHPAPI pcre2_general_context *php_pcre_gctx(void); + PHPAPI pcre2_compile_context *php_pcre_cctx(void); +@@ -65,7 +98,9 @@ + PHPAPI void php_pcre_pce_decref(pcre_cache_entry *); + PHPAPI pcre2_code *php_pcre_pce_re(pcre_cache_entry *); + /* capture_count can be ignored, re is required. */ ++PCRE_EXTERN + PHPAPI pcre2_match_data *php_pcre_create_match_data(uint32_t, pcre2_code *); ++PCRE_EXTERN + PHPAPI void php_pcre_free_match_data(pcre2_match_data *); + + ZEND_BEGIN_MODULE_GLOBALS(pcre) +diff -urN php-7.3.12.orig/ext/phar/Makefile.frag php-7.3.12/ext/phar/Makefile.frag +--- php-7.3.12.orig/ext/phar/Makefile.frag 2019-12-12 21:43:24.654000000 +0100 ++++ php-7.3.12/ext/phar/Makefile.frag 2019-12-12 21:43:36.358000000 +0100 +@@ -14,7 +14,7 @@ + $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \ + if test "x$(PHP_MODULES)" != "x"; then \ + $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \ +- for i in spl bz2 zlib phar; do \ ++ for i in pcre spl bz2 zlib phar; do \ + if test -f "$(top_builddir)/modules/$$i.la"; then \ + . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \ + fi; \ +diff -urN php-7.3.12.orig/ext/standard/basic_functions.c php-7.3.12/ext/standard/basic_functions.c +--- php-7.3.12.orig/ext/standard/basic_functions.c 2019-12-12 21:43:24.765000000 +0100 ++++ php-7.3.12/ext/standard/basic_functions.c 2019-12-12 21:43:36.361000000 +0100 +@@ -112,6 +112,18 @@ + PHPAPI php_basic_globals basic_globals; + #endif +#if COMPILE_DL_PCRE -+// will be visible in here -+PHPAPI pcre* (*pcre_get_compiled_regex_p)(char *regex, pcre_extra **extra, int *options TSRMLS_DC); ++// Declare the pointers in core library ++void *pcre_get_compiled_regex_p; ++void *pcre_get_compiled_regex_cache_p; ++void *php_pcre_replace_impl_p; ++void *php_pcre_match_impl_p; ++void *php_pcre_split_impl_p; ++void *php_pcre_create_match_data_p; ++void *php_pcre_free_match_data_p; ++void *php_pcre_mctx_p; +#endif + - #define DEFAULT_SECTION_NAME "Default Browser Capability Settings" + #include "php_fopen_wrappers.h" + #include "streamsfuncs.h" + +diff -urN php-7.3.12.orig/main/php_ini.c php-7.3.12/main/php_ini.c +--- php-7.3.12.orig/main/php_ini.c 2019-12-12 21:43:24.549000000 +0100 ++++ php-7.3.12/main/php_ini.c 2019-12-12 21:43:36.364000000 +0100 +@@ -807,8 +807,8 @@ + */ + void php_ini_register_extensions(void) + { +- zend_llist_apply(&extension_lists.engine, php_load_zend_extension_cb); + zend_llist_apply(&extension_lists.functions, php_load_php_extension_cb); ++ zend_llist_apply(&extension_lists.engine, php_load_zend_extension_cb); - /* OBJECTS_FIXME: This whole extension needs going through. The use of objects looks pretty broken here */ ---- php-5.3.2/sapi/cli/tests/018.phpt~ 2008-03-17 16:05:39.000000000 +0200 -+++ php-5.3.2/sapi/cli/tests/018.phpt 2010-03-16 20:41:11.341251246 +0200 + zend_llist_destroy(&extension_lists.engine); + zend_llist_destroy(&extension_lists.functions); +diff -urN php-7.3.12.orig/sapi/cli/tests/018.phpt php-7.3.12/sapi/cli/tests/018.phpt +--- php-7.3.12.orig/sapi/cli/tests/018.phpt 2019-12-12 21:43:24.534000000 +0100 ++++ php-7.3.12/sapi/cli/tests/018.phpt 2019-12-12 21:43:36.364000000 +0100 @@ -20,8 +20,6 @@ - --EXPECTF-- + --EXPECTF-- [PHP Modules] %a -pcre