Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] PHP updates
@ 2024-09-16 14:11 TinfoilSubmarine
  2024-09-16 14:17 ` [PR PATCH] [Updated] " TinfoilSubmarine
                   ` (11 more replies)
  0 siblings, 12 replies; 14+ messages in thread
From: TinfoilSubmarine @ 2024-09-16 14:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1701 bytes --]

There is a new pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/php
https://github.com/void-linux/void-packages/pull/52237

PHP updates
- **composer8.1: update to 2.7.9.**
- **composer8.2: update to 2.7.9.**
- **composer8.3: update to 2.7.9.**
- **php8.1-ast: update to 1.1.2.**
- **php8.1-igbinary: update to 3.2.16.**
- **php8.1-mongodb: update to 1.19.4.**
- **php8.2: update to 8.2.23.**
- **php8.2-ast: update to 1.1.2.**
- **php8.2-igbinary: update to 3.2.16.**
- **php8.3: update to 8.3.11.**
- **php8.3-ast: update to 1.1.2.**
- **php8.3-igbinary: update to 3.2.16.**
- **php8.3-mongodb: update to 1.19.4.**

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/52237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/php-52237.patch --]
[-- Type: text/x-diff, Size: 46491 bytes --]

From 5e6cfcadd0135a174e4c9fb7284e2c6af5ffcd08 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:09 -0400
Subject: [PATCH 01/13] composer8.1: update to 2.7.9.

---
 srcpkgs/composer8.1/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/composer8.1/template b/srcpkgs/composer8.1/template
index a7c8180604be46..650e7669ac3d82 100644
--- a/srcpkgs/composer8.1/template
+++ b/srcpkgs/composer8.1/template
@@ -1,6 +1,6 @@
 # Template file for 'composer8.1'
 pkgname=composer8.1
-version=2.7.7
+version=2.7.9
 revision=1
 build_style=fetch
 depends="php8.1"
@@ -11,7 +11,7 @@ homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="b6de5e65c199d80ba11897fbe1364e063e858d483f6a81a176c4d60f2b1d6347
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.1"
 

From 0d053472689833da0af5d8ae4bb23f37369a0221 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:10 -0400
Subject: [PATCH 02/13] composer8.2: update to 2.7.9.

---
 srcpkgs/composer8.2/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/composer8.2/template b/srcpkgs/composer8.2/template
index 50336e8687051a..14bd84dc255ac6 100644
--- a/srcpkgs/composer8.2/template
+++ b/srcpkgs/composer8.2/template
@@ -1,6 +1,6 @@
 # Template file for 'composer8.2'
 pkgname=composer8.2
-version=2.7.7
+version=2.7.9
 revision=1
 build_style=fetch
 depends="php8.2"
@@ -11,7 +11,7 @@ homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="b6de5e65c199d80ba11897fbe1364e063e858d483f6a81a176c4d60f2b1d6347
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.2"
 

From a9d6224aa807ac6d00f69e432c61c0782c94ebfb Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:11 -0400
Subject: [PATCH 03/13] composer8.3: update to 2.7.9.

---
 srcpkgs/composer8.3/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/composer8.3/template b/srcpkgs/composer8.3/template
index 3574c288855f2c..609790cf9288a8 100644
--- a/srcpkgs/composer8.3/template
+++ b/srcpkgs/composer8.3/template
@@ -1,6 +1,6 @@
 # Template file for 'composer8.3'
 pkgname=composer8.3
-version=2.7.7
+version=2.7.9
 revision=1
 build_style=fetch
 depends="php8.3"
@@ -11,7 +11,7 @@ homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="b6de5e65c199d80ba11897fbe1364e063e858d483f6a81a176c4d60f2b1d6347
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.3"
 

From baf0a8932e9a9f038db679aa5809928da2e0e42e Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:13 -0400
Subject: [PATCH 04/13] php8.1-ast: update to 1.1.2.

---
 srcpkgs/php8.1-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-ast/template b/srcpkgs/php8.1-ast/template
index b1306a30c210c1..0c3ebcfff1622b 100644
--- a/srcpkgs/php8.1-ast/template
+++ b/srcpkgs/php8.1-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-ast'
 pkgname=php8.1-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From 62cdf8e0602ae8cc136a3a0f18b0ca6698a2159c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:14 -0400
Subject: [PATCH 05/13] php8.1-igbinary: update to 3.2.16.

---
 srcpkgs/php8.1-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-igbinary/template b/srcpkgs/php8.1-igbinary/template
index 3d43405c3a6bb5..d36a839daf69f0 100644
--- a/srcpkgs/php8.1-igbinary/template
+++ b/srcpkgs/php8.1-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-igbinary'
 pkgname=php8.1-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.1

From f63857c5c7718f64beeba8265ecbf1b3f93b6718 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:16 -0400
Subject: [PATCH 06/13] php8.1-mongodb: update to 1.19.4.

---
 srcpkgs/php8.1-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-mongodb/template b/srcpkgs/php8.1-mongodb/template
index 26bcb6e1771fe1..bbf44ffbde653a 100644
--- a/srcpkgs/php8.1-mongodb/template
+++ b/srcpkgs/php8.1-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-mongodb'
 pkgname=php8.1-mongodb
-version=1.19.3
+version=1.19.4
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=57c168b24a7d07f73367e4b134eb911ad1170ba7d203bc475f6ef1b860c16701
 
 pre_configure() {
 	phpize8.1

From d9f8600b8f96939ede0d85514fd404eea2c179ea Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 15 Aug 2024 09:15:50 -0400
Subject: [PATCH 07/13] php8.2: update to 8.2.23.

- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
---
 .../patches/ac_fn_c_try_run_cross.patch       | 166 ------------------
 srcpkgs/php8.2/patches/cross-configure.patch  |  26 +++
 .../patches/cross-gdImageCreateFrom.patch     |  66 +++++++
 ...tch => cross-ltmain-sysroot-support.patch} |   9 +
 ...{php-pear-cross.patch => cross-pear.patch} |   0
 ...{php-phar-cross.patch => cross-phar.patch} |   0
 ...tch => cross-phpize-sysroot-support.patch} |   0
 .../{php-706-crypt.patch => musl-crypt.patch} |   3 +
 srcpkgs/php8.2/patches/php-cross-config.patch |  22 ---
 ...npages.patch => php8.2-fix-manpages.patch} |   0
 .../{php.ini.patch => php8.2-ini.patch}       |   0
 srcpkgs/php8.2/template                       |  10 +-
 12 files changed, 111 insertions(+), 191 deletions(-)
 delete mode 100644 srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
 create mode 100644 srcpkgs/php8.2/patches/cross-configure.patch
 create mode 100644 srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
 rename srcpkgs/php8.2/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.2/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.2/patches/php-cross-config.patch
 rename srcpkgs/php8.2/patches/{fix-manpages.patch => php8.2-fix-manpages.patch} (100%)
 rename srcpkgs/php8.2/patches/{php.ini.patch => php8.2-ini.patch} (100%)

diff --git a/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch b/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
deleted file mode 100644
index 2205168a7868e7..00000000000000
--- a/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-diff --git a/configure b/configure
-index 88b317c..fdb8e73 100755
---- a/configure
-+++ b/configure
-@@ -2600,7 +2600,13 @@ $as_echo "$ac_try_echo"; } >&5
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- $as_echo "$ac_try_echo"; } >&5
--  (eval "$ac_try") 2>&5
-+  if test "$cross_compiling" = "yes"; then
-+    # Use qemu-user-static to run the executable
-+    qemu_exec="QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static"
-+    (eval "$qemu_exec $ac_try") 2>&5
-+  else
-+    (eval "$ac_try") 2>&5
-+  fi
-   ac_status=$?
-   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
-@@ -37619,12 +37619,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37662,7 +37656,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37686,12 +37679,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37729,7 +37716,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37753,12 +37739,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37796,7 +37776,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37820,12 +37799,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37863,7 +37836,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37887,12 +37859,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37930,7 +37896,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37954,12 +37919,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37997,7 +37956,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -38021,12 +37979,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -38064,7 +38016,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
diff --git a/srcpkgs/php8.2/patches/cross-configure.patch b/srcpkgs/php8.2/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.2/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch b/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
new file mode 100644
index 00000000000000..1f35f9482f98c6
--- /dev/null
+++ b/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
@@ -0,0 +1,66 @@
+Copied and modified library macros from /usr/share/autoconf/autoconf/general.m4
+with support for using qemu-user-static to execute when cross compiling.
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index b31c9b2..e5e2d9f 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,6 +147,40 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
++
++AC_DEFUN([_AC_DO_TOKENS_QEMU],
++[{
++  if test "$cross_compiling" = "yes"; then
++    ac_try='QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static $1'
++  else
++    ac_try='$1'
++  fi
++  _AC_DO([$ac_try]); }])
++
++m4_define([_AC_RUN_IFELSE_QEMU_BODY],
++[  AS_LINENO_PUSH([$[]1])
++  AS_IF([_AC_DO_VAR(ac_link) && _AC_DO_TOKENS_QEMU(./conftest$ac_exeext)],
++      [ac_retval=0],
++      [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
++       _AC_MSG_LOG_CONFTEST
++       ac_retval=$ac_status])
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  AS_LINENO_POP
++  AS_SET_STATUS([$ac_retval])
++])
++
++AC_DEFUN([_AC_RUN_IFELSE_QEMU],
++[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu],
++  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu], [LINENO],
++    [Try to run conftest.$ac_ext, and return whether this succeeded.
++     Assumes that executables *can* be run.])],
++  [$0_BODY])]dnl
++[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
++[AS_IF([ac_fn_[]_AC_LANG_ABBREV[]_try_run_qemu "$LINENO"], [$2], [$3])
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam[]m4_ifval([$1], [ conftest.$ac_ext])[]dnl
++])
++
+ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   old_LIBS="${LIBS}"
+   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+@@ -154,7 +188,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+   AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+   AC_LANG_PUSH([C])
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  _AC_RUN_IFELSE_QEMU([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -178,8 +212,6 @@ int main(int argc, char** argv) {
+     AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+   ],[
+     AC_MSG_RESULT([no])
+-  ],[
+-    AC_MSG_RESULT([no])
+   ])
+   AC_LANG_POP([C])
+   CFLAGS="${old_CFLAGS}"
diff --git a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.2/patches/php-pear-cross.patch b/srcpkgs/php8.2/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-pear-cross.patch
rename to srcpkgs/php8.2/patches/cross-pear.patch
diff --git a/srcpkgs/php8.2/patches/php-phar-cross.patch b/srcpkgs/php8.2/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-phar-cross.patch
rename to srcpkgs/php8.2/patches/cross-phar.patch
diff --git a/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.2/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.2/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.2/patches/php-706-crypt.patch b/srcpkgs/php8.2/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.2/patches/php-706-crypt.patch
rename to srcpkgs/php8.2/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.2/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.2/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.2/patches/php-cross-config.patch b/srcpkgs/php8.2/patches/php-cross-config.patch
deleted file mode 100644
index 21c5e1923b2504..00000000000000
--- a/srcpkgs/php8.2/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index 88b317c..816799f 100755
---- a/configure
-+++ b/configure
-@@ -61564,7 +61564,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -63090,7 +63090,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.2/patches/fix-manpages.patch b/srcpkgs/php8.2/patches/php8.2-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/fix-manpages.patch
rename to srcpkgs/php8.2/patches/php8.2-fix-manpages.patch
diff --git a/srcpkgs/php8.2/patches/php.ini.patch b/srcpkgs/php8.2/patches/php8.2-ini.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php.ini.patch
rename to srcpkgs/php8.2/patches/php8.2-ini.patch
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index fe9559e181f2c8..0012c08a40710f 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -1,10 +1,10 @@
 # Template file for 'php8.2'
 # rebuild php8.2-apcu and php8.2-imagick when updating this package
 pkgname=php8.2
-version=8.2.22
+version=8.2.23
 revision=1
 _php_version=8.2
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
@@ -18,7 +18,7 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=44197016c9eeed5c50523e20eb44adc4dd9d84ac08bdf9e46077e775d467d7d0
+checksum=f5cb5f0e063bcc632c60a8f26af63b19d5f924f1fc54b4471d88cfaa865d6917
 provides="php-runtime-${version}_1"
 
 conf_files="/etc/php${_php_version}/php.ini"
@@ -46,6 +46,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \

From 7388bfc653e46dbe32dcfc04e7d06d45ca5c873c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:17 -0400
Subject: [PATCH 08/13] php8.2-ast: update to 1.1.2.

---
 srcpkgs/php8.2-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-ast/template b/srcpkgs/php8.2-ast/template
index fccc6bc98ad09c..338032e937e923 100644
--- a/srcpkgs/php8.2-ast/template
+++ b/srcpkgs/php8.2-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-ast'
 pkgname=php8.2-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From ef8eb5040877b098274c7852aa453c6ff506518f Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:18 -0400
Subject: [PATCH 09/13] php8.2-igbinary: update to 3.2.16.

---
 srcpkgs/php8.2-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-igbinary/template b/srcpkgs/php8.2-igbinary/template
index 89ce91a138308a..b14765bc68cbb1 100644
--- a/srcpkgs/php8.2-igbinary/template
+++ b/srcpkgs/php8.2-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-igbinary'
 pkgname=php8.2-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.2

From 784836d3c6bbe654e1985ec0704f3a0fb7c2f193 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 14 Aug 2024 09:42:12 -0400
Subject: [PATCH 10/13] php8.3: update to 8.3.11.

- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
---
 .../patches/ac_fn_c_try_run_cross.patch       | 176 ------------------
 srcpkgs/php8.3/patches/cross-configure.patch  |  26 +++
 .../patches/cross-gdImageCreateFrom.patch     |  66 +++++++
 ...tch => cross-ltmain-sysroot-support.patch} |   9 +
 ...{php-pear-cross.patch => cross-pear.patch} |   0
 ...{php-phar-cross.patch => cross-phar.patch} |   0
 ...tch => cross-phpize-sysroot-support.patch} |   0
 .../{php-706-crypt.patch => musl-crypt.patch} |   3 +
 srcpkgs/php8.3/patches/php-cross-config.patch |  22 ---
 ...npages.patch => php8.3-fix-manpages.patch} |   0
 .../{php.ini.patch => php8.3-ini.patch}       |   0
 srcpkgs/php8.3/template                       |  10 +-
 12 files changed, 111 insertions(+), 201 deletions(-)
 delete mode 100644 srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
 create mode 100644 srcpkgs/php8.3/patches/cross-configure.patch
 create mode 100644 srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
 rename srcpkgs/php8.3/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.3/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.3/patches/php-cross-config.patch
 rename srcpkgs/php8.3/patches/{fix-manpages.patch => php8.3-fix-manpages.patch} (100%)
 rename srcpkgs/php8.3/patches/{php.ini.patch => php8.3-ini.patch} (100%)

diff --git a/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch b/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
deleted file mode 100644
index e0a5d3cf2b1789..00000000000000
--- a/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-diff --git a/configure b/configure
-index b6c740b..550e313 100755
---- a/configure
-+++ b/configure
-@@ -2600,7 +2600,13 @@ printf "%s\n" "$ac_try_echo"; } >&5
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- printf "%s\n" "$ac_try_echo"; } >&5
--  (eval "$ac_try") 2>&5
-+  if test "$cross_compiling" = "yes"; then
-+    # Use qemu-user-static to run the executable
-+    qemu_exec="QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static"
-+    (eval "$qemu_exec $ac_try") 2>&5
-+  else
-+    (eval "$ac_try") 2>&5
-+  fi
-   ac_status=$?
-   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
-@@ -39741,13 +39741,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39786,7 +39779,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39810,13 +39802,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39855,7 +39840,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39879,13 +39863,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39924,7 +39901,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39948,13 +39924,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39993,7 +39962,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40017,13 +39985,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40062,7 +40023,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40086,13 +40046,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40131,7 +40084,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40155,13 +40107,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40200,7 +40145,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-   ac_status=$?
-   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
diff --git a/srcpkgs/php8.3/patches/cross-configure.patch b/srcpkgs/php8.3/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.3/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch b/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
new file mode 100644
index 00000000000000..1f35f9482f98c6
--- /dev/null
+++ b/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
@@ -0,0 +1,66 @@
+Copied and modified library macros from /usr/share/autoconf/autoconf/general.m4
+with support for using qemu-user-static to execute when cross compiling.
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index b31c9b2..e5e2d9f 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,6 +147,40 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
++
++AC_DEFUN([_AC_DO_TOKENS_QEMU],
++[{
++  if test "$cross_compiling" = "yes"; then
++    ac_try='QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static $1'
++  else
++    ac_try='$1'
++  fi
++  _AC_DO([$ac_try]); }])
++
++m4_define([_AC_RUN_IFELSE_QEMU_BODY],
++[  AS_LINENO_PUSH([$[]1])
++  AS_IF([_AC_DO_VAR(ac_link) && _AC_DO_TOKENS_QEMU(./conftest$ac_exeext)],
++      [ac_retval=0],
++      [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
++       _AC_MSG_LOG_CONFTEST
++       ac_retval=$ac_status])
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  AS_LINENO_POP
++  AS_SET_STATUS([$ac_retval])
++])
++
++AC_DEFUN([_AC_RUN_IFELSE_QEMU],
++[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu],
++  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu], [LINENO],
++    [Try to run conftest.$ac_ext, and return whether this succeeded.
++     Assumes that executables *can* be run.])],
++  [$0_BODY])]dnl
++[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
++[AS_IF([ac_fn_[]_AC_LANG_ABBREV[]_try_run_qemu "$LINENO"], [$2], [$3])
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam[]m4_ifval([$1], [ conftest.$ac_ext])[]dnl
++])
++
+ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   old_LIBS="${LIBS}"
+   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+@@ -154,7 +188,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+   AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+   AC_LANG_PUSH([C])
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  _AC_RUN_IFELSE_QEMU([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -178,8 +212,6 @@ int main(int argc, char** argv) {
+     AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+   ],[
+     AC_MSG_RESULT([no])
+-  ],[
+-    AC_MSG_RESULT([no])
+   ])
+   AC_LANG_POP([C])
+   CFLAGS="${old_CFLAGS}"
diff --git a/srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.3/patches/php-pear-cross.patch b/srcpkgs/php8.3/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-pear-cross.patch
rename to srcpkgs/php8.3/patches/cross-pear.patch
diff --git a/srcpkgs/php8.3/patches/php-phar-cross.patch b/srcpkgs/php8.3/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-phar-cross.patch
rename to srcpkgs/php8.3/patches/cross-phar.patch
diff --git a/srcpkgs/php8.3/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.3/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.3/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.3/patches/php-706-crypt.patch b/srcpkgs/php8.3/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.3/patches/php-706-crypt.patch
rename to srcpkgs/php8.3/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.3/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.3/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.3/patches/php-cross-config.patch b/srcpkgs/php8.3/patches/php-cross-config.patch
deleted file mode 100644
index c84e44974362fd..00000000000000
--- a/srcpkgs/php8.3/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index d317fd7..5560d75 100755
---- a/configure
-+++ b/configure
-@@ -60896,7 +60896,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -62422,7 +62422,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.3/patches/fix-manpages.patch b/srcpkgs/php8.3/patches/php8.3-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/fix-manpages.patch
rename to srcpkgs/php8.3/patches/php8.3-fix-manpages.patch
diff --git a/srcpkgs/php8.3/patches/php.ini.patch b/srcpkgs/php8.3/patches/php8.3-ini.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php.ini.patch
rename to srcpkgs/php8.3/patches/php8.3-ini.patch
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index ede31751655581..99030ce0bb2302 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -1,10 +1,10 @@
 # Template file for 'php8.3'
 # rebuild php8.3-apcu and php8.3-imagick when updating this package
 pkgname=php8.3
-version=8.3.10
+version=8.3.11
 revision=1
 _php_version=8.3
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
@@ -18,7 +18,7 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=d0b4dd5ff465053248fd28dacf2fe0bed79deaaef657890cecb6bfcb73996dcd
+checksum=b93a69af83a1302543789408194bd1ae9829e116e784d578778200f20f1b72d4
 provides="php-runtime-${version}_1"
 
 conf_files="/etc/php${_php_version}/php.ini"
@@ -46,6 +46,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \

From dcc182a72b0599efd8eb9ac48e9a259895e65e59 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:20 -0400
Subject: [PATCH 11/13] php8.3-ast: update to 1.1.2.

---
 srcpkgs/php8.3-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-ast/template b/srcpkgs/php8.3-ast/template
index c2764714bb268e..585e1daaf13da9 100644
--- a/srcpkgs/php8.3-ast/template
+++ b/srcpkgs/php8.3-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-ast'
 pkgname=php8.3-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From bda85cae7182799b37ded29bbbe82580e3ab5e71 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:21 -0400
Subject: [PATCH 12/13] php8.3-igbinary: update to 3.2.16.

---
 srcpkgs/php8.3-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-igbinary/template b/srcpkgs/php8.3-igbinary/template
index 1475cb74adffb0..8482d3aa6de247 100644
--- a/srcpkgs/php8.3-igbinary/template
+++ b/srcpkgs/php8.3-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-igbinary'
 pkgname=php8.3-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.3

From 77d647c7abd189a768286ae7f5575f308fc50176 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:23 -0400
Subject: [PATCH 13/13] php8.3-mongodb: update to 1.19.4.

---
 srcpkgs/php8.3-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-mongodb/template b/srcpkgs/php8.3-mongodb/template
index 41aa7ad7a40c5e..19823bb8252795 100644
--- a/srcpkgs/php8.3-mongodb/template
+++ b/srcpkgs/php8.3-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-mongodb'
 pkgname=php8.3-mongodb
-version=1.19.3
+version=1.19.4
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=57c168b24a7d07f73367e4b134eb911ad1170ba7d203bc475f6ef1b860c16701
 
 pre_configure() {
 	phpize8.3

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Updated] PHP updates
  2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
@ 2024-09-16 14:17 ` TinfoilSubmarine
  2024-09-17  8:56 ` Johnnynator
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: TinfoilSubmarine @ 2024-09-16 14:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1706 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/php
https://github.com/void-linux/void-packages/pull/52237

PHP updates
- **composer8.1: update to 2.7.9.**
- **composer8.2: update to 2.7.9.**
- **composer8.3: update to 2.7.9.**
- **php8.1-ast: update to 1.1.2.**
- **php8.1-igbinary: update to 3.2.16.**
- **php8.1-mongodb: update to 1.19.4.**
- **php8.2: update to 8.2.23.**
- **php8.2-ast: update to 1.1.2.**
- **php8.2-igbinary: update to 3.2.16.**
- **php8.3: update to 8.3.11.**
- **php8.3-ast: update to 1.1.2.**
- **php8.3-igbinary: update to 3.2.16.**
- **php8.3-mongodb: update to 1.19.4.**

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/52237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/php-52237.patch --]
[-- Type: text/x-diff, Size: 46929 bytes --]

From 90a2facf2410475f7c244694dc08620c8ac451f6 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:09 -0400
Subject: [PATCH 01/13] composer8.1: update to 2.7.9, orphan.

---
 srcpkgs/composer8.1/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.1/template b/srcpkgs/composer8.1/template
index a7c8180604be46..26dcde930b218d 100644
--- a/srcpkgs/composer8.1/template
+++ b/srcpkgs/composer8.1/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.1'
 pkgname=composer8.1
-version=2.7.7
+version=2.7.9
 revision=1
 build_style=fetch
 depends="php8.1"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="b6de5e65c199d80ba11897fbe1364e063e858d483f6a81a176c4d60f2b1d6347
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.1"
 

From 31f59f12937ff492f122814a9e8bba815762a9d7 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:10 -0400
Subject: [PATCH 02/13] composer8.2: update to 2.7.9, orphan.

---
 srcpkgs/composer8.2/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.2/template b/srcpkgs/composer8.2/template
index 50336e8687051a..3c7127b2080087 100644
--- a/srcpkgs/composer8.2/template
+++ b/srcpkgs/composer8.2/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.2'
 pkgname=composer8.2
-version=2.7.7
+version=2.7.9
 revision=1
 build_style=fetch
 depends="php8.2"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="b6de5e65c199d80ba11897fbe1364e063e858d483f6a81a176c4d60f2b1d6347
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.2"
 

From 70e2f155d1f86883d98a2ed909f40b51e0baa11a Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:11 -0400
Subject: [PATCH 03/13] composer8.3: update to 2.7.9, orphan.

