diff --git a/.gitignore b/.gitignore index 27f9944..7a590cd 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ TODO php-5.*.xz php-7.*.xz php-7.*.xz.asc +/php-8.0.3.tar.xz +/php-8.0.3.tar.xz.asc diff --git a/php-5.6.3-datetests.patch b/php-5.6.3-datetests.patch deleted file mode 100644 index a29bb63..0000000 --- a/php-5.6.3-datetests.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/ext/date/tests/bug66985.phpt 2014-10-30 07:32:03.297693403 +0100 -+++ b/ext/date/tests/bug66985.phpt 2014-10-30 07:32:45.138877977 +0100 -@@ -3,7 +3,7 @@ - --FILE-- - 3 -- [timezone] => Factory --) --DateTimeZone Object --( - [timezone_type] => 3 - [timezone] => GB-Eire - ) diff --git a/php-7.4.0-datetests.patch b/php-7.4.0-datetests.patch new file mode 100644 index 0000000..8c437e5 --- /dev/null +++ b/php-7.4.0-datetests.patch @@ -0,0 +1,98 @@ +diff -up ./ext/date/tests/bug33414-2.phpt.datetests ./ext/date/tests/bug33414-2.phpt +--- ./ext/date/tests/bug33414-2.phpt.datetests 2020-04-09 14:06:11.000000000 +0200 ++++ ./ext/date/tests/bug33414-2.phpt 2020-04-09 14:40:00.809433489 +0200 +@@ -74,10 +74,10 @@ $strtotime_tstamp = strtotime("next Frid + print "result=".date("l Y-m-d H:i:s T I", $strtotime_tstamp)."\n"; + print "wanted=Friday 00:00:00\n\n"; + ?> +---EXPECT-- ++--EXPECTF-- + TZ=Pacific/Rarotonga - wrong day. +-tStamp=Thursday 1970-01-01 17:17:17 -1030 0 +-result=Tuesday 1970-01-06 00:00:00 -1030 0 ++tStamp=Thursday 1970-01-01 17:17:17 %s ++result=Tuesday 1970-01-06 00:00:00 %s + wanted=Tuesday 00:00:00 + + TZ=Atlantic/South_Georgia - wrong day. +@@ -91,13 +91,13 @@ result=Monday 2005-04-04 00:00:00 EDT 1 + wanted=Monday 00:00:00 + + TZ=Pacific/Enderbury - wrong day, off by 2 days. +-tStamp=Thursday 1970-01-01 17:17:17 -12 0 +-result=Monday 1970-01-05 00:00:00 -12 0 ++tStamp=Thursday 1970-01-01 17:17:17 %s ++result=Monday 1970-01-05 00:00:00 %s + wanted=Monday 00:00:00 + + TZ=Pacific/Kiritimati - wrong day, off by 2 days. +-tStamp=Thursday 1970-01-01 17:17:17 -1040 0 +-result=Monday 1970-01-05 00:00:00 -1040 0 ++tStamp=Thursday 1970-01-01 17:17:17 %s ++result=Monday 1970-01-05 00:00:00 %s + wanted=Monday 00:00:00 + + TZ=America/Managua - wrong day. +@@ -106,13 +106,13 @@ result=Tuesday 2005-04-12 00:00:00 CDT 1 + wanted=Tuesday 00:00:00 + + TZ=Pacific/Pitcairn - wrong day. +-tStamp=Thursday 1970-01-01 17:17:17 -0830 0 +-result=Wednesday 1970-01-07 00:00:00 -0830 0 ++tStamp=Thursday 1970-01-01 17:17:17 %s ++result=Wednesday 1970-01-07 00:00:00 %s + wanted=Wednesday 00:00:00 + + TZ=Pacific/Fakaofo - wrong day. +-tStamp=Thursday 1970-01-01 17:17:17 -11 0 +-result=Saturday 1970-01-03 00:00:00 -11 0 ++tStamp=Thursday 1970-01-01 17:17:17 %s ++result=Saturday 1970-01-03 00:00:00 %s + wanted=Saturday 00:00:00 + + TZ=Pacific/Johnston - wrong day. +diff -up ./ext/date/tests/bug66985.phpt.datetests ./ext/date/tests/bug66985.phpt +--- ./ext/date/tests/bug66985.phpt.datetests 2020-04-09 14:06:11.000000000 +0200 ++++ ./ext/date/tests/bug66985.phpt 2020-04-09 14:40:37.099288185 +0200 +@@ -3,7 +3,7 @@ Bug #66985 (Some timezones are no longer + --FILE-- + 3 +- [timezone] => Factory +-) +-DateTimeZone Object +-( + [timezone_type] => 3 + [timezone] => GB-Eire + ) +diff -up ./ext/date/tests/strtotime3-64bit.phpt.datetests ./ext/date/tests/strtotime3-64bit.phpt +--- ./ext/date/tests/strtotime3-64bit.phpt.datetests 2020-04-09 14:06:11.000000000 +0200 ++++ ./ext/date/tests/strtotime3-64bit.phpt 2020-04-09 14:40:00.809433489 +0200 +@@ -44,7 +44,7 @@ foreach ($strs as $str) { + } + + ?> +---EXPECT-- ++--EXPECTF-- + bool(false) + bool(false) + string(31) "Thu, 15 Jun 2006 00:00:00 +0100" +@@ -53,7 +53,7 @@ bool(false) + string(31) "Fri, 16 Jun 2006 23:49:12 +0100" + bool(false) + string(31) "Fri, 16 Jun 2006 02:22:00 +0100" +-string(31) "Sun, 16 Jun 0222 02:22:00 -0036" ++string(31) "Sun, 16 Jun 0222 02:22:00 %s" + string(31) "Fri, 16 Jun 2006 02:22:33 +0100" + bool(false) + string(31) "Tue, 02 Mar 2004 00:00:00 +0000" diff --git a/php-7.2.0-libdb.patch b/php-7.4.0-libdb.patch similarity index 78% rename from php-7.2.0-libdb.patch rename to php-7.4.0-libdb.patch index ca36d1a..d7c6289 100644 --- a/php-7.2.0-libdb.patch +++ b/php-7.4.0-libdb.patch @@ -1,7 +1,7 @@ -diff -up php-7.2.0alpha0/ext/dba/config.m4.libdb php-7.2.0alpha0/ext/dba/config.m4 ---- php-7.2.0alpha0/ext/dba/config.m4.libdb 2017-05-29 08:56:06.000000000 +0200 -+++ php-7.2.0alpha0/ext/dba/config.m4 2017-05-29 09:13:52.014823282 +0200 -@@ -346,61 +346,13 @@ if test "$PHP_DB4" != "no"; then +diff -up ./ext/dba/config.m4.libdb ./ext/dba/config.m4 +--- ./ext/dba/config.m4.libdb 2020-04-09 14:06:11.000000000 +0200 ++++ ./ext/dba/config.m4 2020-04-09 14:35:08.208605065 +0200 +@@ -375,61 +375,13 @@ if test "$PHP_DB4" != "no"; then dbdp4="/usr/local/BerkeleyDB.4." dbdp5="/usr/local/BerkeleyDB.5." for i in $PHP_DB4 ${dbdp5}1 ${dbdp5}0 ${dbdp4}8 ${dbdp4}7 ${dbdp4}6 ${dbdp4}5 ${dbdp4}4 ${dbdp4}3 ${dbdp4}2 ${dbdp4}1 ${dbdp}0 /usr/local /usr; do @@ -65,21 +65,21 @@ diff -up php-7.2.0alpha0/ext/dba/config.m4.libdb php-7.2.0alpha0/ext/dba/config. fi PHP_DBA_STD_RESULT(db4,Berkeley DB4) -diff -up php-7.2.0alpha0/ext/dba/dba.c.libdb php-7.2.0alpha0/ext/dba/dba.c ---- php-7.2.0alpha0/ext/dba/dba.c.libdb 2017-05-29 09:16:15.736628202 +0200 -+++ php-7.2.0alpha0/ext/dba/dba.c 2017-05-29 09:16:20.494654746 +0200 -@@ -53,6 +53,10 @@ - #include "php_tcadb.h" +diff -up ./ext/dba/dba.c.libdb ./ext/dba/dba.c +--- ./ext/dba/dba.c.libdb 2020-04-09 14:06:11.000000000 +0200 ++++ ./ext/dba/dba.c 2020-04-09 14:36:30.593275190 +0200 +@@ -50,6 +50,10 @@ #include "php_lmdb.h" + #include "dba_arginfo.h" +#ifdef DB4_INCLUDE_FILE +#include DB4_INCLUDE_FILE +#endif + - /* {{{ arginfo */ - ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2) - ZEND_ARG_INFO(0, path) -@@ -558,6 +562,10 @@ PHP_MINFO_FUNCTION(dba) + PHP_MINIT_FUNCTION(dba); + PHP_MSHUTDOWN_FUNCTION(dba); + PHP_MINFO_FUNCTION(dba); +@@ -459,6 +463,10 @@ PHP_MINFO_FUNCTION(dba) php_info_print_table_start(); php_info_print_table_row(2, "DBA support", "enabled"); diff --git a/php-7.4.8-phpinfo.patch b/php-7.4.8-phpinfo.patch deleted file mode 100644 index 9b7175e..0000000 --- a/php-7.4.8-phpinfo.patch +++ /dev/null @@ -1,76 +0,0 @@ - -Drop "Configure Command" from phpinfo as it doesn't -provide any useful information. -The available extensions are not related to this command. - -diff -up a/ext/standard/info.c.phpinfo v/ext/standard/info.c ---- a/ext/standard/info.c.phpinfo 2015-08-18 23:39:24.000000000 +0200 -+++ b/ext/standard/info.c 2015-08-22 07:56:18.344761928 +0200 -@@ -809,9 +809,6 @@ PHPAPI void php_print_info(int flag) - #ifdef ARCHITECTURE - php_info_print_table_row(2, "Architecture", ARCHITECTURE); - #endif --#ifdef CONFIGURE_COMMAND -- php_info_print_table_row(2, "Configure Command", CONFIGURE_COMMAND ); --#endif - - if (sapi_module.pretty_name) { - php_info_print_table_row(2, "Server API", sapi_module.pretty_name ); -diff -up a/ext/standard/tests/general_functions/phpinfo.phpt.phpinfo b/ext/standard/tests/general_functions/phpinfo.phpt ---- a/ext/standard/tests/general_functions/phpinfo.phpt.phpinfo 2015-08-18 23:39:22.000000000 +0200 -+++ b/ext/standard/tests/general_functions/phpinfo.phpt 2015-08-22 07:56:18.344761928 +0200 -@@ -20,7 +20,6 @@ PHP Version => %s - - System => %s - Build Date => %s%a --Configure Command => %s - Server API => Command Line Interface - Virtual Directory Support => %s - Configuration File (php.ini) Path => %s - - -Backported from 8.0: - -From ad0d2e438fddc089917e71e5d8909d145db9da8a Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Fri, 3 Jul 2020 10:08:09 +0200 -Subject: [PATCH] display info about system used to build and its provider - ---- - configure.ac | 5 +++++ - ext/standard/info.c | 6 ++++++ - 2 files changed, 11 insertions(+) - -diff --git a/configure.ac b/configure.ac -index d9e6329314a3..77f12a55569a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1328,6 +1328,11 @@ PHP_UNAME=${PHP_UNAME:-$UNAME} - AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output]) - PHP_OS=`uname | xargs` - AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output]) -+PHP_BUILD_SYSTEM=${PHP_BUILD_SYSTEM:-$PHP_UNAME} -+AC_DEFINE_UNQUOTED(PHP_BUILD_SYSTEM,"$PHP_BUILD_SYSTEM",[builder uname output]) -+if test -n "${PHP_BUILD_PROVIDER}"; then -+ AC_DEFINE_UNQUOTED(PHP_BUILD_PROVIDER,"$PHP_BUILD_PROVIDER",[build provider]) -+fi - - PHP_SUBST_OLD(PHP_INSTALLED_SAPIS) - -diff --git a/ext/standard/info.c b/ext/standard/info.c -index 262e95ae2731..f652efd23657 100644 ---- a/ext/standard/info.c -+++ b/ext/standard/info.c -@@ -803,6 +803,12 @@ PHPAPI ZEND_COLD void php_print_info(int flag) - php_info_print_table_start(); - php_info_print_table_row(2, "System", ZSTR_VAL(php_uname)); - php_info_print_table_row(2, "Build Date", __DATE__ " " __TIME__); -+#ifdef PHP_BUILD_SYSTEM -+ php_info_print_table_row(2, "Build System", PHP_BUILD_SYSTEM); -+#endif -+#ifdef PHP_BUILD_PROVIDER -+ php_info_print_table_row(2, "Build Provider", PHP_BUILD_PROVIDER); -+#endif - #ifdef COMPILER - php_info_print_table_row(2, "Compiler", COMPILER); - #endif diff --git a/php-7.4.0-embed.patch b/php-8.0.0-embed.patch similarity index 55% rename from php-7.4.0-embed.patch rename to php-8.0.0-embed.patch index d66d396..27533ea 100644 --- a/php-7.4.0-embed.patch +++ b/php-8.0.0-embed.patch @@ -1,24 +1,25 @@ ---- php-5.6.3/sapi/embed/config.m4.embed -+++ php-5.6.3/sapi/embed/config.m4 -@@ -11,7 +11,8 @@ if test "$PHP_EMBED" != "no"; then - case "$PHP_EMBED" in +diff -up ./sapi/embed/config.m4.embed ./sapi/embed/config.m4 +--- ./sapi/embed/config.m4.embed 2020-07-07 13:51:05.879764972 +0200 ++++ ./sapi/embed/config.m4 2020-07-07 13:52:50.128412148 +0200 +@@ -12,7 +12,8 @@ if test "$PHP_EMBED" != "no"; then yes|shared) + LIBPHP_CFLAGS="-shared" PHP_EMBED_TYPE=shared - INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(prefix)/lib; \$(INSTALL) -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)\$(prefix)/lib" + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -release \$(PHP_MAJOR_VERSION).\$(PHP_MINOR_VERSION)" + INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(libdir); \$(LIBTOOL) --mode=install \$(INSTALL) -m 0755 \$(OVERALL_TARGET) \$(INSTALL_ROOT)\$(libdir)" ;; static) - PHP_EMBED_TYPE=static -diff -up php-5.5.30/scripts/php-config.in.old php-5.5.30/scripts/php-config.in ---- php-5.5.30/scripts/php-config.in.old 2015-10-19 15:17:31.944747715 +0200 -+++ php-5.5.30/scripts/php-config.in 2015-10-19 15:17:58.278858083 +0200 + LIBPHP_CFLAGS="-static" +diff -up ./scripts/php-config.in.embed ./scripts/php-config.in +--- ./scripts/php-config.in.embed 2020-07-07 12:54:42.000000000 +0200 ++++ ./scripts/php-config.in 2020-07-07 13:51:05.880764968 +0200 @@ -18,7 +18,7 @@ exe_extension="@EXEEXT@" php_cli_binary=NONE php_cgi_binary=NONE configure_options="@CONFIGURE_OPTIONS@" -php_sapis="@PHP_INSTALLED_SAPIS@" -+php_sapis="apache2handler fpm phpdbg @PHP_INSTALLED_SAPIS@" ++php_sapis="apache2handler litespeed fpm phpdbg @PHP_INSTALLED_SAPIS@" ini_dir="@EXPANDED_PHP_CONFIG_FILE_SCAN_DIR@" ini_path="@EXPANDED_PHP_CONFIG_FILE_PATH@" diff --git a/php-8.0.0-parser.patch b/php-8.0.0-parser.patch new file mode 100644 index 0000000..f5da3b5 --- /dev/null +++ b/php-8.0.0-parser.patch @@ -0,0 +1,16 @@ +diff -up ./build/gen_stub.php.syslib ./build/gen_stub.php +--- ./build/gen_stub.php.syslib 2020-06-25 08:11:51.782046813 +0200 ++++ ./build/gen_stub.php 2020-06-25 08:13:11.188860368 +0200 +@@ -1075,6 +1075,12 @@ function initPhpParser() { + } + + $isInitialized = true; ++ ++ if (file_exists('/usr/share/php/PhpParser4/autoload.php')) { ++ require_once '/usr/share/php/PhpParser4/autoload.php'; ++ return; ++ } ++ + $version = "4.9.0"; + $phpParserDir = __DIR__ . "/PHP-Parser-$version"; + if (!is_dir($phpParserDir)) { diff --git a/php-8.0.0-phpinfo.patch b/php-8.0.0-phpinfo.patch new file mode 100644 index 0000000..391d996 --- /dev/null +++ b/php-8.0.0-phpinfo.patch @@ -0,0 +1,118 @@ + +Drop "Configure Command" from phpinfo as it doesn't +provide any useful information. +The available extensions are not related to this command. + +Replace full GCC name by gcc in php -v output + + +Also apply + +From 9bf43c45908433d382f0499d529849172d0d8206 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Mon, 28 Dec 2020 08:33:09 +0100 +Subject: [PATCH] rename COMPILER and ARCHITECTURE macro (too generic) + +--- + configure.ac | 4 ++-- + ext/standard/info.c | 8 ++++---- + sapi/cli/php_cli.c | 8 ++++---- + win32/build/confutils.js | 10 +++++----- + 4 files changed, 15 insertions(+), 15 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9d9c8b155b07..143dc061346b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1289,10 +1289,10 @@ if test -n "${PHP_BUILD_PROVIDER}"; then + AC_DEFINE_UNQUOTED(PHP_BUILD_PROVIDER,"$PHP_BUILD_PROVIDER",[build provider]) + fi + if test -n "${PHP_BUILD_COMPILER}"; then +- AC_DEFINE_UNQUOTED(COMPILER,"$PHP_BUILD_COMPILER",[used compiler for build]) ++ AC_DEFINE_UNQUOTED(PHP_BUILD_COMPILER,"$PHP_BUILD_COMPILER",[used compiler for build]) + fi + if test -n "${PHP_BUILD_ARCH}"; then +- AC_DEFINE_UNQUOTED(ARCHITECTURE,"$PHP_BUILD_ARCH",[build architecture]) ++ AC_DEFINE_UNQUOTED(PHP_BUILD_ARCH,"$PHP_BUILD_ARCH",[build architecture]) + fi + + PHP_SUBST_OLD(PHP_INSTALLED_SAPIS) +diff --git a/ext/standard/info.c b/ext/standard/info.c +index 153cb6cde014..8ceef31d9fe4 100644 +--- a/ext/standard/info.c ++++ b/ext/standard/info.c +@@ -798,11 +798,11 @@ PHPAPI ZEND_COLD void php_print_info(int flag) + #ifdef PHP_BUILD_PROVIDER + php_info_print_table_row(2, "Build Provider", PHP_BUILD_PROVIDER); + #endif +-#ifdef COMPILER +- php_info_print_table_row(2, "Compiler", COMPILER); ++#ifdef PHP_BUILD_COMPILER ++ php_info_print_table_row(2, "Compiler", PHP_BUILD_COMPILER); + #endif +-#ifdef ARCHITECTURE +- php_info_print_table_row(2, "Architecture", ARCHITECTURE); ++#ifdef PHP_BUILD_ARCH ++ php_info_print_table_row(2, "Architecture", PHP_BUILD_ARCH); + #endif + #ifdef CONFIGURE_COMMAND + php_info_print_table_row(2, "Configure Command", CONFIGURE_COMMAND ); +diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c +index 5092fb0ffd68..9d296acec631 100644 +--- a/sapi/cli/php_cli.c ++++ b/sapi/cli/php_cli.c +@@ -640,12 +640,12 @@ static int do_cli(int argc, char **argv) /* {{{ */ + #else + "NTS " + #endif +-#ifdef COMPILER +- COMPILER ++#ifdef PHP_BUILD_COMPILER ++ PHP_BUILD_COMPILER + " " + #endif +-#ifdef ARCHITECTURE +- ARCHITECTURE ++#ifdef PHP_BUILD_ARCH ++ PHP_BUILD_ARCH + " " + #endif + #if ZEND_DEBUG + +diff -up ./ext/standard/info.c.phpinfo ./ext/standard/info.c +--- ./ext/standard/info.c.phpinfo 2020-07-21 10:49:31.000000000 +0200 ++++ ./ext/standard/info.c 2020-07-21 11:41:56.295633523 +0200 +@@ -804,9 +804,6 @@ PHPAPI ZEND_COLD void php_print_info(int + #ifdef PHP_BUILD_ARCH + php_info_print_table_row(2, "Architecture", PHP_BUILD_ARCH); + #endif +-#ifdef CONFIGURE_COMMAND +- php_info_print_table_row(2, "Configure Command", CONFIGURE_COMMAND ); +-#endif + + if (sapi_module.pretty_name) { + php_info_print_table_row(2, "Server API", sapi_module.pretty_name ); +diff -up ./ext/standard/tests/general_functions/phpinfo.phpt.phpinfo ./ext/standard/tests/general_functions/phpinfo.phpt +--- ./ext/standard/tests/general_functions/phpinfo.phpt.phpinfo 2020-07-21 10:49:31.000000000 +0200 ++++ ./ext/standard/tests/general_functions/phpinfo.phpt 2020-07-21 11:41:56.296633522 +0200 +@@ -17,7 +17,6 @@ PHP Version => %s + + System => %s + Build Date => %s%a +-Configure Command => %s + Server API => Command Line Interface + Virtual Directory Support => %s + Configuration File (php.ini) Path => %s +diff -up ./sapi/cli/php_cli.c.phpinfo ./sapi/cli/php_cli.c +--- ./sapi/cli/php_cli.c.phpinfo 2020-07-21 11:43:38.812475300 +0200 ++++ ./sapi/cli/php_cli.c 2020-07-21 11:43:45.783464540 +0200 +@@ -641,8 +641,7 @@ static int do_cli(int argc, char **argv) + "NTS " + #endif + #ifdef PHP_BUILD_COMPILER +- PHP_BUILD_COMPILER +- " " ++ "gcc " + #endif + #ifdef PHP_BUILD_ARCH + PHP_BUILD_ARCH diff --git a/php-7.3.3-systzdata-v18.patch b/php-8.0.0-systzdata-v19.patch similarity index 92% rename from php-7.3.3-systzdata-v18.patch rename to php-8.0.0-systzdata-v19.patch index eac3cc3..902d3ce 100644 --- a/php-7.3.3-systzdata-v18.patch +++ b/php-8.0.0-systzdata-v19.patch @@ -5,6 +5,7 @@ Add support for use of the system timezone database, rather than embedding a copy. Discussed upstream but was not desired. History: +r19: adapt for timelib 2020.02 (in 8.0.0beta2) r18: adapt for autotool change in 7.3.3RC1 r17: adapt for timelib 2018.01 (in 7.3.2RC1) r16: adapt for timelib 2017.06 (in 7.2.3RC1) @@ -29,10 +30,10 @@ r3: fix a crash if /usr/share/zoneinfo doesn't exist (Raphael Geissert) r2: add filesystem trawl to set up name alias index r1: initial revision -diff -up php-7.3.3RC1/ext/date/config0.m4.systzdata php-7.3.3RC1/ext/date/config0.m4 ---- php-7.3.3RC1/ext/date/config0.m4.systzdata 2019-02-19 14:57:51.314601701 +0100 -+++ php-7.3.3RC1/ext/date/config0.m4 2019-02-19 14:58:29.050812587 +0100 -@@ -9,6 +9,19 @@ io.h +diff -up php-8.0.0beta3/ext/date/config0.m4.systzdata php-8.0.0beta3/ext/date/config0.m4 +--- php-8.0.0beta3/ext/date/config0.m4.systzdata 2020-09-01 19:13:26.000000000 +0200 ++++ php-8.0.0beta3/ext/date/config0.m4 2020-09-02 08:07:51.039979873 +0200 +@@ -4,6 +4,19 @@ AC_CHECK_HEADERS([io.h]) dnl Check for strtoll, atoll AC_CHECK_FUNCS(strtoll atoll) @@ -52,10 +53,10 @@ diff -up php-7.3.3RC1/ext/date/config0.m4.systzdata php-7.3.3RC1/ext/date/config PHP_DATE_CFLAGS="-I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DHAVE_TIMELIB_CONFIG_H=1" timelib_sources="lib/astro.c lib/dow.c lib/parse_date.c lib/parse_tz.c lib/timelib.c lib/tm2unixtime.c lib/unixtime2tm.c lib/parse_iso_intervals.c lib/interval.c" -diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/lib/parse_tz.c ---- php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata 2019-02-19 12:18:27.000000000 +0100 -+++ php-7.3.3RC1/ext/date/lib/parse_tz.c 2019-02-19 14:57:20.397428931 +0100 -@@ -25,8 +25,21 @@ +diff -up php-8.0.0beta3/ext/date/lib/parse_tz.c.systzdata php-8.0.0beta3/ext/date/lib/parse_tz.c +--- php-8.0.0beta3/ext/date/lib/parse_tz.c.systzdata 2020-09-01 19:13:26.000000000 +0200 ++++ php-8.0.0beta3/ext/date/lib/parse_tz.c 2020-09-02 08:07:51.039979873 +0200 +@@ -26,8 +26,21 @@ #include "timelib.h" #include "timelib_private.h" @@ -77,7 +78,7 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li #if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__)) # if defined(__LITTLE_ENDIAN__) -@@ -87,6 +100,11 @@ static int read_php_preamble(const unsig +@@ -94,6 +107,11 @@ static int read_php_preamble(const unsig { uint32_t version; @@ -89,11 +90,11 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li /* read ID */ version = (*tzf)[3] - '0'; *tzf += 4; -@@ -411,7 +429,429 @@ void timelib_dump_tzinfo(timelib_tzinfo +@@ -418,7 +436,429 @@ void timelib_dump_tzinfo(timelib_tzinfo } } --static int seek_to_tz_position(const unsigned char **tzf, char *timezone, const timelib_tzdb *tzdb) +-static int seek_to_tz_position(const unsigned char **tzf, const char *timezone, const timelib_tzdb *tzdb) +#ifdef HAVE_SYSTEM_TZDATA + +#ifdef HAVE_SYSTEM_TZDATA_PREFIX @@ -516,15 +517,15 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li + +#endif + -+static int inmem_seek_to_tz_position(const unsigned char **tzf, char *timezone, const timelib_tzdb *tzdb) ++static int inmem_seek_to_tz_position(const unsigned char **tzf, const char *timezone, const timelib_tzdb *tzdb) { int left = 0, right = tzdb->index_size - 1; -@@ -437,9 +877,48 @@ static int seek_to_tz_position(const uns +@@ -444,9 +884,48 @@ static int seek_to_tz_position(const uns return 0; } -+static int seek_to_tz_position(const unsigned char **tzf, char *timezone, ++static int seek_to_tz_position(const unsigned char **tzf, const char *timezone, + char **map, size_t *maplen, + const timelib_tzdb *tzdb) +{ @@ -569,8 +570,8 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li } const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_tzdb *tzdb, int *count) -@@ -451,7 +930,30 @@ const timelib_tzdb_index_entry *timelib_ - int timelib_timezone_id_is_valid(char *timezone, const timelib_tzdb *tzdb) +@@ -458,7 +937,30 @@ const timelib_tzdb_index_entry *timelib_ + int timelib_timezone_id_is_valid(const char *timezone, const timelib_tzdb *tzdb) { const unsigned char *tzf; - return (seek_to_tz_position(&tzf, timezone, tzdb)); @@ -601,8 +602,8 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li } static int skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz) -@@ -493,12 +995,14 @@ static timelib_tzinfo* timelib_tzinfo_ct - timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb, int *error_code) +@@ -500,12 +1002,14 @@ static timelib_tzinfo* timelib_tzinfo_ct + timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *tzdb, int *error_code) { const unsigned char *tzf; + char *memmap = NULL; @@ -617,7 +618,7 @@ diff -up php-7.3.3RC1/ext/date/lib/parse_tz.c.systzdata php-7.3.3RC1/ext/date/li tmp = timelib_tzinfo_ctor(timezone); version = read_preamble(&tzf, tmp, &type); -@@ -537,11 +1041,36 @@ timelib_tzinfo *timelib_parse_tzfile(cha +@@ -540,11 +1044,36 @@ timelib_tzinfo *timelib_parse_tzfile(con } skip_posix_string(&tzf, tmp); diff --git a/php.spec b/php.spec index 6ad5379..79fd255 100644 --- a/php.spec +++ b/php.spec @@ -7,8 +7,8 @@ # # API/ABI check -%global apiver 20190902 -%global zendver 20190902 +%global apiver 20200930 +%global zendver 20200930 %global pdover 20170320 # we don't want -z defs linker flag @@ -18,7 +18,7 @@ %global _hardened_build 1 # version used for php embedded library soname -%global embed_version 7.4 +%global embed_version 8.0 %global mysql_sock %(mysql_config --socket 2>/dev/null || echo /var/lib/mysql/mysql.sock) @@ -55,7 +55,7 @@ %bcond_with tidy %endif -%global upver 7.4.16 +%global upver 8.0.3 #global rcver RC2 Summary: PHP scripting language for creating dynamic web sites @@ -94,18 +94,21 @@ Source53: 20-ffi.ini # Build fixes Patch1: php-7.4.0-httpd.patch Patch5: php-7.2.0-includedir.patch -Patch6: php-7.4.0-embed.patch -Patch8: php-7.2.0-libdb.patch +Patch6: php-8.0.0-embed.patch +Patch8: php-7.4.0-libdb.patch # Functional changes -Patch42: php-7.3.3-systzdata-v18.patch +# Use system nikic/php-parser +Patch41: php-8.0.0-parser.patch +# use system tzdata +Patch42: php-8.0.0-systzdata-v19.patch # See http://bugs.php.net/53436 Patch43: php-7.4.0-phpize.patch # Use -lldap_r for OpenLDAP Patch45: php-7.4.0-ldap_r.patch # drop "Configure command" from phpinfo output -# and add build system and provider (from 8.0) -Patch47: php-7.4.8-phpinfo.patch +# and only use gcc (instead of full version) +Patch47: php-8.0.0-phpinfo.patch # Upstream fixes (100+) @@ -113,12 +116,12 @@ Patch47: php-7.4.8-phpinfo.patch # Fixes for tests (300+) # Factory is droped from system tzdata -Patch300: php-5.6.3-datetests.patch +Patch300: php-7.4.0-datetests.patch BuildRequires: gnupg2 BuildRequires: bzip2-devel -BuildRequires: pkgconfig(libcurl) >= 7.15.5 +BuildRequires: pkgconfig(libcurl) >= 7.29.0 BuildRequires: httpd-devel >= 2.0.46-1 BuildRequires: pam-devel # to ensure we are using httpd with filesystem feature (see #1081453) @@ -173,7 +176,6 @@ Recommends: php-cli%{?_isa} = %{version}-%{release} Recommends: php-fpm%{?_isa} = %{version}-%{release} # as "php" is now mostly a meta-package, commonly used extensions # reduce diff with "dnf module install php" -Recommends: php-json%{?_isa} = %{version}-%{release} Recommends: php-mbstring%{?_isa} = %{version}-%{release} Recommends: php-opcache%{?_isa} = %{version}-%{release} Recommends: php-pdo%{?_isa} = %{version}-%{release} @@ -267,6 +269,8 @@ Provides: php-gettext, php-gettext%{?_isa} Provides: php-hash, php-hash%{?_isa} Provides: php-mhash = %{version}, php-mhash%{?_isa} = %{version} Provides: php-iconv, php-iconv%{?_isa} +Obsoletes: php-json < 8 +Provides: php-json = %{version}, php-json%{?_isa} = %{version} Provides: php-libxml, php-libxml%{?_isa} Provides: php-openssl, php-openssl%{?_isa} Provides: php-phar, php-phar%{?_isa} @@ -299,12 +303,12 @@ Requires: libxml2-devel%{?_isa} Requires: openssl-devel%{?_isa} >= 1.0.1 Requires: pcre2-devel%{?_isa} Requires: zlib-devel%{?_isa} -Obsoletes: php-pecl-json-devel < %{version} -Obsoletes: php-pecl-jsonc-devel < %{version} %if %{with zts} Provides: php-zts-devel = %{version}-%{release} Provides: php-zts-devel%{?_isa} = %{version}-%{release} %endif +Recommends: php-nikic-php-parser4 >= 4.3.0 + %description devel The php-devel package contains the files needed for building PHP @@ -509,22 +513,6 @@ The php-xml package contains dynamic shared objects which add support to PHP for manipulating XML documents using the DOM tree, and performing XSL transformations on XML documents. -%package xmlrpc -Summary: A module for PHP applications which use the XML-RPC protocol -# All files licensed under PHP version 3.01, except -# libXMLRPC is licensed under BSD -License: PHP and BSD -Requires: php-xml%{?_isa} = %{version}-%{release} -# Dropped from PHP 8 -Provides: deprecated() - -%description xmlrpc -The php-xmlrpc package contains a dynamic shared object that will add -support for the XML-RPC protocol to PHP. - -This extension is deprecated and will be removed in PHP 8. - - %package mbstring Summary: A module for PHP applications which need multi-byte string handling # All files licensed under PHP version 3.01, except @@ -657,28 +645,12 @@ Summary: Enchant spelling extension for PHP applications # All files licensed under PHP version 3.0 License: PHP Requires: php-common%{?_isa} = %{version}-%{release} -BuildRequires: pkgconfig(enchant) +BuildRequires: pkgconfig(enchant-2) %description enchant The php-enchant package contains a dynamic shared object that will add support for using the enchant library to PHP. -%package json -Summary: JavaScript Object Notation extension for PHP -# All files licensed under PHP version 3.0.1 -License: PHP -Requires: php-common%{?_isa} = %{version}-%{release} -Obsoletes: php-pecl-json < %{version} -Obsoletes: php-pecl-jsonc < %{version} -Provides: php-pecl(json) = %{version} -Provides: php-pecl(json)%{?_isa} = %{version} -Provides: php-pecl-json = %{version} -Provides: php-pecl-json%{?_isa} = %{version} - -%description json -The php-json package provides an extension that will add -support for JavaScript Object Notation (JSON) to PHP. - %if %{with sodium} %package sodium Summary: Wrapper for the Sodium cryptographic library @@ -834,6 +806,8 @@ export PHP_BUILD_SYSTEM=$(cat /etc/redhat-release | sed -e 's/ Beta//') %if 0%{?vendor:1} export PHP_BUILD_PROVIDER="%{vendor}" %endif +export PHP_BUILD_COMPILER="$(gcc --version | head -n1)" +export PHP_BUILD_ARCH="%{_arch}" # Force use of system libtool: libtoolize --force --copy @@ -936,7 +910,6 @@ build --libdir=%{_libdir}/php \ --with-iconv=shared \ --enable-sockets=shared \ --enable-tokenizer=shared \ - --with-xmlrpc=shared \ --with-ldap=shared --with-ldap-sasl \ --enable-mysqlnd=shared \ --with-mysqli=shared,mysqlnd \ @@ -962,7 +935,6 @@ build --libdir=%{_libdir}/php \ --with-pdo-dblib=shared,%{_prefix} \ %endif --with-sqlite3=shared \ - --enable-json=shared \ --without-readline \ --with-libedit \ %if %{with pspell} @@ -991,7 +963,6 @@ without_shared="--without-gd \ --disable-dom --disable-dba --without-unixODBC \ --disable-opcache \ --disable-phpdbg \ - --disable-json \ --without-ffi \ --disable-xmlreader --disable-xmlwriter \ --without-sodium \ @@ -1040,7 +1011,7 @@ pushd build-ztscli EXTENSION_DIR=%{_libdir}/php-zts/modules build --includedir=%{_includedir}/php-zts \ --libdir=%{_libdir}/php-zts \ - --enable-maintainer-zts \ + --enable-zts \ --program-prefix=zts- \ --disable-cgi \ --with-config-file-scan-dir=%{_sysconfdir}/php-zts.d \ @@ -1069,7 +1040,6 @@ build --includedir=%{_includedir}/php-zts \ --enable-tokenizer=shared \ --enable-exif=shared \ --enable-ftp=shared \ - --with-xmlrpc=shared \ --with-ldap=shared --with-ldap-sasl \ --enable-mysqlnd=shared \ --with-mysqli=shared,mysqlnd \ @@ -1096,7 +1066,6 @@ build --includedir=%{_includedir}/php-zts \ --with-pdo-dblib=shared,%{_prefix} \ %endif --with-sqlite3=shared \ - --enable-json=shared \ --without-readline \ --with-libedit \ %if %{with pspell} @@ -1127,6 +1096,12 @@ popd %check +: Ensure proper NTS/ZTS build +$RPM_BUILD_ROOT%{_bindir}/php -n -v | grep NTS +%if %{with zts} +$RPM_BUILD_ROOT%{_bindir}/zts-php -n -v | grep ZTS +%endif + %if %runselftest cd build-fpm @@ -1183,13 +1158,13 @@ install -m 755 -d $RPM_BUILD_ROOT%{_datadir}/php/preload %if %{with modphp} # install the DSO install -m 755 -d $RPM_BUILD_ROOT%{_httpd_moddir} -install -m 755 build-apache/libs/libphp7.so $RPM_BUILD_ROOT%{_httpd_moddir} +install -m 755 build-apache/libs/libphp.so $RPM_BUILD_ROOT%{_httpd_moddir} %endif # Apache config fragment # Dual config file with httpd >= 2.4 (fedora >= 18) %if %{with modphp} -install -D -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_httpd_modconfdir}/15-php.conf +install -D -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_httpd_modconfdir}/20-php.conf %endif install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_confdir}/php.conf @@ -1242,7 +1217,6 @@ for mod in pgsql odbc ldap snmp \ %if %{with imap} imap \ %endif - json \ mysqlnd mysqli \ mbstring gd dom xsl soap bcmath dba \ simplexml bz2 calendar ctype exif ftp gettext gmp iconv \ @@ -1268,14 +1242,14 @@ for mod in pgsql odbc ldap snmp \ %if %{with freetds} pdo_dblib \ %endif - xmlrpc xmlreader xmlwriter + xmlreader xmlwriter do case $mod in opcache) # Zend extensions TESTCMD="$TESTCMD --define zend_extension=$mod" ini=10-${mod}.ini;; - pdo_*|mysqli|xmlreader|xmlrpc) + pdo_*|mysqli|xmlreader) # Extensions with dependencies on 20-* TESTCMD="$TESTCMD --define extension=$mod" ini=30-${mod}.ini;; @@ -1369,8 +1343,8 @@ rm -rf $RPM_BUILD_ROOT%{_libdir}/php/modules/*.a \ $RPM_BUILD_ROOT%{_datadir}/pear \ $RPM_BUILD_ROOT%{_bindir}/zts-phar* \ $RPM_BUILD_ROOT%{_mandir}/man1/zts-phar* \ - $RPM_BUILD_ROOT%{_libdir}/libphp7.a \ - $RPM_BUILD_ROOT%{_libdir}/libphp7.la + $RPM_BUILD_ROOT%{_libdir}/libphp.a \ + $RPM_BUILD_ROOT%{_libdir}/libphp.la # Remove irrelevant docs rm -f README.{Zeus,QNX,CVS-RULES} @@ -1389,8 +1363,8 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %files %if %{with modphp} -%{_httpd_moddir}/libphp7.so -%config(noreplace) %{_httpd_modconfdir}/15-php.conf +%{_httpd_moddir}/libphp.so +%config(noreplace) %{_httpd_modconfdir}/20-php.conf %attr(0770,root,apache) %dir %{_sharedstatedir}/php/session %attr(0770,root,apache) %dir %{_sharedstatedir}/php/wsdlcache %attr(0770,root,apache) %dir %{_sharedstatedir}/php/opcache @@ -1437,7 +1411,7 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %{_mandir}/man1/phpize.1* %files dbg -%doc sapi/phpdbg/{README.md,CREDITS} +%doc sapi/phpdbg/CREDITS %{_bindir}/phpdbg %{_mandir}/man1/phpdbg.1* %if %{with zts} @@ -1486,8 +1460,8 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %{_rpmmacrodir}/macros.php %files embedded -%{_libdir}/libphp7.so -%{_libdir}/libphp7-%{embed_version}.so +%{_libdir}/libphp.so +%{_libdir}/libphp-%{embed_version}.so %files pgsql -f files.pgsql %files odbc -f files.odbc @@ -1497,7 +1471,6 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %files ldap -f files.ldap %files snmp -f files.snmp %files xml -f files.xml -%files xmlrpc -f files.xmlrpc %files mbstring -f files.mbstring %license libmbfl_LICENSE %files gd -f files.gd @@ -1528,7 +1501,6 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %if %{with zts} %config(noreplace) %{_sysconfdir}/php-zts.d/opcache-default.blacklist %endif -%files json -f files.json %if %{with sodium} %files sodium -f files.sodium %endif @@ -1537,6 +1509,13 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %changelog +* Thu Mar 4 2021 Remi Collet - 8.0.3-1 +- Update to 8.0.3 - http://www.php.net/releases/8_0_3.php +- see https://fedoraproject.org/wiki/Changes/php80 +- drop xmlrpc extension +- drop json subpackage, extension always there +- enchant: use libenchant-2 instead of libenchant + * Tue Mar 2 2021 Remi Collet - 7.4.16-1 - Update to 7.4.16 - http://www.php.net/releases/7_4_16.php diff --git a/sources b/sources index 87a678b..aff8d12 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (php-7.4.16.tar.xz) = a7845fe0a7c334829bfa9518d3f2947036e1b03c8f4346622f9ab37563ff3af03f6559878b83aa0e6ad69e9919b6478345a0cc6ec59161ef36c64a5073e83f84 -SHA512 (php-7.4.16.tar.xz.asc) = d988fa475e7590fc25e893f523e2879eb6a2d8e5ec076c1e4eb501153aaef2dc6fc2ee55345b49ec52b7ca25db65598002d848b7154032a46f56cd150734043f +SHA512 (php-8.0.3.tar.xz) = 9b3631fea5280ed11c14a3ef1badb3da5b8ab19f29faa6b828ab033008ebebc487013d74d401d10b9cf21f354cd81100ba83562f3f080e23220ad38c02fb5a0d +SHA512 (php-8.0.3.tar.xz.asc) = a4e893b3760ad33a95d5b6798cfbc9434b884c69e856978c54850a33b5579b19f522450f7bd62244f77e29b9cc43ea618bbe4dbbdf4530b462280aa46d747bf8