mirror of
https://github.com/openwrt/packages.git
synced 2025-12-21 19:14:30 +04:00
php8: update to 8.4.5
This is a major upgrade to latest stable PHP version. - IMAP extension was unbundled from PHP - align patch filenames with latest ones from Debian - removed obsolete patches - adapted/refreshed patches - added patch to remove call to httpd during configure Note: this assumes that 'prefork' mpm is used Upstream changelog for this specific release: https://www.php.net/ChangeLog-8.php#8.4.5 Signed-off-by: Michael Heimpold <mhei@heimpold.de>
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=php
|
PKG_NAME:=php
|
||||||
PKG_VERSION:=8.3.14
|
PKG_VERSION:=8.4.5
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
|
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
|
||||||
@@ -16,7 +16,7 @@ PKG_CPE_ID:=cpe:/a:php:php
|
|||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=https://www.php.net/distributions/
|
PKG_SOURCE_URL:=https://www.php.net/distributions/
|
||||||
PKG_HASH:=58b4cb9019bf70c0cbcdb814c7df79b9065059d14cf7dbf48d971f8e56ae9be7
|
PKG_HASH:=0d3270bbce4d9ec617befce52458b763fd461d475f1fe2ed878bb8573faed327
|
||||||
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
PKG_BUILD_PARALLEL:=1
|
||||||
PKG_BUILD_FLAGS:=no-mips16
|
PKG_BUILD_FLAGS:=no-mips16
|
||||||
@@ -28,7 +28,7 @@ PHP8_MODULES= \
|
|||||||
exif \
|
exif \
|
||||||
fileinfo filter ftp \
|
fileinfo filter ftp \
|
||||||
gettext gd gmp \
|
gettext gd gmp \
|
||||||
iconv imap intl \
|
iconv intl \
|
||||||
ldap \
|
ldap \
|
||||||
mbstring mysqli mysqlnd \
|
mbstring mysqli mysqlnd \
|
||||||
opcache openssl \
|
opcache openssl \
|
||||||
@@ -288,15 +288,6 @@ else
|
|||||||
CONFIGURE_ARGS+= --without-iconv
|
CONFIGURE_ARGS+= --without-iconv
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-imap),)
|
|
||||||
CONFIGURE_ARGS+= \
|
|
||||||
--with-imap=shared,"$(STAGING_DIR)/usr" \
|
|
||||||
--with-kerberos=no \
|
|
||||||
--with-imap-ssl="$(STAGING_DIR)/usr"
|
|
||||||
else
|
|
||||||
CONFIGURE_ARGS+= --without-imap
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-intl),)
|
ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-intl),)
|
||||||
CONFIGURE_ARGS+= --enable-intl=shared
|
CONFIGURE_ARGS+= --enable-intl=shared
|
||||||
else
|
else
|
||||||
@@ -337,7 +328,7 @@ else
|
|||||||
CONFIGURE_ARGS+= --disable-opcache
|
CONFIGURE_ARGS+= --disable-opcache
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-openssl)$(CONFIG_PACKAGE_php8-mod-ftp)$(CONFIG_PACKAGE_php8-mod-imap)$(CONFIG_PACKAGE_php8-mod-snmp),)
|
ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-openssl)$(CONFIG_PACKAGE_php8-mod-ftp)$(CONFIG_PACKAGE_php8-mod-snmp),)
|
||||||
CONFIGURE_ARGS+= \
|
CONFIGURE_ARGS+= \
|
||||||
--with-openssl=shared \
|
--with-openssl=shared \
|
||||||
--with-kerberos=no \
|
--with-kerberos=no \
|
||||||
@@ -651,7 +642,6 @@ $(eval $(call BuildModule,gd,GD graphics,+PACKAGE_php8-mod-gd:libgd-full))
|
|||||||
$(eval $(call BuildModule,gettext,Gettext,+PACKAGE_php8-mod-gettext:libintl-full))
|
$(eval $(call BuildModule,gettext,Gettext,+PACKAGE_php8-mod-gettext:libintl-full))
|
||||||
$(eval $(call BuildModule,gmp,GMP,+PACKAGE_php8-mod-gmp:libgmp))
|
$(eval $(call BuildModule,gmp,GMP,+PACKAGE_php8-mod-gmp:libgmp))
|
||||||
$(eval $(call BuildModule,iconv,iConv,$(ICONV_DEPENDS)))
|
$(eval $(call BuildModule,iconv,iConv,$(ICONV_DEPENDS)))
|
||||||
$(eval $(call BuildModule,imap,IMAP,+PACKAGE_php8-mod-imap:libopenssl +PACKAGE_libpam:libpam +PACKAGE_php8-mod-imap:uw-imap))
|
|
||||||
$(eval $(call BuildModule,intl,Internationalization Functions,+PACKAGE_php8-mod-intl:icu +PHP8_FULLICUDATA:icu-full-data))
|
$(eval $(call BuildModule,intl,Internationalization Functions,+PACKAGE_php8-mod-intl:icu +PHP8_FULLICUDATA:icu-full-data))
|
||||||
$(eval $(call BuildModule,ldap,LDAP,+PACKAGE_php8-mod-ldap:libopenldap +PACKAGE_php8-mod-ldap:libsasl2))
|
$(eval $(call BuildModule,ldap,LDAP,+PACKAGE_php8-mod-ldap:libopenldap +PACKAGE_php8-mod-ldap:libsasl2))
|
||||||
$(eval $(call BuildModule,mbstring,MBString,+PACKAGE_php8-mod-mbstring:oniguruma))
|
$(eval $(call BuildModule,mbstring,MBString,+PACKAGE_php8-mod-mbstring:oniguruma))
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ memory_limit = 8M
|
|||||||
; Error handling and logging ;
|
; Error handling and logging ;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
|
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
|
||||||
display_errors = On
|
display_errors = On
|
||||||
display_startup_errors = Off
|
display_startup_errors = Off
|
||||||
log_errors = Off
|
log_errors = Off
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ r1: initial revision
|
|||||||
+++ b/ext/date/config0.m4
|
+++ b/ext/date/config0.m4
|
||||||
@@ -4,6 +4,19 @@ AC_CHECK_HEADERS([io.h])
|
@@ -4,6 +4,19 @@ AC_CHECK_HEADERS([io.h])
|
||||||
dnl Check for strtoll, atoll
|
dnl Check for strtoll, atoll
|
||||||
AC_CHECK_FUNCS(strtoll atoll)
|
AC_CHECK_FUNCS([strtoll atoll])
|
||||||
|
|
||||||
+PHP_ARG_WITH(system-tzdata, for use of system timezone data,
|
+PHP_ARG_WITH(system-tzdata, for use of system timezone data,
|
||||||
+[ --with-system-tzdata[=DIR] to specify use of system timezone data],
|
+[ --with-system-tzdata[=DIR] to specify use of system timezone data],
|
||||||
@@ -15,7 +15,7 @@ To be used in tandem with use_embedded_timezonedb.patch and use_embedded_timezon
|
|||||||
|
|
||||||
--- a/ext/date/php_date.c
|
--- a/ext/date/php_date.c
|
||||||
+++ b/ext/date/php_date.c
|
+++ b/ext/date/php_date.c
|
||||||
@@ -568,6 +568,23 @@ static const char* guess_timezone(const
|
@@ -566,6 +566,23 @@ static const char* guess_timezone(const
|
||||||
} else if (*DATEG(default_timezone)) {
|
} else if (*DATEG(default_timezone)) {
|
||||||
return DATEG(default_timezone);
|
return DATEG(default_timezone);
|
||||||
}
|
}
|
||||||
22
lang/php8/patches/0023-php-5.4.9-fixheader.patch
Normal file
22
lang/php8/patches/0023-php-5.4.9-fixheader.patch
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
From: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org>
|
||||||
|
Date: Sat, 2 May 2015 10:26:56 +0200
|
||||||
|
Subject: php-5.4.9-fixheader
|
||||||
|
|
||||||
|
Make generated php_config.h constant across rebuilds.
|
||||||
|
---
|
||||||
|
configure.ac | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -1392,8 +1392,8 @@ EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PR
|
||||||
|
|
||||||
|
AC_ARG_VAR([PHP_UNAME],
|
||||||
|
[System information (defaults to the 'uname -a' output)])
|
||||||
|
-AS_VAR_IF([PHP_UNAME],, [PHP_UNAME=$(uname -a | xargs)])
|
||||||
|
-AC_DEFINE_UNQUOTED([PHP_UNAME], ["$PHP_UNAME"], [The 'uname -a' output.])
|
||||||
|
+AS_VAR_IF([PHP_UNAME],, [PHP_UNAME=$(uname | xargs)])
|
||||||
|
+AC_DEFINE_UNQUOTED([PHP_UNAME], ["$PHP_UNAME"], [The 'uname' output.])
|
||||||
|
|
||||||
|
PHP_OS=$(uname | xargs)
|
||||||
|
AC_DEFINE_UNQUOTED([PHP_OS], ["$PHP_OS"], [The 'uname' output.])
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
From: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org>
|
|
||||||
Date: Sat, 2 May 2015 10:26:56 +0200
|
|
||||||
Subject: php-5.4.9-fixheader
|
|
||||||
|
|
||||||
Make generated php_config.h constant across rebuilds.
|
|
||||||
---
|
|
||||||
configure.ac | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1501,7 +1501,7 @@ PHP_REMOVE_USR_LIB(LDFLAGS)
|
|
||||||
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS"
|
|
||||||
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS"
|
|
||||||
|
|
||||||
-UNAME=`uname -a | xargs`
|
|
||||||
+UNAME=`uname | xargs`
|
|
||||||
PHP_UNAME=${PHP_UNAME:-$UNAME}
|
|
||||||
AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
|
|
||||||
PHP_OS=`uname | xargs`
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= <ondrej@sury.org>
|
|
||||||
Date: Wed, 29 Jul 2015 14:37:55 +0200
|
|
||||||
Subject: Remove W3C validation icon to not expose the reader's IP address to
|
|
||||||
potential tracking.
|
|
||||||
|
|
||||||
---
|
|
||||||
sapi/fpm/status.html.in | 5 -----
|
|
||||||
1 file changed, 5 deletions(-)
|
|
||||||
|
|
||||||
--- a/sapi/fpm/status.html.in
|
|
||||||
+++ b/sapi/fpm/status.html.in
|
|
||||||
@@ -70,11 +70,6 @@
|
|
||||||
<tr class="h"><th>PID↓</th><th>Start Time</th><th>Start Since</th><th>Requests Served</th><th>Request Duration</th><th>Request method</th><th>Request URI</th><th>Content Length</th><th>User</th><th>Script</th><th>Last Request %CPU</th><th>Last Request Memory</th></tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
- <p>
|
|
||||||
- <a href="http://validator.w3.org/check?uri=referer">
|
|
||||||
- <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" height="31" width="88" />
|
|
||||||
- </a>
|
|
||||||
- </p>
|
|
||||||
<script type="text/javascript">
|
|
||||||
<!--
|
|
||||||
var xhr_object = null;
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
--- a/ext/phar/config.m4
|
--- a/ext/phar/config.m4
|
||||||
+++ b/ext/phar/config.m4
|
+++ b/ext/phar/config.m4
|
||||||
@@ -19,7 +19,7 @@ if test "$PHP_PHAR" != "no"; then
|
@@ -30,7 +30,7 @@ if test "$PHP_PHAR" != "no"; then
|
||||||
fi
|
|
||||||
PHP_ADD_EXTENSION_DEP(phar, hash, true)
|
PHP_ADD_EXTENSION_DEP(phar, hash)
|
||||||
PHP_ADD_EXTENSION_DEP(phar, spl, true)
|
PHP_ADD_EXTENSION_DEP(phar, spl)
|
||||||
- PHP_ADD_MAKEFILE_FRAGMENT
|
- PHP_ADD_MAKEFILE_FRAGMENT
|
||||||
+ #PHP_ADD_MAKEFILE_FRAGMENT
|
+ #PHP_ADD_MAKEFILE_FRAGMENT
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -1697,13 +1697,13 @@ CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)"
|
@@ -1585,13 +1585,13 @@ CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)"
|
||||||
CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
|
CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
|
||||||
CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)"
|
CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)"
|
||||||
|
|
||||||
@@ -28,5 +28,5 @@
|
|||||||
-fi;
|
-fi;
|
||||||
+#fi;
|
+#fi;
|
||||||
|
|
||||||
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"
|
install_targets="$install_sapi $install_modules $install_binaries install-build install-headers install-programs $install_pear $pharcmd_install"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/sapi/apache2handler/config.m4
|
--- a/sapi/apache2handler/config.m4
|
||||||
+++ b/sapi/apache2handler/config.m4
|
+++ b/sapi/apache2handler/config.m4
|
||||||
@@ -74,7 +74,7 @@ if test "$PHP_APXS2" != "no"; then
|
@@ -79,7 +79,7 @@ if test "$PHP_APXS2" != "no"; then
|
||||||
\$(mkinstalldirs) '$APXS_SYSCONFDIR' && \
|
\$(mkinstalldirs) '$APXS_SYSCONFDIR' && \
|
||||||
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
|
$APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
|
||||||
-S SYSCONFDIR='$APXS_SYSCONFDIR' \
|
-S SYSCONFDIR='$APXS_SYSCONFDIR' \
|
||||||
|
|||||||
@@ -1,45 +1,41 @@
|
|||||||
--- a/ext/gd/config.m4
|
--- a/ext/gd/config.m4
|
||||||
+++ b/ext/gd/config.m4
|
+++ b/ext/gd/config.m4
|
||||||
@@ -152,7 +152,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
|
@@ -154,7 +154,7 @@ LIBS="${LIBS} ${GD_SHARED_LIBADD}"
|
||||||
LIBS="${LIBS} ${GD_SHARED_LIBADD}"
|
old_CFLAGS="${CFLAGS}"
|
||||||
old_CFLAGS="${CFLAGS}"
|
CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
|
||||||
CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
|
AC_LANG_PUSH([C])
|
||||||
- AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
|
-AC_CACHE_CHECK([for working gdImageCreateFrom$1 in libgd], [php_var],
|
||||||
+ AC_MSG_CHECKING([for gdImageCreateFrom$1 in libgd (OpenWrt build config based)])
|
+AC_CACHE_CHECK([for working gdImageCreateFrom$1 in libgd (OpenWrt build config based)], [php_var],
|
||||||
AC_LANG_PUSH([C])
|
[AC_RUN_IFELSE([AC_LANG_SOURCE([
|
||||||
AC_RUN_IFELSE([AC_LANG_SOURCE([
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -179,7 +179,10 @@ int main(int argc, char** argv) {
|
#include <unistd.h>
|
||||||
],[
|
@@ -177,7 +177,7 @@ int main(int argc, char** argv) {
|
||||||
AC_MSG_RESULT([no])
|
}])],
|
||||||
],[
|
[AS_VAR_SET([php_var], [yes])],
|
||||||
- AC_MSG_RESULT([no])
|
[AS_VAR_SET([php_var], [no])],
|
||||||
+ AC_MSG_RESULT([$3])
|
- [AS_VAR_SET([php_var], [no])])])
|
||||||
+ m4_if([$3],[yes],[
|
+ [AS_VAR_SET([php_var], [$3])])])
|
||||||
+ AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
|
AS_VAR_IF([php_var], [yes], [$2])
|
||||||
+ ])
|
AC_LANG_POP([C])
|
||||||
])
|
CFLAGS="${old_CFLAGS}"
|
||||||
AC_LANG_POP([C])
|
@@ -186,13 +186,13 @@ AS_VAR_POPDEF([php_var])
|
||||||
CFLAGS="${old_CFLAGS}"
|
|
||||||
@@ -187,13 +190,14 @@ int main(int argc, char** argv) {
|
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_DEFUN([PHP_GD_CHECK_VERSION],[
|
AC_DEFUN([PHP_GD_CHECK_VERSION],[
|
||||||
- PHP_GD_CHECK_FORMAT([Png], [HAVE_GD_PNG])
|
- PHP_GD_CHECK_FORMAT([Png], [AC_DEFINE([HAVE_GD_PNG], [1])])
|
||||||
- PHP_GD_CHECK_FORMAT([Avif], [HAVE_GD_AVIF])
|
- PHP_GD_CHECK_FORMAT([Avif], [AC_DEFINE([HAVE_GD_AVIF], [1])])
|
||||||
- PHP_GD_CHECK_FORMAT([Webp], [HAVE_GD_WEBP])
|
- PHP_GD_CHECK_FORMAT([Webp], [AC_DEFINE([HAVE_GD_WEBP], [1])])
|
||||||
- PHP_GD_CHECK_FORMAT([Jpeg], [HAVE_GD_JPG])
|
- PHP_GD_CHECK_FORMAT([Jpeg], [AC_DEFINE([HAVE_GD_JPG], [1])])
|
||||||
- PHP_GD_CHECK_FORMAT([Xpm], [HAVE_GD_XPM])
|
- PHP_GD_CHECK_FORMAT([Xpm], [AC_DEFINE([HAVE_GD_XPM], [1])])
|
||||||
- PHP_GD_CHECK_FORMAT([Bmp], [HAVE_GD_BMP])
|
- PHP_GD_CHECK_FORMAT([Bmp], [AC_DEFINE([HAVE_GD_BMP], [1])])
|
||||||
- PHP_GD_CHECK_FORMAT([Tga], [HAVE_GD_TGA])
|
- PHP_GD_CHECK_FORMAT([Tga], [AC_DEFINE([HAVE_GD_TGA], [1])])
|
||||||
+ dnl The 3rd parameter is OpenWrt specific default derived from libgd build
|
+ PHP_GD_CHECK_FORMAT([Png], [AC_DEFINE([HAVE_GD_PNG], [1])], [yes])
|
||||||
+ PHP_GD_CHECK_FORMAT([Png], [HAVE_GD_PNG], [yes])
|
+ PHP_GD_CHECK_FORMAT([Avif], [AC_DEFINE([HAVE_GD_AVIF], [1])], [no])
|
||||||
+ PHP_GD_CHECK_FORMAT([Avif], [HAVE_GD_AVIF], [no])
|
+ PHP_GD_CHECK_FORMAT([Webp], [AC_DEFINE([HAVE_GD_WEBP], [1])], [yes])
|
||||||
+ PHP_GD_CHECK_FORMAT([Webp], [HAVE_GD_WEBP], [yes])
|
+ PHP_GD_CHECK_FORMAT([Jpeg], [AC_DEFINE([HAVE_GD_JPG], [1])], [yes])
|
||||||
+ PHP_GD_CHECK_FORMAT([Jpeg], [HAVE_GD_JPG], [yes])
|
+ PHP_GD_CHECK_FORMAT([Xpm], [AC_DEFINE([HAVE_GD_XPM], [1])], [no])
|
||||||
+ PHP_GD_CHECK_FORMAT([Xpm], [HAVE_GD_XPM], [no])
|
+ PHP_GD_CHECK_FORMAT([Bmp], [AC_DEFINE([HAVE_GD_BMP], [1])], [no])
|
||||||
+ PHP_GD_CHECK_FORMAT([Bmp], [HAVE_GD_BMP], [no])
|
+ PHP_GD_CHECK_FORMAT([Tga], [AC_DEFINE([HAVE_GD_TGA], [1])], [no])
|
||||||
+ PHP_GD_CHECK_FORMAT([Tga], [HAVE_GD_TGA], [no])
|
PHP_CHECK_LIBRARY([gd], [gdFontCacheShutdown],
|
||||||
PHP_CHECK_LIBRARY(gd, gdFontCacheShutdown, [AC_DEFINE(HAVE_GD_FREETYPE, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
|
[AC_DEFINE([HAVE_GD_FREETYPE], [1])],
|
||||||
PHP_CHECK_LIBRARY(gd, gdVersionString, [AC_DEFINE(HAVE_GD_LIBVERSION, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
|
[],
|
||||||
PHP_CHECK_LIBRARY(gd, gdImageGetInterpolationMethod, [AC_DEFINE(HAVE_GD_GET_INTERPOLATION, 1, [ ])], [], [ $GD_SHARED_LIBADD ])
|
|
||||||
|
|||||||
@@ -1,234 +0,0 @@
|
|||||||
From 49627124928f066320b7c2d2ba7501eac5c4fc63 Mon Sep 17 00:00:00 2001
|
|
||||||
From: qiangxuhui <qiangxuhui@loongson.cn>
|
|
||||||
Date: Mon, 1 Apr 2024 07:16:47 +0000
|
|
||||||
Subject: [PATCH] loongarch64 support for fibers
|
|
||||||
|
|
||||||
Add loongarch64 assembly files from Boost, needed for fibers support,
|
|
||||||
and hook up loongarch64 fibers support during configure.
|
|
||||||
|
|
||||||
Close GH-13914
|
|
||||||
---
|
|
||||||
Zend/asm/jump_loongarch64_sysv_elf_gas.S | 121 +++++++++++++++++++++++
|
|
||||||
Zend/asm/make_loongarch64_sysv_elf_gas.S | 72 ++++++++++++++
|
|
||||||
configure.ac | 2 +
|
|
||||||
3 files changed, 195 insertions(+)
|
|
||||||
create mode 100644 Zend/asm/jump_loongarch64_sysv_elf_gas.S
|
|
||||||
create mode 100644 Zend/asm/make_loongarch64_sysv_elf_gas.S
|
|
||||||
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/Zend/asm/jump_loongarch64_sysv_elf_gas.S
|
|
||||||
@@ -0,0 +1,121 @@
|
|
||||||
+/*******************************************************
|
|
||||||
+ * *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 0 | 8 | 16 | 24 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | FS0 | FS1 | FS2 | FS3 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 32 | 40 | 48 | 56 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | FS4 | FS5 | FS6 | FS7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 64 | 72 | 80 | 88 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S0 | S1 | S2 | S3 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 96 | 100 | 104 | 108 | 112 | 116 | 120 | 124 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S4 | S5 | S6 | S7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 128 | 132 | 136 | 140 | 144 | 148 | 152 | 156 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S8 | FP | RA | PC | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * *
|
|
||||||
+ * *****************************************************/
|
|
||||||
+
|
|
||||||
+.file "jump_loongarch64_sysv_elf_gas.S"
|
|
||||||
+.text
|
|
||||||
+.globl jump_fcontext
|
|
||||||
+.align 2
|
|
||||||
+.type jump_fcontext,@function
|
|
||||||
+jump_fcontext:
|
|
||||||
+ # reserve space on stack
|
|
||||||
+ addi.d $sp, $sp, -160
|
|
||||||
+
|
|
||||||
+ # save fs0 - fs7
|
|
||||||
+ fst.d $fs0, $sp, 0
|
|
||||||
+ fst.d $fs1, $sp, 8
|
|
||||||
+ fst.d $fs2, $sp, 16
|
|
||||||
+ fst.d $fs3, $sp, 24
|
|
||||||
+ fst.d $fs4, $sp, 32
|
|
||||||
+ fst.d $fs5, $sp, 40
|
|
||||||
+ fst.d $fs6, $sp, 48
|
|
||||||
+ fst.d $fs7, $sp, 56
|
|
||||||
+
|
|
||||||
+ # save s0 - s8, fp, ra
|
|
||||||
+ st.d $s0, $sp, 64
|
|
||||||
+ st.d $s1, $sp, 72
|
|
||||||
+ st.d $s2, $sp, 80
|
|
||||||
+ st.d $s3, $sp, 88
|
|
||||||
+ st.d $s4, $sp, 96
|
|
||||||
+ st.d $s5, $sp, 104
|
|
||||||
+ st.d $s6, $sp, 112
|
|
||||||
+ st.d $s7, $sp, 120
|
|
||||||
+ st.d $s8, $sp, 128
|
|
||||||
+ st.d $fp, $sp, 136
|
|
||||||
+ st.d $ra, $sp, 144
|
|
||||||
+
|
|
||||||
+ # save RA as PC
|
|
||||||
+ st.d $ra, $sp, 152
|
|
||||||
+
|
|
||||||
+ # store SP (pointing to context-data) in A2
|
|
||||||
+ move $a2, $sp
|
|
||||||
+
|
|
||||||
+ # restore SP (pointing to context-data) from A0
|
|
||||||
+ move $sp, $a0
|
|
||||||
+
|
|
||||||
+ # load fs0 - fs7
|
|
||||||
+ fld.d $fs0, $sp, 0
|
|
||||||
+ fld.d $fs1, $sp, 8
|
|
||||||
+ fld.d $fs2, $sp, 16
|
|
||||||
+ fld.d $fs3, $sp, 24
|
|
||||||
+ fld.d $fs4, $sp, 32
|
|
||||||
+ fld.d $fs5, $sp, 40
|
|
||||||
+ fld.d $fs6, $sp, 48
|
|
||||||
+ fld.d $fs7, $sp, 56
|
|
||||||
+
|
|
||||||
+ #load s0 - s7
|
|
||||||
+ ld.d $s0, $sp, 64
|
|
||||||
+ ld.d $s1, $sp, 72
|
|
||||||
+ ld.d $s2, $sp, 80
|
|
||||||
+ ld.d $s3, $sp, 88
|
|
||||||
+ ld.d $s4, $sp, 96
|
|
||||||
+ ld.d $s5, $sp, 104
|
|
||||||
+ ld.d $s6, $sp, 112
|
|
||||||
+ ld.d $s7, $sp, 120
|
|
||||||
+ ld.d $s8, $sp, 128
|
|
||||||
+ ld.d $fp, $sp, 136
|
|
||||||
+ ld.d $ra, $sp, 144
|
|
||||||
+
|
|
||||||
+ # return transfer_t from jump
|
|
||||||
+ # pass transfer_t as first arg in context function
|
|
||||||
+ # a0 == FCTX, a1 == DATA
|
|
||||||
+ move $a0, $a2
|
|
||||||
+
|
|
||||||
+ # load PC
|
|
||||||
+ ld.d $a2, $sp, 152
|
|
||||||
+
|
|
||||||
+ # restore stack
|
|
||||||
+ addi.d $sp, $sp, 160
|
|
||||||
+
|
|
||||||
+ # jump to context
|
|
||||||
+ jr $a2
|
|
||||||
+.size jump_fcontext, .-jump_fcontext
|
|
||||||
+
|
|
||||||
+/* Mark that we don't need executable stack. */
|
|
||||||
+.section .note.GNU-stack,"",%progbits
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/Zend/asm/make_loongarch64_sysv_elf_gas.S
|
|
||||||
@@ -0,0 +1,72 @@
|
|
||||||
+/*******************************************************
|
|
||||||
+ * *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 0 | 8 | 16 | 24 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | FS0 | FS1 | FS2 | FS3 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 32 | 40 | 48 | 56 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | FS4 | FS5 | FS6 | FS7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 64 | 72 | 80 | 88 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S0 | S1 | S2 | S3 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 96 | 100 | 104 | 108 | 112 | 116 | 120 | 124 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S4 | S5 | S6 | S7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 128 | 132 | 136 | 140 | 144 | 148 | 152 | 156 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S8 | FP | RA | PC | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * *
|
|
||||||
+ * *****************************************************/
|
|
||||||
+
|
|
||||||
+.file "make_loongarch64_sysv_elf_gas.S"
|
|
||||||
+.text
|
|
||||||
+.globl make_fcontext
|
|
||||||
+.align 2
|
|
||||||
+.type make_fcontext,@function
|
|
||||||
+make_fcontext:
|
|
||||||
+ # shift address in A0 to lower 16 byte boundary
|
|
||||||
+ bstrins.d $a0, $zero, 3, 0
|
|
||||||
+
|
|
||||||
+ # reserve space for context-data on context-stack
|
|
||||||
+ addi.d $a0, $a0, -160
|
|
||||||
+
|
|
||||||
+ # third arg of make_fcontext() == address of context-function
|
|
||||||
+ st.d $a2, $a0, 152
|
|
||||||
+
|
|
||||||
+ # save address of finish as return-address for context-function
|
|
||||||
+ # will be entered after context-function returns
|
|
||||||
+ la.local $a4, finish
|
|
||||||
+ st.d $a4, $a0, 144
|
|
||||||
+
|
|
||||||
+ # return pointer to context-data
|
|
||||||
+ jr $ra
|
|
||||||
+
|
|
||||||
+finish:
|
|
||||||
+ # exit code is zero
|
|
||||||
+ li.d $a0, 0
|
|
||||||
+ # call _exit(0)
|
|
||||||
+ b %plt(_exit)
|
|
||||||
+
|
|
||||||
+.size make_fcontext, .-make_fcontext
|
|
||||||
+/* Mark that we don't need executable stack. */
|
|
||||||
+.section .note.GNU-stack,"",%progbits
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1281,6 +1281,7 @@ AS_CASE([$host_cpu],
|
|
||||||
[ppc*|powerpc*], [fiber_cpu="ppc32"],
|
|
||||||
[riscv64*], [fiber_cpu="riscv64"],
|
|
||||||
[s390x*], [fiber_cpu="s390x"],
|
|
||||||
+ [loongarch64*], [fiber_cpu="loongarch64"],
|
|
||||||
[mips64*], [fiber_cpu="mips64"],
|
|
||||||
[mips*], [fiber_cpu="mips32"],
|
|
||||||
[fiber_cpu="unknown"]
|
|
||||||
@@ -1302,6 +1303,7 @@ AS_CASE([$fiber_cpu],
|
|
||||||
[ppc32], [fiber_asm_file_prefix="ppc32_sysv"],
|
|
||||||
[riscv64], [fiber_asm_file_prefix="riscv64_sysv"],
|
|
||||||
[s390x], [fiber_asm_file_prefix="s390x_sysv"],
|
|
||||||
+ [loongarch64], [fiber_asm_file_prefix="loongarch64_sysv"],
|
|
||||||
[mips64], [fiber_asm_file_prefix="mips64_n64"],
|
|
||||||
[mips32], [fiber_asm_file_prefix="mips32_o32"],
|
|
||||||
[fiber_asm_file_prefix="unknown"]
|
|
||||||
29
lang/php8/patches/1030_workaround-call-to-httpd.patch
Normal file
29
lang/php8/patches/1030_workaround-call-to-httpd.patch
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
--- a/sapi/apache2handler/config.m4
|
||||||
|
+++ b/sapi/apache2handler/config.m4
|
||||||
|
@@ -32,11 +32,11 @@ if test "$PHP_APXS2" != "no"; then
|
||||||
|
fi
|
||||||
|
|
||||||
|
APXS_INCLUDEDIR=$($APXS -q INCLUDEDIR)
|
||||||
|
- APXS_HTTPD=$($APXS -q SBINDIR)/$($APXS -q TARGET)
|
||||||
|
- AS_IF([test ! -x "$APXS_HTTPD"], [AC_MSG_ERROR(m4_text_wrap([
|
||||||
|
- $APXS_HTTPD executable not found. Please, install Apache HTTP Server
|
||||||
|
- command-line utility.
|
||||||
|
- ]))])
|
||||||
|
+# APXS_HTTPD=$($APXS -q SBINDIR)/$($APXS -q TARGET)
|
||||||
|
+# AS_IF([test ! -x "$APXS_HTTPD"], [AC_MSG_ERROR(m4_text_wrap([
|
||||||
|
+# $APXS_HTTPD executable not found. Please, install Apache HTTP Server
|
||||||
|
+# command-line utility.
|
||||||
|
+# ]))])
|
||||||
|
|
||||||
|
APXS_CFLAGS=$($APXS -q CFLAGS)
|
||||||
|
APU_BINDIR=$($APXS -q APU_BINDIR)
|
||||||
|
@@ -120,7 +120,8 @@ if test "$PHP_APXS2" != "no"; then
|
||||||
|
-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1
|
||||||
|
])
|
||||||
|
|
||||||
|
- AS_IF([$APXS_HTTPD -V 2>/dev/null | grep 'threaded:.*yes' >/dev/null 2>&1], [
|
||||||
|
+# AS_IF([$APXS_HTTPD -V 2>/dev/null | grep 'threaded:.*yes' >/dev/null 2>&1], [
|
||||||
|
+ AS_IF([false], [
|
||||||
|
APACHE_THREADED_MPM=yes
|
||||||
|
enable_zts=yes
|
||||||
|
], [APACHE_THREADED_MPM=no])
|
||||||
Reference in New Issue
Block a user