---
 srcpkgs/composer8.3/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.3/template b/srcpkgs/composer8.3/template
index 3574c288855f2c..61458ebf261a9b 100644
--- a/srcpkgs/composer8.3/template
+++ b/srcpkgs/composer8.3/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.3'
 pkgname=composer8.3
-version=2.7.7
+version=2.7.9
 revision=1
 build_style=fetch
 depends="php8.3"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="b6de5e65c199d80ba11897fbe1364e063e858d483f6a81a176c4d60f2b1d6347
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.3"
 

From f6f71f735476138789b87fb1a569049aa6e072ae Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:13 -0400
Subject: [PATCH 04/13] php8.1-ast: update to 1.1.2.

---
 srcpkgs/php8.1-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-ast/template b/srcpkgs/php8.1-ast/template
index b1306a30c210c1..0c3ebcfff1622b 100644
--- a/srcpkgs/php8.1-ast/template
+++ b/srcpkgs/php8.1-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-ast'
 pkgname=php8.1-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From 315521bd06b592abc99b0692ad5de404e4f56e73 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:14 -0400
Subject: [PATCH 05/13] php8.1-igbinary: update to 3.2.16.

---
 srcpkgs/php8.1-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-igbinary/template b/srcpkgs/php8.1-igbinary/template
index 3d43405c3a6bb5..d36a839daf69f0 100644
--- a/srcpkgs/php8.1-igbinary/template
+++ b/srcpkgs/php8.1-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-igbinary'
 pkgname=php8.1-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.1

From 7d65f38a4ac4faf43fc18c4540b4d2b3a42ba218 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:16 -0400
Subject: [PATCH 06/13] php8.1-mongodb: update to 1.19.4.

---
 srcpkgs/php8.1-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-mongodb/template b/srcpkgs/php8.1-mongodb/template
index 26bcb6e1771fe1..bbf44ffbde653a 100644
--- a/srcpkgs/php8.1-mongodb/template
+++ b/srcpkgs/php8.1-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-mongodb'
 pkgname=php8.1-mongodb
-version=1.19.3
+version=1.19.4
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=57c168b24a7d07f73367e4b134eb911ad1170ba7d203bc475f6ef1b860c16701
 
 pre_configure() {
 	phpize8.1

From 8d5e3b18d057253edbf236d8152ae83146738839 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Thu, 15 Aug 2024 09:15:50 -0400
Subject: [PATCH 07/13] php8.2: update to 8.2.23.

- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
---
 .../patches/ac_fn_c_try_run_cross.patch       | 166 ------------------
 srcpkgs/php8.2/patches/cross-configure.patch  |  26 +++
 .../patches/cross-gdImageCreateFrom.patch     |  66 +++++++
 ...tch => cross-ltmain-sysroot-support.patch} |   9 +
 ...{php-pear-cross.patch => cross-pear.patch} |   0
 ...{php-phar-cross.patch => cross-phar.patch} |   0
 ...tch => cross-phpize-sysroot-support.patch} |   0
 .../{php-706-crypt.patch => musl-crypt.patch} |   3 +
 srcpkgs/php8.2/patches/php-cross-config.patch |  22 ---
 ...npages.patch => php8.2-fix-manpages.patch} |   0
 .../{php.ini.patch => php8.2-ini.patch}       |   0
 srcpkgs/php8.2/template                       |  10 +-
 12 files changed, 111 insertions(+), 191 deletions(-)
 delete mode 100644 srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
 create mode 100644 srcpkgs/php8.2/patches/cross-configure.patch
 create mode 100644 srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
 rename srcpkgs/php8.2/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.2/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.2/patches/php-cross-config.patch
 rename srcpkgs/php8.2/patches/{fix-manpages.patch => php8.2-fix-manpages.patch} (100%)
 rename srcpkgs/php8.2/patches/{php.ini.patch => php8.2-ini.patch} (100%)

diff --git a/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch b/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
deleted file mode 100644
index 2205168a7868e7..00000000000000
--- a/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-diff --git a/configure b/configure
-index 88b317c..fdb8e73 100755
---- a/configure
-+++ b/configure
-@@ -2600,7 +2600,13 @@ $as_echo "$ac_try_echo"; } >&5
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- $as_echo "$ac_try_echo"; } >&5
--  (eval "$ac_try") 2>&5
-+  if test "$cross_compiling" = "yes"; then
-+    # Use qemu-user-static to run the executable
-+    qemu_exec="QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static"
-+    (eval "$qemu_exec $ac_try") 2>&5
-+  else
-+    (eval "$ac_try") 2>&5
-+  fi
-   ac_status=$?
-   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
-@@ -37619,12 +37619,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37662,7 +37656,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37686,12 +37679,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37729,7 +37716,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37753,12 +37739,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37796,7 +37776,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37820,12 +37799,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37863,7 +37836,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37887,12 +37859,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37930,7 +37896,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37954,12 +37919,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37997,7 +37956,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -38021,12 +37979,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -38064,7 +38016,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
diff --git a/srcpkgs/php8.2/patches/cross-configure.patch b/srcpkgs/php8.2/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.2/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch b/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
new file mode 100644
index 00000000000000..1f35f9482f98c6
--- /dev/null
+++ b/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
@@ -0,0 +1,66 @@
+Copied and modified library macros from /usr/share/autoconf/autoconf/general.m4
+with support for using qemu-user-static to execute when cross compiling.
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index b31c9b2..e5e2d9f 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,6 +147,40 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
++
++AC_DEFUN([_AC_DO_TOKENS_QEMU],
++[{
++  if test "$cross_compiling" = "yes"; then
++    ac_try='QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static $1'
++  else
++    ac_try='$1'
++  fi
++  _AC_DO([$ac_try]); }])
++
++m4_define([_AC_RUN_IFELSE_QEMU_BODY],
++[  AS_LINENO_PUSH([$[]1])
++  AS_IF([_AC_DO_VAR(ac_link) && _AC_DO_TOKENS_QEMU(./conftest$ac_exeext)],
++      [ac_retval=0],
++      [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
++       _AC_MSG_LOG_CONFTEST
++       ac_retval=$ac_status])
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  AS_LINENO_POP
++  AS_SET_STATUS([$ac_retval])
++])
++
++AC_DEFUN([_AC_RUN_IFELSE_QEMU],
++[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu],
++  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu], [LINENO],
++    [Try to run conftest.$ac_ext, and return whether this succeeded.
++     Assumes that executables *can* be run.])],
++  [$0_BODY])]dnl
++[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
++[AS_IF([ac_fn_[]_AC_LANG_ABBREV[]_try_run_qemu "$LINENO"], [$2], [$3])
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam[]m4_ifval([$1], [ conftest.$ac_ext])[]dnl
++])
++
+ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   old_LIBS="${LIBS}"
+   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+@@ -154,7 +188,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+   AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+   AC_LANG_PUSH([C])
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  _AC_RUN_IFELSE_QEMU([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -178,8 +212,6 @@ int main(int argc, char** argv) {
+     AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+   ],[
+     AC_MSG_RESULT([no])
+-  ],[
+-    AC_MSG_RESULT([no])
+   ])
+   AC_LANG_POP([C])
+   CFLAGS="${old_CFLAGS}"
diff --git a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.2/patches/php-pear-cross.patch b/srcpkgs/php8.2/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-pear-cross.patch
rename to srcpkgs/php8.2/patches/cross-pear.patch
diff --git a/srcpkgs/php8.2/patches/php-phar-cross.patch b/srcpkgs/php8.2/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-phar-cross.patch
rename to srcpkgs/php8.2/patches/cross-phar.patch
diff --git a/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.2/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.2/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.2/patches/php-706-crypt.patch b/srcpkgs/php8.2/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.2/patches/php-706-crypt.patch
rename to srcpkgs/php8.2/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.2/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.2/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.2/patches/php-cross-config.patch b/srcpkgs/php8.2/patches/php-cross-config.patch
deleted file mode 100644
index 21c5e1923b2504..00000000000000
--- a/srcpkgs/php8.2/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index 88b317c..816799f 100755
---- a/configure
-+++ b/configure
-@@ -61564,7 +61564,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -63090,7 +63090,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.2/patches/fix-manpages.patch b/srcpkgs/php8.2/patches/php8.2-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/fix-manpages.patch
rename to srcpkgs/php8.2/patches/php8.2-fix-manpages.patch
diff --git a/srcpkgs/php8.2/patches/php.ini.patch b/srcpkgs/php8.2/patches/php8.2-ini.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php.ini.patch
rename to srcpkgs/php8.2/patches/php8.2-ini.patch
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index fe9559e181f2c8..0012c08a40710f 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -1,10 +1,10 @@
 # Template file for 'php8.2'
 # rebuild php8.2-apcu and php8.2-imagick when updating this package
 pkgname=php8.2
-version=8.2.22
+version=8.2.23
 revision=1
 _php_version=8.2
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
@@ -18,7 +18,7 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=44197016c9eeed5c50523e20eb44adc4dd9d84ac08bdf9e46077e775d467d7d0
+checksum=f5cb5f0e063bcc632c60a8f26af63b19d5f924f1fc54b4471d88cfaa865d6917
 provides="php-runtime-${version}_1"
 
 conf_files="/etc/php${_php_version}/php.ini"
@@ -46,6 +46,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \

From 2906631a47c5c289fa41c53ecfc8e4afe753a467 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:17 -0400
Subject: [PATCH 08/13] php8.2-ast: update to 1.1.2.

---
 srcpkgs/php8.2-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-ast/template b/srcpkgs/php8.2-ast/template
index fccc6bc98ad09c..338032e937e923 100644
--- a/srcpkgs/php8.2-ast/template
+++ b/srcpkgs/php8.2-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-ast'
 pkgname=php8.2-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From 379a7f5e07820a4f739893ab7de95985a0e96b2b Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:18 -0400
Subject: [PATCH 09/13] php8.2-igbinary: update to 3.2.16.

---
 srcpkgs/php8.2-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-igbinary/template b/srcpkgs/php8.2-igbinary/template
index 89ce91a138308a..b14765bc68cbb1 100644
--- a/srcpkgs/php8.2-igbinary/template
+++ b/srcpkgs/php8.2-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-igbinary'
 pkgname=php8.2-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.2

From fa54e54ffd9667b469408b4afeab1e5766158b2b Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Wed, 14 Aug 2024 09:42:12 -0400
Subject: [PATCH 10/13] php8.3: update to 8.3.11.

- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
---
 .../patches/ac_fn_c_try_run_cross.patch       | 176 ------------------
 srcpkgs/php8.3/patches/cross-configure.patch  |  26 +++
 .../patches/cross-gdImageCreateFrom.patch     |  66 +++++++
 ...tch => cross-ltmain-sysroot-support.patch} |   9 +
 ...{php-pear-cross.patch => cross-pear.patch} |   0
 ...{php-phar-cross.patch => cross-phar.patch} |   0
 ...tch => cross-phpize-sysroot-support.patch} |   0
 .../{php-706-crypt.patch => musl-crypt.patch} |   3 +
 srcpkgs/php8.3/patches/php-cross-config.patch |  22 ---
 ...npages.patch => php8.3-fix-manpages.patch} |   0
 .../{php.ini.patch => php8.3-ini.patch}       |   0
 srcpkgs/php8.3/template                       |  10 +-
 12 files changed, 111 insertions(+), 201 deletions(-)
 delete mode 100644 srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
 create mode 100644 srcpkgs/php8.3/patches/cross-configure.patch
 create mode 100644 srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
 rename srcpkgs/php8.3/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.3/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.3/patches/php-cross-config.patch
 rename srcpkgs/php8.3/patches/{fix-manpages.patch => php8.3-fix-manpages.patch} (100%)
 rename srcpkgs/php8.3/patches/{php.ini.patch => php8.3-ini.patch} (100%)

