php8: update to 8.4.5
authorMichael Heimpold <redacted>
Tue, 21 Jan 2025 20:28:00 +0000 (21:28 +0100)
committerMichael Heimpold <redacted>
Thu, 10 Apr 2025 04:45:31 +0000 (06:45 +0200)
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 <redacted>
12 files changed:
lang/php8/Makefile
lang/php8/files/php.ini
lang/php8/patches/0006-Add-support-for-use-of-the-system-timezone-database.patch [moved from lang/php8/patches/0007-Add-support-for-use-of-the-system-timezone-database.patch with 99% similarity]
lang/php8/patches/0020-Use-system-timezone.patch [moved from lang/php8/patches/0022-Use-system-timezone.patch with 94% similarity]
lang/php8/patches/0023-php-5.4.9-fixheader.patch [new file with mode: 0644]
lang/php8/patches/0025-php-5.4.9-fixheader.patch [deleted file]
lang/php8/patches/0030-Remove-W3C-validation-icon-to-not-expose-the-reader-.patch [deleted file]
lang/php8/patches/1004-disable-phar-command.patch
lang/php8/patches/1010-dont-try-to-install-mod_php.patch
lang/php8/patches/1020_workaround-external-libgd-feature-detection.patch
lang/php8/patches/1030-loongarch64-support-for-fibers.patch [deleted file]
lang/php8/patches/1030_workaround-call-to-httpd.patch [new file with mode: 0644]

index 17f42620807c086382ad04a9b1848a0e5911cb60..336926380cc5b35b298e349a1c5255697e922d90 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=php
-PKG_VERSION:=8.3.14
+PKG_VERSION:=8.4.5
 PKG_RELEASE:=1
 
 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_URL:=https://www.php.net/distributions/
-PKG_HASH:=58b4cb9019bf70c0cbcdb814c7df79b9065059d14cf7dbf48d971f8e56ae9be7
+PKG_HASH:=0d3270bbce4d9ec617befce52458b763fd461d475f1fe2ed878bb8573faed327
 
 PKG_BUILD_PARALLEL:=1
 PKG_BUILD_FLAGS:=no-mips16
@@ -28,7 +28,7 @@ PHP8_MODULES= \
        exif \
        fileinfo filter ftp \
        gettext gd gmp \
-       iconv imap intl \
+       iconv intl \
        ldap \
        mbstring mysqli mysqlnd \
        opcache openssl \
@@ -288,15 +288,6 @@ else
   CONFIGURE_ARGS+= --without-iconv
 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),)
   CONFIGURE_ARGS+= --enable-intl=shared
 else
@@ -337,7 +328,7 @@ else
   CONFIGURE_ARGS+= --disable-opcache
 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+= \
        --with-openssl=shared \
        --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,gmp,GMP,+PACKAGE_php8-mod-gmp:libgmp))
 $(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,ldap,LDAP,+PACKAGE_php8-mod-ldap:libopenldap +PACKAGE_php8-mod-ldap:libsasl2))
 $(eval $(call BuildModule,mbstring,MBString,+PACKAGE_php8-mod-mbstring:oniguruma))
index 0254b43091134377838c93f0b7022f215cdfebef..bdbb67f3279e1b7a55ac393c42635ec5a5359a99 100644 (file)
@@ -53,7 +53,7 @@ memory_limit = 8M
 ; 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_startup_errors = Off
 log_errors = Off
similarity index 99%
rename from lang/php8/patches/0007-Add-support-for-use-of-the-system-timezone-database.patch
rename to lang/php8/patches/0006-Add-support-for-use-of-the-system-timezone-database.patch
index 0eaead3455725a8c3da9a0b34802aab58924e5d1..96a6d53db5b65222fcb30fd8615b7b5121806c5e 100644 (file)
@@ -47,7 +47,7 @@ r1: initial revision
 +++ b/ext/date/config0.m4
 @@ -4,6 +4,19 @@ AC_CHECK_HEADERS([io.h])
  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,
 +[  --with-system-tzdata[=DIR]      to specify use of system timezone data],
similarity index 94%
rename from lang/php8/patches/0022-Use-system-timezone.patch
rename to lang/php8/patches/0020-Use-system-timezone.patch
index 1ac44204b68155e64ba2f99f32baade1beb36720..78877b94e4d99a618da4ee82037211e278c71287 100644 (file)
@@ -15,7 +15,7 @@ To be used in tandem with use_embedded_timezonedb.patch and use_embedded_timezon
 
 --- a/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)) {
                return DATEG(default_timezone);
        }
