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:
Adam Duskett 2021-06-29 09:50:54 -07:00 committed by Thomas Petazzoni
parent f16aa4ed9d
commit 469c11c516
9 changed files with 65 additions and 75 deletions

View File

@ -146,6 +146,13 @@ endif
comment "Legacy options removed in 2021.05" 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 config BR2_PACKAGE_UDISKS_LVM2
bool "udisks lvm2 support removed" bool "udisks lvm2 support removed"
select BR2_LEGACY select BR2_LEGACY

View File

@ -17,7 +17,7 @@ diff --git a/build/php.m4 b/build/php.m4
index e91ef988..9586c490 100644 index e91ef988..9586c490 100644
--- a/build/php.m4 --- a/build/php.m4
+++ b/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 dnl
AC_DEFUN([PHP_CHECK_FUNC_LIB],[ AC_DEFUN([PHP_CHECK_FUNC_LIB],[
ifelse($2,,:,[ ifelse($2,,:,[
@ -26,7 +26,7 @@ index e91ef988..9586c490 100644
unset found unset found
AC_CHECK_LIB($2, $1, [found=yes], [ AC_CHECK_LIB($2, $1, [found=yes], [
AC_CHECK_LIB($2, __$1, [found=yes], [found=no]) 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 HAVE_library if found and adds the library to LIBS.
dnl dnl
AC_DEFUN([PHP_CHECK_FUNC],[ AC_DEFUN([PHP_CHECK_FUNC],[

View File

@ -14,60 +14,26 @@ Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
[Gustavo: convert to nice m4 instead of patching configure] [Gustavo: convert to nice m4 instead of patching configure]
[Gustavo: update for 5.6.10] [Gustavo: update for 5.6.10]
Signed-off-by: Adam Duskett <aduskett@gmail.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]
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Bernd: rebased for 7.4.10 & 7.4.13] [Bernd: rebased for 7.4.10 & 7.4.13]
--- ---
build/php.m4 | 2 +- build/php.m4 | 2 +-
ext/iconv/config.m4 | 22 ---------------------- 1 file changed, 1 insertion(+), 1 deletion(-)
2 files changed, 1 insertion(+), 23 deletions(-)
diff --git a/build/php.m4 b/build/php.m4 diff --git a/build/php.m4 b/build/php.m4
index 9586c490..8b3d47ed 100644 index 9586c490..8b3d47ed 100644
--- a/build/php.m4 --- a/build/php.m4
+++ b/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. dnl Check external libs for iconv funcs.
if test "$found_iconv" = "no"; then if test "$found_iconv" = "no"; then
- for i in $PHP_ICONV /usr/local /usr; do - for i in $PHP_ICONV /usr/local /usr; do
+ for i in $PHP_ICONV; do + for i in $PHP_ICONV; do
if test -r $i/include/giconv.h; then if test -r $i/include/gnu-libiconv/iconv.h; then
AC_DEFINE(HAVE_GICONV_H, 1, [ ])
ICONV_DIR=$i ICONV_DIR=$i
diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4 ICONV_INCLUDE_DIR=$i/include/gnu-libiconv
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();]])],[
-- --
2.7.4 2.31.1

View File

@ -11,7 +11,7 @@ on the target.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
[Gustavo: update for autoreconf/configure.in] [Gustavo: update for autoreconf/configure.in]
Signed-off-by: Adam Duskett <aduskett@gmail.com> 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> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Bernd: rebased for 7.4.10 & 7.4.13] [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 index 0dfab302..6026fb66 100644
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -1454,13 +1454,8 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag" @@ -1423,13 +1423,8 @@ CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)"
INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag" CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)" CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)"
-if test "$PHP_PHAR" != "no" && test "$PHP_CLI" != "no"; then -if test "$PHP_PHAR" != "no" && test "$PHP_CLI" != "no"; then

View File

@ -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 dynamic library and update /etc/apache2/httpd.conf in the staging and target
directories. Here is the full command line: directories. Here is the full command line:
"apxs -S LIBEXECDIR='$(INSTALL_ROOT)/usr/modules' "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 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 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 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: Fabrice Fontaine <fabrice.fontaine@orange.com>
Signed-off-by: Adam Duskett <aduskett@gmail.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 +++ sapi/apache2handler/config.m4 | 3 +++
1 file changed, 3 insertions(+) 1 file changed, 3 insertions(+)
@ -35,7 +35,7 @@ index 55c16179..68ce66c0 100644
INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
+ -S PREFIX='$APXS_PREFIX' \ + -S PREFIX='$APXS_PREFIX' \
-i -n php7" -i -n php"
else else
APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR` APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR`
@@ -74,6 +76,7 @@ if test "$PHP_APXS2" != "no"; then @@ -74,6 +76,7 @@ if test "$PHP_APXS2" != "no"; then
@ -43,7 +43,7 @@ index 55c16179..68ce66c0 100644
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
-S SYSCONFDIR='$APXS_SYSCONFDIR' \ -S SYSCONFDIR='$APXS_SYSCONFDIR' \
+ -S PREFIX='$APXS_PREFIX' \ + -S PREFIX='$APXS_PREFIX' \
-i -a -n php7" -i -a -n php"
fi fi
-- --

View 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

View File

@ -273,11 +273,6 @@ config BR2_PACKAGE_PHP_EXT_GMP
comment "Other basic extensions" comment "Other basic extensions"
config BR2_PACKAGE_PHP_EXT_JSON
bool "JSON"
help
JavaScript Object Serialization support
config BR2_PACKAGE_PHP_EXT_TOKENIZER config BR2_PACKAGE_PHP_EXT_TOKENIZER
bool "Tokenizer" bool "Tokenizer"
help help
@ -363,13 +358,6 @@ config BR2_PACKAGE_PHP_EXT_SOAP
help help
SOAP support 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" comment "XML manipulation"
config BR2_PACKAGE_PHP_EXT_DOM config BR2_PACKAGE_PHP_EXT_DOM

View File

@ -1,5 +1,5 @@
# From https://www.php.net/downloads.php # 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 # License file
sha256 a188db807d711536f71e27b7d36879d63480f7994dc18adc08e624b3c5430fff LICENSE sha256 a188db807d711536f71e27b7d36879d63480f7994dc18adc08e624b3c5430fff LICENSE

View File

@ -4,8 +4,8 @@
# #
################################################################################ ################################################################################
PHP_VERSION = 7.4.20 PHP_VERSION = 8.0.7
PHP_SITE = http://www.php.net/distributions PHP_SITE = https://www.php.net/distributions
PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_SOURCE = php-$(PHP_VERSION).tar.xz
PHP_INSTALL_STAGING = YES PHP_INSTALL_STAGING = YES
PHP_INSTALL_STAGING_OPTS = INSTALL_ROOT=$(STAGING_DIR) install 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 # The OPcache extension isn't cross-compile friendly
# Throw some defines here to avoid patching heavily # Throw some defines here to avoid patching heavily
ifeq ($(BR2_PACKAGE_PHP_EXT_OPCACHE),y) 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_CONF_ENV += ac_cv_func_mprotect=yes
PHP_CFLAGS += \ PHP_CFLAGS += \
-DHAVE_SHM_IPC \ -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 # Enable thread safety option if Apache MPM is event or worker
ifeq ($(BR2_PACKAGE_APACHE_MPM_EVENT)$(BR2_PACKAGE_APACHE_MPM_WORKER),y) 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
endif endif
@ -107,7 +107,6 @@ PHP_CONF_OPTS += \
$(if $(BR2_PACKAGE_PHP_EXT_XMLWRITER),--enable-xmlwriter) \ $(if $(BR2_PACKAGE_PHP_EXT_XMLWRITER),--enable-xmlwriter) \
$(if $(BR2_PACKAGE_PHP_EXT_EXIF),--enable-exif) \ $(if $(BR2_PACKAGE_PHP_EXT_EXIF),--enable-exif) \
$(if $(BR2_PACKAGE_PHP_EXT_FTP),--enable-ftp) \ $(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_TOKENIZER),--enable-tokenizer) \
$(if $(BR2_PACKAGE_PHP_EXT_PCNTL),--enable-pcntl) \ $(if $(BR2_PACKAGE_PHP_EXT_PCNTL),--enable-pcntl) \
$(if $(BR2_PACKAGE_PHP_EXT_SHMOP),--enable-shmop) \ $(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 PHP_DEPENDENCIES += expat
endif 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) ifeq ($(BR2_PACKAGE_PHP_EXT_ZIP),y)
PHP_DEPENDENCIES += libzip PHP_DEPENDENCIES += libzip
endif endif