mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-23 05:23:39 +08:00
package/php: bump version to 8.0.7
Other changes: - Remove BR2_PACKAGE_PHP_EXT_JSON as the json extension is now an integral part of PHP and is no longer optional. Due to this, it is not added to Config.in.legacy. - Move BR2_PACKAGE_PHP_EXT_XMLRPC to Config.in.legacy as the extension has been removed. See https://wiki.php.net/rfc/unbundle_xmlprc for an explination. - Add a new patch that allows for opcache to cross-compile with PHP8. - Explicitly disable opcache-jit when opcache is enabled, as the JIT fails to cross-compile. - --enable-maintainer-zts is now --enable-zts Signed-off-by: Adam Duskett <aduskett@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
f16aa4ed9d
commit
469c11c516
@ -146,6 +146,13 @@ endif
|
||||
|
||||
comment "Legacy options removed in 2021.05"
|
||||
|
||||
config BR2_PACKAGE_PHP_EXT_XMLRPC
|
||||
bool "PHP XMLRPC extension removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The XMLRPC php extension was removed.
|
||||
See: https://wiki.php.net/rfc/unbundle_xmlprc
|
||||
|
||||
config BR2_PACKAGE_UDISKS_LVM2
|
||||
bool "udisks lvm2 support removed"
|
||||
select BR2_LEGACY
|
||||
|
@ -17,7 +17,7 @@ diff --git a/build/php.m4 b/build/php.m4
|
||||
index e91ef988..9586c490 100644
|
||||
--- a/build/php.m4
|
||||
+++ b/build/php.m4
|
||||
@@ -1587,8 +1587,6 @@ dnl PHP_CHECK_FUNC_LIB
|
||||
@@ -1568,8 +1568,6 @@ dnl PHP_CHECK_FUNC_LIB
|
||||
dnl
|
||||
AC_DEFUN([PHP_CHECK_FUNC_LIB],[
|
||||
ifelse($2,,:,[
|
||||
@ -26,7 +26,7 @@ index e91ef988..9586c490 100644
|
||||
unset found
|
||||
AC_CHECK_LIB($2, $1, [found=yes], [
|
||||
AC_CHECK_LIB($2, __$1, [found=yes], [found=no])
|
||||
@@ -1620,8 +1618,6 @@ dnl and as a fall back in the specified library. Defines HAVE_func and
|
||||
@@ -1601,8 +1599,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],[
|
||||
|
@ -14,60 +14,26 @@ Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
[Gustavo: convert to nice m4 instead of patching configure]
|
||||
[Gustavo: update for 5.6.10]
|
||||
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
||||
[aduskett@gmail.com: Update for 7.3.0]
|
||||
[aduskett@gmail.com: Update for 8.0.7]
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
[Bernd: rebased for 7.4.10 & 7.4.13]
|
||||
---
|
||||
build/php.m4 | 2 +-
|
||||
ext/iconv/config.m4 | 22 ----------------------
|
||||
2 files changed, 1 insertion(+), 23 deletions(-)
|
||||
build/php.m4 | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build/php.m4 b/build/php.m4
|
||||
index 9586c490..8b3d47ed 100644
|
||||
--- a/build/php.m4
|
||||
+++ b/build/php.m4
|
||||
@@ -1973,7 +1973,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [
|
||||
@@ -1937,7 +1937,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [
|
||||
dnl Check external libs for iconv funcs.
|
||||
if test "$found_iconv" = "no"; then
|
||||
|
||||
- for i in $PHP_ICONV /usr/local /usr; do
|
||||
+ for i in $PHP_ICONV; do
|
||||
if test -r $i/include/giconv.h; then
|
||||
AC_DEFINE(HAVE_GICONV_H, 1, [ ])
|
||||
if test -r $i/include/gnu-libiconv/iconv.h; then
|
||||
ICONV_DIR=$i
|
||||
diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
|
||||
index fe9b47aa..70599694 100644
|
||||
--- a/ext/iconv/config.m4
|
||||
+++ b/ext/iconv/config.m4
|
||||
@@ -13,28 +13,6 @@ if test "$PHP_ICONV" != "no"; then
|
||||
])
|
||||
|
||||
if test "$iconv_avail" != "no"; then
|
||||
- if test -z "$ICONV_DIR"; then
|
||||
- for i in /usr/local /usr; do
|
||||
- if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then
|
||||
- PHP_ICONV_PREFIX="$i"
|
||||
- break
|
||||
- fi
|
||||
- done
|
||||
- if test -z "$PHP_ICONV_PREFIX"; then
|
||||
- PHP_ICONV_PREFIX="/usr"
|
||||
- fi
|
||||
- else
|
||||
- PHP_ICONV_PREFIX="$ICONV_DIR"
|
||||
- fi
|
||||
-
|
||||
- CFLAGS="-I$PHP_ICONV_PREFIX/include $CFLAGS"
|
||||
- LDFLAGS="-L$PHP_ICONV_PREFIX/$PHP_LIBDIR $LDFLAGS"
|
||||
-
|
||||
- if test -r "$PHP_ICONV_PREFIX/include/giconv.h"; then
|
||||
- PHP_ICONV_H_PATH="$PHP_ICONV_PREFIX/include/giconv.h"
|
||||
- else
|
||||
- PHP_ICONV_H_PATH="$PHP_ICONV_PREFIX/include/iconv.h"
|
||||
- fi
|
||||
|
||||
AC_MSG_CHECKING([if iconv is glibc's])
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <gnu/libc-version.h>]], [[gnu_get_libc_version();]])],[
|
||||
ICONV_INCLUDE_DIR=$i/include/gnu-libiconv
|
||||
--
|
||||
2.7.4
|
||||
2.31.1
|
||||
|
||||
|
@ -11,7 +11,7 @@ on the target.
|
||||
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
||||
[Gustavo: update for autoreconf/configure.in]
|
||||
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
||||
[Aduskett: update for 7.3.0]
|
||||
[Aduskett: update for 8.0.7]
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
[Bernd: rebased for 7.4.10 & 7.4.13]
|
||||
---
|
||||
@ -22,8 +22,8 @@ diff --git a/configure.ac b/configure.ac
|
||||
index 0dfab302..6026fb66 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1454,13 +1454,8 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
|
||||
INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag"
|
||||
@@ -1423,13 +1423,8 @@ CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)"
|
||||
CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
|
||||
CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)"
|
||||
|
||||
-if test "$PHP_PHAR" != "no" && test "$PHP_CLI" != "no"; then
|
||||
|
@ -7,7 +7,7 @@ php uses apache's apxs script from staging directory to install libphp
|
||||
dynamic library and update /etc/apache2/httpd.conf in the staging and target
|
||||
directories. Here is the full command line:
|
||||
"apxs -S LIBEXECDIR='$(INSTALL_ROOT)/usr/modules'
|
||||
-S SYSCONFDIR='$(INSTALL_ROOT)/etc/apache2' -i -a -n php7"
|
||||
-S SYSCONFDIR='$(INSTALL_ROOT)/etc/apache2' -i -a -n php"
|
||||
This does not work for target directory as apxs sets the full path of the
|
||||
library and not the relative one. Indeed, apxs is smart enough to substitute
|
||||
away the prefix specified in $(STAGING_DIR)/usr/build/config_vars.mk so
|
||||
@ -16,7 +16,7 @@ To fix this, add -S PREFIX='$(INSTALL_ROOT)/usr' to apxs call in configure
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
|
||||
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
||||
[aduskett@gmail.com: Update for 7.3.0]
|
||||
[aduskett@gmail.com: Update for 8.0.7]
|
||||
---
|
||||
sapi/apache2handler/config.m4 | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
@ -35,7 +35,7 @@ index 55c16179..68ce66c0 100644
|
||||
INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
|
||||
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
|
||||
+ -S PREFIX='$APXS_PREFIX' \
|
||||
-i -n php7"
|
||||
-i -n php"
|
||||
else
|
||||
APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR`
|
||||
@@ -74,6 +76,7 @@ if test "$PHP_APXS2" != "no"; then
|
||||
@ -43,7 +43,7 @@ index 55c16179..68ce66c0 100644
|
||||
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
|
||||
-S SYSCONFDIR='$APXS_SYSCONFDIR' \
|
||||
+ -S PREFIX='$APXS_PREFIX' \
|
||||
-i -a -n php7"
|
||||
-i -a -n php"
|
||||
fi
|
||||
|
||||
--
|
||||
|
37
package/php/0005-allow-opcache-cross-compiling.patch
Normal file
37
package/php/0005-allow-opcache-cross-compiling.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From 9bb316c41a69935ee2072626467241889594bed4 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Duskett <aduskett@gmail.com>
|
||||
Date: Mon, 28 Jun 2021 11:12:36 -0700
|
||||
Subject: [PATCH] allow opcache cross-compiling
|
||||
|
||||
Remove the check at the end of ext/opcache/config.m4 that prevents opcache from
|
||||
being enabled in a cross-compiled environment. We pass the following as a
|
||||
CFLAGS when opcache is enabled:
|
||||
-DHAVE_SHM_IPC
|
||||
-DHAVE_SHM_MMAP_ANON
|
||||
-DHAVE_SHM_MMAP_ZERO
|
||||
-DHAVE_SHM_MMAP_POSIX
|
||||
-DHAVE_SHM_MMAP_FILE
|
||||
|
||||
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
||||
---
|
||||
ext/opcache/config.m4 | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
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
|
||||
@@ -339,10 +339,6 @@ int main() {
|
||||
PHP_ADD_BUILD_DIR([$ext_builddir/Optimizer], 1)
|
||||
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.])
|
||||
- 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)
|
||||
--
|
||||
2.31.1
|
||||
|
@ -273,11 +273,6 @@ config BR2_PACKAGE_PHP_EXT_GMP
|
||||
|
||||
comment "Other basic extensions"
|
||||
|
||||
config BR2_PACKAGE_PHP_EXT_JSON
|
||||
bool "JSON"
|
||||
help
|
||||
JavaScript Object Serialization support
|
||||
|
||||
config BR2_PACKAGE_PHP_EXT_TOKENIZER
|
||||
bool "Tokenizer"
|
||||
help
|
||||
@ -363,13 +358,6 @@ config BR2_PACKAGE_PHP_EXT_SOAP
|
||||
help
|
||||
SOAP support
|
||||
|
||||
config BR2_PACKAGE_PHP_EXT_XMLRPC
|
||||
bool "XML-RPC"
|
||||
select BR2_PACKAGE_PHP_EXT_LIBXML2
|
||||
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
|
||||
help
|
||||
XML-RPC support
|
||||
|
||||
comment "XML manipulation"
|
||||
|
||||
config BR2_PACKAGE_PHP_EXT_DOM
|
||||
|
@ -1,5 +1,5 @@
|
||||
# From https://www.php.net/downloads.php
|
||||
sha256 1fa46ca6790d780bf2cb48961df65f0ca3640c4533f0bca743cd61b71cb66335 php-7.4.20.tar.xz
|
||||
sha256 d5fc2e4fc780a32404d88c360e3e0009bc725d936459668e9c2ac992f2d83654 php-8.0.7.tar.xz
|
||||
|
||||
# License file
|
||||
sha256 a188db807d711536f71e27b7d36879d63480f7994dc18adc08e624b3c5430fff LICENSE
|
||||
|
@ -4,8 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PHP_VERSION = 7.4.20
|
||||
PHP_SITE = http://www.php.net/distributions
|
||||
PHP_VERSION = 8.0.7
|
||||
PHP_SITE = https://www.php.net/distributions
|
||||
PHP_SOURCE = php-$(PHP_VERSION).tar.xz
|
||||
PHP_INSTALL_STAGING = YES
|
||||
PHP_INSTALL_STAGING_OPTS = INSTALL_ROOT=$(STAGING_DIR) install
|
||||
@ -62,7 +62,7 @@ PHP_CXXFLAGS = $(TARGET_CXXFLAGS)
|
||||
# The OPcache extension isn't cross-compile friendly
|
||||
# Throw some defines here to avoid patching heavily
|
||||
ifeq ($(BR2_PACKAGE_PHP_EXT_OPCACHE),y)
|
||||
PHP_CONF_OPTS += --enable-opcache
|
||||
PHP_CONF_OPTS += --enable-opcache --disable-opcache-jit
|
||||
PHP_CONF_ENV += ac_cv_func_mprotect=yes
|
||||
PHP_CFLAGS += \
|
||||
-DHAVE_SHM_IPC \
|
||||
@ -90,7 +90,7 @@ PHP_CONF_OPTS += --with-apxs2=$(STAGING_DIR)/usr/bin/apxs
|
||||
|
||||
# Enable thread safety option if Apache MPM is event or worker
|
||||
ifeq ($(BR2_PACKAGE_APACHE_MPM_EVENT)$(BR2_PACKAGE_APACHE_MPM_WORKER),y)
|
||||
PHP_CONF_OPTS += --enable-maintainer-zts
|
||||
PHP_CONF_OPTS += --enable-zts
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -107,7 +107,6 @@ PHP_CONF_OPTS += \
|
||||
$(if $(BR2_PACKAGE_PHP_EXT_XMLWRITER),--enable-xmlwriter) \
|
||||
$(if $(BR2_PACKAGE_PHP_EXT_EXIF),--enable-exif) \
|
||||
$(if $(BR2_PACKAGE_PHP_EXT_FTP),--enable-ftp) \
|
||||
$(if $(BR2_PACKAGE_PHP_EXT_JSON),--enable-json) \
|
||||
$(if $(BR2_PACKAGE_PHP_EXT_TOKENIZER),--enable-tokenizer) \
|
||||
$(if $(BR2_PACKAGE_PHP_EXT_PCNTL),--enable-pcntl) \
|
||||
$(if $(BR2_PACKAGE_PHP_EXT_SHMOP),--enable-shmop) \
|
||||
@ -161,13 +160,6 @@ PHP_CONF_OPTS += --enable-wddx --with-libexpat-dir=$(STAGING_DIR)/usr
|
||||
PHP_DEPENDENCIES += expat
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PHP_EXT_XMLRPC),y)
|
||||
PHP_CONF_OPTS += \
|
||||
--with-xmlrpc \
|
||||
$(if $(BR2_PACKAGE_LIBICONV),--with-iconv-dir=$(STAGING_DIR)/usr)
|
||||
PHP_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv)
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PHP_EXT_ZIP),y)
|
||||
PHP_DEPENDENCIES += libzip
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user