diff --git a/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch b/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
deleted file mode 100644
index e0a5d3cf2b1789..00000000000000
--- a/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-diff --git a/configure b/configure
-index b6c740b..550e313 100755
---- a/configure
-+++ b/configure
-@@ -2600,7 +2600,13 @@ printf "%s\n" "$ac_try_echo"; } >&5
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- printf "%s\n" "$ac_try_echo"; } >&5
--  (eval "$ac_try") 2>&5
-+  if test "$cross_compiling" = "yes"; then
-+    # Use qemu-user-static to run the executable
-+    qemu_exec="QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static"
-+    (eval "$qemu_exec $ac_try") 2>&5
-+  else
-+    (eval "$ac_try") 2>&5
-+  fi
-   ac_status=$?
-   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
-@@ -39741,13 +39741,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39786,7 +39779,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39810,13 +39802,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39855,7 +39840,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39879,13 +39863,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39924,7 +39901,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39948,13 +39924,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39993,7 +39962,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40017,13 +39985,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40062,7 +40023,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40086,13 +40046,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40131,7 +40084,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40155,13 +40107,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40200,7 +40145,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-   ac_status=$?
-   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
diff --git a/srcpkgs/php8.3/patches/cross-configure.patch b/srcpkgs/php8.3/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.3/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch b/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
new file mode 100644
index 00000000000000..1f35f9482f98c6
--- /dev/null
+++ b/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
@@ -0,0 +1,66 @@
+Copied and modified library macros from /usr/share/autoconf/autoconf/general.m4
+with support for using qemu-user-static to execute when cross compiling.
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index b31c9b2..e5e2d9f 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,6 +147,40 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
++
++AC_DEFUN([_AC_DO_TOKENS_QEMU],
++[{
++  if test "$cross_compiling" = "yes"; then
++    ac_try='QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static $1'
++  else
++    ac_try='$1'
++  fi
++  _AC_DO([$ac_try]); }])
++
++m4_define([_AC_RUN_IFELSE_QEMU_BODY],
++[  AS_LINENO_PUSH([$[]1])
++  AS_IF([_AC_DO_VAR(ac_link) && _AC_DO_TOKENS_QEMU(./conftest$ac_exeext)],
++      [ac_retval=0],
++      [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
++       _AC_MSG_LOG_CONFTEST
++       ac_retval=$ac_status])
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  AS_LINENO_POP
++  AS_SET_STATUS([$ac_retval])
++])
++
++AC_DEFUN([_AC_RUN_IFELSE_QEMU],
++[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu],
++  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu], [LINENO],
++    [Try to run conftest.$ac_ext, and return whether this succeeded.
++     Assumes that executables *can* be run.])],
++  [$0_BODY])]dnl
++[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
++[AS_IF([ac_fn_[]_AC_LANG_ABBREV[]_try_run_qemu "$LINENO"], [$2], [$3])
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam[]m4_ifval([$1], [ conftest.$ac_ext])[]dnl
++])
++
+ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   old_LIBS="${LIBS}"
+   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+@@ -154,7 +188,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+   AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+   AC_LANG_PUSH([C])
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  _AC_RUN_IFELSE_QEMU([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -178,8 +212,6 @@ int main(int argc, char** argv) {
+     AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+   ],[
+     AC_MSG_RESULT([no])
+-  ],[
+-    AC_MSG_RESULT([no])
+   ])
+   AC_LANG_POP([C])
+   CFLAGS="${old_CFLAGS}"
diff --git a/srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.3/patches/php-pear-cross.patch b/srcpkgs/php8.3/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-pear-cross.patch
rename to srcpkgs/php8.3/patches/cross-pear.patch
diff --git a/srcpkgs/php8.3/patches/php-phar-cross.patch b/srcpkgs/php8.3/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-phar-cross.patch
rename to srcpkgs/php8.3/patches/cross-phar.patch
diff --git a/srcpkgs/php8.3/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.3/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.3/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.3/patches/php-706-crypt.patch b/srcpkgs/php8.3/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.3/patches/php-706-crypt.patch
rename to srcpkgs/php8.3/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.3/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.3/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.3/patches/php-cross-config.patch b/srcpkgs/php8.3/patches/php-cross-config.patch
deleted file mode 100644
index c84e44974362fd..00000000000000
--- a/srcpkgs/php8.3/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index d317fd7..5560d75 100755
---- a/configure
-+++ b/configure
-@@ -60896,7 +60896,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -62422,7 +62422,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.3/patches/fix-manpages.patch b/srcpkgs/php8.3/patches/php8.3-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/fix-manpages.patch
rename to srcpkgs/php8.3/patches/php8.3-fix-manpages.patch
diff --git a/srcpkgs/php8.3/patches/php.ini.patch b/srcpkgs/php8.3/patches/php8.3-ini.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php.ini.patch
rename to srcpkgs/php8.3/patches/php8.3-ini.patch
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index ede31751655581..99030ce0bb2302 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -1,10 +1,10 @@
 # Template file for 'php8.3'
 # rebuild php8.3-apcu and php8.3-imagick when updating this package
 pkgname=php8.3
-version=8.3.10
+version=8.3.11
 revision=1
 _php_version=8.3
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
@@ -18,7 +18,7 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=d0b4dd5ff465053248fd28dacf2fe0bed79deaaef657890cecb6bfcb73996dcd
+checksum=b93a69af83a1302543789408194bd1ae9829e116e784d578778200f20f1b72d4
 provides="php-runtime-${version}_1"
 
 conf_files="/etc/php${_php_version}/php.ini"
@@ -46,6 +46,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \

From 23e65109809d6986aeaf47b10ce35be240ccef8c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:20 -0400
Subject: [PATCH 11/13] php8.3-ast: update to 1.1.2.

---
 srcpkgs/php8.3-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-ast/template b/srcpkgs/php8.3-ast/template
index c2764714bb268e..585e1daaf13da9 100644
--- a/srcpkgs/php8.3-ast/template
+++ b/srcpkgs/php8.3-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-ast'
 pkgname=php8.3-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From 52f2ed52322db353cc41e2cd05cb5c2c3d6ea862 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:21 -0400
Subject: [PATCH 12/13] php8.3-igbinary: update to 3.2.16.

---
 srcpkgs/php8.3-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-igbinary/template b/srcpkgs/php8.3-igbinary/template
index 1475cb74adffb0..8482d3aa6de247 100644
--- a/srcpkgs/php8.3-igbinary/template
+++ b/srcpkgs/php8.3-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-igbinary'
 pkgname=php8.3-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.3

From d249dbc3b4b6455c63c2f4125a45e991f4fa2827 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:23 -0400
Subject: [PATCH 13/13] php8.3-mongodb: update to 1.19.4.

---
 srcpkgs/php8.3-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-mongodb/template b/srcpkgs/php8.3-mongodb/template
index 41aa7ad7a40c5e..19823bb8252795 100644
--- a/srcpkgs/php8.3-mongodb/template
+++ b/srcpkgs/php8.3-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-mongodb'
 pkgname=php8.3-mongodb
-version=1.19.3
+version=1.19.4
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=57c168b24a7d07f73367e4b134eb911ad1170ba7d203bc475f6ef1b860c16701
 
 pre_configure() {
 	phpize8.3

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: PHP updates
  2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
  2024-09-16 14:17 ` [PR PATCH] [Updated] " TinfoilSubmarine
@ 2024-09-17  8:56 ` Johnnynator
  2024-09-17 12:53 ` TinfoilSubmarine
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: Johnnynator @ 2024-09-17  8:56 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 545 bytes --]

New comment by Johnnynator on void-packages repository

https://github.com/void-linux/void-packages/pull/52237#issuecomment-2354936973

Comment:
Can we also enable fpm acls? `--with-fpm-acl`

It is kinda weird that we use the `http` user as default for `fpm` without creating this user anywhere, but on the other hand we don't have a single "web" user like `www-data` or `http` for web servers and apache, nginx, caddy all have their own user.  Not sure if there could exist a good default for the fpm user considering all the other packages.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: PHP updates
  2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
  2024-09-16 14:17 ` [PR PATCH] [Updated] " TinfoilSubmarine
  2024-09-17  8:56 ` Johnnynator
@ 2024-09-17 12:53 ` TinfoilSubmarine
  2024-09-17 20:33 ` [PR PATCH] [Updated] " TinfoilSubmarine
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: TinfoilSubmarine @ 2024-09-17 12:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

New comment by TinfoilSubmarine on void-packages repository

https://github.com/void-linux/void-packages/pull/52237#issuecomment-2355683191

Comment:
> It is kinda weird that we use the `http` user as default for `fpm` without creating this user anywhere, but on the other hand we don't have a single "web" user like `www-data` or `http` for web servers and apache, nginx, caddy all have their own user. Not sure if there could exist a good default for the fpm user considering all the other packages.

Maybe there should be a default though, even if it isn't good. That way when a user installs an `.*fpm` package the runit service isn't broken out-of-the-box.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Updated] PHP updates
  2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
                   ` (2 preceding siblings ...)
  2024-09-17 12:53 ` TinfoilSubmarine
@ 2024-09-17 20:33 ` TinfoilSubmarine
  2024-09-17 20:33 ` TinfoilSubmarine
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: TinfoilSubmarine @ 2024-09-17 20:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1225 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/php
https://github.com/void-linux/void-packages/pull/52237

PHP updates
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/52237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/php-52237.patch --]
[-- Type: text/x-diff, Size: 56169 bytes --]

From 8bbaa607b20017a70ade08dc6259ae29662cee2c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:09 -0400
Subject: [PATCH 01/14] composer8.1: update to 2.7.9, orphan.

---
 srcpkgs/composer8.1/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.1/template b/srcpkgs/composer8.1/template
index a7c8180604be46..26dcde930b218d 100644
--- a/srcpkgs/composer8.1/template
+++ b/srcpkgs/composer8.1/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.1'
 pkgname=composer8.1
-version=2.7.7
+version=2.7.9
 revision=1
 build_style=fetch
 depends="php8.1"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="b6de5e65c199d80ba11897fbe1364e063e858d483f6a81a176c4d60f2b1d6347
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.1"
 

From 83d0e918da06304fdce88369dea12b7771a7d85b Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:10 -0400
Subject: [PATCH 02/14] composer8.2: update to 2.7.9, orphan.

---
 srcpkgs/composer8.2/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.2/template b/srcpkgs/composer8.2/template
index 50336e8687051a..3c7127b2080087 100644
--- a/srcpkgs/composer8.2/template
+++ b/srcpkgs/composer8.2/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.2'
 pkgname=composer8.2
-version=2.7.7
+version=2.7.9
 revision=1
 build_style=fetch
 depends="php8.2"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="b6de5e65c199d80ba11897fbe1364e063e858d483f6a81a176c4d60f2b1d6347
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.2"
 

From 4891230d22d7dcc55eb5aa6cfb4b87157dc1e4c7 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:11 -0400
Subject: [PATCH 03/14] composer8.3: update to 2.7.9, orphan.

---
 srcpkgs/composer8.3/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.3/template b/srcpkgs/composer8.3/template
index 3574c288855f2c..61458ebf261a9b 100644
--- a/srcpkgs/composer8.3/template
+++ b/srcpkgs/composer8.3/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.3'
 pkgname=composer8.3
-version=2.7.7
+version=2.7.9
 revision=1
 build_style=fetch
 depends="php8.3"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="b6de5e65c199d80ba11897fbe1364e063e858d483f6a81a176c4d60f2b1d6347
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.3"
 

From 30b332d128a2c8290dda9cffa31b861d9de49cb4 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 17 Sep 2024 09:20:36 -0400
Subject: [PATCH 04/14] php8.1: enable fpm ACLs.

- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
---
 srcpkgs/php8.1/patches/cross-configure.patch  | 26 +++++++++++++++++++
 ...tch => cross-ltmain-sysroot-support.patch} |  9 +++++++
 ...{php-pear-cross.patch => cross-pear.patch} |  0
 ...{php-phar-cross.patch => cross-phar.patch} |  0
 ...tch => cross-phpize-sysroot-support.patch} |  0
 .../{php-706-crypt.patch => musl-crypt.patch} |  3 +++
 srcpkgs/php8.1/patches/php-cross-config.patch | 22 ----------------
 ...npages.patch => php8.1-fix-manpages.patch} |  0
 .../{php.ini.patch => php8.1-ini.patch}       |  0
 srcpkgs/php8.1/template                       | 11 +++++---
 10 files changed, 46 insertions(+), 25 deletions(-)
 create mode 100644 srcpkgs/php8.1/patches/cross-configure.patch
 rename srcpkgs/php8.1/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.1/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.1/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.1/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.1/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.1/patches/php-cross-config.patch
 rename srcpkgs/php8.1/patches/{fix-manpages.patch => php8.1-fix-manpages.patch} (100%)
 rename srcpkgs/php8.1/patches/{php.ini.patch => php8.1-ini.patch} (100%)

diff --git a/srcpkgs/php8.1/patches/cross-configure.patch b/srcpkgs/php8.1/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.1/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.1/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.1/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.1/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.1/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.1/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.1/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.1/patches/php-pear-cross.patch b/srcpkgs/php8.1/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php-pear-cross.patch
rename to srcpkgs/php8.1/patches/cross-pear.patch
diff --git a/srcpkgs/php8.1/patches/php-phar-cross.patch b/srcpkgs/php8.1/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php-phar-cross.patch
rename to srcpkgs/php8.1/patches/cross-phar.patch
diff --git a/srcpkgs/php8.1/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.1/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.1/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.1/patches/php-706-crypt.patch b/srcpkgs/php8.1/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.1/patches/php-706-crypt.patch
rename to srcpkgs/php8.1/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.1/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.1/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.1/patches/php-cross-config.patch b/srcpkgs/php8.1/patches/php-cross-config.patch
deleted file mode 100644
index 169c43f1df9324..00000000000000
--- a/srcpkgs/php8.1/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index e4b82d1..1a8678f 100755
---- a/configure
-+++ b/configure
-@@ -62424,7 +62424,7 @@ printf %s "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- printf "%s\n" "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -63948,7 +63948,7 @@ printf %s "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- printf "%s\n" "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.1/patches/fix-manpages.patch b/srcpkgs/php8.1/patches/php8.1-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/fix-manpages.patch
rename to srcpkgs/php8.1/patches/php8.1-fix-manpages.patch
diff --git a/srcpkgs/php8.1/patches/php.ini.patch b/srcpkgs/php8.1/patches/php8.1-ini.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php.ini.patch
rename to srcpkgs/php8.1/patches/php8.1-ini.patch
diff --git a/srcpkgs/php8.1/template b/srcpkgs/php8.1/template
index 71285aa82815b9..9e0dbf7db426bf 100644
--- a/srcpkgs/php8.1/template
+++ b/srcpkgs/php8.1/template
@@ -2,14 +2,14 @@
 # rebuild php8.1-apcu and php8.1-imagick when updating this package
 pkgname=php8.1
 version=8.1.29
-revision=1
+revision=2
 _php_version=8.1
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
  postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel
- libffi-devel oniguruma-devel gd-devel"
+ libffi-devel oniguruma-devel gd-devel acl-devel"
 short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
@@ -50,6 +50,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \
@@ -142,6 +146,7 @@ do_build() {
 		--enable-fpm \
 		--with-fpm-user=http \
 		--with-fpm-group=http \
+		--with-fpm-acl \
 		--enable-embed=shared \
 		${_phpextensions}
 	make ${makejobs} ${_make_env}

From 6f4d3de08f20aa3e29d7315883eab311ffb23897 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:13 -0400
Subject: [PATCH 05/14] php8.1-ast: update to 1.1.2.

---
 srcpkgs/php8.1-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-ast/template b/srcpkgs/php8.1-ast/template
index b1306a30c210c1..0c3ebcfff1622b 100644
--- a/srcpkgs/php8.1-ast/template
+++ b/srcpkgs/php8.1-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-ast'
 pkgname=php8.1-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From 04a533cf9bd959887136c7d7ec4de06f4c21a6bc Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:14 -0400
Subject: [PATCH 06/14] php8.1-igbinary: update to 3.2.16.

---
 srcpkgs/php8.1-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-igbinary/template b/srcpkgs/php8.1-igbinary/template
index 3d43405c3a6bb5..d36a839daf69f0 100644
--- a/srcpkgs/php8.1-igbinary/template
+++ b/srcpkgs/php8.1-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-igbinary'
 pkgname=php8.1-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.1

From 517a2c94188bdc17974f50ae03ce4eb3db9d7c55 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:16 -0400
Subject: [PATCH 07/14] php8.1-mongodb: update to 1.19.4.

---
 srcpkgs/php8.1-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-mongodb/template b/srcpkgs/php8.1-mongodb/template
index 26bcb6e1771fe1..bbf44ffbde653a 100644
--- a/srcpkgs/php8.1-mongodb/template
+++ b/srcpkgs/php8.1-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-mongodb'
 pkgname=php8.1-mongodb
-version=1.19.3
+version=1.19.4
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=57c168b24a7d07f73367e4b134eb911ad1170ba7d203bc475f6ef1b860c16701
 
 pre_configure() {
 	phpize8.1

From 19174a143c329b1c31f387b17f60b1c63fdd32df Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 17 Sep 2024 09:20:38 -0400
Subject: [PATCH 08/14] php8.2: update to 8.2.23.

- enable fpm ACLs
- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
---
 .../patches/ac_fn_c_try_run_cross.patch       | 166 ------------------
 srcpkgs/php8.2/patches/cross-configure.patch  |  26 +++
 .../patches/cross-gdImageCreateFrom.patch     |  66 +++++++
 ...tch => cross-ltmain-sysroot-support.patch} |   9 +
 ...{php-pear-cross.patch => cross-pear.patch} |   0
 ...{php-phar-cross.patch => cross-phar.patch} |   0
 ...tch => cross-phpize-sysroot-support.patch} |   0
 .../{php-706-crypt.patch => musl-crypt.patch} |   3 +
 srcpkgs/php8.2/patches/php-cross-config.patch |  22 ---
 ...npages.patch => php8.2-fix-manpages.patch} |   0
 .../{php.ini.patch => php8.2-ini.patch}       |   0
 srcpkgs/php8.2/template                       |  13 +-
 12 files changed, 113 insertions(+), 192 deletions(-)
 delete mode 100644 srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
 create mode 100644 srcpkgs/php8.2/patches/cross-configure.patch
 create mode 100644 srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
 rename srcpkgs/php8.2/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.2/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.2/patches/php-cross-config.patch
 rename srcpkgs/php8.2/patches/{fix-manpages.patch => php8.2-fix-manpages.patch} (100%)
 rename srcpkgs/php8.2/patches/{php.ini.patch => php8.2-ini.patch} (100%)

diff --git a/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch b/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
deleted file mode 100644
index 2205168a7868e7..00000000000000
--- a/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-diff --git a/configure b/configure
-index 88b317c..fdb8e73 100755
---- a/configure
-+++ b/configure
-@@ -2600,7 +2600,13 @@ $as_echo "$ac_try_echo"; } >&5
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- $as_echo "$ac_try_echo"; } >&5
--  (eval "$ac_try") 2>&5
-+  if test "$cross_compiling" = "yes"; then
-+    # Use qemu-user-static to run the executable
-+    qemu_exec="QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static"
-+    (eval "$qemu_exec $ac_try") 2>&5
-+  else
-+    (eval "$ac_try") 2>&5
-+  fi
-   ac_status=$?
-   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
-@@ -37619,12 +37619,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37662,7 +37656,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37686,12 +37679,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37729,7 +37716,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37753,12 +37739,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37796,7 +37776,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37820,12 +37799,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37863,7 +37836,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37887,12 +37859,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37930,7 +37896,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37954,12 +37919,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37997,7 +37956,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -38021,12 +37979,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -38064,7 +38016,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
diff --git a/srcpkgs/php8.2/patches/cross-configure.patch b/srcpkgs/php8.2/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.2/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch b/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
new file mode 100644
index 00000000000000..1f35f9482f98c6
--- /dev/null
+++ b/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
@@ -0,0 +1,66 @@
+Copied and modified library macros from /usr/share/autoconf/autoconf/general.m4
+with support for using qemu-user-static to execute when cross compiling.
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index b31c9b2..e5e2d9f 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,6 +147,40 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
++
++AC_DEFUN([_AC_DO_TOKENS_QEMU],
++[{
++  if test "$cross_compiling" = "yes"; then
++    ac_try='QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static $1'
++  else
++    ac_try='$1'
++  fi
++  _AC_DO([$ac_try]); }])
++
++m4_define([_AC_RUN_IFELSE_QEMU_BODY],
++[  AS_LINENO_PUSH([$[]1])
++  AS_IF([_AC_DO_VAR(ac_link) && _AC_DO_TOKENS_QEMU(./conftest$ac_exeext)],
++      [ac_retval=0],
++      [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
++       _AC_MSG_LOG_CONFTEST
++       ac_retval=$ac_status])
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  AS_LINENO_POP
++  AS_SET_STATUS([$ac_retval])
++])
++
++AC_DEFUN([_AC_RUN_IFELSE_QEMU],
++[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu],
++  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu], [LINENO],
++    [Try to run conftest.$ac_ext, and return whether this succeeded.
++     Assumes that executables *can* be run.])],
++  [$0_BODY])]dnl
++[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
++[AS_IF([ac_fn_[]_AC_LANG_ABBREV[]_try_run_qemu "$LINENO"], [$2], [$3])
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam[]m4_ifval([$1], [ conftest.$ac_ext])[]dnl
++])
++
+ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   old_LIBS="${LIBS}"
+   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+@@ -154,7 +188,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+   AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+   AC_LANG_PUSH([C])
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  _AC_RUN_IFELSE_QEMU([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -178,8 +212,6 @@ int main(int argc, char** argv) {
+     AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+   ],[
+     AC_MSG_RESULT([no])
+-  ],[
+-    AC_MSG_RESULT([no])
+   ])
+   AC_LANG_POP([C])
+   CFLAGS="${old_CFLAGS}"
diff --git a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.2/patches/php-pear-cross.patch b/srcpkgs/php8.2/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-pear-cross.patch
rename to srcpkgs/php8.2/patches/cross-pear.patch
diff --git a/srcpkgs/php8.2/patches/php-phar-cross.patch b/srcpkgs/php8.2/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-phar-cross.patch
rename to srcpkgs/php8.2/patches/cross-phar.patch
diff --git a/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.2/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.2/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.2/patches/php-706-crypt.patch b/srcpkgs/php8.2/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.2/patches/php-706-crypt.patch
rename to srcpkgs/php8.2/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.2/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.2/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.2/patches/php-cross-config.patch b/srcpkgs/php8.2/patches/php-cross-config.patch
deleted file mode 100644
index 21c5e1923b2504..00000000000000
--- a/srcpkgs/php8.2/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index 88b317c..816799f 100755
---- a/configure
-+++ b/configure
-@@ -61564,7 +61564,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -63090,7 +63090,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.2/patches/fix-manpages.patch b/srcpkgs/php8.2/patches/php8.2-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/fix-manpages.patch
rename to srcpkgs/php8.2/patches/php8.2-fix-manpages.patch
diff --git a/srcpkgs/php8.2/patches/php.ini.patch b/srcpkgs/php8.2/patches/php8.2-ini.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php.ini.patch
rename to srcpkgs/php8.2/patches/php8.2-ini.patch
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index fe9559e181f2c8..14babdc13aa5c3 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -1,15 +1,15 @@
 # Template file for 'php8.2'
 # rebuild php8.2-apcu and php8.2-imagick when updating this package
 pkgname=php8.2
-version=8.2.22
+version=8.2.23
 revision=1
 _php_version=8.2
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
  postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel
- libffi-devel oniguruma-devel gd-devel"
+ libffi-devel oniguruma-devel gd-devel acl-devel"
 short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
@@ -18,7 +18,7 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=44197016c9eeed5c50523e20eb44adc4dd9d84ac08bdf9e46077e775d467d7d0
+checksum=f5cb5f0e063bcc632c60a8f26af63b19d5f924f1fc54b4471d88cfaa865d6917
 provides="php-runtime-${version}_1"
 
 conf_files="/etc/php${_php_version}/php.ini"
@@ -46,6 +46,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \
@@ -138,6 +142,7 @@ do_build() {
 		--enable-fpm \
 		--with-fpm-user=http \
 		--with-fpm-group=http \
+		--with-fpm-acl \
 		--enable-embed=shared \
 		${_phpextensions}
 	make ${makejobs} ${_make_env}

From 135afe66ddc6d0b66f956050379c969573af5a6a Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:17 -0400
Subject: [PATCH 09/14] php8.2-ast: update to 1.1.2.

---
 srcpkgs/php8.2-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-ast/template b/srcpkgs/php8.2-ast/template
index fccc6bc98ad09c..338032e937e923 100644
--- a/srcpkgs/php8.2-ast/template
+++ b/srcpkgs/php8.2-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-ast'
 pkgname=php8.2-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From bb0b7b897cfb1b2a0c7b89e5f56675063d00b986 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:18 -0400
Subject: [PATCH 10/14] php8.2-igbinary: update to 3.2.16.

---
 srcpkgs/php8.2-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-igbinary/template b/srcpkgs/php8.2-igbinary/template
index 89ce91a138308a..b14765bc68cbb1 100644
--- a/srcpkgs/php8.2-igbinary/template
+++ b/srcpkgs/php8.2-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-igbinary'
 pkgname=php8.2-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.2

From af933f9ef267aa382870e481a24a1ab574f7dbdb Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 17 Sep 2024 09:20:39 -0400
Subject: [PATCH 11/14] php8.3: update to 8.3.11.

- enable fpm ACLs
- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
---
 .../patches/ac_fn_c_try_run_cross.patch       | 176 ------------------
 srcpkgs/php8.3/patches/cross-configure.patch  |  26 +++
 .../patches/cross-gdImageCreateFrom.patch     |  66 +++++++
 ...tch => cross-ltmain-sysroot-support.patch} |   9 +
 ...{php-pear-cross.patch => cross-pear.patch} |   0
 ...{php-phar-cross.patch => cross-phar.patch} |   0
 ...tch => cross-phpize-sysroot-support.patch} |   0
 .../{php-706-crypt.patch => musl-crypt.patch} |   3 +
 srcpkgs/php8.3/patches/php-cross-config.patch |  22 ---
 ...npages.patch => php8.3-fix-manpages.patch} |   0
 .../{php.ini.patch => php8.3-ini.patch}       |   0
 srcpkgs/php8.3/template                       |  13 +-
 12 files changed, 113 insertions(+), 202 deletions(-)
 delete mode 100644 srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
 create mode 100644 srcpkgs/php8.3/patches/cross-configure.patch
 create mode 100644 srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
 rename srcpkgs/php8.3/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.3/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.3/patches/php-cross-config.patch
 rename srcpkgs/php8.3/patches/{fix-manpages.patch => php8.3-fix-manpages.patch} (100%)
 rename srcpkgs/php8.3/patches/{php.ini.patch => php8.3-ini.patch} (100%)

diff --git a/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch b/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
deleted file mode 100644
index e0a5d3cf2b1789..00000000000000
--- a/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-diff --git a/configure b/configure
-index b6c740b..550e313 100755
---- a/configure
-+++ b/configure
-@@ -2600,7 +2600,13 @@ printf "%s\n" "$ac_try_echo"; } >&5
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- printf "%s\n" "$ac_try_echo"; } >&5
--  (eval "$ac_try") 2>&5
-+  if test "$cross_compiling" = "yes"; then
-+    # Use qemu-user-static to run the executable
-+    qemu_exec="QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static"
-+    (eval "$qemu_exec $ac_try") 2>&5
-+  else
-+    (eval "$ac_try") 2>&5
-+  fi
-   ac_status=$?
-   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
-@@ -39741,13 +39741,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39786,7 +39779,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39810,13 +39802,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39855,7 +39840,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39879,13 +39863,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39924,7 +39901,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39948,13 +39924,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39993,7 +39962,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40017,13 +39985,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40062,7 +40023,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40086,13 +40046,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40131,7 +40084,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40155,13 +40107,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40200,7 +40145,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-   ac_status=$?
-   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
diff --git a/srcpkgs/php8.3/patches/cross-configure.patch b/srcpkgs/php8.3/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.3/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch b/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
new file mode 100644
index 00000000000000..1f35f9482f98c6
--- /dev/null
+++ b/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
@@ -0,0 +1,66 @@
+Copied and modified library macros from /usr/share/autoconf/autoconf/general.m4
+with support for using qemu-user-static to execute when cross compiling.
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index b31c9b2..e5e2d9f 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,6 +147,40 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
++
++AC_DEFUN([_AC_DO_TOKENS_QEMU],
++[{
++  if test "$cross_compiling" = "yes"; then
++    ac_try='QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static $1'
++  else
++    ac_try='$1'
++  fi
++  _AC_DO([$ac_try]); }])
++
++m4_define([_AC_RUN_IFELSE_QEMU_BODY],
++[  AS_LINENO_PUSH([$[]1])
++  AS_IF([_AC_DO_VAR(ac_link) && _AC_DO_TOKENS_QEMU(./conftest$ac_exeext)],
++      [ac_retval=0],
++      [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
++       _AC_MSG_LOG_CONFTEST
++       ac_retval=$ac_status])
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  AS_LINENO_POP
++  AS_SET_STATUS([$ac_retval])
++])
++
++AC_DEFUN([_AC_RUN_IFELSE_QEMU],
++[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu],
++  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu], [LINENO],
++    [Try to run conftest.$ac_ext, and return whether this succeeded.
++     Assumes that executables *can* be run.])],
++  [$0_BODY])]dnl
++[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
++[AS_IF([ac_fn_[]_AC_LANG_ABBREV[]_try_run_qemu "$LINENO"], [$2], [$3])
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam[]m4_ifval([$1], [ conftest.$ac_ext])[]dnl
++])
++
+ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   old_LIBS="${LIBS}"
+   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+@@ -154,7 +188,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+   AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+   AC_LANG_PUSH([C])
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  _AC_RUN_IFELSE_QEMU([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -178,8 +212,6 @@ int main(int argc, char** argv) {
+     AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+   ],[
+     AC_MSG_RESULT([no])
+-  ],[
+-    AC_MSG_RESULT([no])
+   ])
+   AC_LANG_POP([C])
+   CFLAGS="${old_CFLAGS}"
diff --git a/srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.3/patches/php-pear-cross.patch b/srcpkgs/php8.3/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-pear-cross.patch
rename to srcpkgs/php8.3/patches/cross-pear.patch
diff --git a/srcpkgs/php8.3/patches/php-phar-cross.patch b/srcpkgs/php8.3/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-phar-cross.patch
rename to srcpkgs/php8.3/patches/cross-phar.patch
diff --git a/srcpkgs/php8.3/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.3/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.3/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.3/patches/php-706-crypt.patch b/srcpkgs/php8.3/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.3/patches/php-706-crypt.patch
rename to srcpkgs/php8.3/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.3/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.3/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.3/patches/php-cross-config.patch b/srcpkgs/php8.3/patches/php-cross-config.patch
deleted file mode 100644
index c84e44974362fd..00000000000000
--- a/srcpkgs/php8.3/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index d317fd7..5560d75 100755
---- a/configure
-+++ b/configure
-@@ -60896,7 +60896,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -62422,7 +62422,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.3/patches/fix-manpages.patch b/srcpkgs/php8.3/patches/php8.3-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/fix-manpages.patch
rename to srcpkgs/php8.3/patches/php8.3-fix-manpages.patch
diff --git a/srcpkgs/php8.3/patches/php.ini.patch b/srcpkgs/php8.3/patches/php8.3-ini.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php.ini.patch
rename to srcpkgs/php8.3/patches/php8.3-ini.patch
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index ede31751655581..dafc8a4746140f 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -1,15 +1,15 @@
 # Template file for 'php8.3'
 # rebuild php8.3-apcu and php8.3-imagick when updating this package
 pkgname=php8.3
-version=8.3.10
+version=8.3.11
 revision=1
 _php_version=8.3
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
  postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel
- libffi-devel oniguruma-devel gd-devel"
+ libffi-devel oniguruma-devel gd-devel acl-devel"
 short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
@@ -18,7 +18,7 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=d0b4dd5ff465053248fd28dacf2fe0bed79deaaef657890cecb6bfcb73996dcd
+checksum=b93a69af83a1302543789408194bd1ae9829e116e784d578778200f20f1b72d4
 provides="php-runtime-${version}_1"
 
 conf_files="/etc/php${_php_version}/php.ini"
@@ -46,6 +46,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \
@@ -138,6 +142,7 @@ do_build() {
 		--enable-fpm \
 		--with-fpm-user=http \
 		--with-fpm-group=http \
+		--with-fpm-acl \
 		--enable-embed=shared \
 		${_phpextensions}
 	make ${makejobs} ${_make_env}

From ff168b1342f5369ba54ec82ed71862a6767b4d77 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:20 -0400
Subject: [PATCH 12/14] php8.3-ast: update to 1.1.2.

---
 srcpkgs/php8.3-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-ast/template b/srcpkgs/php8.3-ast/template
index c2764714bb268e..585e1daaf13da9 100644
--- a/srcpkgs/php8.3-ast/template
+++ b/srcpkgs/php8.3-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-ast'
 pkgname=php8.3-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From 59bab6c73906ff1c60a543596ddf62520ae74fa9 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:21 -0400
Subject: [PATCH 13/14] php8.3-igbinary: update to 3.2.16.

---
 srcpkgs/php8.3-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-igbinary/template b/srcpkgs/php8.3-igbinary/template
index 1475cb74adffb0..8482d3aa6de247 100644
--- a/srcpkgs/php8.3-igbinary/template
+++ b/srcpkgs/php8.3-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-igbinary'
 pkgname=php8.3-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.3

From 4c18fdd5b1f5f07472c939c236201fcd42d1d185 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:23 -0400
Subject: [PATCH 14/14] php8.3-mongodb: update to 1.19.4.

---
 srcpkgs/php8.3-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-mongodb/template b/srcpkgs/php8.3-mongodb/template
index 41aa7ad7a40c5e..19823bb8252795 100644
--- a/srcpkgs/php8.3-mongodb/template
+++ b/srcpkgs/php8.3-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-mongodb'
 pkgname=php8.3-mongodb
-version=1.19.3
+version=1.19.4
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=57c168b24a7d07f73367e4b134eb911ad1170ba7d203bc475f6ef1b860c16701
 
 pre_configure() {
 	phpize8.3

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: PHP updates
  2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
                   ` (3 preceding siblings ...)
  2024-09-17 20:33 ` [PR PATCH] [Updated] " TinfoilSubmarine
@ 2024-09-17 20:33 ` TinfoilSubmarine
  2024-09-17 20:40 ` TinfoilSubmarine
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: TinfoilSubmarine @ 2024-09-17 20:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 206 bytes --]

New comment by TinfoilSubmarine on void-packages repository

https://github.com/void-linux/void-packages/pull/52237#issuecomment-2356870353

Comment:
> Can we also enable fpm acls? `--with-fpm-acl`

Done

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: PHP updates
  2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
                   ` (4 preceding siblings ...)
  2024-09-17 20:33 ` TinfoilSubmarine
@ 2024-09-17 20:40 ` TinfoilSubmarine
  2024-09-20 12:21 ` Johnnynator
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: TinfoilSubmarine @ 2024-09-17 20:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 443 bytes --]

New comment by TinfoilSubmarine on void-packages repository

https://github.com/void-linux/void-packages/pull/52237#issuecomment-2356882768

Comment:
So as I'm thinking about this, the acl was the missing piece for my setup to not really care about what user `php-fpm` is running with. Now I just do `listen.acl_users = caddy` and be done with it.

Are there any other use cases that would actually care what user the process is running as?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: PHP updates
  2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
                   ` (5 preceding siblings ...)
  2024-09-17 20:40 ` TinfoilSubmarine
@ 2024-09-20 12:21 ` Johnnynator
  2024-09-20 15:06 ` [PR PATCH] [Updated] " TinfoilSubmarine
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: Johnnynator @ 2024-09-20 12:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 832 bytes --]

New comment by Johnnynator on void-packages repository

https://github.com/void-linux/void-packages/pull/52237#issuecomment-2363600532

Comment:
> So as I'm thinking about this, the acl was the missing piece for my setup to not really care about what user `php-fpm` is running with. Now I just do `listen.acl_users = caddy` and be done with it.

You could have gotten this with `listen.owner = caddy`

> Are there any other use cases that would actually care what user the process is running as?

All these depend on what the user wants. The general read-only, just execute some php, use-case with a `755`/`644` permission on the web directory doesn't really care. It starts to matter once you have like writable directories, strict permissions for certain files.
But these cases have to be handled by the user either way.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Updated] PHP updates
  2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
                   ` (6 preceding siblings ...)
  2024-09-20 12:21 ` Johnnynator
@ 2024-09-20 15:06 ` TinfoilSubmarine
  2024-11-15 13:42 ` TinfoilSubmarine
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: TinfoilSubmarine @ 2024-09-20 15:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1225 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/php
https://github.com/void-linux/void-packages/pull/52237

PHP updates
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/52237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/php-52237.patch --]
[-- Type: text/x-diff, Size: 57237 bytes --]

From 5ffb54abaa17d74791b19b8e36aa022984ab7a33 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:09 -0400
Subject: [PATCH 01/14] composer8.1: update to 2.7.9, orphan.

---
 srcpkgs/composer8.1/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.1/template b/srcpkgs/composer8.1/template
index a7c8180604be46..26dcde930b218d 100644
--- a/srcpkgs/composer8.1/template
+++ b/srcpkgs/composer8.1/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.1'
 pkgname=composer8.1
-version=2.7.7
+version=2.7.9
 revision=1
 build_style=fetch
 depends="php8.1"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="b6de5e65c199d80ba11897fbe1364e063e858d483f6a81a176c4d60f2b1d6347
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.1"
 

From 38793eb166b242ff0784b862772dd21ae37a3fd3 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:10 -0400
Subject: [PATCH 02/14] composer8.2: update to 2.7.9, orphan.

---
 srcpkgs/composer8.2/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.2/template b/srcpkgs/composer8.2/template
index 50336e8687051a..3c7127b2080087 100644
--- a/srcpkgs/composer8.2/template
+++ b/srcpkgs/composer8.2/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.2'
 pkgname=composer8.2
-version=2.7.7
+version=2.7.9
 revision=1
 build_style=fetch
 depends="php8.2"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="b6de5e65c199d80ba11897fbe1364e063e858d483f6a81a176c4d60f2b1d6347
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.2"
 

From d68bc1c8dbd5ef163c4ad995492bde19eb149be3 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:11 -0400
Subject: [PATCH 03/14] composer8.3: update to 2.7.9, orphan.

---
 srcpkgs/composer8.3/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.3/template b/srcpkgs/composer8.3/template
index 3574c288855f2c..61458ebf261a9b 100644
--- a/srcpkgs/composer8.3/template
+++ b/srcpkgs/composer8.3/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.3'
 pkgname=composer8.3
-version=2.7.7
+version=2.7.9
 revision=1
 build_style=fetch
 depends="php8.3"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="b6de5e65c199d80ba11897fbe1364e063e858d483f6a81a176c4d60f2b1d6347
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.3"
 

From dd1c667aa9be962dc870415cb6ce1dccfa5bfad5 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 17 Sep 2024 09:20:36 -0400
Subject: [PATCH 04/14] php8.1: enable fpm ACLs.

- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
- add user for php-fpm instead of using uncreated `http` user
---
 srcpkgs/php8.1/patches/cross-configure.patch  | 26 +++++++++++++++++++
 ...tch => cross-ltmain-sysroot-support.patch} |  9 +++++++
 ...{php-pear-cross.patch => cross-pear.patch} |  0
 ...{php-phar-cross.patch => cross-phar.patch} |  0
 ...tch => cross-phpize-sysroot-support.patch} |  0
 .../{php-706-crypt.patch => musl-crypt.patch} |  3 +++
 srcpkgs/php8.1/patches/php-cross-config.patch | 22 ----------------
 ...npages.patch => php8.1-fix-manpages.patch} |  0
 .../{php.ini.patch => php8.1-ini.patch}       |  0
 srcpkgs/php8.1/template                       | 18 +++++++++----
 10 files changed, 51 insertions(+), 27 deletions(-)
 create mode 100644 srcpkgs/php8.1/patches/cross-configure.patch
 rename srcpkgs/php8.1/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.1/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.1/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.1/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.1/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.1/patches/php-cross-config.patch
 rename srcpkgs/php8.1/patches/{fix-manpages.patch => php8.1-fix-manpages.patch} (100%)
 rename srcpkgs/php8.1/patches/{php.ini.patch => php8.1-ini.patch} (100%)

diff --git a/srcpkgs/php8.1/patches/cross-configure.patch b/srcpkgs/php8.1/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.1/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.1/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.1/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.1/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.1/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.1/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.1/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.1/patches/php-pear-cross.patch b/srcpkgs/php8.1/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php-pear-cross.patch
rename to srcpkgs/php8.1/patches/cross-pear.patch
diff --git a/srcpkgs/php8.1/patches/php-phar-cross.patch b/srcpkgs/php8.1/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php-phar-cross.patch
rename to srcpkgs/php8.1/patches/cross-phar.patch
diff --git a/srcpkgs/php8.1/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.1/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.1/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.1/patches/php-706-crypt.patch b/srcpkgs/php8.1/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.1/patches/php-706-crypt.patch
rename to srcpkgs/php8.1/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.1/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.1/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.1/patches/php-cross-config.patch b/srcpkgs/php8.1/patches/php-cross-config.patch
deleted file mode 100644
index 169c43f1df9324..00000000000000
--- a/srcpkgs/php8.1/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index e4b82d1..1a8678f 100755
---- a/configure
-+++ b/configure
-@@ -62424,7 +62424,7 @@ printf %s "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- printf "%s\n" "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -63948,7 +63948,7 @@ printf %s "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- printf "%s\n" "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.1/patches/fix-manpages.patch b/srcpkgs/php8.1/patches/php8.1-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/fix-manpages.patch
rename to srcpkgs/php8.1/patches/php8.1-fix-manpages.patch
diff --git a/srcpkgs/php8.1/patches/php.ini.patch b/srcpkgs/php8.1/patches/php8.1-ini.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php.ini.patch
rename to srcpkgs/php8.1/patches/php8.1-ini.patch
diff --git a/srcpkgs/php8.1/template b/srcpkgs/php8.1/template
index 71285aa82815b9..51f4c2f854cc1a 100644
--- a/srcpkgs/php8.1/template
+++ b/srcpkgs/php8.1/template
@@ -2,14 +2,14 @@
 # rebuild php8.1-apcu and php8.1-imagick when updating this package
 pkgname=php8.1
 version=8.1.29
-revision=1
+revision=2
 _php_version=8.1
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
  postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel
- libffi-devel oniguruma-devel gd-devel"
+ libffi-devel oniguruma-devel gd-devel acl-devel"
 short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
@@ -21,6 +21,9 @@ distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version
 checksum=8b2609bf1d3173aa38269a9af21532c65f730aadd3051f9aae011eea9e246de5
 provides="php-runtime-${version}_1"
 
+system_accounts="_phpfpm"
+_phpfpm_homedir="/var/empty"
+
 conf_files="/etc/php${_php_version}/php.ini"
 
 lib32disabled=yes
@@ -50,6 +53,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \
@@ -140,8 +147,9 @@ do_build() {
 		--host=${XBPS_CROSS_TRIPLET} \
 		--enable-cgi \
 		--enable-fpm \
-		--with-fpm-user=http \
-		--with-fpm-group=http \
+		--with-fpm-user=_phpfpm \
+		--with-fpm-group=_phpfpm \
+		--with-fpm-acl \
 		--enable-embed=shared \
 		${_phpextensions}
 	make ${makejobs} ${_make_env}

From dafab558a93f9e8ba816f7b77c1fbf30f10e8e0a Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:13 -0400
Subject: [PATCH 05/14] php8.1-ast: update to 1.1.2.

---
 srcpkgs/php8.1-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-ast/template b/srcpkgs/php8.1-ast/template
index b1306a30c210c1..0c3ebcfff1622b 100644
--- a/srcpkgs/php8.1-ast/template
+++ b/srcpkgs/php8.1-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-ast'
 pkgname=php8.1-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From f087e320d1d1beb699bae31cd5b8b7d24d93f9cb Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:14 -0400
Subject: [PATCH 06/14] php8.1-igbinary: update to 3.2.16.

---
 srcpkgs/php8.1-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-igbinary/template b/srcpkgs/php8.1-igbinary/template
index 3d43405c3a6bb5..d36a839daf69f0 100644
--- a/srcpkgs/php8.1-igbinary/template
+++ b/srcpkgs/php8.1-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-igbinary'
 pkgname=php8.1-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.1

From 370f18eff3b576a38ea758451cf271e941e64b9c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:16 -0400
Subject: [PATCH 07/14] php8.1-mongodb: update to 1.19.4.

---
 srcpkgs/php8.1-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-mongodb/template b/srcpkgs/php8.1-mongodb/template
index 26bcb6e1771fe1..bbf44ffbde653a 100644
--- a/srcpkgs/php8.1-mongodb/template
+++ b/srcpkgs/php8.1-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-mongodb'
 pkgname=php8.1-mongodb
-version=1.19.3
+version=1.19.4
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=57c168b24a7d07f73367e4b134eb911ad1170ba7d203bc475f6ef1b860c16701
 
 pre_configure() {
 	phpize8.1

From 8dcfeac1540626c97f1842390d1b9113d4d389f8 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 17 Sep 2024 09:20:38 -0400
Subject: [PATCH 08/14] php8.2: update to 8.2.23.

- enable fpm ACLs
- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
- add user for php-fpm instead of using uncreated `http` user
---
 .../patches/ac_fn_c_try_run_cross.patch       | 166 ------------------
 srcpkgs/php8.2/patches/cross-configure.patch  |  26 +++
 .../patches/cross-gdImageCreateFrom.patch     |  66 +++++++
 ...tch => cross-ltmain-sysroot-support.patch} |   9 +
 ...{php-pear-cross.patch => cross-pear.patch} |   0
 ...{php-phar-cross.patch => cross-phar.patch} |   0
 ...tch => cross-phpize-sysroot-support.patch} |   0
 .../{php-706-crypt.patch => musl-crypt.patch} |   3 +
 srcpkgs/php8.2/patches/php-cross-config.patch |  22 ---
 ...npages.patch => php8.2-fix-manpages.patch} |   0
 .../{php.ini.patch => php8.2-ini.patch}       |   0
 srcpkgs/php8.2/template                       |  20 ++-
 12 files changed, 118 insertions(+), 194 deletions(-)
 delete mode 100644 srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
 create mode 100644 srcpkgs/php8.2/patches/cross-configure.patch
 create mode 100644 srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
 rename srcpkgs/php8.2/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.2/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.2/patches/php-cross-config.patch
 rename srcpkgs/php8.2/patches/{fix-manpages.patch => php8.2-fix-manpages.patch} (100%)
 rename srcpkgs/php8.2/patches/{php.ini.patch => php8.2-ini.patch} (100%)

diff --git a/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch b/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
deleted file mode 100644
index 2205168a7868e7..00000000000000
--- a/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-diff --git a/configure b/configure
-index 88b317c..fdb8e73 100755
---- a/configure
-+++ b/configure
-@@ -2600,7 +2600,13 @@ $as_echo "$ac_try_echo"; } >&5
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- $as_echo "$ac_try_echo"; } >&5
--  (eval "$ac_try") 2>&5
-+  if test "$cross_compiling" = "yes"; then
-+    # Use qemu-user-static to run the executable
-+    qemu_exec="QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static"
-+    (eval "$qemu_exec $ac_try") 2>&5
-+  else
-+    (eval "$ac_try") 2>&5
-+  fi
-   ac_status=$?
-   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
-@@ -37619,12 +37619,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37662,7 +37656,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37686,12 +37679,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37729,7 +37716,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37753,12 +37739,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37796,7 +37776,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37820,12 +37799,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37863,7 +37836,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37887,12 +37859,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37930,7 +37896,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37954,12 +37919,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37997,7 +37956,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -38021,12 +37979,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -38064,7 +38016,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
diff --git a/srcpkgs/php8.2/patches/cross-configure.patch b/srcpkgs/php8.2/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.2/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch b/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
new file mode 100644
index 00000000000000..1f35f9482f98c6
--- /dev/null
+++ b/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
@@ -0,0 +1,66 @@
+Copied and modified library macros from /usr/share/autoconf/autoconf/general.m4
+with support for using qemu-user-static to execute when cross compiling.
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index b31c9b2..e5e2d9f 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,6 +147,40 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
++
++AC_DEFUN([_AC_DO_TOKENS_QEMU],
++[{
++  if test "$cross_compiling" = "yes"; then
++    ac_try='QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static $1'
++  else
++    ac_try='$1'
++  fi
++  _AC_DO([$ac_try]); }])
++
++m4_define([_AC_RUN_IFELSE_QEMU_BODY],
++[  AS_LINENO_PUSH([$[]1])
++  AS_IF([_AC_DO_VAR(ac_link) && _AC_DO_TOKENS_QEMU(./conftest$ac_exeext)],
++      [ac_retval=0],
++      [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
++       _AC_MSG_LOG_CONFTEST
++       ac_retval=$ac_status])
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  AS_LINENO_POP
++  AS_SET_STATUS([$ac_retval])
++])
++
++AC_DEFUN([_AC_RUN_IFELSE_QEMU],
++[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu],
++  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu], [LINENO],
++    [Try to run conftest.$ac_ext, and return whether this succeeded.
++     Assumes that executables *can* be run.])],
++  [$0_BODY])]dnl
++[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
++[AS_IF([ac_fn_[]_AC_LANG_ABBREV[]_try_run_qemu "$LINENO"], [$2], [$3])
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam[]m4_ifval([$1], [ conftest.$ac_ext])[]dnl
++])
++
+ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   old_LIBS="${LIBS}"
+   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+@@ -154,7 +188,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+   AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+   AC_LANG_PUSH([C])
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  _AC_RUN_IFELSE_QEMU([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -178,8 +212,6 @@ int main(int argc, char** argv) {
+     AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+   ],[
+     AC_MSG_RESULT([no])
+-  ],[
+-    AC_MSG_RESULT([no])
+   ])
+   AC_LANG_POP([C])
+   CFLAGS="${old_CFLAGS}"
diff --git a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.2/patches/php-pear-cross.patch b/srcpkgs/php8.2/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-pear-cross.patch
rename to srcpkgs/php8.2/patches/cross-pear.patch
diff --git a/srcpkgs/php8.2/patches/php-phar-cross.patch b/srcpkgs/php8.2/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-phar-cross.patch
rename to srcpkgs/php8.2/patches/cross-phar.patch
diff --git a/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.2/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.2/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.2/patches/php-706-crypt.patch b/srcpkgs/php8.2/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.2/patches/php-706-crypt.patch
rename to srcpkgs/php8.2/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.2/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.2/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.2/patches/php-cross-config.patch b/srcpkgs/php8.2/patches/php-cross-config.patch
deleted file mode 100644
index 21c5e1923b2504..00000000000000
--- a/srcpkgs/php8.2/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index 88b317c..816799f 100755
---- a/configure
-+++ b/configure
-@@ -61564,7 +61564,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -63090,7 +63090,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.2/patches/fix-manpages.patch b/srcpkgs/php8.2/patches/php8.2-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/fix-manpages.patch
rename to srcpkgs/php8.2/patches/php8.2-fix-manpages.patch
diff --git a/srcpkgs/php8.2/patches/php.ini.patch b/srcpkgs/php8.2/patches/php8.2-ini.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php.ini.patch
rename to srcpkgs/php8.2/patches/php8.2-ini.patch
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 4fe20834f2b2d8..bbf60258936eb6 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -1,16 +1,16 @@
 # Template file for 'php8.2'
 # rebuild php8.2-apcu and php8.2-imagick when updating this package
 pkgname=php8.2
-version=8.2.22
+version=8.2.23
 revision=1
 _php_version=8.2
 build_helper="qemu"
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
  postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel
- libffi-devel oniguruma-devel gd-devel"
+ libffi-devel oniguruma-devel gd-devel acl-devel"
 short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
@@ -19,9 +19,12 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=44197016c9eeed5c50523e20eb44adc4dd9d84ac08bdf9e46077e775d467d7d0
+checksum=f5cb5f0e063bcc632c60a8f26af63b19d5f924f1fc54b4471d88cfaa865d6917
 provides="php-runtime-${version}_1"
 
+system_accounts="_phpfpm"
+_phpfpm_homedir="/var/empty"
+
 conf_files="/etc/php${_php_version}/php.ini"
 
 lib32disabled=yes
@@ -47,6 +50,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \
@@ -137,8 +144,9 @@ do_build() {
 		--host=${XBPS_CROSS_TRIPLET} \
 		--enable-cgi \
 		--enable-fpm \
-		--with-fpm-user=http \
-		--with-fpm-group=http \
+		--with-fpm-user=_phpfpm \
+		--with-fpm-group=_phpfpm \
+		--with-fpm-acl \
 		--enable-embed=shared \
 		${_phpextensions}
 	make ${makejobs} ${_make_env}

From 8ba144cd3b33cb9bd98315ada10ca022cead7e5d Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:17 -0400
Subject: [PATCH 09/14] php8.2-ast: update to 1.1.2.

---
 srcpkgs/php8.2-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-ast/template b/srcpkgs/php8.2-ast/template
index fccc6bc98ad09c..338032e937e923 100644
--- a/srcpkgs/php8.2-ast/template
+++ b/srcpkgs/php8.2-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-ast'
 pkgname=php8.2-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From 4ec85e81da30a3716453f6483ce398ac89cefed1 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:18 -0400
Subject: [PATCH 10/14] php8.2-igbinary: update to 3.2.16.

---
 srcpkgs/php8.2-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-igbinary/template b/srcpkgs/php8.2-igbinary/template
index 89ce91a138308a..b14765bc68cbb1 100644
--- a/srcpkgs/php8.2-igbinary/template
+++ b/srcpkgs/php8.2-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-igbinary'
 pkgname=php8.2-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.2

From d26b717ea790831120bb659de3e6d9d06f978d00 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 17 Sep 2024 09:20:39 -0400
Subject: [PATCH 11/14] php8.3: update to 8.3.11.

- enable fpm ACLs
- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
- add user for php-fpm instead of using uncreated `http` user
---
 .../patches/ac_fn_c_try_run_cross.patch       | 176 ------------------
 srcpkgs/php8.3/patches/cross-configure.patch  |  26 +++
 .../patches/cross-gdImageCreateFrom.patch     |  66 +++++++
 ...tch => cross-ltmain-sysroot-support.patch} |   9 +
 ...{php-pear-cross.patch => cross-pear.patch} |   0
 ...{php-phar-cross.patch => cross-phar.patch} |   0
 ...tch => cross-phpize-sysroot-support.patch} |   0
 .../{php-706-crypt.patch => musl-crypt.patch} |   3 +
 srcpkgs/php8.3/patches/php-cross-config.patch |  22 ---
 ...npages.patch => php8.3-fix-manpages.patch} |   0
 .../{php.ini.patch => php8.3-ini.patch}       |   0
 srcpkgs/php8.3/template                       |  20 +-
 12 files changed, 118 insertions(+), 204 deletions(-)
 delete mode 100644 srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
 create mode 100644 srcpkgs/php8.3/patches/cross-configure.patch
 create mode 100644 srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
 rename srcpkgs/php8.3/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.3/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.3/patches/php-cross-config.patch
 rename srcpkgs/php8.3/patches/{fix-manpages.patch => php8.3-fix-manpages.patch} (100%)
 rename srcpkgs/php8.3/patches/{php.ini.patch => php8.3-ini.patch} (100%)

diff --git a/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch b/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
deleted file mode 100644
index e0a5d3cf2b1789..00000000000000
--- a/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-diff --git a/configure b/configure
-index b6c740b..550e313 100755
---- a/configure
-+++ b/configure
-@@ -2600,7 +2600,13 @@ printf "%s\n" "$ac_try_echo"; } >&5
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- printf "%s\n" "$ac_try_echo"; } >&5
--  (eval "$ac_try") 2>&5
-+  if test "$cross_compiling" = "yes"; then
-+    # Use qemu-user-static to run the executable
-+    qemu_exec="QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static"
-+    (eval "$qemu_exec $ac_try") 2>&5
-+  else
-+    (eval "$ac_try") 2>&5
-+  fi
-   ac_status=$?
-   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
-@@ -39741,13 +39741,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39786,7 +39779,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39810,13 +39802,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39855,7 +39840,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39879,13 +39863,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39924,7 +39901,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39948,13 +39924,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39993,7 +39962,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40017,13 +39985,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40062,7 +40023,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40086,13 +40046,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40131,7 +40084,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40155,13 +40107,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40200,7 +40145,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-   ac_status=$?
-   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
diff --git a/srcpkgs/php8.3/patches/cross-configure.patch b/srcpkgs/php8.3/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.3/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch b/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
new file mode 100644
index 00000000000000..1f35f9482f98c6
--- /dev/null
+++ b/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
@@ -0,0 +1,66 @@
+Copied and modified library macros from /usr/share/autoconf/autoconf/general.m4
+with support for using qemu-user-static to execute when cross compiling.
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index b31c9b2..e5e2d9f 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,6 +147,40 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
++
++AC_DEFUN([_AC_DO_TOKENS_QEMU],
++[{
++  if test "$cross_compiling" = "yes"; then
++    ac_try='QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static $1'
++  else
++    ac_try='$1'
++  fi
++  _AC_DO([$ac_try]); }])
++
++m4_define([_AC_RUN_IFELSE_QEMU_BODY],
++[  AS_LINENO_PUSH([$[]1])
++  AS_IF([_AC_DO_VAR(ac_link) && _AC_DO_TOKENS_QEMU(./conftest$ac_exeext)],
++      [ac_retval=0],
++      [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
++       _AC_MSG_LOG_CONFTEST
++       ac_retval=$ac_status])
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  AS_LINENO_POP
++  AS_SET_STATUS([$ac_retval])
++])
++
++AC_DEFUN([_AC_RUN_IFELSE_QEMU],
++[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu],
++  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu], [LINENO],
++    [Try to run conftest.$ac_ext, and return whether this succeeded.
++     Assumes that executables *can* be run.])],
++  [$0_BODY])]dnl
++[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
++[AS_IF([ac_fn_[]_AC_LANG_ABBREV[]_try_run_qemu "$LINENO"], [$2], [$3])
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam[]m4_ifval([$1], [ conftest.$ac_ext])[]dnl
++])
++
+ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   old_LIBS="${LIBS}"
+   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+@@ -154,7 +188,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+   AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+   AC_LANG_PUSH([C])
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  _AC_RUN_IFELSE_QEMU([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -178,8 +212,6 @@ int main(int argc, char** argv) {
+     AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+   ],[
+     AC_MSG_RESULT([no])
+-  ],[
+-    AC_MSG_RESULT([no])
+   ])
+   AC_LANG_POP([C])
+   CFLAGS="${old_CFLAGS}"
diff --git a/srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.3/patches/php-pear-cross.patch b/srcpkgs/php8.3/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-pear-cross.patch
rename to srcpkgs/php8.3/patches/cross-pear.patch
diff --git a/srcpkgs/php8.3/patches/php-phar-cross.patch b/srcpkgs/php8.3/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-phar-cross.patch
rename to srcpkgs/php8.3/patches/cross-phar.patch
diff --git a/srcpkgs/php8.3/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.3/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.3/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.3/patches/php-706-crypt.patch b/srcpkgs/php8.3/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.3/patches/php-706-crypt.patch
rename to srcpkgs/php8.3/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.3/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.3/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.3/patches/php-cross-config.patch b/srcpkgs/php8.3/patches/php-cross-config.patch
deleted file mode 100644
index c84e44974362fd..00000000000000
--- a/srcpkgs/php8.3/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index d317fd7..5560d75 100755
---- a/configure
-+++ b/configure
-@@ -60896,7 +60896,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -62422,7 +62422,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.3/patches/fix-manpages.patch b/srcpkgs/php8.3/patches/php8.3-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/fix-manpages.patch
rename to srcpkgs/php8.3/patches/php8.3-fix-manpages.patch
diff --git a/srcpkgs/php8.3/patches/php.ini.patch b/srcpkgs/php8.3/patches/php8.3-ini.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php.ini.patch
rename to srcpkgs/php8.3/patches/php8.3-ini.patch
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index 9a415922f01fc9..6884a308c7d692 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -1,16 +1,16 @@
 # Template file for 'php8.3'
 # rebuild php8.3-apcu and php8.3-imagick when updating this package
 pkgname=php8.3
-version=8.3.10
+version=8.3.11
 revision=1
 _php_version=8.3
 build_helper="qemu"
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
  postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel
- libffi-devel oniguruma-devel gd-devel"
+ libffi-devel oniguruma-devel gd-devel acl-devel"
 short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
@@ -19,9 +19,12 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=d0b4dd5ff465053248fd28dacf2fe0bed79deaaef657890cecb6bfcb73996dcd
+checksum=b93a69af83a1302543789408194bd1ae9829e116e784d578778200f20f1b72d4
 provides="php-runtime-${version}_1"
 
+system_accounts="_phpfpm"
+_phpfpm_homedir="/var/empty"
+
 conf_files="/etc/php${_php_version}/php.ini"
 
 lib32disabled=yes
@@ -47,6 +50,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \
@@ -137,8 +144,9 @@ do_build() {
 		--host=${XBPS_CROSS_TRIPLET} \
 		--enable-cgi \
 		--enable-fpm \
-		--with-fpm-user=http \
-		--with-fpm-group=http \
+		--with-fpm-user=_phpfpm \
+		--with-fpm-group=_phpfpm \
+		--with-fpm-acl \
 		--enable-embed=shared \
 		${_phpextensions}
 	make ${makejobs} ${_make_env}

From 6600a04eb8b1101d37023471275ba8f1d179a407 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:20 -0400
Subject: [PATCH 12/14] php8.3-ast: update to 1.1.2.

---
 srcpkgs/php8.3-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-ast/template b/srcpkgs/php8.3-ast/template
index c2764714bb268e..585e1daaf13da9 100644
--- a/srcpkgs/php8.3-ast/template
+++ b/srcpkgs/php8.3-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-ast'
 pkgname=php8.3-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From af6c57b87331c42fff84be35364cced60f7bb458 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:21 -0400
Subject: [PATCH 13/14] php8.3-igbinary: update to 3.2.16.

---
 srcpkgs/php8.3-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-igbinary/template b/srcpkgs/php8.3-igbinary/template
index 1475cb74adffb0..8482d3aa6de247 100644
--- a/srcpkgs/php8.3-igbinary/template
+++ b/srcpkgs/php8.3-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-igbinary'
 pkgname=php8.3-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.3

From e1651d7094d59f0dbdf2b2657e76fbc72bf2fe50 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:23 -0400
Subject: [PATCH 14/14] php8.3-mongodb: update to 1.19.4.

---
 srcpkgs/php8.3-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-mongodb/template b/srcpkgs/php8.3-mongodb/template
index 41aa7ad7a40c5e..19823bb8252795 100644
--- a/srcpkgs/php8.3-mongodb/template
+++ b/srcpkgs/php8.3-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-mongodb'
 pkgname=php8.3-mongodb
-version=1.19.3
+version=1.19.4
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=57c168b24a7d07f73367e4b134eb911ad1170ba7d203bc475f6ef1b860c16701
 
 pre_configure() {
 	phpize8.3

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Updated] PHP updates
  2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
                   ` (7 preceding siblings ...)
  2024-09-20 15:06 ` [PR PATCH] [Updated] " TinfoilSubmarine
@ 2024-11-15 13:42 ` TinfoilSubmarine
  2024-11-22 15:05 ` TinfoilSubmarine
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: TinfoilSubmarine @ 2024-11-15 13:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1225 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/php
https://github.com/void-linux/void-packages/pull/52237

PHP updates
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/52237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/php-52237.patch --]
[-- Type: text/x-diff, Size: 65183 bytes --]

From 14fe17721af9cd61158bded2af0943fa6c3cca84 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:09 -0400
Subject: [PATCH 01/21] composer8.1: update to 2.8.2, orphan.

---
 srcpkgs/composer8.1/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.1/template b/srcpkgs/composer8.1/template
index a7c8180604be46..5607c52c08aba6 100644
--- a/srcpkgs/composer8.1/template
+++ b/srcpkgs/composer8.1/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.1'
 pkgname=composer8.1
-version=2.7.7
+version=2.8.2
 revision=1
 build_style=fetch
 depends="php8.1"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="9ed076041e269820c6c4223d66c5325fcaddc7f4b4317b3ba936812a965857ed
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.1"
 

From 0f58e4a4709bdae9ab0702b83c72b204f9ee9617 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:10 -0400
Subject: [PATCH 02/21] composer8.2: update to 2.8.2, orphan.

---
 srcpkgs/composer8.2/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.2/template b/srcpkgs/composer8.2/template
index 50336e8687051a..2e99df6651d25e 100644
--- a/srcpkgs/composer8.2/template
+++ b/srcpkgs/composer8.2/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.2'
 pkgname=composer8.2
-version=2.7.7
+version=2.8.2
 revision=1
 build_style=fetch
 depends="php8.2"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="9ed076041e269820c6c4223d66c5325fcaddc7f4b4317b3ba936812a965857ed
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.2"
 

From 232ea121ac9bc74bfe7a94e6bf033b710b21e9f7 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:11 -0400
Subject: [PATCH 03/21] composer8.3: update to 2.8.2, orphan.

---
 srcpkgs/composer8.3/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.3/template b/srcpkgs/composer8.3/template
index 3574c288855f2c..5db57203db7b3f 100644
--- a/srcpkgs/composer8.3/template
+++ b/srcpkgs/composer8.3/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.3'
 pkgname=composer8.3
-version=2.7.7
+version=2.8.2
 revision=1
 build_style=fetch
 depends="php8.3"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="9ed076041e269820c6c4223d66c5325fcaddc7f4b4317b3ba936812a965857ed
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.3"
 

From 93cb36f55acef296a65de890acfc0b1c8a4e642a Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 17 Sep 2024 09:20:36 -0400
Subject: [PATCH 04/21] php8.1: update to 8.1.30.

- enable fpm ACLs
- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
- add user for php-fpm instead of using uncreated `http` user
---
 srcpkgs/php8.1/patches/cross-configure.patch  | 26 +++++++++++++++++++
 ...tch => cross-ltmain-sysroot-support.patch} |  9 +++++++
 ...{php-pear-cross.patch => cross-pear.patch} |  0
 ...{php-phar-cross.patch => cross-phar.patch} |  0
 ...tch => cross-phpize-sysroot-support.patch} |  0
 .../{php-706-crypt.patch => musl-crypt.patch} |  3 +++
 srcpkgs/php8.1/patches/php-cross-config.patch | 22 ----------------
 ...npages.patch => php8.1-fix-manpages.patch} |  0
 .../{php.ini.patch => php8.1-ini.patch}       |  0
 srcpkgs/php8.1/template                       | 20 +++++++++-----
 10 files changed, 52 insertions(+), 28 deletions(-)
 create mode 100644 srcpkgs/php8.1/patches/cross-configure.patch
 rename srcpkgs/php8.1/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.1/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.1/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.1/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.1/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.1/patches/php-cross-config.patch
 rename srcpkgs/php8.1/patches/{fix-manpages.patch => php8.1-fix-manpages.patch} (100%)
 rename srcpkgs/php8.1/patches/{php.ini.patch => php8.1-ini.patch} (100%)

diff --git a/srcpkgs/php8.1/patches/cross-configure.patch b/srcpkgs/php8.1/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.1/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.1/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.1/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.1/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.1/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.1/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.1/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.1/patches/php-pear-cross.patch b/srcpkgs/php8.1/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php-pear-cross.patch
rename to srcpkgs/php8.1/patches/cross-pear.patch
diff --git a/srcpkgs/php8.1/patches/php-phar-cross.patch b/srcpkgs/php8.1/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php-phar-cross.patch
rename to srcpkgs/php8.1/patches/cross-phar.patch
diff --git a/srcpkgs/php8.1/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.1/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.1/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.1/patches/php-706-crypt.patch b/srcpkgs/php8.1/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.1/patches/php-706-crypt.patch
rename to srcpkgs/php8.1/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.1/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.1/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.1/patches/php-cross-config.patch b/srcpkgs/php8.1/patches/php-cross-config.patch
deleted file mode 100644
index 169c43f1df9324..00000000000000
--- a/srcpkgs/php8.1/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index e4b82d1..1a8678f 100755
---- a/configure
-+++ b/configure
-@@ -62424,7 +62424,7 @@ printf %s "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- printf "%s\n" "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -63948,7 +63948,7 @@ printf %s "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- printf "%s\n" "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.1/patches/fix-manpages.patch b/srcpkgs/php8.1/patches/php8.1-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/fix-manpages.patch
rename to srcpkgs/php8.1/patches/php8.1-fix-manpages.patch
diff --git a/srcpkgs/php8.1/patches/php.ini.patch b/srcpkgs/php8.1/patches/php8.1-ini.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php.ini.patch
rename to srcpkgs/php8.1/patches/php8.1-ini.patch
diff --git a/srcpkgs/php8.1/template b/srcpkgs/php8.1/template
index 71285aa82815b9..de06bc1f0f68b1 100644
--- a/srcpkgs/php8.1/template
+++ b/srcpkgs/php8.1/template
@@ -1,15 +1,15 @@
 # Template file for 'php8.1'
 # rebuild php8.1-apcu and php8.1-imagick when updating this package
 pkgname=php8.1
-version=8.1.29
+version=8.1.30
 revision=1
 _php_version=8.1
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
  postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel
- libffi-devel oniguruma-devel gd-devel"
+ libffi-devel oniguruma-devel gd-devel acl-devel"
 short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
@@ -18,9 +18,12 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=8b2609bf1d3173aa38269a9af21532c65f730aadd3051f9aae011eea9e246de5
+checksum=80addd302b7e9708e0d106779c3827520eccaf14af1149174b51da33d63e6af7
 provides="php-runtime-${version}_1"
 
+system_accounts="_phpfpm"
+_phpfpm_homedir="/var/empty"
+
 conf_files="/etc/php${_php_version}/php.ini"
 
 lib32disabled=yes
@@ -50,6 +53,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \
@@ -140,8 +147,9 @@ do_build() {
 		--host=${XBPS_CROSS_TRIPLET} \
 		--enable-cgi \
 		--enable-fpm \
-		--with-fpm-user=http \
-		--with-fpm-group=http \
+		--with-fpm-user=_phpfpm \
+		--with-fpm-group=_phpfpm \
+		--with-fpm-acl \
 		--enable-embed=shared \
 		${_phpextensions}
 	make ${makejobs} ${_make_env}

From ad783fe57e0d1e53aad47c418a10bd74e7da1bf1 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:46:38 -0500
Subject: [PATCH 05/21] php8.1-apcu: update to 5.1.24.

---
 srcpkgs/php8.1-apcu/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/php8.1-apcu/template b/srcpkgs/php8.1-apcu/template
index 5a3529209a44fe..3c9fa3bc471dd9 100644
--- a/srcpkgs/php8.1-apcu/template
+++ b/srcpkgs/php8.1-apcu/template
@@ -1,7 +1,7 @@
 # Template file for 'php8.1-apcu'
 pkgname=php8.1-apcu
-version=5.1.23
-revision=2
+version=5.1.24
+revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
 make_check_target=test
@@ -13,7 +13,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://pecl.php.net/package/APCu"
 distfiles="https://pecl.php.net/get/apcu-${version}.tgz"
-checksum=67ee7464ccad2335c3fa4aeb0b8edbcf6d8344feea7922620c6a13015d604482
+checksum=5c28a55b27082c69657e25b7ecf553e2cf6b74ec3fa77d6b76f4fb982e001e43
 
 pre_configure() {
 	phpize8.1

From a284bc5e534109cc8475d85c26431e38845d05f9 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:13 -0400
Subject: [PATCH 06/21] php8.1-ast: update to 1.1.2.

---
 srcpkgs/php8.1-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-ast/template b/srcpkgs/php8.1-ast/template
index b1306a30c210c1..0c3ebcfff1622b 100644
--- a/srcpkgs/php8.1-ast/template
+++ b/srcpkgs/php8.1-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-ast'
 pkgname=php8.1-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From 02f229e9e760aefb963297c5ce76ad599bb77d5c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:14 -0400
Subject: [PATCH 07/21] php8.1-igbinary: update to 3.2.16.

---
 srcpkgs/php8.1-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-igbinary/template b/srcpkgs/php8.1-igbinary/template
index 3d43405c3a6bb5..d36a839daf69f0 100644
--- a/srcpkgs/php8.1-igbinary/template
+++ b/srcpkgs/php8.1-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-igbinary'
 pkgname=php8.1-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.1

From a2edf6702bca481f041dbc4cf4c2e2a9f7f99cb7 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:16 -0400
Subject: [PATCH 08/21] php8.1-mongodb: update to 1.20.0.

---
 srcpkgs/php8.1-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-mongodb/template b/srcpkgs/php8.1-mongodb/template
index 26bcb6e1771fe1..be1d62581d5b24 100644
--- a/srcpkgs/php8.1-mongodb/template
+++ b/srcpkgs/php8.1-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-mongodb'
 pkgname=php8.1-mongodb
-version=1.19.3
+version=1.20.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=01e87973fe7e54aac52054ec4a99cdd439ed5c01f7e5b8ea0a57031850d8e75a
 
 pre_configure() {
 	phpize8.1

From bca8955c9ae217ac1c8aa94f9e2f9ca831bd4464 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:46:40 -0500
Subject: [PATCH 09/21] php8.1-redis: update to 6.1.0.

---
 srcpkgs/php8.1-redis/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-redis/template b/srcpkgs/php8.1-redis/template
index e3be7b990c51d0..e08cf5582915a1 100644
--- a/srcpkgs/php8.1-redis/template
+++ b/srcpkgs/php8.1-redis/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-redis'
 pkgname=php8.1-redis
-version=6.0.2
+version=6.1.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://pecl.php.net/package/redis"
 distfiles="https://pecl.php.net/get/redis-$version.tgz"
-checksum=01aeccb0e14f897fe56f0509be6e6991ff0ad459f9d34e95e4556d02699b9a03
+checksum=f10405f639fe415e9ed4ec99538e72c90694d8dbd62868edcfcd6a453466b48c
 
 pre_configure() {
 	phpize8.1

From 0a4b1f1fded023220f57ef80b0ab9f03261b16c2 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 17 Sep 2024 09:20:38 -0400
Subject: [PATCH 10/21] php8.2: update to 8.2.25.

- enable fpm ACLs
- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
- add user for php-fpm instead of using uncreated `http` user
---
 .../patches/ac_fn_c_try_run_cross.patch       | 166 ------------------
 srcpkgs/php8.2/patches/cross-configure.patch  |  26 +++
 .../patches/cross-gdImageCreateFrom.patch     |  66 +++++++
 ...tch => cross-ltmain-sysroot-support.patch} |   9 +
 ...{php-pear-cross.patch => cross-pear.patch} |   0
 ...{php-phar-cross.patch => cross-phar.patch} |   0
 ...tch => cross-phpize-sysroot-support.patch} |   0
 .../{php-706-crypt.patch => musl-crypt.patch} |   3 +
 srcpkgs/php8.2/patches/php-cross-config.patch |  22 ---
 ...npages.patch => php8.2-fix-manpages.patch} |   0
 .../{php.ini.patch => php8.2-ini.patch}       |   0
 srcpkgs/php8.2/template                       |  20 ++-
 12 files changed, 118 insertions(+), 194 deletions(-)
 delete mode 100644 srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
 create mode 100644 srcpkgs/php8.2/patches/cross-configure.patch
 create mode 100644 srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
 rename srcpkgs/php8.2/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.2/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.2/patches/php-cross-config.patch
 rename srcpkgs/php8.2/patches/{fix-manpages.patch => php8.2-fix-manpages.patch} (100%)
 rename srcpkgs/php8.2/patches/{php.ini.patch => php8.2-ini.patch} (100%)

diff --git a/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch b/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
deleted file mode 100644
index 2205168a7868e7..00000000000000
--- a/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-diff --git a/configure b/configure
-index 88b317c..fdb8e73 100755
---- a/configure
-+++ b/configure
-@@ -2600,7 +2600,13 @@ $as_echo "$ac_try_echo"; } >&5
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- $as_echo "$ac_try_echo"; } >&5
--  (eval "$ac_try") 2>&5
-+  if test "$cross_compiling" = "yes"; then
-+    # Use qemu-user-static to run the executable
-+    qemu_exec="QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static"
-+    (eval "$qemu_exec $ac_try") 2>&5
-+  else
-+    (eval "$ac_try") 2>&5
-+  fi
-   ac_status=$?
-   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
-@@ -37619,12 +37619,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37662,7 +37656,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37686,12 +37679,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37729,7 +37716,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37753,12 +37739,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37796,7 +37776,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37820,12 +37799,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37863,7 +37836,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37887,12 +37859,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37930,7 +37896,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37954,12 +37919,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37997,7 +37956,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -38021,12 +37979,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -38064,7 +38016,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
diff --git a/srcpkgs/php8.2/patches/cross-configure.patch b/srcpkgs/php8.2/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.2/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch b/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
new file mode 100644
index 00000000000000..1f35f9482f98c6
--- /dev/null
+++ b/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
@@ -0,0 +1,66 @@
+Copied and modified library macros from /usr/share/autoconf/autoconf/general.m4
+with support for using qemu-user-static to execute when cross compiling.
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index b31c9b2..e5e2d9f 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,6 +147,40 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
++
++AC_DEFUN([_AC_DO_TOKENS_QEMU],
++[{
++  if test "$cross_compiling" = "yes"; then
++    ac_try='QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static $1'
++  else
++    ac_try='$1'
++  fi
++  _AC_DO([$ac_try]); }])
++
++m4_define([_AC_RUN_IFELSE_QEMU_BODY],
++[  AS_LINENO_PUSH([$[]1])
++  AS_IF([_AC_DO_VAR(ac_link) && _AC_DO_TOKENS_QEMU(./conftest$ac_exeext)],
++      [ac_retval=0],
++      [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
++       _AC_MSG_LOG_CONFTEST
++       ac_retval=$ac_status])
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  AS_LINENO_POP
++  AS_SET_STATUS([$ac_retval])
++])
++
++AC_DEFUN([_AC_RUN_IFELSE_QEMU],
++[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu],
++  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu], [LINENO],
++    [Try to run conftest.$ac_ext, and return whether this succeeded.
++     Assumes that executables *can* be run.])],
++  [$0_BODY])]dnl
++[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
++[AS_IF([ac_fn_[]_AC_LANG_ABBREV[]_try_run_qemu "$LINENO"], [$2], [$3])
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam[]m4_ifval([$1], [ conftest.$ac_ext])[]dnl
++])
++
+ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   old_LIBS="${LIBS}"
+   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+@@ -154,7 +188,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+   AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+   AC_LANG_PUSH([C])
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  _AC_RUN_IFELSE_QEMU([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -178,8 +212,6 @@ int main(int argc, char** argv) {
+     AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+   ],[
+     AC_MSG_RESULT([no])
+-  ],[
+-    AC_MSG_RESULT([no])
+   ])
+   AC_LANG_POP([C])
+   CFLAGS="${old_CFLAGS}"
diff --git a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.2/patches/php-pear-cross.patch b/srcpkgs/php8.2/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-pear-cross.patch
rename to srcpkgs/php8.2/patches/cross-pear.patch
diff --git a/srcpkgs/php8.2/patches/php-phar-cross.patch b/srcpkgs/php8.2/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-phar-cross.patch
rename to srcpkgs/php8.2/patches/cross-phar.patch
diff --git a/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.2/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.2/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.2/patches/php-706-crypt.patch b/srcpkgs/php8.2/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.2/patches/php-706-crypt.patch
rename to srcpkgs/php8.2/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.2/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.2/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.2/patches/php-cross-config.patch b/srcpkgs/php8.2/patches/php-cross-config.patch
deleted file mode 100644
index 21c5e1923b2504..00000000000000
--- a/srcpkgs/php8.2/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index 88b317c..816799f 100755
---- a/configure
-+++ b/configure
-@@ -61564,7 +61564,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -63090,7 +63090,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.2/patches/fix-manpages.patch b/srcpkgs/php8.2/patches/php8.2-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/fix-manpages.patch
rename to srcpkgs/php8.2/patches/php8.2-fix-manpages.patch
diff --git a/srcpkgs/php8.2/patches/php.ini.patch b/srcpkgs/php8.2/patches/php8.2-ini.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php.ini.patch
rename to srcpkgs/php8.2/patches/php8.2-ini.patch
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 4fe20834f2b2d8..12c1b2f9c01b99 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -1,16 +1,16 @@
 # Template file for 'php8.2'
 # rebuild php8.2-apcu and php8.2-imagick when updating this package
 pkgname=php8.2
-version=8.2.22
+version=8.2.25
 revision=1
 _php_version=8.2
 build_helper="qemu"
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
  postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel
- libffi-devel oniguruma-devel gd-devel"
+ libffi-devel oniguruma-devel gd-devel acl-devel"
 short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
@@ -19,9 +19,12 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=44197016c9eeed5c50523e20eb44adc4dd9d84ac08bdf9e46077e775d467d7d0
+checksum=7fe7ba6e3e66cd0e61cfa95341e6aefc8790030a7867333f54aef5fb78aad18b
 provides="php-runtime-${version}_1"
 
+system_accounts="_phpfpm"
+_phpfpm_homedir="/var/empty"
+
 conf_files="/etc/php${_php_version}/php.ini"
 
 lib32disabled=yes
@@ -47,6 +50,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \
@@ -137,8 +144,9 @@ do_build() {
 		--host=${XBPS_CROSS_TRIPLET} \
 		--enable-cgi \
 		--enable-fpm \
-		--with-fpm-user=http \
-		--with-fpm-group=http \
+		--with-fpm-user=_phpfpm \
+		--with-fpm-group=_phpfpm \
+		--with-fpm-acl \
 		--enable-embed=shared \
 		${_phpextensions}
 	make ${makejobs} ${_make_env}

From 3e5263081ee86bb03af543b25a9b4d8032e0b40b Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:46:42 -0500
Subject: [PATCH 11/21] php8.2-apcu: update to 5.1.24.

---
 srcpkgs/php8.2-apcu/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/php8.2-apcu/template b/srcpkgs/php8.2-apcu/template
index 367d9d565ed93a..a569487593212b 100644
--- a/srcpkgs/php8.2-apcu/template
+++ b/srcpkgs/php8.2-apcu/template
@@ -1,7 +1,7 @@
 # Template file for 'php8.2-apcu'
 pkgname=php8.2-apcu
-version=5.1.23
-revision=2
+version=5.1.24
+revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
 make_check_target=test
@@ -13,7 +13,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://pecl.php.net/package/APCu"
 distfiles="https://pecl.php.net/get/apcu-${version}.tgz"
-checksum=67ee7464ccad2335c3fa4aeb0b8edbcf6d8344feea7922620c6a13015d604482
+checksum=5c28a55b27082c69657e25b7ecf553e2cf6b74ec3fa77d6b76f4fb982e001e43
 
 pre_configure() {
 	phpize8.2

From dabed024cc438236501ae1c4778e52acd59482a0 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:17 -0400
Subject: [PATCH 12/21] php8.2-ast: update to 1.1.2.

---
 srcpkgs/php8.2-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-ast/template b/srcpkgs/php8.2-ast/template
index fccc6bc98ad09c..338032e937e923 100644
--- a/srcpkgs/php8.2-ast/template
+++ b/srcpkgs/php8.2-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-ast'
 pkgname=php8.2-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From 5608749a83b0500116b65637ddb6f6ef25d9747b Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:18 -0400
Subject: [PATCH 13/21] php8.2-igbinary: update to 3.2.16.

---
 srcpkgs/php8.2-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-igbinary/template b/srcpkgs/php8.2-igbinary/template
index 89ce91a138308a..b14765bc68cbb1 100644
--- a/srcpkgs/php8.2-igbinary/template
+++ b/srcpkgs/php8.2-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-igbinary'
 pkgname=php8.2-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.2

From 43e724d902233b7c8edebeb696fd2aa28bab0be4 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:50:44 -0500
Subject: [PATCH 14/21] php8.2-mongodb: update to 1.20.0.

---
 srcpkgs/php8.2-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-mongodb/template b/srcpkgs/php8.2-mongodb/template
index a4be31856d089a..1fbb21a83bcc58 100644
--- a/srcpkgs/php8.2-mongodb/template
+++ b/srcpkgs/php8.2-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-mongodb'
 pkgname=php8.2-mongodb
-version=1.19.3
+version=1.20.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=01e87973fe7e54aac52054ec4a99cdd439ed5c01f7e5b8ea0a57031850d8e75a
 
 pre_configure() {
 	phpize8.2

From 9b145214d1833766d0284b6bdb4512eee5338c8d Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:46:43 -0500
Subject: [PATCH 15/21] php8.2-redis: update to 6.1.0.

---
 srcpkgs/php8.2-redis/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-redis/template b/srcpkgs/php8.2-redis/template
index cfc4d58070f433..972689c26c1cfd 100644
--- a/srcpkgs/php8.2-redis/template
+++ b/srcpkgs/php8.2-redis/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-redis'
 pkgname=php8.2-redis
-version=6.0.2
+version=6.1.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://pecl.php.net/package/redis"
 distfiles="https://pecl.php.net/get/redis-$version.tgz"
-checksum=01aeccb0e14f897fe56f0509be6e6991ff0ad459f9d34e95e4556d02699b9a03
+checksum=f10405f639fe415e9ed4ec99538e72c90694d8dbd62868edcfcd6a453466b48c
 
 pre_configure() {
 	phpize8.2

From f25e309d60d1b9b2308175a61e8c9825096b21f4 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 17 Sep 2024 09:20:39 -0400
Subject: [PATCH 16/21] php8.3: update to 8.3.13.

- enable fpm ACLs
- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
- add user for php-fpm instead of using uncreated `http` user
---
 .../patches/ac_fn_c_try_run_cross.patch       | 176 ------------------
 srcpkgs/php8.3/patches/cross-configure.patch  |  26 +++
 .../patches/cross-gdImageCreateFrom.patch     |  66 +++++++
 ...tch => cross-ltmain-sysroot-support.patch} |   9 +
 ...{php-pear-cross.patch => cross-pear.patch} |   0
 ...{php-phar-cross.patch => cross-phar.patch} |   0
 ...tch => cross-phpize-sysroot-support.patch} |   0
 .../{php-706-crypt.patch => musl-crypt.patch} |   3 +
 srcpkgs/php8.3/patches/php-cross-config.patch |  22 ---
 ...npages.patch => php8.3-fix-manpages.patch} |   0
 .../{php.ini.patch => php8.3-ini.patch}       |   0
 srcpkgs/php8.3/template                       |  20 +-
 12 files changed, 118 insertions(+), 204 deletions(-)
 delete mode 100644 srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
 create mode 100644 srcpkgs/php8.3/patches/cross-configure.patch
 create mode 100644 srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
 rename srcpkgs/php8.3/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.3/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.3/patches/php-cross-config.patch
 rename srcpkgs/php8.3/patches/{fix-manpages.patch => php8.3-fix-manpages.patch} (100%)
 rename srcpkgs/php8.3/patches/{php.ini.patch => php8.3-ini.patch} (100%)

diff --git a/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch b/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
deleted file mode 100644
index e0a5d3cf2b1789..00000000000000
--- a/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-diff --git a/configure b/configure
-index b6c740b..550e313 100755
---- a/configure
-+++ b/configure
-@@ -2600,7 +2600,13 @@ printf "%s\n" "$ac_try_echo"; } >&5
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- printf "%s\n" "$ac_try_echo"; } >&5
--  (eval "$ac_try") 2>&5
-+  if test "$cross_compiling" = "yes"; then
-+    # Use qemu-user-static to run the executable
-+    qemu_exec="QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static"
-+    (eval "$qemu_exec $ac_try") 2>&5
-+  else
-+    (eval "$ac_try") 2>&5
-+  fi
-   ac_status=$?
-   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
-@@ -39741,13 +39741,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39786,7 +39779,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39810,13 +39802,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39855,7 +39840,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39879,13 +39863,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39924,7 +39901,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39948,13 +39924,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39993,7 +39962,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40017,13 +39985,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40062,7 +40023,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40086,13 +40046,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40131,7 +40084,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40155,13 +40107,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40200,7 +40145,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-   ac_status=$?
-   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
diff --git a/srcpkgs/php8.3/patches/cross-configure.patch b/srcpkgs/php8.3/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.3/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch b/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
new file mode 100644
index 00000000000000..1f35f9482f98c6
--- /dev/null
+++ b/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
@@ -0,0 +1,66 @@
+Copied and modified library macros from /usr/share/autoconf/autoconf/general.m4
+with support for using qemu-user-static to execute when cross compiling.
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index b31c9b2..e5e2d9f 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,6 +147,40 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
++
++AC_DEFUN([_AC_DO_TOKENS_QEMU],
++[{
++  if test "$cross_compiling" = "yes"; then
++    ac_try='QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static $1'
++  else
++    ac_try='$1'
++  fi
++  _AC_DO([$ac_try]); }])
++
++m4_define([_AC_RUN_IFELSE_QEMU_BODY],
++[  AS_LINENO_PUSH([$[]1])
++  AS_IF([_AC_DO_VAR(ac_link) && _AC_DO_TOKENS_QEMU(./conftest$ac_exeext)],
++      [ac_retval=0],
++      [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
++       _AC_MSG_LOG_CONFTEST
++       ac_retval=$ac_status])
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  AS_LINENO_POP
++  AS_SET_STATUS([$ac_retval])
++])
++
++AC_DEFUN([_AC_RUN_IFELSE_QEMU],
++[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu],
++  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu], [LINENO],
++    [Try to run conftest.$ac_ext, and return whether this succeeded.
++     Assumes that executables *can* be run.])],
++  [$0_BODY])]dnl
++[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
++[AS_IF([ac_fn_[]_AC_LANG_ABBREV[]_try_run_qemu "$LINENO"], [$2], [$3])
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam[]m4_ifval([$1], [ conftest.$ac_ext])[]dnl
++])
++
+ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   old_LIBS="${LIBS}"
+   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+@@ -154,7 +188,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+   AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+   AC_LANG_PUSH([C])
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  _AC_RUN_IFELSE_QEMU([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -178,8 +212,6 @@ int main(int argc, char** argv) {
+     AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+   ],[
+     AC_MSG_RESULT([no])
+-  ],[
+-    AC_MSG_RESULT([no])
+   ])
+   AC_LANG_POP([C])
+   CFLAGS="${old_CFLAGS}"
diff --git a/srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.3/patches/php-pear-cross.patch b/srcpkgs/php8.3/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-pear-cross.patch
rename to srcpkgs/php8.3/patches/cross-pear.patch
diff --git a/srcpkgs/php8.3/patches/php-phar-cross.patch b/srcpkgs/php8.3/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-phar-cross.patch
rename to srcpkgs/php8.3/patches/cross-phar.patch
diff --git a/srcpkgs/php8.3/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.3/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.3/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.3/patches/php-706-crypt.patch b/srcpkgs/php8.3/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.3/patches/php-706-crypt.patch
rename to srcpkgs/php8.3/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.3/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.3/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.3/patches/php-cross-config.patch b/srcpkgs/php8.3/patches/php-cross-config.patch
deleted file mode 100644
index c84e44974362fd..00000000000000
--- a/srcpkgs/php8.3/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index d317fd7..5560d75 100755
---- a/configure
-+++ b/configure
-@@ -60896,7 +60896,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -62422,7 +62422,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.3/patches/fix-manpages.patch b/srcpkgs/php8.3/patches/php8.3-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/fix-manpages.patch
rename to srcpkgs/php8.3/patches/php8.3-fix-manpages.patch
diff --git a/srcpkgs/php8.3/patches/php.ini.patch b/srcpkgs/php8.3/patches/php8.3-ini.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php.ini.patch
rename to srcpkgs/php8.3/patches/php8.3-ini.patch
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index 9a415922f01fc9..391231c8b059bf 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -1,16 +1,16 @@
 # Template file for 'php8.3'
 # rebuild php8.3-apcu and php8.3-imagick when updating this package
 pkgname=php8.3
-version=8.3.10
+version=8.3.13
 revision=1
 _php_version=8.3
 build_helper="qemu"
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
  postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel
- libffi-devel oniguruma-devel gd-devel"
+ libffi-devel oniguruma-devel gd-devel acl-devel"
 short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
@@ -19,9 +19,12 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=d0b4dd5ff465053248fd28dacf2fe0bed79deaaef657890cecb6bfcb73996dcd
+checksum=ffe34317d2688ed3161809c90ca4135c84ebfdfd12a46880a264d7d1e1d7739a
 provides="php-runtime-${version}_1"
 
+system_accounts="_phpfpm"
+_phpfpm_homedir="/var/empty"
+
 conf_files="/etc/php${_php_version}/php.ini"
 
 lib32disabled=yes
@@ -47,6 +50,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \
@@ -137,8 +144,9 @@ do_build() {
 		--host=${XBPS_CROSS_TRIPLET} \
 		--enable-cgi \
 		--enable-fpm \
-		--with-fpm-user=http \
-		--with-fpm-group=http \
+		--with-fpm-user=_phpfpm \
+		--with-fpm-group=_phpfpm \
+		--with-fpm-acl \
 		--enable-embed=shared \
 		${_phpextensions}
 	make ${makejobs} ${_make_env}

From 7e3dbe592c0fd2e518d1948c8f2cdec9035d3928 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:46:46 -0500
Subject: [PATCH 17/21] php8.3-apcu: update to 5.1.24.

---
 srcpkgs/php8.3-apcu/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/php8.3-apcu/template b/srcpkgs/php8.3-apcu/template
index c5fc94508c4ba1..7fe5dd283ee360 100644
--- a/srcpkgs/php8.3-apcu/template
+++ b/srcpkgs/php8.3-apcu/template
@@ -1,7 +1,7 @@
 # Template file for 'php8.3-apcu'
 pkgname=php8.3-apcu
-version=5.1.23
-revision=2
+version=5.1.24
+revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
 make_check_target=test
@@ -13,7 +13,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://pecl.php.net/package/APCu"
 distfiles="https://pecl.php.net/get/apcu-${version}.tgz"
-checksum=67ee7464ccad2335c3fa4aeb0b8edbcf6d8344feea7922620c6a13015d604482
+checksum=5c28a55b27082c69657e25b7ecf553e2cf6b74ec3fa77d6b76f4fb982e001e43
 
 pre_configure() {
 	phpize8.3

From 796897f36dcffe29cb00c4dc5f6692b70955e6fe Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:20 -0400
Subject: [PATCH 18/21] php8.3-ast: update to 1.1.2.

---
 srcpkgs/php8.3-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-ast/template b/srcpkgs/php8.3-ast/template
index c2764714bb268e..585e1daaf13da9 100644
--- a/srcpkgs/php8.3-ast/template
+++ b/srcpkgs/php8.3-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-ast'
 pkgname=php8.3-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From 341030fc5a901ad46439a1030050e9c28dc1cfa1 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:21 -0400
Subject: [PATCH 19/21] php8.3-igbinary: update to 3.2.16.

---
 srcpkgs/php8.3-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-igbinary/template b/srcpkgs/php8.3-igbinary/template
index 1475cb74adffb0..8482d3aa6de247 100644
--- a/srcpkgs/php8.3-igbinary/template
+++ b/srcpkgs/php8.3-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-igbinary'
 pkgname=php8.3-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.3

From 1c5c12d1d1affcc093bd85f647576676f707392c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:23 -0400
Subject: [PATCH 20/21] php8.3-mongodb: update to 1.20.0.

---
 srcpkgs/php8.3-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-mongodb/template b/srcpkgs/php8.3-mongodb/template
index 41aa7ad7a40c5e..d91306793b42fa 100644
--- a/srcpkgs/php8.3-mongodb/template
+++ b/srcpkgs/php8.3-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-mongodb'
 pkgname=php8.3-mongodb
-version=1.19.3
+version=1.20.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=01e87973fe7e54aac52054ec4a99cdd439ed5c01f7e5b8ea0a57031850d8e75a
 
 pre_configure() {
 	phpize8.3

From 5aa18606b5bde3f9512cb7496d7bb57a7c21d475 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:46:47 -0500
Subject: [PATCH 21/21] php8.3-redis: update to 6.1.0.

---
 srcpkgs/php8.3-redis/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-redis/template b/srcpkgs/php8.3-redis/template
index c6331d3a67074a..c840602764bb69 100644
--- a/srcpkgs/php8.3-redis/template
+++ b/srcpkgs/php8.3-redis/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-redis'
 pkgname=php8.3-redis
-version=6.0.2
+version=6.1.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://pecl.php.net/package/redis"
 distfiles="https://pecl.php.net/get/redis-$version.tgz"
-checksum=01aeccb0e14f897fe56f0509be6e6991ff0ad459f9d34e95e4556d02699b9a03
+checksum=f10405f639fe415e9ed4ec99538e72c90694d8dbd62868edcfcd6a453466b48c
 
 pre_configure() {
 	phpize8.3

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Updated] PHP updates
  2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
                   ` (8 preceding siblings ...)
  2024-11-15 13:42 ` TinfoilSubmarine
@ 2024-11-22 15:05 ` TinfoilSubmarine
  2024-11-22 15:06 ` TinfoilSubmarine
  2024-11-23 11:29 ` [PR PATCH] [Merged]: " Johnnynator
  11 siblings, 0 replies; 14+ messages in thread
From: TinfoilSubmarine @ 2024-11-22 15:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1225 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/php
https://github.com/void-linux/void-packages/pull/52237

PHP updates
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/52237.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/php-52237.patch --]
[-- Type: text/x-diff, Size: 65183 bytes --]

From be08be18b662e50466fa87e43f5217206d44be48 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:09 -0400
Subject: [PATCH 01/21] composer8.1: update to 2.8.3, orphan.

---
 srcpkgs/composer8.1/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.1/template b/srcpkgs/composer8.1/template
index a7c8180604be46..cacec133a903cc 100644
--- a/srcpkgs/composer8.1/template
+++ b/srcpkgs/composer8.1/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.1'
 pkgname=composer8.1
-version=2.7.7
+version=2.8.3
 revision=1
 build_style=fetch
 depends="php8.1"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="8323b4105c6e166d47c9db93209370083f9e421743636e108c37d8c1126386ef
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.1"
 

From 94cc97a1000d29bcbc2e473e1a1e0f713ef2758e Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:10 -0400
Subject: [PATCH 02/21] composer8.2: update to 2.8.3, orphan.

---
 srcpkgs/composer8.2/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.2/template b/srcpkgs/composer8.2/template
index 50336e8687051a..879074ccddcfd2 100644
--- a/srcpkgs/composer8.2/template
+++ b/srcpkgs/composer8.2/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.2'
 pkgname=composer8.2
-version=2.7.7
+version=2.8.3
 revision=1
 build_style=fetch
 depends="php8.2"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="8323b4105c6e166d47c9db93209370083f9e421743636e108c37d8c1126386ef
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.2"
 

From 528c93847652aaf83d7dc952fbf8e24a6783032d Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:11 -0400
Subject: [PATCH 03/21] composer8.3: update to 2.8.3, orphan.

---
 srcpkgs/composer8.3/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/composer8.3/template b/srcpkgs/composer8.3/template
index 3574c288855f2c..ebeeeececa1a1d 100644
--- a/srcpkgs/composer8.3/template
+++ b/srcpkgs/composer8.3/template
@@ -1,17 +1,17 @@
 # Template file for 'composer8.3'
 pkgname=composer8.3
-version=2.7.7
+version=2.8.3
 revision=1
 build_style=fetch
 depends="php8.3"
 short_desc="Dependency manager for PHP"
-maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="aab940cd53d285a54c50465820a2080fcb7182a4ba1e5f795abfb10414a4b4be
+checksum="8323b4105c6e166d47c9db93209370083f9e421743636e108c37d8c1126386ef
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.3"
 

From e862fc2a3621af2a8d3f2c755fa5ed61b5de3f09 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 17 Sep 2024 09:20:36 -0400
Subject: [PATCH 04/21] php8.1: update to 8.1.31.

- enable fpm ACLs
- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
- add user for php-fpm instead of using uncreated `http` user
---
 srcpkgs/php8.1/patches/cross-configure.patch  | 26 +++++++++++++++++++
 ...tch => cross-ltmain-sysroot-support.patch} |  9 +++++++
 ...{php-pear-cross.patch => cross-pear.patch} |  0
 ...{php-phar-cross.patch => cross-phar.patch} |  0
 ...tch => cross-phpize-sysroot-support.patch} |  0
 .../{php-706-crypt.patch => musl-crypt.patch} |  3 +++
 srcpkgs/php8.1/patches/php-cross-config.patch | 22 ----------------
 ...npages.patch => php8.1-fix-manpages.patch} |  0
 .../{php.ini.patch => php8.1-ini.patch}       |  0
 srcpkgs/php8.1/template                       | 20 +++++++++-----
 10 files changed, 52 insertions(+), 28 deletions(-)
 create mode 100644 srcpkgs/php8.1/patches/cross-configure.patch
 rename srcpkgs/php8.1/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.1/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.1/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.1/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.1/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.1/patches/php-cross-config.patch
 rename srcpkgs/php8.1/patches/{fix-manpages.patch => php8.1-fix-manpages.patch} (100%)
 rename srcpkgs/php8.1/patches/{php.ini.patch => php8.1-ini.patch} (100%)

