[Buildroot] [PATCH v2 1/1] package/php: bump version to 8.4.13
Bernd Kuhls
bernd at kuhls.net
Tue Oct 7 18:27:46 UTC 2025
Release notes: https://www.php.net/releases/8.4/en.php
Changelog: https://www.php.net/ChangeLog-8.php#PHP_8_4
Removed patch 0006 which is included in this release, rebased remaining
patches.
php commit https://github.com/php/php-src/commit/1f847a0bdfea3f754e5d46f9e016ce2530e5d9a4
added a check on the httpd binary which requires STAGING_DIR being part
of SBINDIR as reported by apxs, adjust apache.mk accordingly.
Upstream commit
https://github.com/php/php-src/commit/ea4e8d513cdd87c8ac28cd1ae06f7e814c83ae28
causes a build error with older uclibc-based toolchains when detecting
copy_file_range, disable it by adding php_cv_func_copy_file_range=no to
_CONF_ENV for uclibc-toolchains.
Upstream commit
https://github.com/php/php-src/commit/063213b1aebf3dcbaccd35a801d8c52775de24a2
changed the name of the cache variable ac_cv_have_pcre2_jit to
php_cv_have_pcre2_jit.
Signed-off-by: Bernd Kuhls <bernd at kuhls.net>
---
v2: fixed build with older uclibc-based toolchains (Julien, Waldemar)
updated pcre2 cache variable in configure script
package/apache/apache.mk | 1 +
...1-acinclude.m4-don-t-unset-variables.patch | 8 +-
.../0002-iconv-tweak-iconv-detection.patch | 10 +-
...0003-configure-disable-the-phar-tool.patch | 8 +-
.../0004-Call-apxs-with-correct-prefix.patch | 16 +-
.../0005-allow-opcache-cross-compiling.patch | 21 +-
.../php/0006-Sync-headers-installation.patch | 478 ------------------
package/php/php.hash | 4 +-
package/php/php.mk | 10 +-
9 files changed, 44 insertions(+), 512 deletions(-)
delete mode 100644 package/php/0006-Sync-headers-installation.patch
diff --git a/package/apache/apache.mk b/package/apache/apache.mk
index 23332f3e85..500a45bbca 100644
--- a/package/apache/apache.mk
+++ b/package/apache/apache.mk
@@ -104,6 +104,7 @@ define APACHE_FIX_STAGING_APACHE_CONFIG
$(SED) 's%"/usr/bin"%"$(STAGING_DIR)/usr/bin"%' $(STAGING_DIR)/usr/bin/apxs
$(SED) 's%/usr/build%$(STAGING_DIR)/usr/build%' $(STAGING_DIR)/usr/bin/apxs
$(SED) 's%^prefix =.*%prefix = $(STAGING_DIR)/usr%' $(STAGING_DIR)/usr/build/config_vars.mk
+ $(SED) 's%^sbindir =.*%sbindir = $(STAGING_DIR)/usr/bin%' $(STAGING_DIR)/usr/build/config_vars.mk
endef
APACHE_POST_INSTALL_STAGING_HOOKS += APACHE_FIX_STAGING_APACHE_CONFIG
diff --git a/package/php/0001-acinclude.m4-don-t-unset-variables.patch b/package/php/0001-acinclude.m4-don-t-unset-variables.patch
index 9badbd1cc2..fe92fb4f55 100644
--- a/package/php/0001-acinclude.m4-don-t-unset-variables.patch
+++ b/package/php/0001-acinclude.m4-don-t-unset-variables.patch
@@ -9,8 +9,8 @@ Terminate them with extreme prejudice.
Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
Signed-off-by: Adam Duskett <aduskett at gmail.com>
[aduskett at gmail.com: Update for 7.3.0]
-Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
-[Bernd: rebased for 8.1.7]
+Signed-off-by: Bernd Kuhls <bernd at kuhls.net>
+[Bernd: rebased for 8.4.13]
---
build/php.m4 | 4 ----
1 file changed, 4 deletions(-)
@@ -19,7 +19,7 @@ diff --git a/build/php.m4 b/build/php.m4
index e91ef988..9586c490 100644
--- a/build/php.m4
+++ b/build/php.m4
-@@ -1580,8 +1580,6 @@ dnl PHP_CHECK_FUNC_LIB
+@@ -1462,8 +1462,6 @@ dnl PHP_CHECK_FUNC_LIB
dnl
AC_DEFUN([PHP_CHECK_FUNC_LIB],[
ifelse($2,,:,[
@@ -28,7 +28,7 @@ index e91ef988..9586c490 100644
unset found
AC_CHECK_LIB($2, $1, [found=yes], [
AC_CHECK_LIB($2, __$1, [found=yes], [found=no])
-@@ -1616,8 +1616,6 @@ dnl and as a fall back in the specified library. Defines HAVE_func and
+@@ -1496,8 +1496,6 @@ dnl and as a fall back in the specified library. Defines HAVE_func and
dnl HAVE_library if found and adds the library to LIBS.
dnl
AC_DEFUN([PHP_CHECK_FUNC],[
diff --git a/package/php/0002-iconv-tweak-iconv-detection.patch b/package/php/0002-iconv-tweak-iconv-detection.patch
index 758dd6133b..536a69fd18 100644
--- a/package/php/0002-iconv-tweak-iconv-detection.patch
+++ b/package/php/0002-iconv-tweak-iconv-detection.patch
@@ -15,8 +15,8 @@ Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
[Gustavo: update for 5.6.10]
Signed-off-by: Adam Duskett <aduskett at gmail.com>
[aduskett at gmail.com: Update for 8.0.7]
-Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
-[Bernd: rebased for 7.4.10, 7.4.13 & 8.1.7]
+Signed-off-by: Bernd Kuhls <bernd at kuhls.net>
+[Bernd: rebased for 8.4.13]
---
build/php.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -25,10 +25,10 @@ diff --git a/build/php.m4 b/build/php.m4
index 9586c490..8b3d47ed 100644
--- a/build/php.m4
+++ b/build/php.m4
-@@ -1976,7 +1976,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [
- dnl Check external libs for iconv funcs.
- if test "$found_iconv" = "no"; then
+@@ -1839,7 +1839,7 @@
+ dnl Check external libs for iconv funcs.
+ AS_VAR_IF([found_iconv], [no], [
- for i in $PHP_ICONV /usr/local /usr; do
+ for i in $PHP_ICONV; do
if test -r $i/include/gnu-libiconv/iconv.h; then
diff --git a/package/php/0003-configure-disable-the-phar-tool.patch b/package/php/0003-configure-disable-the-phar-tool.patch
index 6bfaf6640f..ebde912861 100644
--- a/package/php/0003-configure-disable-the-phar-tool.patch
+++ b/package/php/0003-configure-disable-the-phar-tool.patch
@@ -12,8 +12,8 @@ Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
[Gustavo: update for autoreconf/configure.in]
Signed-off-by: Adam Duskett <aduskett at gmail.com>
[Aduskett: update for 8.0.7]
-Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
-[Bernd: rebased for 7.4.10, 7.4.13 & 8.1.7]
+Signed-off-by: Bernd Kuhls <bernd at kuhls.net>
+[Bernd: rebased for 8.4.13]
---
configure.ac | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
@@ -22,7 +22,7 @@ diff --git a/configure.ac b/configure.ac
index 0dfab302..6026fb66 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1638,13 +1638,8 @@ CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)"
+@@ -1585,13 +1585,8 @@ CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)"
CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)"
@@ -36,7 +36,7 @@ index 0dfab302..6026fb66 100644
+pharcmd=
+pharcmd_install=
- all_targets="$lcov_target \$(OVERALL_TARGET) \$(PHP_MODULES) \$(PHP_ZEND_EX) \$(PHP_BINARIES) $pharcmd"
+ all_targets="\$(OVERALL_TARGET) \$(PHP_MODULES) \$(PHP_ZEND_EX) \$(PHP_BINARIES) $pharcmd"
install_targets="$install_sapi $install_modules $install_binaries install-build install-headers install-programs $install_pear $pharcmd_install"
--
2.14.3
diff --git a/package/php/0004-Call-apxs-with-correct-prefix.patch b/package/php/0004-Call-apxs-with-correct-prefix.patch
index 3a1a580084..cf8fe2cbfd 100644
--- a/package/php/0004-Call-apxs-with-correct-prefix.patch
+++ b/package/php/0004-Call-apxs-with-correct-prefix.patch
@@ -17,6 +17,8 @@ To fix this, add -S PREFIX='$(INSTALL_ROOT)/usr' to apxs call in configure
Signed-off-by: Fabrice Fontaine <fabrice.fontaine at orange.com>
Signed-off-by: Adam Duskett <aduskett at gmail.com>
[aduskett at gmail.com: Update for 8.0.7]
+Signed-off-by: Bernd Kuhls <bernd at kuhls.net>
+[Bernd: rebased for 8.4.13]
---
sapi/apache2handler/config.m4 | 3 +++
1 file changed, 3 insertions(+)
@@ -25,20 +27,20 @@ diff --git a/sapi/apache2handler/config.m4 b/sapi/apache2handler/config.m4
index 55c16179..68ce66c0 100644
--- a/sapi/apache2handler/config.m4
+++ b/sapi/apache2handler/config.m4
-@@ -63,10 +63,12 @@ if test "$PHP_APXS2" != "no"; then
- AC_MSG_ERROR([Please note that Apache version >= 2.0.44 is required])
- fi
+@@ -68,10 +68,12 @@
+ AS_VERSION_COMPARE([$APACHE_VERSION], [2.4.0],
+ [AC_MSG_ERROR([Please note that Apache version >= 2.4 is required])])
+ APXS_PREFIX='$(INSTALL_ROOT)'/usr
- APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
- if test -z `$APXS -q SYSCONFDIR`; then
+ APXS_LIBEXECDIR='$(INSTALL_ROOT)'$($APXS -q LIBEXECDIR)
+ if test -z $($APXS -q SYSCONFDIR); then
INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
+ -S PREFIX='$APXS_PREFIX' \
-i -n php"
else
- APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR`
-@@ -74,6 +76,7 @@ if test "$PHP_APXS2" != "no"; then
+ APXS_SYSCONFDIR='$(INSTALL_ROOT)'$($APXS -q SYSCONFDIR)
+@@ -79,6 +81,7 @@ if test "$PHP_APXS2" != "no"; then
\$(mkinstalldirs) '$APXS_SYSCONFDIR' && \
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
-S SYSCONFDIR='$APXS_SYSCONFDIR' \
diff --git a/package/php/0005-allow-opcache-cross-compiling.patch b/package/php/0005-allow-opcache-cross-compiling.patch
index 468864b0a4..1031b45f19 100644
--- a/package/php/0005-allow-opcache-cross-compiling.patch
+++ b/package/php/0005-allow-opcache-cross-compiling.patch
@@ -13,8 +13,8 @@ CFLAGS when opcache is enabled:
-DHAVE_SHM_MMAP_FILE
Signed-off-by: Adam Duskett <aduskett at gmail.com>
-Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
-[Bernd: rebased for 8.1.7 & 8.3.3]
+Signed-off-by: Bernd Kuhls <bernd at kuhls.net>
+[Bernd: rebased for 8.4.13]
---
ext/opcache/config.m4 | 4 ----
1 file changed, 4 deletions(-)
@@ -23,17 +23,20 @@ diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
index 5492fd92..10c150ff 100644
--- a/ext/opcache/config.m4
+++ b/ext/opcache/config.m4
-@@ -315,10 +315,6 @@ int main() {
-
+@@ -346,13 +346,6 @@
+ PHP_ADD_EXTENSION_DEP(opcache, date)
PHP_ADD_EXTENSION_DEP(opcache, pcre)
-- if test "$have_shm_ipc" != "yes" && test "$have_shm_mmap_posix" != "yes" && test "$have_shm_mmap_anon" != "yes"; then
-- AC_MSG_ERROR([No supported shared memory caching support was found when configuring opcache. Check config.log for any errors or missing dependencies.])
+- if test "$php_cv_shm_ipc" != "yes" && test "$php_cv_shm_mmap_posix" != "yes" && test "$php_cv_shm_mmap_anon" != "yes"; then
+- AC_MSG_FAILURE(m4_text_wrap([
+- No supported shared memory caching support was found when configuring
+- opcache.
+- ]))
- fi
-
- if test "$PHP_OPCACHE_JIT" = "yes"; then
- PHP_ADD_BUILD_DIR([$ext_builddir/jit], 1)
- PHP_ADD_MAKEFILE_FRAGMENT($ext_srcdir/jit/Makefile.frag)
+ AS_VAR_IF([PHP_OPCACHE_JIT], [yes], [
+ PHP_ADD_BUILD_DIR([
+ $ext_builddir/jit
--
2.31.1
diff --git a/package/php/0006-Sync-headers-installation.patch b/package/php/0006-Sync-headers-installation.patch
deleted file mode 100644
index da1c6a6e4c..0000000000
--- a/package/php/0006-Sync-headers-installation.patch
+++ /dev/null
@@ -1,478 +0,0 @@
-From e77015d6e5a15d9ec7e30cba73465adc30861355 Mon Sep 17 00:00:00 2001
-From: Peter Kokot <peterkokot at gmail.com>
-Date: Sun, 28 Jan 2024 19:50:55 +0100
-Subject: [PATCH] Sync headers installation
-
-This syncs the installed sapi and extension headers on *nix and Windows
-systems by installing only what is intended outside of php-src.
-
-- ext/gd: without gd_arginfo.h and gd_compat.h
-- ext/hash: php_hash_joaat.h and php_hash_fnv.h added also on Windows
- installation; xxhash/xxhash.h added on both installations as it is
- included in php_hash_xxhash.h; Include path for xxhash.h changed to
- relative so the php_hash_xxhash.h can be included outside of php-src;
- Redundant include flags removed
-- ext/iconv: without iconv_arginfo.h
-- ext/mysqli: mysqli_mysqlnd.h was missing on Windows
-- ext/phar: php_phar.h was missing on Windows
-- ext/sodium: php_libsodium.h was missing on *nix
-- ext/xml: without xml_arginfo.h
-- sapi/cli: cli.h was missing on Windows
-
-Closes GH-13210
-Closes GH-13213
-
-[Thomas: minor backporting tweaks]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
-Upstream: https://github.com/php/php-src/commit/52dba99d47563f38d8ed5f84690a3cb2c1785475
----
- ext/date/config.w32 | 2 +-
- ext/dom/config.m4 | 2 +-
- ext/filter/config.m4 | 2 +-
- ext/gd/config.m4 | 5 ++---
- ext/gd/config.w32 | 2 +-
- ext/gmp/config.m4 | 2 +-
- ext/hash/config.m4 | 3 +--
- ext/hash/config.w32 | 10 +++-------
- ext/hash/php_hash_xxhash.h | 2 +-
- ext/iconv/config.m4 | 2 +-
- ext/iconv/config.w32 | 2 +-
- ext/json/config.w32 | 2 +-
- ext/libxml/config.w32 | 2 +-
- ext/libxml/config0.m4 | 2 +-
- ext/mysqli/config.m4 | 8 ++------
- ext/mysqli/config.w32 | 2 +-
- ext/pdo/config.m4 | 2 +-
- ext/phar/config.w32 | 1 +
- ext/session/config.m4 | 4 ++--
- ext/session/config.w32 | 2 +-
- ext/simplexml/config.m4 | 2 +-
- ext/simplexml/config.w32 | 2 +-
- ext/sockets/config.m4 | 2 +-
- ext/sodium/config.m4 | 1 +
- ext/sodium/config.w32 | 2 +-
- ext/xml/config.m4 | 2 +-
- ext/xml/config.w32 | 2 +-
- sapi/cli/config.m4 | 2 +-
- sapi/cli/config.w32 | 1 +
- sapi/embed/config.m4 | 2 +-
- 30 files changed, 35 insertions(+), 42 deletions(-)
-
-diff --git a/ext/date/config.w32 b/ext/date/config.w32
-index cf9e220c558..23af2f7d658 100644
---- a/ext/date/config.w32
-+++ b/ext/date/config.w32
-@@ -19,5 +19,5 @@ tl_config.WriteLine("#define timelib_strndup estrndup");
- tl_config.WriteLine("#define timelib_free efree");
- tl_config.Close();
-
--PHP_INSTALL_HEADERS("ext/date/", "php_date.h lib/timelib.h lib/timelib_config.h");
-+PHP_INSTALL_HEADERS("ext/date", "php_date.h lib/timelib.h lib/timelib_config.h");
- AC_DEFINE('HAVE_TIMELIB_CONFIG_H', 1, 'Have timelib_config.h')
-diff --git a/ext/dom/config.m4 b/ext/dom/config.m4
-index 6a83d10c8e2..27fef334794 100644
---- a/ext/dom/config.m4
-+++ b/ext/dom/config.m4
-@@ -24,7 +24,7 @@ if test "$PHP_DOM" != "no"; then
- namednodemap.c],
- $ext_shared)
- PHP_SUBST(DOM_SHARED_LIBADD)
-- PHP_INSTALL_HEADERS([ext/dom/xml_common.h])
-+ PHP_INSTALL_HEADERS([ext/dom], [xml_common.h])
- PHP_ADD_EXTENSION_DEP(dom, libxml)
- ])
- fi
-diff --git a/ext/filter/config.m4 b/ext/filter/config.m4
-index 0108a17fb7a..b7934701bb6 100644
---- a/ext/filter/config.m4
-+++ b/ext/filter/config.m4
-@@ -8,6 +8,6 @@ if test "$PHP_FILTER" != "no"; then
- PHP_NEW_EXTENSION(filter, filter.c sanitizing_filters.c logical_filters.c callback_filter.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
- PHP_SUBST(FILTER_SHARED_LIBADD)
-
-- PHP_INSTALL_HEADERS([ext/filter/php_filter.h])
-+ PHP_INSTALL_HEADERS([ext/filter], [php_filter.h])
- PHP_ADD_EXTENSION_DEP(filter, pcre)
- fi
-diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
-index b31c9b2c0bd..ef55212d1ee 100644
---- a/ext/gd/config.m4
-+++ b/ext/gd/config.m4
-@@ -238,7 +238,7 @@ dnl Various checks for GD features
- PHP_NEW_EXTENSION(gd, gd.c $extra_sources, $ext_shared,, \\$(GD_CFLAGS))
- PHP_ADD_BUILD_DIR($ext_builddir/libgd)
- GD_CFLAGS="-Wno-strict-prototypes -I$ext_srcdir/libgd $GD_CFLAGS"
-- GD_HEADER_DIRS="ext/gd/ ext/gd/libgd/"
-+ PHP_INSTALL_HEADERS([ext/gd], [php_gd.h libgd/])
-
- PHP_TEST_BUILD(foobar, [], [
- AC_MSG_ERROR([GD build test failed. Please check the config.log for details.])
-@@ -253,13 +253,12 @@ dnl Various checks for GD features
- PHP_GD_CHECK_VERSION
-
- PHP_NEW_EXTENSION(gd, gd.c $extra_sources, $ext_shared)
-- GD_HEADER_DIRS="ext/gd/"
-+ PHP_INSTALL_HEADERS([ext/gd], [php_gd.h])
- PHP_CHECK_LIBRARY(gd, gdImageCreate, [], [
- AC_MSG_ERROR([GD build test failed. Please check the config.log for details.])
- ], [ $GD_SHARED_LIBADD ])
- fi
-
-- PHP_INSTALL_HEADERS([$GD_HEADER_DIRS])
- PHP_SUBST(GD_CFLAGS)
- PHP_SUBST(GDLIB_CFLAGS)
- PHP_SUBST(GDLIB_LIBS)
-diff --git a/ext/gd/config.w32 b/ext/gd/config.w32
-index 09b09df95d3..b779df48e91 100644
---- a/ext/gd/config.w32
-+++ b/ext/gd/config.w32
-@@ -75,7 +75,7 @@ if (PHP_GD != "no") {
- ADD_FLAG("LDFLAGS_GD", "/nodefaultlib:libcmt");
- }
-
-- PHP_INSTALL_HEADERS("", "ext/gd ext/gd/libgd" );
-+ PHP_INSTALL_HEADERS("ext/gd", "php_gd.h libgd/");
- } else {
- WARNING("gd not enabled; libraries and headers not found");
- }
-diff --git a/ext/gmp/config.m4 b/ext/gmp/config.m4
-index fa55751cf16..657e43b407f 100644
---- a/ext/gmp/config.m4
-+++ b/ext/gmp/config.m4
-@@ -27,7 +27,7 @@ if test "$PHP_GMP" != "no"; then
- PHP_ADD_INCLUDE($PHP_GMP/include)
- fi
-
-- PHP_INSTALL_HEADERS([ext/gmp/php_gmp_int.h])
-+ PHP_INSTALL_HEADERS([ext/gmp], [php_gmp_int.h])
-
- PHP_NEW_EXTENSION(gmp, gmp.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
- PHP_SUBST(GMP_SHARED_LIBADD)
-diff --git a/ext/hash/config.m4 b/ext/hash/config.m4
-index 46e66aa9f8c..1e1d2e3f698 100644
---- a/ext/hash/config.m4
-+++ b/ext/hash/config.m4
-@@ -36,7 +36,6 @@ else
- fi
-
- PHP_ADD_BUILD_DIR(ext/hash/murmur, 1)
--PHP_HASH_CFLAGS="$PHP_HASH_CFLAGS -I at ext_srcdir@/xxhash"
-
- EXT_HASH_SOURCES="hash.c hash_md.c hash_sha.c hash_ripemd.c hash_haval.c \
- hash_tiger.c hash_gost.c hash_snefru.c hash_whirlpool.c hash_adler32.c \
-@@ -46,7 +45,7 @@ EXT_HASH_HEADERS="php_hash.h php_hash_md.h php_hash_sha.h php_hash_ripemd.h \
- php_hash_haval.h php_hash_tiger.h php_hash_gost.h php_hash_snefru.h \
- php_hash_whirlpool.h php_hash_adler32.h php_hash_crc32.h \
- php_hash_fnv.h php_hash_joaat.h php_hash_sha3.h php_hash_murmur.h \
-- php_hash_xxhash.h"
-+ php_hash_xxhash.h xxhash/xxhash.h"
-
- PHP_NEW_EXTENSION(hash, $EXT_HASH_SOURCES, 0,,$PHP_HASH_CFLAGS)
- PHP_INSTALL_HEADERS(ext/hash, $EXT_HASH_HEADERS)
-diff --git a/ext/hash/config.w32 b/ext/hash/config.w32
-index d38b032efd3..bafbd0b9f8d 100644
---- a/ext/hash/config.w32
-+++ b/ext/hash/config.w32
-@@ -34,13 +34,9 @@ if (!CHECK_HEADER_ADD_INCLUDE('PMurHash.h', 'CFLAGS_HASH', hash_murmur_dir)) {
- }
- ADD_SOURCES(hash_murmur_dir, 'PMurHash.c PMurHash128.c', 'hash');
-
--var hash_xxhash_dir = 'ext/hash/xxhash';
--if (!CHECK_HEADER_ADD_INCLUDE('xxhash.h', 'CFLAGS_HASH', hash_xxhash_dir)) {
-- ERROR('Unable to locate xxhash headers');
--}
--
--PHP_INSTALL_HEADERS('ext/hash/', 'php_hash.h php_hash_md.h php_hash_sha.h ' +
-+PHP_INSTALL_HEADERS('ext/hash', 'php_hash.h php_hash_md.h php_hash_sha.h ' +
- 'php_hash_ripemd.h php_hash_haval.h php_hash_tiger.h ' +
- 'php_hash_gost.h php_hash_snefru.h php_hash_whirlpool.h ' +
- 'php_hash_adler32.h php_hash_crc32.h php_hash_sha3.h ' +
-- 'php_hash_murmur.h php_hash_xxhash.h');
-+ 'php_hash_murmur.h php_hash_xxhash.h php_hash_fnv.h ' +
-+ 'php_hash_joaat.h xxhash/xxhash.h');
-diff --git a/ext/hash/php_hash_xxhash.h b/ext/hash/php_hash_xxhash.h
-index a1e8840ce27..ace70deedb0 100644
---- a/ext/hash/php_hash_xxhash.h
-+++ b/ext/hash/php_hash_xxhash.h
-@@ -18,7 +18,7 @@
- #define PHP_HASH_XXHASH_H
-
- #define XXH_INLINE_ALL 1
--#include "xxhash.h"
-+#include "xxhash/xxhash.h"
-
- typedef struct {
- XXH32_state_t s;
-diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
-index 3cf400fe962..63221eddb0b 100644
---- a/ext/iconv/config.m4
-+++ b/ext/iconv/config.m4
-@@ -149,7 +149,7 @@ int main(void) {
-
- PHP_NEW_EXTENSION(iconv, iconv.c, $ext_shared,, [-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1])
- PHP_SUBST(ICONV_SHARED_LIBADD)
-- PHP_INSTALL_HEADERS([ext/iconv/])
-+ PHP_INSTALL_HEADERS([ext/iconv], [php_iconv.h])
- else
- AC_MSG_ERROR(Please reinstall the iconv library.)
- fi
-diff --git a/ext/iconv/config.w32 b/ext/iconv/config.w32
-index 31423dd121e..0087df54fe5 100644
---- a/ext/iconv/config.w32
-+++ b/ext/iconv/config.w32
-@@ -17,7 +17,7 @@ if (PHP_ICONV != "no") {
- if (!PHP_ICONV_SHARED) {
- ADD_DEF_FILE("ext\\iconv\\php_iconv.def");
- }
-- PHP_INSTALL_HEADERS("", "ext/iconv");
-+ PHP_INSTALL_HEADERS("ext/iconv", "php_iconv.h");
- } else {
- WARNING("iconv support can't be enabled, libraries or headers are missing")
- PHP_ICONV = "no";
-diff --git a/ext/json/config.w32 b/ext/json/config.w32
-index 255f2787728..84f77b6f8c9 100644
---- a/ext/json/config.w32
-+++ b/ext/json/config.w32
-@@ -6,4 +6,4 @@ ADD_SOURCES(configure_module_dirname, "json_encoder.c json_parser.tab.c json_sca
-
- ADD_MAKEFILE_FRAGMENT();
-
--PHP_INSTALL_HEADERS("ext/json/", "php_json.h php_json_parser.h php_json_scanner.h");
-+PHP_INSTALL_HEADERS("ext/json", "php_json.h php_json_parser.h php_json_scanner.h");
-diff --git a/ext/libxml/config.w32 b/ext/libxml/config.w32
-index b11c57bc44a..e890ee4fc4e 100644
---- a/ext/libxml/config.w32
-+++ b/ext/libxml/config.w32
-@@ -15,7 +15,7 @@ if (PHP_LIBXML == "yes") {
- if (!PHP_LIBXML_SHARED) {
- ADD_DEF_FILE("ext\\libxml\\php_libxml2.def");
- }
-- PHP_INSTALL_HEADERS("ext/libxml/", "php_libxml.h");
-+ PHP_INSTALL_HEADERS("ext/libxml", "php_libxml.h");
- } else {
- WARNING("libxml support can't be enabled, iconv or libxml are missing")
- PHP_LIBXML = "no"
-diff --git a/ext/libxml/config0.m4 b/ext/libxml/config0.m4
-index 044a58fa624..7bee0126378 100644
---- a/ext/libxml/config0.m4
-+++ b/ext/libxml/config0.m4
-@@ -12,6 +12,6 @@ if test "$PHP_LIBXML" != "no"; then
- PHP_SETUP_LIBXML(LIBXML_SHARED_LIBADD, [
- AC_DEFINE(HAVE_LIBXML,1,[ ])
- PHP_NEW_EXTENSION(libxml, [libxml.c], $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
-- PHP_INSTALL_HEADERS([ext/libxml/php_libxml.h])
-+ PHP_INSTALL_HEADERS([ext/libxml], [php_libxml.h])
- ])
- fi
-diff --git a/ext/mysqli/config.m4 b/ext/mysqli/config.m4
-index ad7fb7f6bfa..ab060ebc4f1 100644
---- a/ext/mysqli/config.m4
-+++ b/ext/mysqli/config.m4
-@@ -65,10 +65,6 @@ if test "$PHP_MYSQLI" != "no"; then
- mysqli_exception.c mysqli_result_iterator.c"
- PHP_NEW_EXTENSION(mysqli, $mysqli_sources, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
- PHP_SUBST(MYSQLI_SHARED_LIBADD)
-- PHP_INSTALL_HEADERS([ext/mysqli/php_mysqli_structs.h])
--
-- if test "$PHP_MYSQLI" = "yes" || test "$PHP_MYSQLI" = "mysqlnd"; then
-- PHP_ADD_EXTENSION_DEP(mysqli, mysqlnd)
-- PHP_INSTALL_HEADERS([ext/mysqli/mysqli_mysqlnd.h])
-- fi
-+ PHP_INSTALL_HEADERS([ext/mysqli], [php_mysqli_structs.h mysqli_mysqlnd.h])
-+ PHP_ADD_EXTENSION_DEP(mysqli, mysqlnd)
- fi
-diff --git a/ext/mysqli/config.w32 b/ext/mysqli/config.w32
-index c2c4781dd36..141f993afda 100644
---- a/ext/mysqli/config.w32
-+++ b/ext/mysqli/config.w32
-@@ -22,6 +22,6 @@ if (PHP_MYSQLI != "no") {
- if (PHP_MYSQLI != "no") {
- EXTENSION("mysqli", mysqli_source, PHP_MYSQLI_SHARED, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
- ADD_EXTENSION_DEP('mysqli', 'mysqlnd', true);
-- PHP_INSTALL_HEADERS("ext/mysqli", "php_mysqli_structs.h");
-+ PHP_INSTALL_HEADERS("ext/mysqli", "php_mysqli_structs.h mysqli_mysqlnd.h");
- }
- }
-diff --git a/ext/pdo/config.m4 b/ext/pdo/config.m4
-index 9b9a3e36df7..2b182d1e516 100644
---- a/ext/pdo/config.m4
-+++ b/ext/pdo/config.m4
-@@ -11,7 +11,7 @@ if test "$PHP_PDO" != "no"; then
-
- PHP_NEW_EXTENSION(pdo, pdo.c pdo_dbh.c pdo_stmt.c pdo_sql_parser.c pdo_sqlstate.c, $ext_shared)
- PHP_ADD_EXTENSION_DEP(pdo, spl, true)
-- PHP_INSTALL_HEADERS(ext/pdo, [php_pdo.h php_pdo_driver.h php_pdo_error.h])
-+ PHP_INSTALL_HEADERS([ext/pdo], [php_pdo.h php_pdo_driver.h php_pdo_error.h])
-
- dnl so we always include the known-good working hack.
- PHP_ADD_MAKEFILE_FRAGMENT
-diff --git a/ext/phar/config.w32 b/ext/phar/config.w32
-index c68ba08f2ca..16432165167 100644
---- a/ext/phar/config.w32
-+++ b/ext/phar/config.w32
-@@ -35,6 +35,7 @@ if (PHP_PHAR != "no") {
- }
- }
- ADD_EXTENSION_DEP('phar', 'spl', true);
-+ PHP_INSTALL_HEADERS("ext/phar", "php_phar.h");
-
- ADD_MAKEFILE_FRAGMENT();
- }
-diff --git a/ext/session/config.m4 b/ext/session/config.m4
-index da31bbde86c..f356102ac46 100644
---- a/ext/session/config.m4
-+++ b/ext/session/config.m4
-@@ -18,7 +18,7 @@ if test "$PHP_SESSION" != "no"; then
- PHP_ADD_EXTENSION_DEP(session, hash, true)
- PHP_ADD_EXTENSION_DEP(session, spl)
- PHP_SUBST(SESSION_SHARED_LIBADD)
-- PHP_INSTALL_HEADERS(ext/session, [php_session.h mod_files.h mod_user.h])
-+ PHP_INSTALL_HEADERS([ext/session], [php_session.h mod_files.h mod_user.h])
- AC_DEFINE(HAVE_PHP_SESSION,1,[ ])
- fi
-
-@@ -38,6 +38,6 @@ if test "$PHP_MM" != "no"; then
-
- PHP_ADD_LIBRARY_WITH_PATH(mm, $MM_DIR/$PHP_LIBDIR, SESSION_SHARED_LIBADD)
- PHP_ADD_INCLUDE($MM_DIR/include)
-- PHP_INSTALL_HEADERS([ext/session/mod_mm.h])
-+ PHP_INSTALL_HEADERS([ext/session], [mod_mm.h])
- AC_DEFINE(HAVE_LIBMM, 1, [Whether you have libmm])
- fi
-diff --git a/ext/session/config.w32 b/ext/session/config.w32
-index aff34f3c847..bb3df15ac29 100644
---- a/ext/session/config.w32
-+++ b/ext/session/config.w32
-@@ -5,5 +5,5 @@ ARG_ENABLE("session", "session support", "yes");
- if (PHP_SESSION == "yes") {
- EXTENSION("session", "mod_user_class.c session.c mod_files.c mod_mm.c mod_user.c", false /* never shared */, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
- AC_DEFINE("HAVE_PHP_SESSION", 1, "Session support");
-- PHP_INSTALL_HEADERS("ext/session/", "mod_mm.h php_session.h mod_files.h mod_user.h");
-+ PHP_INSTALL_HEADERS("ext/session", "mod_mm.h php_session.h mod_files.h mod_user.h");
- }
-diff --git a/ext/simplexml/config.m4 b/ext/simplexml/config.m4
-index 8b8a6f814a1..734aa080fde 100644
---- a/ext/simplexml/config.m4
-+++ b/ext/simplexml/config.m4
-@@ -13,7 +13,7 @@ if test "$PHP_SIMPLEXML" != "no"; then
- PHP_SETUP_LIBXML(SIMPLEXML_SHARED_LIBADD, [
- AC_DEFINE(HAVE_SIMPLEXML,1,[ ])
- PHP_NEW_EXTENSION(simplexml, simplexml.c, $ext_shared)
-- PHP_INSTALL_HEADERS([ext/simplexml/php_simplexml.h ext/simplexml/php_simplexml_exports.h])
-+ PHP_INSTALL_HEADERS([ext/simplexml], [php_simplexml.h php_simplexml_exports.h])
- PHP_SUBST(SIMPLEXML_SHARED_LIBADD)
- ])
- PHP_ADD_EXTENSION_DEP(simplexml, libxml)
-diff --git a/ext/simplexml/config.w32 b/ext/simplexml/config.w32
-index a6011fedc20..8a1190d5272 100644
---- a/ext/simplexml/config.w32
-+++ b/ext/simplexml/config.w32
-@@ -21,7 +21,7 @@ if (PHP_SIMPLEXML == "yes") {
- MESSAGE("\tSPL support in simplexml disabled");
- }
- ADD_FLAG("CFLAGS_SIMPLEXML", "/D PHP_SIMPLEXML_EXPORTS ");
-- PHP_INSTALL_HEADERS("ext/simplexml/", "php_simplexml.h php_simplexml_exports.h");
-+ PHP_INSTALL_HEADERS("ext/simplexml", "php_simplexml.h php_simplexml_exports.h");
- } else {
- PHP_SIMPLEXML = "no";
- WARNING("simplexml not enabled; libraries and headers not found");
-diff --git a/ext/sockets/config.m4 b/ext/sockets/config.m4
-index d0fad902114..0fb11e773f2 100644
---- a/ext/sockets/config.m4
-+++ b/ext/sockets/config.m4
-@@ -103,5 +103,5 @@ if test "$PHP_SOCKETS" != "no"; then
- [sockets.c multicast.c conversions.c sockaddr_conv.c sendrecvmsg.c],
- [$ext_shared],,
- $PHP_SOCKETS_CFLAGS)
-- PHP_INSTALL_HEADERS([ext/sockets/], [php_sockets.h])
-+ PHP_INSTALL_HEADERS([ext/sockets], [php_sockets.h])
- fi
-diff --git a/ext/sodium/config.m4 b/ext/sodium/config.m4
-index 05d9ebd5a13..a7a9131602e 100644
---- a/ext/sodium/config.m4
-+++ b/ext/sodium/config.m4
-@@ -15,5 +15,6 @@ if test "$PHP_SODIUM" != "no"; then
- SODIUM_COMPILER_FLAGS="$LIBSODIUM_CFLAGS -Wno-type-limits"
- AX_CHECK_COMPILE_FLAG([-Wno-logical-op], SODIUM_COMPILER_FLAGS="$SODIUM_COMPILER_FLAGS -Wno-logical-op", , [-Werror])
- PHP_NEW_EXTENSION(sodium, libsodium.c sodium_pwhash.c, $ext_shared, , $SODIUM_COMPILER_FLAGS)
-+ PHP_INSTALL_HEADERS([ext/sodium], [php_libsodium.h])
- PHP_SUBST(SODIUM_SHARED_LIBADD)
- fi
-diff --git a/ext/sodium/config.w32 b/ext/sodium/config.w32
-index 2ff8b998d2d..738ef666eb0 100644
---- a/ext/sodium/config.w32
-+++ b/ext/sodium/config.w32
-@@ -6,7 +6,7 @@ if (PHP_SODIUM != "no") {
- if (CHECK_LIB("libsodium.lib", "sodium", PHP_SODIUM) && CHECK_HEADER_ADD_INCLUDE("sodium.h", "CFLAGS_SODIUM")) {
- EXTENSION("sodium", "libsodium.c sodium_pwhash.c");
- AC_DEFINE('HAVE_LIBSODIUMLIB', 1 , 'Have the Sodium library');
-- PHP_INSTALL_HEADERS("ext/sodium/", "php_libsodium.h");
-+ PHP_INSTALL_HEADERS("ext/sodium", "php_libsodium.h");
- } else {
- WARNING("libsodium not enabled; libraries and headers not found");
- }
-diff --git a/ext/xml/config.m4 b/ext/xml/config.m4
-index 208f9e4c160..5c07ce079de 100644
---- a/ext/xml/config.m4
-+++ b/ext/xml/config.m4
-@@ -32,6 +32,6 @@ if test "$PHP_XML" != "no"; then
-
- PHP_NEW_EXTENSION(xml, xml.c $xml_extra_sources, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
- PHP_SUBST(XML_SHARED_LIBADD)
-- PHP_INSTALL_HEADERS([ext/xml/])
-+ PHP_INSTALL_HEADERS([ext/xml], [expat_compat.h php_xml.h])
- AC_DEFINE(HAVE_XML, 1, [ ])
- fi
-diff --git a/ext/xml/config.w32 b/ext/xml/config.w32
-index c0bb3168e88..f4fec691909 100644
---- a/ext/xml/config.w32
-+++ b/ext/xml/config.w32
-@@ -13,7 +13,7 @@ if (PHP_XML == "yes") {
- if (!PHP_XML_SHARED) {
- ADD_FLAG("CFLAGS_XML", "/D LIBXML_STATIC ");
- }
-- PHP_INSTALL_HEADERS("", "ext/xml");
-+ PHP_INSTALL_HEADERS("ext/xml", "expat_compat.h php_xml.h");
- } else {
- WARNING("xml support can't be enabled, libraries or headers are missing")
- PHP_XML = "no"
-diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4
-index 1b8e67f0b39..3e58a9aeb74 100644
---- a/sapi/cli/config.m4
-+++ b/sapi/cli/config.m4
-@@ -56,6 +56,6 @@ if test "$PHP_CLI" != "no"; then
-
- PHP_OUTPUT(sapi/cli/php.1)
-
-- PHP_INSTALL_HEADERS([sapi/cli/cli.h])
-+ PHP_INSTALL_HEADERS([sapi/cli], [cli.h])
- fi
- AC_MSG_RESULT($PHP_CLI)
-diff --git a/sapi/cli/config.w32 b/sapi/cli/config.w32
-index 28bb2fd4c6d..2a3475e5de6 100644
---- a/sapi/cli/config.w32
-+++ b/sapi/cli/config.w32
-@@ -8,6 +8,7 @@ if (PHP_CLI == "yes") {
- ADD_FLAG("LIBS_CLI", "ws2_32.lib");
- ADD_FLAG("LIBS_CLI", "shell32.lib");
- ADD_FLAG("LDFLAGS_CLI", "/stack:67108864");
-+ PHP_INSTALL_HEADERS("sapi/cli", "cli.h");
-
- if (CHECK_LIB("edit_a.lib;edit.lib", "cli", PHP_CLI) &&
- CHECK_HEADER_ADD_INCLUDE("editline/readline.h", "CFLAGS_CLI")) {
-diff --git a/sapi/embed/config.m4 b/sapi/embed/config.m4
-index 39d7dcf0a3f..1b44ee94120 100644
---- a/sapi/embed/config.m4
-+++ b/sapi/embed/config.m4
-@@ -26,7 +26,7 @@ if test "$PHP_EMBED" != "no"; then
- if test "$PHP_EMBED_TYPE" != "no"; then
- PHP_SUBST(LIBPHP_CFLAGS)
- PHP_SELECT_SAPI(embed, $PHP_EMBED_TYPE, php_embed.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
-- PHP_INSTALL_HEADERS([sapi/embed/php_embed.h])
-+ PHP_INSTALL_HEADERS([sapi/embed], [php_embed.h])
- fi
- AC_MSG_RESULT([$PHP_EMBED_TYPE])
- else
---
-2.47.1
-
diff --git a/package/php/php.hash b/package/php/php.hash
index dbb130f30b..6774ba1936 100644
--- a/package/php/php.hash
+++ b/package/php/php.hash
@@ -1,5 +1,5 @@
-# From https://www.php.net/downloads.php
-sha256 388ee5fd111097e97bae439bff46aec4ea27f816d3f0c2cb5490a41410d44251 php-8.3.24.tar.xz
+# From https://www.php.net/downloads.php?source=Y
+sha256 b4f27adf30bcf262eacf93c78250dd811980f20f3b90d79a3dc11248681842df php-8.4.13.tar.xz
# License file
sha256 b42e4df5e50e6ecda1047d503d6d91d71032d09ed1027ba1ef29eed26f890c5a LICENSE
diff --git a/package/php/php.mk b/package/php/php.mk
index 5460f440cb..db9308dd7f 100644
--- a/package/php/php.mk
+++ b/package/php/php.mk
@@ -4,7 +4,7 @@
#
################################################################################
-PHP_VERSION = 8.3.24
+PHP_VERSION = 8.4.13
PHP_SITE = https://www.php.net/distributions
PHP_SOURCE = php-$(PHP_VERSION).tar.xz
PHP_INSTALL_STAGING = YES
@@ -43,6 +43,10 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
PHP_EXTRA_LIBS += -latomic
endif
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
+PHP_CONF_ENV += php_cv_func_copy_file_range=no
+endif
+
ifeq ($(BR2_PACKAGE_LIBUCONTEXT),y)
PHP_DEPENDENCIES += libucontext
PHP_EXTRA_LIBS += -lucontext
@@ -259,10 +263,10 @@ PHP_POST_CONFIGURE_HOOKS += PHP_DISABLE_VALGRIND
ifeq ($(BR2_PACKAGE_PCRE2_JIT),y)
PHP_CONF_OPTS += --with-pcre-jit=yes
-PHP_CONF_ENV += ac_cv_have_pcre2_jit=yes
+PHP_CONF_ENV += php_cv_have_pcre2_jit=yes
else
PHP_CONF_OPTS += --with-pcre-jit=no
-PHP_CONF_ENV += ac_cv_have_pcre2_jit=no
+PHP_CONF_ENV += php_cv_have_pcre2_jit=no
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_CURL),y)
--
2.47.3
More information about the buildroot
mailing list