diff --git a/lang/php8/patches/0023-php-5.4.9-fixheader.patch b/lang/php8/patches/0023-php-5.4.9-fixheader.patch
new file mode 100644 (file)
index 0000000..c52cf49
--- /dev/null
@@ -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.])
diff --git a/lang/php8/patches/0025-php-5.4.9-fixheader.patch b/lang/php8/patches/0025-php-5.4.9-fixheader.patch
deleted file mode 100644 (file)
index b423fc1..0000000
+++ /dev/null
@@ -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`
diff --git a/lang/php8/patches/0030-Remove-W3C-validation-icon-to-not-expose-the-reader-.patch b/lang/php8/patches/0030-Remove-W3C-validation-icon-to-not-expose-the-reader-.patch
deleted file mode 100644 (file)
index 9934d1b..0000000
+++ /dev/null
@@ -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&darr;</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;
index dab5993b942171d73cd13a134dc99599441a7297..90c0d999195758c924ffca7967021fbfa9f05ac9 100644 (file)
@@ -1,9 +1,9 @@
 --- a/ext/phar/config.m4
 +++ b/ext/phar/config.m4
-@@ -19,7 +19,7 @@ if test "$PHP_PHAR" != "no"; then
-   fi
-   PHP_ADD_EXTENSION_DEP(phar, hash, true)
-   PHP_ADD_EXTENSION_DEP(phar, spl, true)
+@@ -30,7 +30,7 @@ if test "$PHP_PHAR" != "no"; then
+   PHP_ADD_EXTENSION_DEP(phar, hash)
+   PHP_ADD_EXTENSION_DEP(phar, spl)
 -  PHP_ADD_MAKEFILE_FRAGMENT
 +  #PHP_ADD_MAKEFILE_FRAGMENT
  
@@ -11,7 +11,7 @@
  
 --- a/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"
  CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)"
  
@@ -28,5 +28,5 @@
 -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"
index 1a4463c5340088459a9f8c596f1aee0e4172e30c..1cec5afb600ca4914633d04c8540201b4745cc30 100644 (file)
@@ -1,6 +1,6 @@
 --- a/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' && \
                   $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
                         -S SYSCONFDIR='$APXS_SYSCONFDIR' \
index b22db2a03e14ea792c7f5f31cbb3c276974ffd99..9d4d540e277edafe5e1abaaf71a6003cf692b4ef 100644 (file)
@@ -1,45 +1,41 @@
 --- a/ext/gd/config.m4
 +++ b/ext/gd/config.m4
-@@ -152,7 +152,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
-   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
-   old_CFLAGS="${CFLAGS}"
-   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
--  AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
-+  AC_MSG_CHECKING([for gdImageCreateFrom$1 in libgd (OpenWrt build config based)])
-   AC_LANG_PUSH([C])
-   AC_RUN_IFELSE([AC_LANG_SOURCE([
+@@ -154,7 +154,7 @@ LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+ old_CFLAGS="${CFLAGS}"
+ CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+ AC_LANG_PUSH([C])
+-AC_CACHE_CHECK([for working gdImageCreateFrom$1 in libgd], [php_var],
++AC_CACHE_CHECK([for working gdImageCreateFrom$1 in libgd (OpenWrt build config based)], [php_var],
+   [AC_RUN_IFELSE([AC_LANG_SOURCE([
  #include <stdio.h>
-@@ -179,7 +179,10 @@ int main(int argc, char** argv) {
-   ],[
-     AC_MSG_RESULT([no])
-   ],[
--    AC_MSG_RESULT([no])
-+    AC_MSG_RESULT([$3])
-+    m4_if([$3],[yes],[
-+      AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
-+    ])
-   ])
-   AC_LANG_POP([C])
-   CFLAGS="${old_CFLAGS}"
-@@ -187,13 +190,14 @@ int main(int argc, char** argv) {
+ #include <unistd.h>
+@@ -177,7 +177,7 @@ int main(int argc, char** argv) {
+ }])],
+   [AS_VAR_SET([php_var], [yes])],
+   [AS_VAR_SET([php_var], [no])],
+-  [AS_VAR_SET([php_var], [no])])])
++  [AS_VAR_SET([php_var], [$3])])])
+ AS_VAR_IF([php_var], [yes], [$2])
+ AC_LANG_POP([C])
+ CFLAGS="${old_CFLAGS}"
+@@ -186,13 +186,13 @@ AS_VAR_POPDEF([php_var])
  ])
  
  AC_DEFUN([PHP_GD_CHECK_VERSION],[
--  PHP_GD_CHECK_FORMAT([Png],  [HAVE_GD_PNG])
--  PHP_GD_CHECK_FORMAT([Avif], [HAVE_GD_AVIF])
--  PHP_GD_CHECK_FORMAT([Webp], [HAVE_GD_WEBP])
--  PHP_GD_CHECK_FORMAT([Jpeg], [HAVE_GD_JPG])
--  PHP_GD_CHECK_FORMAT([Xpm],  [HAVE_GD_XPM])
--  PHP_GD_CHECK_FORMAT([Bmp],  [HAVE_GD_BMP])
--  PHP_GD_CHECK_FORMAT([Tga],  [HAVE_GD_TGA])
-+  dnl The 3rd parameter is OpenWrt specific default derived from libgd build
-+  PHP_GD_CHECK_FORMAT([Png],  [HAVE_GD_PNG],  [yes])
-+  PHP_GD_CHECK_FORMAT([Avif], [HAVE_GD_AVIF], [no])
-+  PHP_GD_CHECK_FORMAT([Webp], [HAVE_GD_WEBP], [yes])
-+  PHP_GD_CHECK_FORMAT([Jpeg], [HAVE_GD_JPG],  [yes])
-+  PHP_GD_CHECK_FORMAT([Xpm],  [HAVE_GD_XPM],  [no])
-+  PHP_GD_CHECK_FORMAT([Bmp],  [HAVE_GD_BMP],  [no])
-+  PHP_GD_CHECK_FORMAT([Tga],  [HAVE_GD_TGA],  [no])
-   PHP_CHECK_LIBRARY(gd, gdFontCacheShutdown,           [AC_DEFINE(HAVE_GD_FREETYPE,          1, [ ])], [], [ $GD_SHARED_LIBADD ])
-   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 ])
+-  PHP_GD_CHECK_FORMAT([Png],  [AC_DEFINE([HAVE_GD_PNG], [1])])
+-  PHP_GD_CHECK_FORMAT([Avif], [AC_DEFINE([HAVE_GD_AVIF], [1])])
+-  PHP_GD_CHECK_FORMAT([Webp], [AC_DEFINE([HAVE_GD_WEBP], [1])])
+-  PHP_GD_CHECK_FORMAT([Jpeg], [AC_DEFINE([HAVE_GD_JPG], [1])])
+-  PHP_GD_CHECK_FORMAT([Xpm],  [AC_DEFINE([HAVE_GD_XPM], [1])])
+-  PHP_GD_CHECK_FORMAT([Bmp],  [AC_DEFINE([HAVE_GD_BMP], [1])])
+-  PHP_GD_CHECK_FORMAT([Tga],  [AC_DEFINE([HAVE_GD_TGA], [1])])
++  PHP_GD_CHECK_FORMAT([Png],  [AC_DEFINE([HAVE_GD_PNG], [1])],  [yes])
++  PHP_GD_CHECK_FORMAT([Avif], [AC_DEFINE([HAVE_GD_AVIF], [1])], [no])
++  PHP_GD_CHECK_FORMAT([Webp], [AC_DEFINE([HAVE_GD_WEBP], [1])], [yes])
++  PHP_GD_CHECK_FORMAT([Jpeg], [AC_DEFINE([HAVE_GD_JPG], [1])],  [yes])
++  PHP_GD_CHECK_FORMAT([Xpm],  [AC_DEFINE([HAVE_GD_XPM], [1])],  [no])
++  PHP_GD_CHECK_FORMAT([Bmp],  [AC_DEFINE([HAVE_GD_BMP], [1])],  [no])
++  PHP_GD_CHECK_FORMAT([Tga],  [AC_DEFINE([HAVE_GD_TGA], [1])],  [no])
+   PHP_CHECK_LIBRARY([gd], [gdFontCacheShutdown],
+     [AC_DEFINE([HAVE_GD_FREETYPE], [1])],
+     [],
diff --git a/lang/php8/patches/1030-loongarch64-support-for-fibers.patch b/lang/php8/patches/1030-loongarch64-support-for-fibers.patch
deleted file mode 100644 (file)
index e648004..0000000
+++ /dev/null
@@ -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"]
diff --git a/lang/php8/patches/1030_workaround-call-to-httpd.patch b/lang/php8/patches/1030_workaround-call-to-httpd.patch
new file mode 100644 (file)
index 0000000..54359ee
--- /dev/null
@@ -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])
git clone https://git.99rst.org/PROJECT