diff --git a/srcpkgs/php8.1/patches/cross-configure.patch b/srcpkgs/php8.1/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.1/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.1/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.1/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.1/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.1/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.1/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.1/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.1/patches/php-pear-cross.patch b/srcpkgs/php8.1/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php-pear-cross.patch
rename to srcpkgs/php8.1/patches/cross-pear.patch
diff --git a/srcpkgs/php8.1/patches/php-phar-cross.patch b/srcpkgs/php8.1/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php-phar-cross.patch
rename to srcpkgs/php8.1/patches/cross-phar.patch
diff --git a/srcpkgs/php8.1/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.1/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.1/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.1/patches/php-706-crypt.patch b/srcpkgs/php8.1/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.1/patches/php-706-crypt.patch
rename to srcpkgs/php8.1/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.1/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.1/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.1/patches/php-cross-config.patch b/srcpkgs/php8.1/patches/php-cross-config.patch
deleted file mode 100644
index 169c43f1df9324..00000000000000
--- a/srcpkgs/php8.1/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index e4b82d1..1a8678f 100755
---- a/configure
-+++ b/configure
-@@ -62424,7 +62424,7 @@ printf %s "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- printf "%s\n" "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -63948,7 +63948,7 @@ printf %s "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- printf "%s\n" "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.1/patches/fix-manpages.patch b/srcpkgs/php8.1/patches/php8.1-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/fix-manpages.patch
rename to srcpkgs/php8.1/patches/php8.1-fix-manpages.patch
diff --git a/srcpkgs/php8.1/patches/php.ini.patch b/srcpkgs/php8.1/patches/php8.1-ini.patch
similarity index 100%
rename from srcpkgs/php8.1/patches/php.ini.patch
rename to srcpkgs/php8.1/patches/php8.1-ini.patch
diff --git a/srcpkgs/php8.1/template b/srcpkgs/php8.1/template
index 71285aa82815b9..6e95ccdcd9cab3 100644
--- a/srcpkgs/php8.1/template
+++ b/srcpkgs/php8.1/template
@@ -1,15 +1,15 @@
 # Template file for 'php8.1'
 # rebuild php8.1-apcu and php8.1-imagick when updating this package
 pkgname=php8.1
