summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD14
-rw-r--r--icu-74-php-7.4.patch20
-rw-r--r--libxml-21200-php-8.0.patch51
4 files changed, 88 insertions, 7 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e6b51c84daf2..9144c922fbb1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
-# Generated by makepkg 6.0.2
-# Thu Nov 23 15:13:33 UTC 2023
+# Generated by makepkg 6.1.0
+# Thu Jun 27 12:11:51 UTC 2024
pkgbase = php80
pkgdesc = PHP 8.0.30 compiled as to not conflict with mainline php
pkgver = 8.0.30
- pkgrel = 1
+ pkgrel = 2
url = http://www.php.net
arch = x86_64
license = PHP
@@ -71,6 +71,8 @@ pkgbase = php80
source = php-apache.conf
source = https://php.net/distributions/php-8.0.30.tar.xz
source = php-libxml.patch
+ source = libxml-21200-php-8.0.patch
+ source = icu-74-php-7.4.patch
source = debian-php-8.0.patch
source = php-phpinfo.patch
source = timezonedb-guess.patch
@@ -81,6 +83,8 @@ pkgbase = php80
sha256sums = 6d0ad9becb5470ce8e5929d7d45660b0f32579038978496317544c5310281a91
sha256sums = 216ab305737a5d392107112d618a755dc5df42058226f1670e9db90e77d777d9
sha256sums = e757f84d2d72ea39259450c32f3a83c72262da4294152ae3e9fbc0cada622bba
+ sha256sums = 69feec54fce25351b3c2a431a6e3b608ef11287b54f2289412f46106a17feb73
+ sha256sums = eed71f5568665ad4353d83b696abf0e52c8202c6df7b32923595ac1969e2b5fe
sha256sums = c9ab253399e58e24cf23cda5edd72a331b7b9aa9b2ac217b0ee04706cc67e93e
sha256sums = 558e780e93dfa861a366c49b4d156d8fc43f17898f001ae6033ec63c33d5d41c
sha256sums = 40bcc1e5058602302198d0925e431495391d8469499593af477f59d84d32f764
diff --git a/PKGBUILD b/PKGBUILD
index 261025917939..4b29dcda9127 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -19,7 +19,7 @@
_phpbase="80"
_suffix=""
pkgver="8.0.30"
-pkgrel="1"
+pkgrel="2"
pkgbase="php80"
pkgdesc="PHP 8.0.30 compiled as to not conflict with mainline php"
_cppflags=" -DU_USING_ICU_NAMESPACE=1 "
@@ -134,6 +134,8 @@ source=(
"php-apache.conf"
"https://php.net/distributions/php-${pkgver}.tar.xz"
"php-libxml.patch"
+ "libxml-21200-php-8.0.patch"
+ "icu-74-php-7.4.patch"
"debian-php-8.0.patch"
"php-phpinfo.patch"
"timezonedb-guess.patch"
@@ -202,6 +204,8 @@ arch=(
)
_patches=(
"php-libxml.patch"
+ "libxml-21200-php-8.0.patch"
+ "icu-74-php-7.4.patch"
"debian-php-8.0.patch"
"php-phpinfo.patch"
"timezonedb-guess.patch"
@@ -505,8 +509,8 @@ _build_sapi() {
# BUILD them all
################################################################################
build() {
- export CFLAGS="${CFLAGS} -fPIC"
- export CXXFLAGS="${CXXFLAGS} -fPIC"
+ export CFLAGS="${CFLAGS} -fPIC -Wno-error=incompatible-pointer-types"
+ export CXXFLAGS="${CXXFLAGS} -fPIC -Wno-error=incompatible-pointer-types -std=c++17"
export EXTENSION_DIR="/usr/lib/${pkgbase}/modules"
if ((_build_openssl_v10_patch)); then
export PHP_OPENSSL_DIR="/usr/lib/openssl-1.0"
@@ -851,7 +855,7 @@ package_php80-cgi() {
package_php80-apache() {
_sapi="apache"
_build_mod_php_so="libphp${_suffix_so}.so"
- _build_mod_php_module="php_module${_suffix_so}"
+ _build_mod_php_module="php${_suffix_so}_module"
_build_build_php_script_name="php${_suffix_so}-script"
_apache_module_conf="${pkgbase}-module.conf"
pkgdesc="Apache SAPI for ${pkgbase}"
@@ -1535,6 +1539,8 @@ sha256sums=('e6b8530d747000eebb0089249ec70a3b14add7b501337046700544883f62b17b'
'6d0ad9becb5470ce8e5929d7d45660b0f32579038978496317544c5310281a91'
'216ab305737a5d392107112d618a755dc5df42058226f1670e9db90e77d777d9'
'e757f84d2d72ea39259450c32f3a83c72262da4294152ae3e9fbc0cada622bba'
+ '69feec54fce25351b3c2a431a6e3b608ef11287b54f2289412f46106a17feb73'
+ 'eed71f5568665ad4353d83b696abf0e52c8202c6df7b32923595ac1969e2b5fe'
'c9ab253399e58e24cf23cda5edd72a331b7b9aa9b2ac217b0ee04706cc67e93e'
'558e780e93dfa861a366c49b4d156d8fc43f17898f001ae6033ec63c33d5d41c'
'40bcc1e5058602302198d0925e431495391d8469499593af477f59d84d32f764'
diff --git a/icu-74-php-7.4.patch b/icu-74-php-7.4.patch
new file mode 100644
index 000000000000..08590e78ac4e
--- /dev/null
+++ b/icu-74-php-7.4.patch
@@ -0,0 +1,20 @@
+--- a/ext/intl/config.m4
++++ b/ext/intl/config.m4
+@@ -80,7 +80,16 @@ if test "$PHP_INTL" != "no"; then
+ breakiterator/codepointiterator_methods.cpp"
+
+ PHP_REQUIRE_CXX()
+- PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
++
++ AC_MSG_CHECKING([if intl requires -std=gnu++17])
++ AS_IF([test "$PKG_CONFIG icu-uc --atleast-version=74"],[
++ AC_MSG_RESULT([yes])
++ PHP_CXX_COMPILE_STDCXX(17, mandatory, PHP_INTL_STDCXX)
++ ],[
++ AC_MSG_RESULT([no])
++ PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
++ ])
++
+ PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $PHP_INTL_STDCXX $ICU_CXXFLAGS"
+ case $host_alias in
+ *cygwin*) PHP_INTL_CXX_FLAGS="$PHP_INTL_CXX_FLAGS -D_POSIX_C_SOURCE=200809L"
diff --git a/libxml-21200-php-8.0.patch b/libxml-21200-php-8.0.patch
new file mode 100644
index 000000000000..e1972c688ce7
--- /dev/null
+++ b/libxml-21200-php-8.0.patch
@@ -0,0 +1,51 @@
+--- php-8.1.29-o/ext/libxml/libxml.c
++++ php-8.1.29/ext/libxml/libxml.c
+@@ -483,7 +483,11 @@
+ xmlResetError((xmlErrorPtr) ptr);
+ }
+
+-static void _php_list_set_error_structure(xmlErrorPtr error, const char *msg)
++#if LIBXML_VERSION >= 21200
++static void _php_list_set_error_structure(const xmlError *error, const char *msg)
++#else
++static void _php_list_set_error_structure(xmlError *error, const char *msg)
++#endif
+ {
+ xmlError error_copy;
+ int ret;
+@@ -736,7 +740,11 @@
+ va_end(args);
+ }
+
++#if LIBXML_VERSION >= 21200
++PHP_LIBXML_API void php_libxml_structured_error_handler(void *userData, const xmlError *error)
++#else
+ PHP_LIBXML_API void php_libxml_structured_error_handler(void *userData, xmlErrorPtr error)
++#endif
+ {
+ _php_list_set_error_structure(error, NULL);
+
+@@ -1009,11 +1017,9 @@
+ /* {{{ Retrieve last error from libxml */
+ PHP_FUNCTION(libxml_get_last_error)
+ {
+- xmlErrorPtr error;
+-
+ ZEND_PARSE_PARAMETERS_NONE();
+
+- error = xmlGetLastError();
++ const xmlError *error = xmlGetLastError();
+
+ if (error) {
+ object_init_ex(return_value, libxmlerror_class_entry);
+--- php-8.1.29-o/ext/soap/php_sdl.c
++++ php-8.1.29/ext/soap/php_sdl.c
+@@ -332,7 +332,7 @@
+ sdl_restore_uri_credentials(ctx);
+
+ if (!wsdl) {
+- xmlErrorPtr xmlErrorPtr = xmlGetLastError();
++ const xmlError *xmlErrorPtr = xmlGetLastError();
+
+ if (xmlErrorPtr) {
+ soap_error2(E_ERROR, "Parsing WSDL: Couldn't load from '%s' : %s", struri, xmlErrorPtr->message);