diff options
author | Remi Collet <remi@remirepo.net> | 2025-02-13 14:08:01 +0100 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2025-02-13 14:08:01 +0100 |
commit | d550df3eed2ae0260c7d62f5bb607b3bda1416e5 (patch) | |
tree | 8b063ac59898803d998063b92f4c3e0541176c49 | |
parent | 07be9faa56fa2a2c56390e0949f4ae0d4403c18c (diff) |
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
backport fix for ICU 74+
-rw-r--r-- | php-7.0.7-curl.patch | 15 | ||||
-rw-r--r-- | php-7.4.33-icu.patch | 35 | ||||
-rw-r--r-- | php-7.4.33-proto.patch | 392 | ||||
-rw-r--r-- | php.spec | 21 |
4 files changed, 440 insertions, 23 deletions
diff --git a/php-7.0.7-curl.patch b/php-7.0.7-curl.patch deleted file mode 100644 index 218db98..0000000 --- a/php-7.0.7-curl.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up php-7.0.7RC1/ext/curl/interface.c.curltls php-7.0.7RC1/ext/curl/interface.c ---- php-7.0.7RC1/ext/curl/interface.c.curltls 2016-05-10 17:28:33.000000000 +0200 -+++ php-7.0.7RC1/ext/curl/interface.c 2016-05-12 07:43:00.900419946 +0200 -@@ -1257,7 +1257,11 @@ PHP_MINIT_FUNCTION(curl) - - #if LIBCURL_VERSION_NUM >= 0x072200 /* Available since 7.34.0 */ - REGISTER_CURL_CONSTANT(CURLOPT_LOGIN_OPTIONS); -+#endif - -+#if LIBCURL_VERSION_NUM >= 0x071300 /* Available since 7.19.0 (in upstream curl 7.34) -+ backported in RHEL-7 curl-7.29.0-16.el7 rhbz#1012136 -+ backported in RHEL-6 curl-7.19.7-43.el6 rhbz#1036789 */ - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_TLSv1_0); - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_TLSv1_1); - REGISTER_CURL_CONSTANT(CURL_SSLVERSION_TLSv1_2); diff --git a/php-7.4.33-icu.patch b/php-7.4.33-icu.patch new file mode 100644 index 0000000..48940fd --- /dev/null +++ b/php-7.4.33-icu.patch @@ -0,0 +1,35 @@ +From cc46a4e6b5a413bab3e264c1dcaaf7052f54fbc4 Mon Sep 17 00:00:00 2001 +From: David Carlier <devnexen@gmail.com> +Date: Sat, 17 Feb 2024 21:38:21 +0000 +Subject: [PATCH] ext/intl: level up c++ runtime std for icu 74 and onwards. + +to align with what is required to build icu 74 itself. + +Close GH-14002 +--- + NEWS | 3 +++ + ext/intl/config.m4 | 11 ++++++++++- + 2 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/ext/intl/config.m4 b/ext/intl/config.m4 +index dd687bcd97de3..48f5147ca7bbf 100644 +--- a/ext/intl/config.m4 ++++ b/ext/intl/config.m4 +@@ -83,7 +83,16 @@ if test "$PHP_INTL" != "no"; then + breakiterator/codepointiterator_methods.cpp" + + PHP_REQUIRE_CXX() +- PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX) ++ ++ AC_MSG_CHECKING([if intl requires -std=gnu++17]) ++ AS_IF([test "$PKG_CONFIG icu-uc --atleast-version=74"],[ ++ AC_MSG_RESULT([yes]) ++ PHP_CXX_COMPILE_STDCXX(17, mandatory, PHP_INTL_STDCXX) ++ ],[ ++ AC_MSG_RESULT([no]) ++ PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX) ++ ]) ++ + PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $PHP_INTL_STDCXX $ICU_CXXFLAGS" + if test "$ext_shared" = "no"; then + PHP_ADD_SOURCES(PHP_EXT_DIR(intl), $PHP_INTL_CXX_SOURCES, $PHP_INTL_CXX_FLAGS) diff --git a/php-7.4.33-proto.patch b/php-7.4.33-proto.patch new file mode 100644 index 0000000..2e20717 --- /dev/null +++ b/php-7.4.33-proto.patch @@ -0,0 +1,392 @@ +From f566cba0bb6bd53b1d44d5097e68201412b00f7a Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@php.net> +Date: Thu, 25 Nov 2021 13:16:26 +0100 +Subject: [PATCH] fix [-Wstrict-prototypes] build warnings in ext/gd + +--- + ext/gd/config.m4 | 2 -- + ext/gd/gd.c | 58 ++++++++++++++++++++++++------------------------ + 2 files changed, 29 insertions(+), 31 deletions(-) + +diff -up a/ext/gd/gd.c.proto b/ext/gd/gd.c +--- a/ext/gd/gd.c.proto 2022-10-31 11:36:07.000000000 +0100 ++++ b/ext/gd/gd.c 2025-02-13 12:04:07.860118321 +0100 +@@ -138,9 +138,9 @@ static void php_image_filter_pixelate(IN + static void php_image_filter_scatter(INTERNAL_FUNCTION_PARAMETERS); + + /* End Section filters declarations */ +-static gdImagePtr _php_image_create_from_string (zval *Data, char *tn, gdImagePtr (*ioctx_func_p)()); +-static void _php_image_create_from(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, gdImagePtr (*func_p)(), gdImagePtr (*ioctx_func_p)()); +-static void _php_image_output(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, void (*func_p)()); ++static gdImagePtr _php_image_create_from_string (zval *Data, char *tn, gdImagePtr (*ioctx_func_p)(gdIOCtxPtr)); ++static void _php_image_create_from(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, gdImagePtr (*func_p)(FILE *), gdImagePtr (*ioctx_func_p)(gdIOCtxPtr)); ++static void _php_image_output(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn); + static int _php_image_type(char data[12]); + static void _php_image_convert(INTERNAL_FUNCTION_PARAMETERS, int image_type); + +@@ -2330,7 +2330,7 @@ static int _php_image_type (char data[12 + + /* {{{ _php_image_create_from_string + */ +-gdImagePtr _php_image_create_from_string(zval *data, char *tn, gdImagePtr (*ioctx_func_p)()) ++gdImagePtr _php_image_create_from_string(zval *data, char *tn, gdImagePtr (*ioctx_func_p)(gdIOCtxPtr)) + { + gdImagePtr im; + gdIOCtx *io_ctx; +@@ -2440,7 +2440,7 @@ PHP_FUNCTION(imagecreatefromstring) + + /* {{{ _php_image_create_from + */ +-static void _php_image_create_from(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, gdImagePtr (*func_p)(), gdImagePtr (*ioctx_func_p)()) ++static void _php_image_create_from(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, gdImagePtr (*func_p)(FILE *), gdImagePtr (*ioctx_func_p)(gdIOCtxPtr)) + { + char *file; + size_t file_len; +@@ -2477,7 +2477,7 @@ static void _php_image_create_from(INTER + if (FAILURE == php_stream_cast(stream, PHP_STREAM_AS_STDIO, (void**)&fp, REPORT_ERRORS)) { + goto out_err; + } +- } else if (ioctx_func_p) { ++ } else if (ioctx_func_p || image_type == PHP_GDIMG_TYPE_GD2PART) { + /* we can create an io context */ + gdIOCtx* io_ctx; + zend_string *buff; +@@ -2501,7 +2501,7 @@ static void _php_image_create_from(INTER + } + + if (image_type == PHP_GDIMG_TYPE_GD2PART) { +- im = (*ioctx_func_p)(io_ctx, srcx, srcy, width, height); ++ im = gdImageCreateFromGd2PartCtx(io_ctx, srcx, srcy, width, height); + } else { + im = (*ioctx_func_p)(io_ctx); + } +@@ -2519,7 +2519,7 @@ static void _php_image_create_from(INTER + if (!im && fp) { + switch (image_type) { + case PHP_GDIMG_TYPE_GD2PART: +- im = (*func_p)(fp, srcx, srcy, width, height); ++ im = gdImageCreateFromGd2Part(fp, srcx, srcy, width, height); + break; + #if defined(HAVE_GD_XPM) + case PHP_GDIMG_TYPE_XPM: +@@ -2608,7 +2608,7 @@ PHP_FUNCTION(imagecreatefromxbm) + Create a new image from XPM file or URL */ + PHP_FUNCTION(imagecreatefromxpm) + { +- _php_image_create_from(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_XPM, "XPM", gdImageCreateFromXpm, NULL); ++ _php_image_create_from(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_XPM, "XPM", NULL, NULL); + } + /* }}} */ + #endif +@@ -2641,7 +2641,7 @@ PHP_FUNCTION(imagecreatefromgd2) + Create a new image from a given part of GD2 file or URL */ + PHP_FUNCTION(imagecreatefromgd2part) + { +- _php_image_create_from(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GD2PART, "GD2", gdImageCreateFromGd2Part, gdImageCreateFromGd2PartCtx); ++ _php_image_create_from(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GD2PART, "GD2", NULL, NULL); + } + /* }}} */ + +@@ -2667,7 +2667,7 @@ PHP_FUNCTION(imagecreatefromtga) + + /* {{{ _php_image_output + */ +-static void _php_image_output(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, void (*func_p)()) ++static void _php_image_output(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn) + { + zval *imgind; + char *file = NULL; +@@ -2720,13 +2720,13 @@ static void _php_image_output(INTERNAL_F + gdImageWBMP(im, q, fp); + break; + case PHP_GDIMG_TYPE_GD: +- (*func_p)(im, fp); ++ gdImageGd(im, fp); + break; + case PHP_GDIMG_TYPE_GD2: + if (q == -1) { + q = 128; + } +- (*func_p)(im, fp, q, t); ++ gdImageGd2(im, fp, q, t); + break; + default: + ZEND_ASSERT(0); +@@ -2756,13 +2756,13 @@ static void _php_image_output(INTERNAL_F + gdImageWBMP(im, q, tmp); + break; + case PHP_GDIMG_TYPE_GD: +- (*func_p)(im, tmp); ++ gdImageGd(im, tmp); + break; + case PHP_GDIMG_TYPE_GD2: + if (q == -1) { + q = 128; + } +- (*func_p)(im, tmp, q, t); ++ gdImageGd2(im, tmp, q, t); + break; + default: + ZEND_ASSERT(0); +@@ -2786,7 +2786,7 @@ static void _php_image_output(INTERNAL_F + Output XBM image to browser or file */ + PHP_FUNCTION(imagexbm) + { +- _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_XBM, "XBM", gdImageXbmCtx); ++ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_XBM, "XBM"); + } + /* }}} */ + +@@ -2794,7 +2794,7 @@ PHP_FUNCTION(imagexbm) + Output GIF image to browser or file */ + PHP_FUNCTION(imagegif) + { +- _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF", gdImageGifCtx); ++ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GIF, "GIF"); + } + /* }}} */ + +@@ -2803,7 +2803,7 @@ PHP_FUNCTION(imagegif) + Output PNG image to browser or file */ + PHP_FUNCTION(imagepng) + { +- _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_PNG, "PNG", gdImagePngCtxEx); ++ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_PNG, "PNG"); + } + /* }}} */ + #endif /* HAVE_GD_PNG */ +@@ -2814,7 +2814,7 @@ PHP_FUNCTION(imagepng) + Output WEBP image to browser or file */ + PHP_FUNCTION(imagewebp) + { +- _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_WEBP, "WEBP", gdImageWebpCtx); ++ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_WEBP, "WEBP"); + } + /* }}} */ + #endif /* HAVE_GD_WEBP */ +@@ -2825,7 +2825,7 @@ PHP_FUNCTION(imagewebp) + Output JPEG image to browser or file */ + PHP_FUNCTION(imagejpeg) + { +- _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_JPG, "JPEG", gdImageJpegCtx); ++ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_JPG, "JPEG"); + } + /* }}} */ + #endif /* HAVE_GD_JPG */ +@@ -2834,7 +2834,7 @@ PHP_FUNCTION(imagejpeg) + Output WBMP image to browser or file */ + PHP_FUNCTION(imagewbmp) + { +- _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_WBM, "WBMP", gdImageWBMPCtx); ++ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_WBM, "WBMP"); + } + /* }}} */ + +@@ -2842,7 +2842,7 @@ PHP_FUNCTION(imagewbmp) + Output GD image to browser or file */ + PHP_FUNCTION(imagegd) + { +- _php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GD, "GD", gdImageGd); ++ _php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GD, "GD"); + } + /* }}} */ + +@@ -2850,7 +2850,7 @@ PHP_FUNCTION(imagegd) + Output GD2 image to browser or file */ + PHP_FUNCTION(imagegd2) + { +- _php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GD2, "GD2", gdImageGd2); ++ _php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_GD2, "GD2"); + } + /* }}} */ + +@@ -2859,7 +2859,7 @@ PHP_FUNCTION(imagegd2) + Output BMP image to browser or file */ + PHP_FUNCTION(imagebmp) + { +- _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_BMP, "BMP", gdImageBmpCtx); ++ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_BMP, "BMP"); + } + /* }}} */ + #endif +@@ -4146,7 +4146,7 @@ static void php_imagettftext_common(INTE + Output WBMP image to browser or file */ + PHP_FUNCTION(image2wbmp) + { +- _php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_CONVERT_WBM, "WBMP", NULL); ++ _php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_CONVERT_WBM, "WBMP"); + } + /* }}} */ + +diff -up a/ext/gd/gd_ctx.c.proto b/ext/gd/gd_ctx.c +--- a/ext/gd/gd_ctx.c.proto 2025-02-13 11:42:48.478248591 +0100 ++++ b/ext/gd/gd_ctx.c 2025-02-13 11:52:48.325740296 +0100 +@@ -77,7 +77,7 @@ static void _php_image_stream_ctxfreeand + } /* }}} */ + + /* {{{ _php_image_output_ctx */ +-static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn, void (*func_p)()) ++static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type, char *tn) + { + zval *imgind; + char *file = NULL; +@@ -177,16 +177,20 @@ static void _php_image_output_ctx(INTERN + + switch(image_type) { + case PHP_GDIMG_TYPE_JPG: +- (*func_p)(im, ctx, q); ++ gdImageJpegCtx(im, ctx, q); + break; + case PHP_GDIMG_TYPE_WEBP: + if (q == -1) { + q = 80; + } +- (*func_p)(im, ctx, q); ++ gdImageWebpCtx(im, ctx, q); + break; + case PHP_GDIMG_TYPE_PNG: +- (*func_p)(im, ctx, q, f); ++#ifdef HAVE_GD_BUNDLED ++ gdImagePngCtxEx(im, ctx, q, f); ++#else ++ gdImagePngCtxEx(im, ctx, q); ++#endif + break; + case PHP_GDIMG_TYPE_XBM: + case PHP_GDIMG_TYPE_WBM: +@@ -197,16 +201,16 @@ static void _php_image_output_ctx(INTERN + q = i; + } + if (image_type == PHP_GDIMG_TYPE_XBM) { +- (*func_p)(im, file ? file : "", q, ctx); ++ gdImageXbmCtx(im, file ? file : "", q, ctx); + } else { +- (*func_p)(im, q, ctx); ++ gdImageWBMPCtx(im, q, ctx); + } + break; + case PHP_GDIMG_TYPE_BMP: +- (*func_p)(im, ctx, (int) compressed); ++ gdImageBmpCtx(im, ctx, (int) compressed); + break; +- default: +- (*func_p)(im, ctx); ++ case PHP_GDIMG_TYPE_GIF: ++ gdImageGifCtx(im, ctx); + break; + } + +From b7356692f69f4ac0a07ea54e83debdd04b426dcb Mon Sep 17 00:00:00 2001 +From: George Peter Banyard <girgias@php.net> +Date: Wed, 12 May 2021 14:41:11 +0100 +Subject: [PATCH] Specify function pointer signature for scanf implementation + +Fix [-Wstrict-prototypes] warnings in standard/scanf.c +--- + ext/standard/scanf.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/ext/standard/scanf.c b/ext/standard/scanf.c +index f58b4195cc599..78ecc1642cf92 100644 +--- a/ext/standard/scanf.c ++++ b/ext/standard/scanf.c +@@ -108,6 +108,8 @@ typedef struct CharSet { + } *ranges; + } CharSet; + ++typedef zend_long (*int_string_formater)(const char*, char**, int); ++ + /* + * Declarations for functions used only in this file. + */ +@@ -585,7 +587,7 @@ PHPAPI int php_sscanf_internal( char *string, char *format, + int base = 0; + int underflow = 0; + size_t width; +- zend_long (*fn)() = NULL; ++ int_string_formater fn = NULL; + char *ch, sch; + int flags; + char buf[64]; /* Temporary buffer to hold scanned number +@@ -750,29 +752,29 @@ PHPAPI int php_sscanf_internal( char *string, char *format, + case 'D': + op = 'i'; + base = 10; +- fn = (zend_long (*)())ZEND_STRTOL_PTR; ++ fn = (int_string_formater)ZEND_STRTOL_PTR; + break; + case 'i': + op = 'i'; + base = 0; +- fn = (zend_long (*)())ZEND_STRTOL_PTR; ++ fn = (int_string_formater)ZEND_STRTOL_PTR; + break; + case 'o': + op = 'i'; + base = 8; +- fn = (zend_long (*)())ZEND_STRTOL_PTR; ++ fn = (int_string_formater)ZEND_STRTOL_PTR; + break; + case 'x': + case 'X': + op = 'i'; + base = 16; +- fn = (zend_long (*)())ZEND_STRTOL_PTR; ++ fn = (int_string_formater)ZEND_STRTOL_PTR; + break; + case 'u': + op = 'i'; + base = 10; + flags |= SCAN_UNSIGNED; +- fn = (zend_long (*)())ZEND_STRTOUL_PTR; ++ fn = (int_string_formater)ZEND_STRTOUL_PTR; + break; + + case 'f': +From 2068d230d981d7b06b41b87ebc37ab2581b79852 Mon Sep 17 00:00:00 2001 +From: George Peter Banyard <girgias@php.net> +Date: Wed, 12 May 2021 18:54:57 +0100 +Subject: [PATCH] Fix [-Wstrict-prototypes] warning in PCNTL extension + +To achieve this we need to introduce a new wrapper function with +dummy arguments which calls pcntl_signal_dispatch() to respect +the function pointer signature for a tick function. +--- + ext/pcntl/pcntl.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/ext/pcntl/pcntl.c b/ext/pcntl/pcntl.c +index 1e8690ae75144..c116eff7d034a 100644 +--- a/ext/pcntl/pcntl.c ++++ b/ext/pcntl/pcntl.c +@@ -252,7 +252,8 @@ static void pcntl_siginfo_to_zval(int, s + #else + static void pcntl_signal_handler(int); + #endif +-static void pcntl_signal_dispatch(); ++static void pcntl_signal_dispatch(void); ++static void pcntl_signal_dispatch_tick_function(int dummy_int, void *dummy_pointer); + static void pcntl_interrupt_function(zend_execute_data *execute_data); + + void php_register_signal_constants(INIT_FUNC_ARGS) +@@ -587,7 +588,7 @@ static PHP_GINIT_FUNCTION(pcntl) + + PHP_RINIT_FUNCTION(pcntl) + { +- php_add_tick_function(pcntl_signal_dispatch, NULL); ++ php_add_tick_function(pcntl_signal_dispatch_tick_function, NULL); + zend_hash_init(&PCNTL_G(php_signal_table), 16, NULL, ZVAL_PTR_DTOR, 0); + PCNTL_G(head) = PCNTL_G(tail) = PCNTL_G(spares) = NULL; + PCNTL_G(async_signals) = 0; +@@ -1549,6 +1550,11 @@ void pcntl_signal_dispatch() + sigprocmask(SIG_SETMASK, &old_mask, NULL); + } + ++static void pcntl_signal_dispatch_tick_function(int dummy_int, void *dummy_pointer) ++{ ++ return pcntl_signal_dispatch(); ++} ++ + /* {{{ proto bool pcntl_async_signals([bool on[) + Enable/disable asynchronous signal handling and return the old setting. */ + PHP_FUNCTION(pcntl_async_signals) @@ -50,12 +50,12 @@ %global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock) %ifarch aarch64 -%global oraclever 19.24 +%global oraclever 19.25 %global oraclemax 20 %global oraclelib 19.1 -%global oracledir 19.24 +%global oracledir 19.25 %else -%global oraclever 23.6 +%global oraclever 23.7 %global oraclemax 24 %global oraclelib 23.1 %global oracledir 23 @@ -125,7 +125,7 @@ Summary: PHP scripting language for creating dynamic web sites Name: %{?scl_prefix}php Version: %{upver}%{?rcver:~%{rcver}}%{?gh_date:.%{gh_date}} -Release: 21%{?dist} +Release: 22%{?dist} # All files licensed under PHP version 3.01, except # Zend is licensed under Zend # TSRM is licensed under BSD @@ -168,8 +168,11 @@ Patch6: php-7.4.0-embed.patch # For libxml 2.12 from 8.1 Patch7: php-7.4.33-libxml212.patch Patch8: php-7.2.0-libdb.patch -Patch9: php-7.0.7-curl.patch Patch10: php-7.4.33-gcc14.patch +# For recent ICU from 8.2 +Patch11: php-7.4.33-icu.patch +# Fix strict prototypes from 8.1 +Patch12: php-7.4.33-proto.patch # Functional changes Patch42: php-7.3.3-systzdata-v19.patch @@ -982,10 +985,9 @@ in pure PHP. %patch -P6 -p1 -b .embed %patch -P7 -p1 -b .libxml212 %patch -P8 -p1 -b .libdb -%if 0%{?rhel} == 7 -%patch -P9 -p1 -b .curltls -%endif %patch -P10 -p1 -b .gcc14 +%patch -P11 -p1 -b .icu +%patch -P12 -p1 -b .proto %patch -P42 -p1 -b .systzdata %patch -P43 -p1 -b .headers @@ -1915,6 +1917,9 @@ EOF %changelog +* Thu Feb 13 2025 Remi Collet <remi@remirepo.net> - 7.4.33-22 +- backport fix for ICU 74+ + * Wed Nov 27 2024 Remi Collet <remi@remirepo.net> - 7.4.33-21 - Fix Leak partial content of the heap through heap buffer over-read CVE-2024-8929 |