-version=8.1.29
+version=8.1.31
 revision=1
 _php_version=8.1
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
  postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel
- libffi-devel oniguruma-devel gd-devel"
+ libffi-devel oniguruma-devel gd-devel acl-devel"
 short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
@@ -18,9 +18,12 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=8b2609bf1d3173aa38269a9af21532c65f730aadd3051f9aae011eea9e246de5
+checksum=618923b407c4575bfee085f00c4aaa16a5cc86d4b1eb893c0f352d61541bbfb1
 provides="php-runtime-${version}_1"
 
+system_accounts="_phpfpm"
+_phpfpm_homedir="/var/empty"
+
 conf_files="/etc/php${_php_version}/php.ini"
 
 lib32disabled=yes
@@ -50,6 +53,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \
@@ -140,8 +147,9 @@ do_build() {
 		--host=${XBPS_CROSS_TRIPLET} \
 		--enable-cgi \
 		--enable-fpm \
-		--with-fpm-user=http \
-		--with-fpm-group=http \
+		--with-fpm-user=_phpfpm \
+		--with-fpm-group=_phpfpm \
+		--with-fpm-acl \
 		--enable-embed=shared \
 		${_phpextensions}
 	make ${makejobs} ${_make_env}

From 06617077fd757f427c0c8882e65e058697b12427 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:46:38 -0500
Subject: [PATCH 05/21] php8.1-apcu: update to 5.1.24.

---
 srcpkgs/php8.1-apcu/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/php8.1-apcu/template b/srcpkgs/php8.1-apcu/template
index 5a3529209a44fe..3c9fa3bc471dd9 100644
--- a/srcpkgs/php8.1-apcu/template
+++ b/srcpkgs/php8.1-apcu/template
@@ -1,7 +1,7 @@
 # Template file for 'php8.1-apcu'
 pkgname=php8.1-apcu
-version=5.1.23
-revision=2
+version=5.1.24
+revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
 make_check_target=test
@@ -13,7 +13,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://pecl.php.net/package/APCu"
 distfiles="https://pecl.php.net/get/apcu-${version}.tgz"
-checksum=67ee7464ccad2335c3fa4aeb0b8edbcf6d8344feea7922620c6a13015d604482
+checksum=5c28a55b27082c69657e25b7ecf553e2cf6b74ec3fa77d6b76f4fb982e001e43
 
 pre_configure() {
 	phpize8.1

From edbe0e2104a55eda5a47cea38c46a66cb20e4697 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:13 -0400
Subject: [PATCH 06/21] php8.1-ast: update to 1.1.2.

---
 srcpkgs/php8.1-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-ast/template b/srcpkgs/php8.1-ast/template
index b1306a30c210c1..0c3ebcfff1622b 100644
--- a/srcpkgs/php8.1-ast/template
+++ b/srcpkgs/php8.1-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-ast'
 pkgname=php8.1-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From 8fb1f0d5c2f212430652f12211c6ffc6749a9bda Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:14 -0400
Subject: [PATCH 07/21] php8.1-igbinary: update to 3.2.16.

---
 srcpkgs/php8.1-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-igbinary/template b/srcpkgs/php8.1-igbinary/template
index 3d43405c3a6bb5..d36a839daf69f0 100644
--- a/srcpkgs/php8.1-igbinary/template
+++ b/srcpkgs/php8.1-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-igbinary'
 pkgname=php8.1-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.1

From a74d156afcd9971984804aec2eca5ce1548d7ba3 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:16 -0400
Subject: [PATCH 08/21] php8.1-mongodb: update to 1.20.0.

---
 srcpkgs/php8.1-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-mongodb/template b/srcpkgs/php8.1-mongodb/template
index 26bcb6e1771fe1..be1d62581d5b24 100644
--- a/srcpkgs/php8.1-mongodb/template
+++ b/srcpkgs/php8.1-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-mongodb'
 pkgname=php8.1-mongodb
-version=1.19.3
+version=1.20.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=01e87973fe7e54aac52054ec4a99cdd439ed5c01f7e5b8ea0a57031850d8e75a
 
 pre_configure() {
 	phpize8.1

From b80a90353273303690a3778ea428ff604c132960 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:46:40 -0500
Subject: [PATCH 09/21] php8.1-redis: update to 6.1.0.

---
 srcpkgs/php8.1-redis/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-redis/template b/srcpkgs/php8.1-redis/template
index e3be7b990c51d0..e08cf5582915a1 100644
--- a/srcpkgs/php8.1-redis/template
+++ b/srcpkgs/php8.1-redis/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-redis'
 pkgname=php8.1-redis
-version=6.0.2
+version=6.1.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://pecl.php.net/package/redis"
 distfiles="https://pecl.php.net/get/redis-$version.tgz"
-checksum=01aeccb0e14f897fe56f0509be6e6991ff0ad459f9d34e95e4556d02699b9a03
+checksum=f10405f639fe415e9ed4ec99538e72c90694d8dbd62868edcfcd6a453466b48c
 
 pre_configure() {
 	phpize8.1

From 92c1ec74330a70093592c807c31dc536ae7aa721 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 17 Sep 2024 09:20:38 -0400
Subject: [PATCH 10/21] php8.2: update to 8.2.26.

- enable fpm ACLs
- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
- add user for php-fpm instead of using uncreated `http` user
---
 .../patches/ac_fn_c_try_run_cross.patch       | 166 ------------------
 srcpkgs/php8.2/patches/cross-configure.patch  |  26 +++
 .../patches/cross-gdImageCreateFrom.patch     |  66 +++++++
 ...tch => cross-ltmain-sysroot-support.patch} |   9 +
 ...{php-pear-cross.patch => cross-pear.patch} |   0
 ...{php-phar-cross.patch => cross-phar.patch} |   0
 ...tch => cross-phpize-sysroot-support.patch} |   0
 .../{php-706-crypt.patch => musl-crypt.patch} |   3 +
 srcpkgs/php8.2/patches/php-cross-config.patch |  22 ---
 ...npages.patch => php8.2-fix-manpages.patch} |   0
 .../{php.ini.patch => php8.2-ini.patch}       |   0
 srcpkgs/php8.2/template                       |  20 ++-
 12 files changed, 118 insertions(+), 194 deletions(-)
 delete mode 100644 srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
 create mode 100644 srcpkgs/php8.2/patches/cross-configure.patch
 create mode 100644 srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
 rename srcpkgs/php8.2/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.2/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.2/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.2/patches/php-cross-config.patch
 rename srcpkgs/php8.2/patches/{fix-manpages.patch => php8.2-fix-manpages.patch} (100%)
 rename srcpkgs/php8.2/patches/{php.ini.patch => php8.2-ini.patch} (100%)

diff --git a/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch b/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
deleted file mode 100644
index 2205168a7868e7..00000000000000
--- a/srcpkgs/php8.2/patches/ac_fn_c_try_run_cross.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-diff --git a/configure b/configure
-index 88b317c..fdb8e73 100755
---- a/configure
-+++ b/configure
-@@ -2600,7 +2600,13 @@ $as_echo "$ac_try_echo"; } >&5
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- $as_echo "$ac_try_echo"; } >&5
--  (eval "$ac_try") 2>&5
-+  if test "$cross_compiling" = "yes"; then
-+    # Use qemu-user-static to run the executable
-+    qemu_exec="QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static"
-+    (eval "$qemu_exec $ac_try") 2>&5
-+  else
-+    (eval "$ac_try") 2>&5
-+  fi
-   ac_status=$?
-   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
-@@ -37619,12 +37619,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37662,7 +37656,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37686,12 +37679,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37729,7 +37716,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37753,12 +37739,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37796,7 +37776,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37820,12 +37799,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37863,7 +37836,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37887,12 +37859,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37930,7 +37896,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -37954,12 +37919,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -37997,7 +37956,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -38021,12 +37979,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes; then :
--
--    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--
--else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -38064,7 +38016,6 @@ $as_echo "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
diff --git a/srcpkgs/php8.2/patches/cross-configure.patch b/srcpkgs/php8.2/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.2/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch b/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
new file mode 100644
index 00000000000000..1f35f9482f98c6
--- /dev/null
+++ b/srcpkgs/php8.2/patches/cross-gdImageCreateFrom.patch
@@ -0,0 +1,66 @@
+Copied and modified library macros from /usr/share/autoconf/autoconf/general.m4
+with support for using qemu-user-static to execute when cross compiling.
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index b31c9b2..e5e2d9f 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,6 +147,40 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
++
++AC_DEFUN([_AC_DO_TOKENS_QEMU],
++[{
++  if test "$cross_compiling" = "yes"; then
++    ac_try='QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static $1'
++  else
++    ac_try='$1'
++  fi
++  _AC_DO([$ac_try]); }])
++
++m4_define([_AC_RUN_IFELSE_QEMU_BODY],
++[  AS_LINENO_PUSH([$[]1])
++  AS_IF([_AC_DO_VAR(ac_link) && _AC_DO_TOKENS_QEMU(./conftest$ac_exeext)],
++      [ac_retval=0],
++      [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
++       _AC_MSG_LOG_CONFTEST
++       ac_retval=$ac_status])
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  AS_LINENO_POP
++  AS_SET_STATUS([$ac_retval])
++])
++
++AC_DEFUN([_AC_RUN_IFELSE_QEMU],
++[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu],
++  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu], [LINENO],
++    [Try to run conftest.$ac_ext, and return whether this succeeded.
++     Assumes that executables *can* be run.])],
++  [$0_BODY])]dnl
++[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
++[AS_IF([ac_fn_[]_AC_LANG_ABBREV[]_try_run_qemu "$LINENO"], [$2], [$3])
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam[]m4_ifval([$1], [ conftest.$ac_ext])[]dnl
++])
++
+ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   old_LIBS="${LIBS}"
+   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+@@ -154,7 +188,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+   AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+   AC_LANG_PUSH([C])
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  _AC_RUN_IFELSE_QEMU([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -178,8 +212,6 @@ int main(int argc, char** argv) {
+     AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+   ],[
+     AC_MSG_RESULT([no])
+-  ],[
+-    AC_MSG_RESULT([no])
+   ])
+   AC_LANG_POP([C])
+   CFLAGS="${old_CFLAGS}"
diff --git a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.2/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.2/patches/php-pear-cross.patch b/srcpkgs/php8.2/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-pear-cross.patch
rename to srcpkgs/php8.2/patches/cross-pear.patch
diff --git a/srcpkgs/php8.2/patches/php-phar-cross.patch b/srcpkgs/php8.2/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-phar-cross.patch
rename to srcpkgs/php8.2/patches/cross-phar.patch
diff --git a/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.2/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.2/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.2/patches/php-706-crypt.patch b/srcpkgs/php8.2/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.2/patches/php-706-crypt.patch
rename to srcpkgs/php8.2/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.2/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.2/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.2/patches/php-cross-config.patch b/srcpkgs/php8.2/patches/php-cross-config.patch
deleted file mode 100644
index 21c5e1923b2504..00000000000000
--- a/srcpkgs/php8.2/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index 88b317c..816799f 100755
---- a/configure
-+++ b/configure
-@@ -61564,7 +61564,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -63090,7 +63090,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.2/patches/fix-manpages.patch b/srcpkgs/php8.2/patches/php8.2-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/fix-manpages.patch
rename to srcpkgs/php8.2/patches/php8.2-fix-manpages.patch
diff --git a/srcpkgs/php8.2/patches/php.ini.patch b/srcpkgs/php8.2/patches/php8.2-ini.patch
similarity index 100%
rename from srcpkgs/php8.2/patches/php.ini.patch
rename to srcpkgs/php8.2/patches/php8.2-ini.patch
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 4fe20834f2b2d8..9d9c9edf218817 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -1,16 +1,16 @@
 # Template file for 'php8.2'
 # rebuild php8.2-apcu and php8.2-imagick when updating this package
 pkgname=php8.2
-version=8.2.22
+version=8.2.26
 revision=1
 _php_version=8.2
 build_helper="qemu"
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
  postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel
- libffi-devel oniguruma-devel gd-devel"
+ libffi-devel oniguruma-devel gd-devel acl-devel"
 short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
@@ -19,9 +19,12 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=44197016c9eeed5c50523e20eb44adc4dd9d84ac08bdf9e46077e775d467d7d0
+checksum=04e47b46b347ed6404dcc9e9989486710b075eafc8490500fd271aeeac5d83cb
 provides="php-runtime-${version}_1"
 
+system_accounts="_phpfpm"
+_phpfpm_homedir="/var/empty"
+
 conf_files="/etc/php${_php_version}/php.ini"
 
 lib32disabled=yes
@@ -47,6 +50,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \
@@ -137,8 +144,9 @@ do_build() {
 		--host=${XBPS_CROSS_TRIPLET} \
 		--enable-cgi \
 		--enable-fpm \
-		--with-fpm-user=http \
-		--with-fpm-group=http \
+		--with-fpm-user=_phpfpm \
+		--with-fpm-group=_phpfpm \
+		--with-fpm-acl \
 		--enable-embed=shared \
 		${_phpextensions}
 	make ${makejobs} ${_make_env}

From a44b30ec4c22e871bab42dc28e6ed571bc59efa8 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:46:42 -0500
Subject: [PATCH 11/21] php8.2-apcu: update to 5.1.24.

---
 srcpkgs/php8.2-apcu/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/php8.2-apcu/template b/srcpkgs/php8.2-apcu/template
index 367d9d565ed93a..a569487593212b 100644
--- a/srcpkgs/php8.2-apcu/template
+++ b/srcpkgs/php8.2-apcu/template
@@ -1,7 +1,7 @@
 # Template file for 'php8.2-apcu'
 pkgname=php8.2-apcu
-version=5.1.23
-revision=2
+version=5.1.24
+revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
 make_check_target=test
@@ -13,7 +13,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://pecl.php.net/package/APCu"
 distfiles="https://pecl.php.net/get/apcu-${version}.tgz"
-checksum=67ee7464ccad2335c3fa4aeb0b8edbcf6d8344feea7922620c6a13015d604482
+checksum=5c28a55b27082c69657e25b7ecf553e2cf6b74ec3fa77d6b76f4fb982e001e43
 
 pre_configure() {
 	phpize8.2

From a0f9f4c39a97eccfc8aba471afe62dfaf41e4e9a Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:17 -0400
Subject: [PATCH 12/21] php8.2-ast: update to 1.1.2.

---
 srcpkgs/php8.2-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-ast/template b/srcpkgs/php8.2-ast/template
index fccc6bc98ad09c..338032e937e923 100644
--- a/srcpkgs/php8.2-ast/template
+++ b/srcpkgs/php8.2-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-ast'
 pkgname=php8.2-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From 0f64c86eb0eb446b859adbd616a5bad877aa93d3 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:18 -0400
Subject: [PATCH 13/21] php8.2-igbinary: update to 3.2.16.

---
 srcpkgs/php8.2-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-igbinary/template b/srcpkgs/php8.2-igbinary/template
index 89ce91a138308a..b14765bc68cbb1 100644
--- a/srcpkgs/php8.2-igbinary/template
+++ b/srcpkgs/php8.2-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-igbinary'
 pkgname=php8.2-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.2

From 2335b416fca038c790fa9d6aecaadb0b222b0d1d Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:50:44 -0500
Subject: [PATCH 14/21] php8.2-mongodb: update to 1.20.0.

---
 srcpkgs/php8.2-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-mongodb/template b/srcpkgs/php8.2-mongodb/template
index a4be31856d089a..1fbb21a83bcc58 100644
--- a/srcpkgs/php8.2-mongodb/template
+++ b/srcpkgs/php8.2-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-mongodb'
 pkgname=php8.2-mongodb
-version=1.19.3
+version=1.20.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=01e87973fe7e54aac52054ec4a99cdd439ed5c01f7e5b8ea0a57031850d8e75a
 
 pre_configure() {
 	phpize8.2

From 2746ab5ed53558c3c1e60da63563ddfee11735b4 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:46:43 -0500
Subject: [PATCH 15/21] php8.2-redis: update to 6.1.0.

---
 srcpkgs/php8.2-redis/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-redis/template b/srcpkgs/php8.2-redis/template
index cfc4d58070f433..972689c26c1cfd 100644
--- a/srcpkgs/php8.2-redis/template
+++ b/srcpkgs/php8.2-redis/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-redis'
 pkgname=php8.2-redis
-version=6.0.2
+version=6.1.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://pecl.php.net/package/redis"
 distfiles="https://pecl.php.net/get/redis-$version.tgz"
-checksum=01aeccb0e14f897fe56f0509be6e6991ff0ad459f9d34e95e4556d02699b9a03
+checksum=f10405f639fe415e9ed4ec99538e72c90694d8dbd62868edcfcd6a453466b48c
 
 pre_configure() {
 	phpize8.2

From 5130552624d38156ed24a48d78010e75e3e347bc Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 17 Sep 2024 09:20:39 -0400
Subject: [PATCH 16/21] php8.3: update to 8.3.14.

- enable fpm ACLs
- clean up patches
- generate configure locally instead of using vendored for ease of
  patching
- add user for php-fpm instead of using uncreated `http` user
---
 .../patches/ac_fn_c_try_run_cross.patch       | 176 ------------------
 srcpkgs/php8.3/patches/cross-configure.patch  |  26 +++
 .../patches/cross-gdImageCreateFrom.patch     |  66 +++++++
 ...tch => cross-ltmain-sysroot-support.patch} |   9 +
 ...{php-pear-cross.patch => cross-pear.patch} |   0
 ...{php-phar-cross.patch => cross-phar.patch} |   0
 ...tch => cross-phpize-sysroot-support.patch} |   0
 .../{php-706-crypt.patch => musl-crypt.patch} |   3 +
 srcpkgs/php8.3/patches/php-cross-config.patch |  22 ---
 ...npages.patch => php8.3-fix-manpages.patch} |   0
 .../{php.ini.patch => php8.3-ini.patch}       |   0
 srcpkgs/php8.3/template                       |  20 +-
 12 files changed, 118 insertions(+), 204 deletions(-)
 delete mode 100644 srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
 create mode 100644 srcpkgs/php8.3/patches/cross-configure.patch
 create mode 100644 srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
 rename srcpkgs/php8.3/patches/{php-ltmain-sysroot-support.patch => cross-ltmain-sysroot-support.patch} (75%)
 rename srcpkgs/php8.3/patches/{php-pear-cross.patch => cross-pear.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-phar-cross.patch => cross-phar.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-phpize-sysroot-support.patch => cross-phpize-sysroot-support.patch} (100%)
 rename srcpkgs/php8.3/patches/{php-706-crypt.patch => musl-crypt.patch} (80%)
 delete mode 100644 srcpkgs/php8.3/patches/php-cross-config.patch
 rename srcpkgs/php8.3/patches/{fix-manpages.patch => php8.3-fix-manpages.patch} (100%)
 rename srcpkgs/php8.3/patches/{php.ini.patch => php8.3-ini.patch} (100%)

diff --git a/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch b/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
deleted file mode 100644
index e0a5d3cf2b1789..00000000000000
--- a/srcpkgs/php8.3/patches/ac_fn_c_try_run_cross.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-diff --git a/configure b/configure
-index b6c740b..550e313 100755
---- a/configure
-+++ b/configure
-@@ -2600,7 +2600,13 @@ printf "%s\n" "$ac_try_echo"; } >&5
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- printf "%s\n" "$ac_try_echo"; } >&5
--  (eval "$ac_try") 2>&5
-+  if test "$cross_compiling" = "yes"; then
-+    # Use qemu-user-static to run the executable
-+    qemu_exec="QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static"
-+    (eval "$qemu_exec $ac_try") 2>&5
-+  else
-+    (eval "$ac_try") 2>&5
-+  fi
-   ac_status=$?
-   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
-@@ -39741,13 +39741,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39786,7 +39779,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39810,13 +39802,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39855,7 +39840,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39879,13 +39863,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39924,7 +39901,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -39948,13 +39924,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -39993,7 +39962,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40017,13 +39985,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40062,7 +40023,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40086,13 +40046,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40131,7 +40084,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -40155,13 +40107,6 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- 
--  if test "$cross_compiling" = yes
--then :
--
--    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
--printf "%s\n" "no" >&6; }
--
--else $as_nop
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
-@@ -40200,7 +40145,6 @@ printf "%s\n" "no" >&6; }
- fi
- rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-   conftest.$ac_objext conftest.beam conftest.$ac_ext
--fi
- 
-   ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-   ac_status=$?
-   printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }
diff --git a/srcpkgs/php8.3/patches/cross-configure.patch b/srcpkgs/php8.3/patches/cross-configure.patch
new file mode 100644
index 00000000000000..c6977514ceba71
--- /dev/null
+++ b/srcpkgs/php8.3/patches/cross-configure.patch
@@ -0,0 +1,26 @@
+diff --git a/ext/pdo_pgsql/config.m4 b/ext/pdo_pgsql/config.m4
+index 80ffd97..d8cad47 100644
+--- a/ext/pdo_pgsql/config.m4
++++ b/ext/pdo_pgsql/config.m4
+@@ -20,7 +20,7 @@ if test "$PHP_PDO_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
+diff --git a/ext/pgsql/config.m4 b/ext/pgsql/config.m4
+index 669a9f7..7e5bf7f 100644
+--- a/ext/pgsql/config.m4
++++ b/ext/pgsql/config.m4
+@@ -18,7 +18,7 @@ if test "$PHP_PGSQL" != "no"; then
+     fi
+   done
+ 
+-  if test -n "$PG_CONFIG"; then
++  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
+     AC_MSG_RESULT([$PG_CONFIG])
+     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
+     PGSQL_LIBDIR=`$PG_CONFIG --libdir`
diff --git a/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch b/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
new file mode 100644
index 00000000000000..1f35f9482f98c6
--- /dev/null
+++ b/srcpkgs/php8.3/patches/cross-gdImageCreateFrom.patch
@@ -0,0 +1,66 @@
+Copied and modified library macros from /usr/share/autoconf/autoconf/general.m4
+with support for using qemu-user-static to execute when cross compiling.
+
+diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
+index b31c9b2..e5e2d9f 100644
+--- a/ext/gd/config.m4
++++ b/ext/gd/config.m4
+@@ -147,6 +147,40 @@ dnl that gd defines "junk" versions of each gdImageCreateFromFoo function
+ dnl even when it does not support the Foo format. Those junk functions
+ dnl display a warning but eventually return normally, making a simple link
+ dnl or run test insufficient.
++
++AC_DEFUN([_AC_DO_TOKENS_QEMU],
++[{
++  if test "$cross_compiling" = "yes"; then
++    ac_try='QEMU_LD_PREFIX=${XBPS_CROSS_BASE} qemu-${XBPS_TARGET_QEMU_MACHINE}-static $1'
++  else
++    ac_try='$1'
++  fi
++  _AC_DO([$ac_try]); }])
++
++m4_define([_AC_RUN_IFELSE_QEMU_BODY],
++[  AS_LINENO_PUSH([$[]1])
++  AS_IF([_AC_DO_VAR(ac_link) && _AC_DO_TOKENS_QEMU(./conftest$ac_exeext)],
++      [ac_retval=0],
++      [AS_ECHO(["$as_me: program exited with status $ac_status"]) >&AS_MESSAGE_LOG_FD
++       _AC_MSG_LOG_CONFTEST
++       ac_retval=$ac_status])
++  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
++  AS_LINENO_POP
++  AS_SET_STATUS([$ac_retval])
++])
++
++AC_DEFUN([_AC_RUN_IFELSE_QEMU],
++[AC_REQUIRE_SHELL_FN([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu],
++  [AS_FUNCTION_DESCRIBE([ac_fn_]_AC_LANG_ABBREV[_try_run_qemu], [LINENO],
++    [Try to run conftest.$ac_ext, and return whether this succeeded.
++     Assumes that executables *can* be run.])],
++  [$0_BODY])]dnl
++[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])]dnl
++[AS_IF([ac_fn_[]_AC_LANG_ABBREV[]_try_run_qemu "$LINENO"], [$2], [$3])
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam[]m4_ifval([$1], [ conftest.$ac_ext])[]dnl
++])
++
+ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   old_LIBS="${LIBS}"
+   LIBS="${LIBS} ${GD_SHARED_LIBADD}"
+@@ -154,7 +188,7 @@ AC_DEFUN([PHP_GD_CHECK_FORMAT],[
+   CFLAGS="${CFLAGS} ${GDLIB_CFLAGS}"
+   AC_MSG_CHECKING([for working gdImageCreateFrom$1 in libgd])
+   AC_LANG_PUSH([C])
+-  AC_RUN_IFELSE([AC_LANG_SOURCE([
++  _AC_RUN_IFELSE_QEMU([AC_LANG_SOURCE([
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <gd.h>
+@@ -178,8 +212,6 @@ int main(int argc, char** argv) {
+     AC_DEFINE($2, 1, [Does gdImageCreateFrom$1 work?])
+   ],[
+     AC_MSG_RESULT([no])
+-  ],[
+-    AC_MSG_RESULT([no])
+   ])
+   AC_LANG_POP([C])
+   CFLAGS="${old_CFLAGS}"
diff --git a/srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
similarity index 75%
rename from srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch
rename to srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
index bbe0a514a9e8ac..a6447ac150221e 100644
--- a/srcpkgs/php8.3/patches/php-ltmain-sysroot-support.patch
+++ b/srcpkgs/php8.3/patches/cross-ltmain-sysroot-support.patch
@@ -1,3 +1,12 @@
+PHP's phpize is based on a very old libtool to generate build files for its
+extensions. This libtool does not support .la files with '=' to support
+sysroot.
+
+In order to support more PHP extension cross compilation this modifies
+ltmain.sh to support such path. This is a bit hackish has it only get sysroot
+from the used toolchain; the proper way to fix that is to have PHP developpers
+to update the autotools file used to build there extensions.
+
 --- a/build/ltmain.sh	2021-09-09 15:19:14.822208365 +0200
 +++ b/build/ltmain.sh	2021-09-09 15:47:55.397011151 +0200
 @@ -2375,6 +2375,13 @@ EOF
diff --git a/srcpkgs/php8.3/patches/php-pear-cross.patch b/srcpkgs/php8.3/patches/cross-pear.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-pear-cross.patch
rename to srcpkgs/php8.3/patches/cross-pear.patch
diff --git a/srcpkgs/php8.3/patches/php-phar-cross.patch b/srcpkgs/php8.3/patches/cross-phar.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-phar-cross.patch
rename to srcpkgs/php8.3/patches/cross-phar.patch
diff --git a/srcpkgs/php8.3/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.3/patches/cross-phpize-sysroot-support.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php-phpize-sysroot-support.patch
rename to srcpkgs/php8.3/patches/cross-phpize-sysroot-support.patch
diff --git a/srcpkgs/php8.3/patches/php-706-crypt.patch b/srcpkgs/php8.3/patches/musl-crypt.patch
similarity index 80%
rename from srcpkgs/php8.3/patches/php-706-crypt.patch
rename to srcpkgs/php8.3/patches/musl-crypt.patch
index 254f1d2187c24e..b83a7ab9bc1e49 100644
--- a/srcpkgs/php8.3/patches/php-706-crypt.patch
+++ b/srcpkgs/php8.3/patches/musl-crypt.patch
@@ -1,3 +1,6 @@
+TODO: This is apparently needed on musl, not sure what the error is, might be
+something to dig in to.
+
 --- a/ext/standard/crypt.c	2016-04-28 14:13:00.000000000 -0400
 +++ b/ext/standard/crypt.c	2016-04-28 21:45:24.340955313 -0400
 @@ -267,6 +267,12 @@
diff --git a/srcpkgs/php8.3/patches/php-cross-config.patch b/srcpkgs/php8.3/patches/php-cross-config.patch
deleted file mode 100644
index c84e44974362fd..00000000000000
--- a/srcpkgs/php8.3/patches/php-cross-config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/configure b/configure
-index d317fd7..5560d75 100755
---- a/configure
-+++ b/configure
-@@ -60896,7 +60896,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
-@@ -62422,7 +62422,7 @@ $as_echo_n "checking for pg_config... " >&6; }
-     fi
-   done
- 
--  if test -n "$PG_CONFIG"; then
-+  if test -n "$PG_CONFIG" && test "x$cross_compiling" != "xyes"; then
-     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PG_CONFIG" >&5
- $as_echo "$PG_CONFIG" >&6; }
-     PGSQL_INCLUDE=`$PG_CONFIG --includedir`
diff --git a/srcpkgs/php8.3/patches/fix-manpages.patch b/srcpkgs/php8.3/patches/php8.3-fix-manpages.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/fix-manpages.patch
rename to srcpkgs/php8.3/patches/php8.3-fix-manpages.patch
diff --git a/srcpkgs/php8.3/patches/php.ini.patch b/srcpkgs/php8.3/patches/php8.3-ini.patch
similarity index 100%
rename from srcpkgs/php8.3/patches/php.ini.patch
rename to srcpkgs/php8.3/patches/php8.3-ini.patch
diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index 9a415922f01fc9..433314bae525a5 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -1,16 +1,16 @@
 # Template file for 'php8.3'
 # rebuild php8.3-apcu and php8.3-imagick when updating this package
 pkgname=php8.3
-version=8.3.10
+version=8.3.14
 revision=1
 _php_version=8.3
 build_helper="qemu"
-hostmakedepends="bison pkg-config apache-devel"
+hostmakedepends="bison pkg-config apache-devel autoconf"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
  gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel
  libsodium-devel libtidy5-devel libxslt-devel libzip-devel net-snmp-devel
  postgresql-libs-devel readline-devel sqlite-devel unixodbc-devel pcre2-devel
- libffi-devel oniguruma-devel gd-devel"
+ libffi-devel oniguruma-devel gd-devel acl-devel"
 short_desc="HTML-embedded scripting language"
 maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
@@ -19,9 +19,12 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=d0b4dd5ff465053248fd28dacf2fe0bed79deaaef657890cecb6bfcb73996dcd
+checksum=e4ee602c31e2f701c9f0209a2902dd4802727431246a9155bf56dda7bcf7fb4a
 provides="php-runtime-${version}_1"
 
+system_accounts="_phpfpm"
+_phpfpm_homedir="/var/empty"
+
 conf_files="/etc/php${_php_version}/php.ini"
 
 lib32disabled=yes
@@ -47,6 +50,10 @@ alternatives="
  php:phar.phar.1:/usr/share/man/man1/phar${_php_version}.phar.1
  php:php.1:/usr/share/man/man1/php${_php_version}.1"
 
+do_configure() {
+	autoconf -f
+}
+
 do_build() {
 	local _phpconfig="--srcdir=.. \
 		--config-cache \
@@ -137,8 +144,9 @@ do_build() {
 		--host=${XBPS_CROSS_TRIPLET} \
 		--enable-cgi \
 		--enable-fpm \
-		--with-fpm-user=http \
-		--with-fpm-group=http \
+		--with-fpm-user=_phpfpm \
+		--with-fpm-group=_phpfpm \
+		--with-fpm-acl \
 		--enable-embed=shared \
 		${_phpextensions}
 	make ${makejobs} ${_make_env}

From e0d63d574010a0c4998f966a727267b4599659ca Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:46:46 -0500
Subject: [PATCH 17/21] php8.3-apcu: update to 5.1.24.

---
 srcpkgs/php8.3-apcu/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/php8.3-apcu/template b/srcpkgs/php8.3-apcu/template
index c5fc94508c4ba1..7fe5dd283ee360 100644
--- a/srcpkgs/php8.3-apcu/template
+++ b/srcpkgs/php8.3-apcu/template
@@ -1,7 +1,7 @@
 # Template file for 'php8.3-apcu'
 pkgname=php8.3-apcu
-version=5.1.23
-revision=2
+version=5.1.24
+revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
 make_check_target=test
@@ -13,7 +13,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://pecl.php.net/package/APCu"
 distfiles="https://pecl.php.net/get/apcu-${version}.tgz"
-checksum=67ee7464ccad2335c3fa4aeb0b8edbcf6d8344feea7922620c6a13015d604482
+checksum=5c28a55b27082c69657e25b7ecf553e2cf6b74ec3fa77d6b76f4fb982e001e43
 
 pre_configure() {
 	phpize8.3

From 467020f64b2c805f1403e21d72147509cfba6360 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:20 -0400
Subject: [PATCH 18/21] php8.3-ast: update to 1.1.2.

---
 srcpkgs/php8.3-ast/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-ast/template b/srcpkgs/php8.3-ast/template
index c2764714bb268e..585e1daaf13da9 100644
--- a/srcpkgs/php8.3-ast/template
+++ b/srcpkgs/php8.3-ast/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-ast'
 pkgname=php8.3-ast
-version=1.1.1
+version=1.1.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -14,7 +14,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/nikic/php-ast"
 distfiles="https://pecl.php.net/get/ast-${version}.tgz"
-checksum=0c55e09a4da43b9cc1da72ecb4ae892941f73e157b73d46326bc6a5ed7fc44b1
+checksum=8742427ff7c07ba93f940968f7363972ea040d97d847da3b79b4283c2a369dea
 make_check_pre="env NO_INTERACTION=1"
 
 pre_configure() {

From a6380e073310c6aa58ec87a44fe20b14dca2af57 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:21 -0400
Subject: [PATCH 19/21] php8.3-igbinary: update to 3.2.16.

---
 srcpkgs/php8.3-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-igbinary/template b/srcpkgs/php8.3-igbinary/template
index 1475cb74adffb0..8482d3aa6de247 100644
--- a/srcpkgs/php8.3-igbinary/template
+++ b/srcpkgs/php8.3-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-igbinary'
 pkgname=php8.3-igbinary
-version=3.2.15
+version=3.2.16
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
+checksum=8bf25d465abc7973d9e2c9a3039a5f8eea635b23bc1477017ff3999ff95836da
 
 pre_configure() {
 	phpize8.3

From f47ce65281c5fe0864bc90d7016d8a8766c68ed2 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Mon, 16 Sep 2024 09:08:23 -0400
Subject: [PATCH 20/21] php8.3-mongodb: update to 1.20.0.

---
 srcpkgs/php8.3-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-mongodb/template b/srcpkgs/php8.3-mongodb/template
index 41aa7ad7a40c5e..d91306793b42fa 100644
--- a/srcpkgs/php8.3-mongodb/template
+++ b/srcpkgs/php8.3-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-mongodb'
 pkgname=php8.3-mongodb
-version=1.19.3
+version=1.20.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=a9e17b024971b78c896413b46722444e5c0d004e3de271490c9d3d55e34268e9
+checksum=01e87973fe7e54aac52054ec4a99cdd439ed5c01f7e5b8ea0a57031850d8e75a
 
 pre_configure() {
 	phpize8.3

From ad205af4b9e2dfef73d83d15867d166cfcc320d5 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 15 Nov 2024 07:46:47 -0500
Subject: [PATCH 21/21] php8.3-redis: update to 6.1.0.

---
 srcpkgs/php8.3-redis/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-redis/template b/srcpkgs/php8.3-redis/template
index c6331d3a67074a..c840602764bb69 100644
--- a/srcpkgs/php8.3-redis/template
+++ b/srcpkgs/php8.3-redis/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-redis'
 pkgname=php8.3-redis
-version=6.0.2
+version=6.1.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="PHP-3.01"
 homepage="https://pecl.php.net/package/redis"
 distfiles="https://pecl.php.net/get/redis-$version.tgz"
-checksum=01aeccb0e14f897fe56f0509be6e6991ff0ad459f9d34e95e4556d02699b9a03
+checksum=f10405f639fe415e9ed4ec99538e72c90694d8dbd62868edcfcd6a453466b48c
 
 pre_configure() {
 	phpize8.3

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: PHP updates
  2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
                   ` (9 preceding siblings ...)
  2024-11-22 15:05 ` TinfoilSubmarine
@ 2024-11-22 15:06 ` TinfoilSubmarine
  2024-11-23 11:29 ` [PR PATCH] [Merged]: " Johnnynator
  11 siblings, 0 replies; 14+ messages in thread
From: TinfoilSubmarine @ 2024-11-22 15:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 469 bytes --]

New comment by TinfoilSubmarine on void-packages repository

https://github.com/void-linux/void-packages/pull/52237#issuecomment-2493970011

Comment:
I have just updated all of the packages in this PR to the latest available versions. 

Is there anything else that needs to be addressed from your end @Johnnynator? I have added `_phpfpm` user creation.

Otherwise, if there is nothing else could we get this merged? I would like to start working on adding PHP 8.4.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Merged]: PHP updates
  2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
                   ` (10 preceding siblings ...)
  2024-11-22 15:06 ` TinfoilSubmarine
@ 2024-11-23 11:29 ` Johnnynator
  11 siblings, 0 replies; 14+ messages in thread
From: Johnnynator @ 2024-11-23 11:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1049 bytes --]

There's a merged pull request on the void-packages repository

PHP updates
https://github.com/void-linux/void-packages/pull/52237

Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PR PATCH] [Updated] PHP updates
  2024-01-16 20:38 [PR PATCH] " TinfoilSubmarine
@ 2024-05-14 13:11 ` TinfoilSubmarine
  0 siblings, 0 replies; 14+ messages in thread
From: TinfoilSubmarine @ 2024-05-14 13:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1233 bytes --]

There is an updated pull request by TinfoilSubmarine against master on the void-packages repository

https://github.com/TinfoilSubmarine/void-packages maint/php-updates
https://github.com/void-linux/void-packages/pull/48243

PHP updates
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/48243.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-maint/php-updates-48243.patch --]
[-- Type: text/x-diff, Size: 17339 bytes --]

From eb642a6ff36d3c0c8d7ed051bec3239c73cbeb07 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 16 Jan 2024 14:59:18 -0500
Subject: [PATCH 01/15] php8.1: update to 8.1.28.

---
 srcpkgs/php8.1/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/php8.1/template b/srcpkgs/php8.1/template
index a656ad58aa1949..db3940f4d14588 100644
--- a/srcpkgs/php8.1/template
+++ b/srcpkgs/php8.1/template
@@ -1,8 +1,8 @@
 # Template file for 'php8.1'
 # rebuild php8.1-apcu and php8.1-imagick when updating this package
 pkgname=php8.1
-version=8.1.26
-revision=4
+version=8.1.28
+revision=1
 _php_version=8.1
 hostmakedepends="bison pkg-config apache-devel"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
@@ -18,7 +18,7 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=d954cecfc3d294c2fccbe2b1a6bef784ce0d6c5d44a9e28f8a527e092825f2cb
+checksum=a2a9d853f4a4c9ff8631da5dc3a6cec5ab083ef37a214877b0240dcfcdfdefea
 provides="php-runtime-${version}_1"
 
 conf_files="/etc/php${_php_version}/php.ini"

From 47108079b0f2402add22cf62d1005e1bc2bfb22e Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 16 Jan 2024 14:59:27 -0500
Subject: [PATCH 02/15] php8.1-igbinary: update to 3.2.15.

---
 srcpkgs/php8.1-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-igbinary/template b/srcpkgs/php8.1-igbinary/template
index cf4cf6a5ebbcc0..3d43405c3a6bb5 100644
--- a/srcpkgs/php8.1-igbinary/template
+++ b/srcpkgs/php8.1-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-igbinary'
 pkgname=php8.1-igbinary
-version=3.2.14
+version=3.2.15
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=6337147a4fb888072566674837bda9928ee06ee7f0114b4338b86c816232925d
+checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
 
 pre_configure() {
 	phpize8.1

From aaf48237f4693c605223fb62de9ed012b8896af3 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 16 Jan 2024 14:59:30 -0500
Subject: [PATCH 03/15] php8.1-mongodb: update to 1.19.0.

---
 srcpkgs/php8.1-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.1-mongodb/template b/srcpkgs/php8.1-mongodb/template
index 64f323b3d60292..48530d38af8b38 100644
--- a/srcpkgs/php8.1-mongodb/template
+++ b/srcpkgs/php8.1-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.1-mongodb'
 pkgname=php8.1-mongodb
-version=1.17.0
+version=1.19.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=5e7db95103d73212ed0edf8887d92184baa5643476045cb899efbcf439847148
+checksum=2bbe89825196676e8932c87f0595922e2b1bb18a6f982ee5f37ebdc447b14d10
 
 pre_configure() {
 	phpize8.1

From 11e877d6119c2395129e1b566932108f3a1657f5 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 14 May 2024 08:44:41 -0400
Subject: [PATCH 04/15] xdebug8.1: update to 3.3.2.

---
 srcpkgs/xdebug8.1/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xdebug8.1/template b/srcpkgs/xdebug8.1/template
index 583e6b940f898b..5f5c192106a34b 100644
--- a/srcpkgs/xdebug8.1/template
+++ b/srcpkgs/xdebug8.1/template
@@ -1,6 +1,6 @@
 # Template file for 'xdebug8.1'
 pkgname=xdebug8.1
-version=3.3.1
+version=3.3.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.1"
@@ -12,7 +12,7 @@ license="PHP-3.0"
 homepage="http://xdebug.org"
 changelog="https://xdebug.org/updates"
 distfiles="http://xdebug.org/files/xdebug-${version}.tgz"
-checksum=4eb4ee270bbcc5f14195c38f6ee58580e007cf4886ce32e11430318ab5bc2315
+checksum=15545b8311bedb5e7df08fd90d6653d9bf33629791e8119e70350475df932c55
 
 pre_configure() {
 	phpize8.1

From b2e74728d00601088fa6437b17d8e3bace06ce12 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 14 May 2024 08:49:30 -0400
Subject: [PATCH 05/15] composer8.1: update to 2.7.6.

---
 srcpkgs/composer8.1/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/composer8.1/template b/srcpkgs/composer8.1/template
index 8a9cc0982424b9..cd677175a3f0a6 100644
--- a/srcpkgs/composer8.1/template
+++ b/srcpkgs/composer8.1/template
@@ -1,6 +1,6 @@
 # Template file for 'composer8.1'
 pkgname=composer8.1
-version=2.7.2
+version=2.7.6
 revision=1
 build_style=fetch
 depends="php8.1"
@@ -11,7 +11,7 @@ homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="049b8e0ed9f264d770a0510858cffbc35401510759edc9a784b3a5c6e020bcac
+checksum="29dc9a19ef33535db061b31180b2a833a7cf8d2cf4145b33a2f83504877bba08
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.1"
 

From 9b4283b17aaa8278dc6e967443e729fddf0a0136 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 16 Jan 2024 14:59:36 -0500
Subject: [PATCH 06/15] php8.2: update to 8.2.19.

---
 srcpkgs/php8.2/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
index 48e1220289dc1f..62914e4b8e9c30 100644
--- a/srcpkgs/php8.2/template
+++ b/srcpkgs/php8.2/template
@@ -1,8 +1,8 @@
 # Template file for 'php8.2'
 # rebuild php8.2-apcu and php8.2-imagick when updating this package
 pkgname=php8.2
-version=8.2.13
-revision=3
+version=8.2.19
+revision=1
 _php_version=8.2
 hostmakedepends="bison pkg-config apache-devel"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
@@ -18,7 +18,7 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=6a194038f5a9e46d8f70a9d59c072c3b08d6edbdd8e304096e24ccf2225bcf1b
+checksum=8bfdd20662b41a238a5acd84fab3e05c36a685fcb56e6d8ac18eeb87057ab2bc
 provides="php-runtime-${version}_1"
 
 conf_files="/etc/php${_php_version}/php.ini"

From 1d63b2daee79cf952286e30c619b5540ed519cec Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 16 Jan 2024 14:59:40 -0500
Subject: [PATCH 07/15] php8.2-igbinary: update to 3.2.15.

---
 srcpkgs/php8.2-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-igbinary/template b/srcpkgs/php8.2-igbinary/template
index 685bbd12d67b57..89ce91a138308a 100644
--- a/srcpkgs/php8.2-igbinary/template
+++ b/srcpkgs/php8.2-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-igbinary'
 pkgname=php8.2-igbinary
-version=3.2.14
+version=3.2.15
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=6337147a4fb888072566674837bda9928ee06ee7f0114b4338b86c816232925d
+checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
 
 pre_configure() {
 	phpize8.2

From 07a4a4a2191686e42a207bc01c34a798747b73a9 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 16 Jan 2024 14:59:45 -0500
Subject: [PATCH 08/15] php8.2-mongodb: update to 1.19.0.

---
 srcpkgs/php8.2-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.2-mongodb/template b/srcpkgs/php8.2-mongodb/template
index f683978b836fb0..27d68b7f72009e 100644
--- a/srcpkgs/php8.2-mongodb/template
+++ b/srcpkgs/php8.2-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.2-mongodb'
 pkgname=php8.2-mongodb
-version=1.17.0
+version=1.19.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=5e7db95103d73212ed0edf8887d92184baa5643476045cb899efbcf439847148
+checksum=2bbe89825196676e8932c87f0595922e2b1bb18a6f982ee5f37ebdc447b14d10
 
 pre_configure() {
 	phpize8.2

From e27ae990ceec44a61684759c637cc030180a5838 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 14 May 2024 08:44:44 -0400
Subject: [PATCH 09/15] xdebug8.2: update to 3.3.2.

---
 srcpkgs/xdebug8.2/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xdebug8.2/template b/srcpkgs/xdebug8.2/template
index e89f4ec8df9e13..9647c16af244bf 100644
--- a/srcpkgs/xdebug8.2/template
+++ b/srcpkgs/xdebug8.2/template
@@ -1,6 +1,6 @@
 # Template file for 'xdebug8.2'
 pkgname=xdebug8.2
-version=3.3.1
+version=3.3.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.2"
@@ -12,7 +12,7 @@ license="PHP-3.0"
 homepage="http://xdebug.org"
 changelog="https://xdebug.org/updates"
 distfiles="http://xdebug.org/files/xdebug-${version}.tgz"
-checksum=4eb4ee270bbcc5f14195c38f6ee58580e007cf4886ce32e11430318ab5bc2315
+checksum=15545b8311bedb5e7df08fd90d6653d9bf33629791e8119e70350475df932c55
 
 pre_configure() {
 	phpize8.2

From eb67bf015216c4625ab3ede7537a6031f1a22920 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 14 May 2024 08:49:32 -0400
Subject: [PATCH 10/15] composer8.2: update to 2.7.6.

---
 srcpkgs/composer8.2/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/composer8.2/template b/srcpkgs/composer8.2/template
index 8537824191ad74..907eb17abb369a 100644
--- a/srcpkgs/composer8.2/template
+++ b/srcpkgs/composer8.2/template
@@ -1,6 +1,6 @@
 # Template file for 'composer8.2'
 pkgname=composer8.2
-version=2.7.2
+version=2.7.6
 revision=1
 build_style=fetch
 depends="php8.2"
@@ -11,7 +11,7 @@ homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="049b8e0ed9f264d770a0510858cffbc35401510759edc9a784b3a5c6e020bcac
+checksum="29dc9a19ef33535db061b31180b2a833a7cf8d2cf4145b33a2f83504877bba08
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.2"
 

From f84bb7d35634a41b0ec2c60c9365c7ce05c26189 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 16 Jan 2024 14:59:49 -0500
Subject: [PATCH 11/15] php8.3: update to 8.3.7.

---
 srcpkgs/php8.3/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/php8.3/template b/srcpkgs/php8.3/template
index db22eb333826d4..d9908fa75aa776 100644
--- a/srcpkgs/php8.3/template
+++ b/srcpkgs/php8.3/template
@@ -1,8 +1,8 @@
 # Template file for 'php8.3'
 # rebuild php8.3-apcu and php8.3-imagick when updating this package
 pkgname=php8.3
-version=8.3.0
-revision=3
+version=8.3.7
+revision=1
 _php_version=8.3
 hostmakedepends="bison pkg-config apache-devel"
 makedepends="apache-devel enchant2-devel freetds-devel freetype-devel gdbm-devel
@@ -18,7 +18,7 @@ changelog="https://raw.githubusercontent.com/php/php-src/php-${version}/NEWS"
 # this is the source where the www.php.net code pulls the tarballs it serves
 # at https://www.php.net/distributions/
 distfiles="https://github.com/php/web-php-distributions/raw/master/php-${version}.tar.gz"
-checksum=557ae14650f1d1984d3213e3fcd8d93a5f11418b3f8026d3a2d5022251163951
+checksum=2e11d10b651459a8767401e66b5d70e3b048e446579fcdeb0b69bcba789af8c4
 provides="php-runtime-${version}_1"
 
 conf_files="/etc/php${_php_version}/php.ini"

From 85d4447fd2a297c7d15cd7d9a384e0696c322221 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 16 Jan 2024 14:59:54 -0500
Subject: [PATCH 12/15] php8.3-igbinary: update to 3.2.15.

---
 srcpkgs/php8.3-igbinary/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-igbinary/template b/srcpkgs/php8.3-igbinary/template
index 0604502c4c8d7c..1475cb74adffb0 100644
--- a/srcpkgs/php8.3-igbinary/template
+++ b/srcpkgs/php8.3-igbinary/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-igbinary'
 pkgname=php8.3-igbinary
-version=3.2.14
+version=3.2.15
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -12,7 +12,7 @@ maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
 license="BSD-3-Clause"
 homepage="https://github.com/igbinary/igbinary/"
 distfiles="https://pecl.php.net/get/igbinary-${version}.tgz"
-checksum=6337147a4fb888072566674837bda9928ee06ee7f0114b4338b86c816232925d
+checksum=eff099b0343b45fbe9765d4b3d441064ddefbbf9cfb7198487de9bda6b8f4907
 
 pre_configure() {
 	phpize8.3

From 1f3fd7c24e68286093c4dd216af8ae72452be1da Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 16 Jan 2024 14:59:59 -0500
Subject: [PATCH 13/15] php8.3-mongodb: update to 1.19.0.

---
 srcpkgs/php8.3-mongodb/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/php8.3-mongodb/template b/srcpkgs/php8.3-mongodb/template
index e705c7a7a15df2..f9133475d9940d 100644
--- a/srcpkgs/php8.3-mongodb/template
+++ b/srcpkgs/php8.3-mongodb/template
@@ -1,6 +1,6 @@
 # Template file for 'php8.3-mongodb'
 pkgname=php8.3-mongodb
-version=1.17.0
+version=1.19.0
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="https://pecl.php.net/package/mongodb"
 changelog="https://pecl.php.net/package-changelog.php?package=mongodb"
 distfiles="https://pecl.php.net/get/mongodb-$version.tgz"
-checksum=5e7db95103d73212ed0edf8887d92184baa5643476045cb899efbcf439847148
+checksum=2bbe89825196676e8932c87f0595922e2b1bb18a6f982ee5f37ebdc447b14d10
 
 pre_configure() {
 	phpize8.3

From a1f23c8cc2f1014b4dc14a6296892cb6f6f950d6 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 14 May 2024 08:44:46 -0400
Subject: [PATCH 14/15] xdebug8.3: update to 3.3.2.

---
 srcpkgs/xdebug8.3/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xdebug8.3/template b/srcpkgs/xdebug8.3/template
index 1fe1e03eca4550..608b1e6e20c489 100644
--- a/srcpkgs/xdebug8.3/template
+++ b/srcpkgs/xdebug8.3/template
@@ -1,6 +1,6 @@
 # Template file for 'xdebug8.3'
 pkgname=xdebug8.3
-version=3.3.1
+version=3.3.2
 revision=1
 build_style=gnu-configure
 configure_args="--with-php-config=/usr/bin/php-config8.3"
@@ -12,7 +12,7 @@ license="PHP-3.0"
 homepage="http://xdebug.org"
 changelog="https://xdebug.org/updates"
 distfiles="http://xdebug.org/files/xdebug-${version}.tgz"
-checksum=4eb4ee270bbcc5f14195c38f6ee58580e007cf4886ce32e11430318ab5bc2315
+checksum=15545b8311bedb5e7df08fd90d6653d9bf33629791e8119e70350475df932c55
 
 pre_configure() {
 	phpize8.3

From 7be0c1554d1a715cec3090a41fb4d4532cf17982 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 14 May 2024 08:49:34 -0400
Subject: [PATCH 15/15] composer8.3: update to 2.7.6.

---
 srcpkgs/composer8.3/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/composer8.3/template b/srcpkgs/composer8.3/template
index 1fad2e5f80e3b3..fd98df9fbded9b 100644
--- a/srcpkgs/composer8.3/template
+++ b/srcpkgs/composer8.3/template
@@ -1,6 +1,6 @@
 # Template file for 'composer8.3'
 pkgname=composer8.3
-version=2.7.2
+version=2.7.6
 revision=1
 build_style=fetch
 depends="php8.3"
@@ -11,7 +11,7 @@ homepage="https://getcomposer.org/"
 changelog="https://raw.githubusercontent.com/composer/composer/main/CHANGELOG.md"
 distfiles="https://github.com/composer/composer/releases/download/${version}/composer.phar
  https://raw.githubusercontent.com/composer/composer/main/LICENSE"
-checksum="049b8e0ed9f264d770a0510858cffbc35401510759edc9a784b3a5c6e020bcac
+checksum="29dc9a19ef33535db061b31180b2a833a7cf8d2cf4145b33a2f83504877bba08
  7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
 alternatives="composer:composer:/usr/bin/composer8.3"
 

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2024-11-23 11:29 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-16 14:11 [PR PATCH] PHP updates TinfoilSubmarine
2024-09-16 14:17 ` [PR PATCH] [Updated] " TinfoilSubmarine
2024-09-17  8:56 ` Johnnynator
2024-09-17 12:53 ` TinfoilSubmarine
2024-09-17 20:33 ` [PR PATCH] [Updated] " TinfoilSubmarine
2024-09-17 20:33 ` TinfoilSubmarine
2024-09-17 20:40 ` TinfoilSubmarine
2024-09-20 12:21 ` Johnnynator
2024-09-20 15:06 ` [PR PATCH] [Updated] " TinfoilSubmarine
2024-11-15 13:42 ` TinfoilSubmarine
2024-11-22 15:05 ` TinfoilSubmarine
2024-11-22 15:06 ` TinfoilSubmarine
2024-11-23 11:29 ` [PR PATCH] [Merged]: " Johnnynator
  -- strict thread matches above, loose matches on Subject: below --
2024-01-16 20:38 [PR PATCH] " TinfoilSubmarine
2024-05-14 13:11 ` [PR PATCH] [Updated] " TinfoilSubmarine

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).