Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] PHP 8.2
@ 2023-03-07 16:39 TinfoilSubmarine
  2023-03-07 16:39 ` [PR PATCH] [Updated] " TinfoilSubmarine
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: TinfoilSubmarine @ 2023-03-07 16:39 UTC (permalink / raw)
  To: ml

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

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

https://github.com/TinfoilSubmarine/void-packages maint/php8.2
https://github.com/void-linux/void-packages/pull/42642

PHP 8.2
- New package: php8.2-8.2.3
- New package: php8.2-apcu-5.1.22
- New package: php8.2-ast-1.1.0
- New package: php8.2-igbinary-3.2.14
- New package: php8.2-imagick-3.7.0
- New package: composer8.2-2.5.4
- New package: xdebug8.2-3.2.0

<!-- 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/42642.patch is attached

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

From 58231f88476a3029fc2aa874254f63de3e2d511c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 9 Dec 2022 09:09:48 -0500
Subject: [PATCH 1/7] New package: php8.2-8.2.3

---
 srcpkgs/php8.2-apache                         |   1 +
 srcpkgs/php8.2-cgi                            |   1 +
 srcpkgs/php8.2-devel                          |   1 +
 srcpkgs/php8.2-embed                          |   1 +
 srcpkgs/php8.2-enchant                        |   1 +
 srcpkgs/php8.2-ffi                            |   1 +
 srcpkgs/php8.2-fpm                            |   1 +
 srcpkgs/php8.2-gd                             |   1 +
 srcpkgs/php8.2-intl                           |   1 +
 srcpkgs/php8.2-ldap                           |   1 +
 srcpkgs/php8.2-mysql                          |   1 +
 srcpkgs/php8.2-odbc                           |   1 +
 srcpkgs/php8.2-pear                           |   1 +
 srcpkgs/php8.2-pgsql                          |   1 +
 srcpkgs/php8.2-phpdbg                         |   1 +
 srcpkgs/php8.2-snmp                           |   1 +
 srcpkgs/php8.2-sodium                         |   1 +
 srcpkgs/php8.2-sqlite                         |   1 +
 srcpkgs/php8.2-tidy                           |   1 +
 srcpkgs/php8.2-xsl                            |   1 +
 srcpkgs/php8.2/files/apache.conf              |  13 +
 srcpkgs/php8.2/files/php-fpm8.2/run           |   3 +
 srcpkgs/php8.2/patches/fix-manpages.patch     |  25 ++
 srcpkgs/php8.2/patches/php-706-crypt.patch    |  15 +
 srcpkgs/php8.2/patches/php-cross-config.patch |  22 ++
 srcpkgs/php8.2/patches/php-fpm.patch          |  13 +
 .../patches/php-ltmain-sysroot-support.patch  |  39 ++
 srcpkgs/php8.2/patches/php-pear-cross.patch   |  23 ++
 srcpkgs/php8.2/patches/php-phar-cross.patch   |  29 ++
 .../patches/php-phpize-sysroot-support.patch  |  28 ++
 srcpkgs/php8.2/patches/php.ini.patch          |  24 ++
 srcpkgs/php8.2/template                       | 366 ++++++++++++++++++
 srcpkgs/php8.2/update                         |   3 +
 33 files changed, 623 insertions(+)
 create mode 120000 srcpkgs/php8.2-apache
 create mode 120000 srcpkgs/php8.2-cgi
 create mode 120000 srcpkgs/php8.2-devel
 create mode 120000 srcpkgs/php8.2-embed
 create mode 120000 srcpkgs/php8.2-enchant
 create mode 120000 srcpkgs/php8.2-ffi
 create mode 120000 srcpkgs/php8.2-fpm
 create mode 120000 srcpkgs/php8.2-gd
 create mode 120000 srcpkgs/php8.2-intl
 create mode 120000 srcpkgs/php8.2-ldap
 create mode 120000 srcpkgs/php8.2-mysql
 create mode 120000 srcpkgs/php8.2-odbc
 create mode 120000 srcpkgs/php8.2-pear
 create mode 120000 srcpkgs/php8.2-pgsql
 create mode 120000 srcpkgs/php8.2-phpdbg
 create mode 120000 srcpkgs/php8.2-snmp
 create mode 120000 srcpkgs/php8.2-sodium
 create mode 120000 srcpkgs/php8.2-sqlite
 create mode 120000 srcpkgs/php8.2-tidy
 create mode 120000 srcpkgs/php8.2-xsl
 create mode 100644 srcpkgs/php8.2/files/apache.conf
 create mode 100755 srcpkgs/php8.2/files/php-fpm8.2/run
 create mode 100644 srcpkgs/php8.2/patches/fix-manpages.patch
 create mode 100644 srcpkgs/php8.2/patches/php-706-crypt.patch
 create mode 100644 srcpkgs/php8.2/patches/php-cross-config.patch
 create mode 100644 srcpkgs/php8.2/patches/php-fpm.patch
 create mode 100644 srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
 create mode 100644 srcpkgs/php8.2/patches/php-pear-cross.patch
 create mode 100644 srcpkgs/php8.2/patches/php-phar-cross.patch
 create mode 100644 srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
 create mode 100644 srcpkgs/php8.2/patches/php.ini.patch
 create mode 100644 srcpkgs/php8.2/template
 create mode 100644 srcpkgs/php8.2/update

diff --git a/srcpkgs/php8.2-apache b/srcpkgs/php8.2-apache
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-apache
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-cgi b/srcpkgs/php8.2-cgi
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-cgi
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-devel b/srcpkgs/php8.2-devel
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-devel
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-embed b/srcpkgs/php8.2-embed
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-embed
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-enchant b/srcpkgs/php8.2-enchant
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-enchant
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-ffi b/srcpkgs/php8.2-ffi
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-ffi
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-fpm b/srcpkgs/php8.2-fpm
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-fpm
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-gd b/srcpkgs/php8.2-gd
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-gd
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-intl b/srcpkgs/php8.2-intl
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-intl
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-ldap b/srcpkgs/php8.2-ldap
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-ldap
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-mysql b/srcpkgs/php8.2-mysql
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-mysql
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-odbc b/srcpkgs/php8.2-odbc
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-odbc
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-pear b/srcpkgs/php8.2-pear
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-pear
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-pgsql b/srcpkgs/php8.2-pgsql
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-pgsql
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-phpdbg b/srcpkgs/php8.2-phpdbg
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-phpdbg
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-snmp b/srcpkgs/php8.2-snmp
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-snmp
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-sodium b/srcpkgs/php8.2-sodium
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-sodium
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-sqlite b/srcpkgs/php8.2-sqlite
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-sqlite
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-tidy b/srcpkgs/php8.2-tidy
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-tidy
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-xsl b/srcpkgs/php8.2-xsl
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-xsl
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2/files/apache.conf b/srcpkgs/php8.2/files/apache.conf
new file mode 100644
index 000000000000..1c5e4e4e58c2
--- /dev/null
+++ b/srcpkgs/php8.2/files/apache.conf
@@ -0,0 +1,13 @@
+# Required modules: dir_module, php8.2_module
+
+<IfModule dir_module>
+	<IfModule php8.2_module>
+		DirectoryIndex index.php index.html
+		<FilesMatch "\.php$">
+			SetHandler application/x-httpd-php
+		</FilesMatch>
+		<FilesMatch "\.phps$">
+			SetHandler application/x-httpd-php-source
+		</FilesMatch>
+	</IfModule>
+</IfModule>
diff --git a/srcpkgs/php8.2/files/php-fpm8.2/run b/srcpkgs/php8.2/files/php-fpm8.2/run
new file mode 100755
index 000000000000..3e4870f22a54
--- /dev/null
+++ b/srcpkgs/php8.2/files/php-fpm8.2/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+[ -r conf ] && . ./conf
+exec php-fpm8.2 --nodaemonize ${OPTS}
diff --git a/srcpkgs/php8.2/patches/fix-manpages.patch b/srcpkgs/php8.2/patches/fix-manpages.patch
new file mode 100644
index 000000000000..7193bad72f90
--- /dev/null
+++ b/srcpkgs/php8.2/patches/fix-manpages.patch
@@ -0,0 +1,25 @@
+This patch fixes .so links in man pages.
+It's needed because of the configure option -
+
+    --program-suffix=${_php_version}
+
+The changes made by this patch should be the same as the changes made by this
+block of code -
+
+    _regexp='^[[:space:]]*\.so[[:space:]]'
+    for file in $(grep -l -e "$_regexp" -R .); do
+    	vsed -i "$file" -e "/$_regexp/"'s=^[[:space:]]*\.[^.]*=&'${_php_version}=
+    done
+
+Where _php_version is defined in the template file.
+
+--- a/ext/phar/phar.phar.1.in
++++ b/ext/phar/phar.phar.1.in
+@@ -1 +1 @@
+-.so man1/phar.1
++.so man1/phar8.2.1
+--- a/sapi/cgi/php-cgi.1.in
++++ b/sapi/cgi/php-cgi.1.in
+@@ -1 +1 @@
+-.so man1/php.1
++.so man1/php8.2.1
diff --git a/srcpkgs/php8.2/patches/php-706-crypt.patch b/srcpkgs/php8.2/patches/php-706-crypt.patch
new file mode 100644
index 000000000000..254f1d2187c2
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-706-crypt.patch
@@ -0,0 +1,15 @@
+--- 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 @@
+ 	}
+ # elif defined(HAVE_CRYPT)
+ 	crypt_res = crypt(password, salt);
++	if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) {
++		return NULL;
++	} else {
++		result = zend_string_init(crypt_res, strlen(crypt_res), 0);
++		return result;
++	}
+ # else
+ #  error No crypt() implementation
+ # endif
diff --git a/srcpkgs/php8.2/patches/php-cross-config.patch b/srcpkgs/php8.2/patches/php-cross-config.patch
new file mode 100644
index 000000000000..273d65baadc8
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-cross-config.patch
@@ -0,0 +1,22 @@
+diff --git a/configure b/configure
+index 697eba3..5e01011 100755
+--- a/configure
++++ b/configure
+@@ -60778,7 +60778,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`
+@@ -62304,7 +62304,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/php-fpm.patch b/srcpkgs/php8.2/patches/php-fpm.patch
new file mode 100644
index 000000000000..5e55e179f8a4
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-fpm.patch
@@ -0,0 +1,13 @@
+--- a/sapi/fpm/Makefile.frag	2017-04-15 23:58:56.965737425 +0200
++++ b/sapi/fpm/Makefile.frag	2017-04-16 00:00:57.814831649 +0200
+@@ -15,8 +15,8 @@ install-fpm: $(SAPI_FPM_PATH)
+ 	else \
+ 		echo "Installing PHP FPM defconfig:     $(INSTALL_ROOT)$(sysconfdir)/" && \
+ 		$(mkinstalldirs) $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d; \
+-		$(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf.default; \
+-		$(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d/www.conf.default; \
++		$(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf; \
++		$(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d/www.conf; \
+ 	fi
+ 	
+ 	@echo "Installing PHP FPM man page:      $(INSTALL_ROOT)$(mandir)/man8/"
diff --git a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
new file mode 100644
index 000000000000..bbe0a514a9e8
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
@@ -0,0 +1,39 @@
+--- 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
+ 	*) . ./$lib ;;
+ 	esac
+ 
++        newdependency_libs=
++        for deplib in $dependency_libs; do
++            deplib=$(echo "$deplib" | sed "s#^=\(.*\)#$(${CC} --print-sysroot)\1#")
++            newdependency_libs="$newdependency_libs $deplib"
++        done
++        dependency_libs=${newdependency_libs}
++
+ 	if test "$linkmode,$pass" = "lib,link" ||
+ 	   test "$linkmode,$pass" = "prog,scan" ||
+ 	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+@@ -5750,6 +5757,13 @@ fi\
+ 	  case $host,$output,$installed,$module,$dlname in
+ 	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ 	  esac
++
++          newdependency_libs=
++          for deplib in $dependency_libs; do
++              deplib=$(echo "$deplib" | sed "s#^$(${CC} --print-sysroot)#=#")
++              newdependency_libs="$newdependency_libs $deplib"
++          done
++
+ 	  $echo > $output "\
+ # $outputname - a libtool library file
+ # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+@@ -5767,7 +5781,7 @@ library_names='$library_names'
+ old_library='$old_library'
+ 
+ # Libraries that this one depends upon.
+-dependency_libs='$dependency_libs'
++dependency_libs='$newdependency_libs'
+ 
+ # Version information for $libname.
+ current=$current
diff --git a/srcpkgs/php8.2/patches/php-pear-cross.patch b/srcpkgs/php8.2/patches/php-pear-cross.patch
new file mode 100644
index 000000000000..f9191a50a0b5
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-pear-cross.patch
@@ -0,0 +1,23 @@
+--- a/pear/Makefile.frag	2020-03-17 11:40:21.000000000 +0100
++++ b/pear/Makefile.frag	2020-04-12 22:29:31.846943414 +0200
+@@ -8,9 +8,10 @@ FETCH = `which fetch 2>/dev/null`
+ PEAR_PREFIX = -dp a${program_prefix}
+ PEAR_SUFFIX = -ds a$(program_suffix)
+ PEAR_INSTALLER_URL = https://pear.php.net/install-pear-nozlib.phar
++PEAR_PHP ?= $(top_builddir)/sapi/cli/php
+ 
+ install-pear-installer: $(SAPI_CLI_PATH)
+-	@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
++	@$(PEAR_PHP) $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
+ 
+ install-pear:
+ 	@echo "Installing PEAR environment:      $(INSTALL_ROOT)$(peardir)/"
+@@ -23,7 +24,7 @@ install-pear:
+ 			elif test ! -z "$(FETCH)" && test -x "$(FETCH)"; then \
+ 				"$(FETCH)" -o $(builddir)/ "${PEAR_INSTALLER_URL}"; \
+ 			else \
+-				$(top_builddir)/sapi/cli/php -n $(srcdir)/fetch.php "${PEAR_INSTALLER_URL}" $(builddir)/install-pear-nozlib.phar; \
++				$(PEAR_PHP) -n $(srcdir)/fetch.php "${PEAR_INSTALLER_URL}" $(builddir)/install-pear-nozlib.phar; \
+ 			fi \
+ 		fi \
+ 	fi
diff --git a/srcpkgs/php8.2/patches/php-phar-cross.patch b/srcpkgs/php8.2/patches/php-phar-cross.patch
new file mode 100644
index 000000000000..1e4e627ec65b
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-phar-cross.patch
@@ -0,0 +1,29 @@
+--- a/ext/phar/Makefile.frag	2020-04-13 12:18:23.998801926 +0200
++++ b/ext/phar/Makefile.frag	2020-04-13 12:20:58.031795293 +0200
+@@ -8,12 +8,14 @@ $(srcdir)/phar_path_check.c: $(srcdir)/p
+ 
+ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
+ 
++PHAR_PHP ?= $(top_builddir)/$(SAPI_CLI_PATH)
++PHAR_PHP_MODULES ?= $(top_builddir)/modules
+ PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0
+ PHP_PHARCMD_EXECUTABLE = ` \
+-	if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
+-		$(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
++	if test -x "$(PHAR_PHP)"; then \
++		$(top_srcdir)/build/shtool echo -n -- "$(PHAR_PHP) -n"; \
+ 		if test "x$(PHP_MODULES)" != "x"; then \
+-		$(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
++		$(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(PHAR_PHP_MODULES)"; \
+ 		for i in bz2 zlib phar; do \
+ 			if test -f "$(top_builddir)/modules/$$i.la"; then \
+ 				. $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
+@@ -21,7 +23,7 @@ PHP_PHARCMD_EXECUTABLE = ` \
+ 		done; \
+ 		fi; \
+ 	else \
+-		$(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
++		$(top_srcdir)/build/shtool echo -n -- "$(PHAR_PHP)"; \
+ 	fi;`
+ PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
+ 
diff --git a/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
new file mode 100644
index 000000000000..76cff3f81664
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
@@ -0,0 +1,28 @@
+--- a/scripts/phpize.m4	2020-03-17 11:40:21.000000000 +0100
++++ b/scripts/phpize.m4	2020-04-15 12:27:36.400466387 +0200
+@@ -44,6 +44,12 @@ PHP_ARG_WITH([libdir],
+   [lib],
+   [no])
+ 
++PHP_ARG_WITH([sysroot],,
++  [AS_HELP_STRING([--with-sysroot=NAME],
++    [System sysroot])],
++    [no],
++    [no])
++
+ PHP_RUNPATH_SWITCH
+ PHP_SHLIB_SUFFIX_NAMES
+ 
+@@ -58,7 +64,11 @@ dnl For BC.
+ PHP_CONFIG=$PHP_PHP_CONFIG
+ prefix=`$PHP_CONFIG --prefix 2>/dev/null`
+ phpincludedir=`$PHP_CONFIG --include-dir 2>/dev/null`
+-INCLUDES=`$PHP_CONFIG --includes 2>/dev/null`
++if test "x$PHP_SYSROOT" = xno; then :
++	INCLUDES=`$PHP_CONFIG --includes 2>/dev/null`
++else
++	INCLUDES=`$PHP_CONFIG --includes 2>/dev/null | sed "s#-I#-I$PHP_SYSROOT#g"`
++fi
+ EXTENSION_DIR=`$PHP_CONFIG --extension-dir 2>/dev/null`
+ PHP_EXECUTABLE=`$PHP_CONFIG --php-binary 2>/dev/null`
+ 
diff --git a/srcpkgs/php8.2/patches/php.ini.patch b/srcpkgs/php8.2/patches/php.ini.patch
new file mode 100644
index 000000000000..7277c8fe5172
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php.ini.patch
@@ -0,0 +1,24 @@
+diff --git a/php.ini-production b/php.ini-production
+index b39a960..68f14a6 100644
+--- a/php.ini-production
++++ b/php.ini-production
+@@ -737,7 +737,7 @@ default_charset = "UTF-8"
+ ;;;;;;;;;;;;;;;;;;;;;;;;;
+ 
+ ; UNIX: "/path1:/path2"
+-;include_path = ".:/php/includes"
++include_path = ".:/usr/share/pear8.2"
+ ;
+ ; Windows: "\path1;\path2"
+ ;include_path = ".;c:\php\includes"
+@@ -760,9 +760,7 @@ user_dir =
+ 
+ ; Directory in which the loadable extensions (modules) reside.
+ ; https://php.net/extension-dir
+-;extension_dir = "./"
+-; On windows:
+-;extension_dir = "ext"
++extension_dir = "/usr/lib/php8.2/modules/"
+ 
+ ; Directory where the temporary files should be placed.
+ ; Defaults to the system default (see sys_get_temp_dir)
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
new file mode 100644
index 000000000000..7820d187ea23
--- /dev/null
+++ b/srcpkgs/php8.2/template
@@ -0,0 +1,366 @@
+# Template file for 'php8.2'
+pkgname=php8.2
+version=8.2.3
+revision=1
+_php_version=8.2
+hostmakedepends="bison pkg-config apache-devel"
+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"
+short_desc="HTML-embedded scripting language"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="PHP-3.01"
+homepage="https://www.php.net"
+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=7c475bcbe61d28b6878604b1b6f387f39d1a63b5f21fa8156fd7aa615d43e259
+
+conf_files="/etc/php${_php_version}/php.ini"
+
+lib32disabled=yes
+
+if [ -n "$CROSS_BUILD" ]; then
+	# phar and pear need php to build
+	hostmakedepends+=" php${_php_version}"
+	CFLAGS+=" -DHAVE_LIBDL
+		 -DHAVE_DLOPEN
+		 -DHAVE_DLSYM
+		 -DHAVE_SHM_IPC
+		 -DHAVE_SHM_MMAP_ANON
+		 -DHAVE_SHM_MMAP_ZERO
+		 -DHAVE_SHM_MMAP_POSIX
+		 -DHAVE_SHM_MMAP_FILE"
+fi
+
+alternatives="
+ php:phar.phar:/usr/bin/phar${_php_version}.phar
+ php:php:/usr/bin/php${_php_version}
+ php:phar:/usr/bin/phar${_php_version}
+ php:phar.1:/usr/share/man/man1/phar${_php_version}.1
+ 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_build() {
+	local _phpconfig="--srcdir=.. \
+		--config-cache \
+		--prefix=/usr \
+		--sbindir=/usr/bin \
+		--sysconfdir=/etc/php${_php_version} \
+		--localstatedir=/var \
+		--with-layout=GNU \
+		--with-config-file-path=/etc/php${_php_version} \
+		--with-config-file-scan-dir=/etc/php${_php_version}/conf.d \
+		--disable-rpath \
+		--mandir=/usr/share/man \
+		--libdir=/usr/lib/php${_php_version} \
+		--datarootdir=/usr/share/php${_php_version} \
+		--datadir=/usr/share/php${_php_version} \
+		--program-suffix=${_php_version} \
+		--includedir=/usr/include/php${_php_version} \
+		"
+
+	local _phpextensions="--enable-bcmath=shared \
+		--enable-calendar=shared \
+		--enable-exif=shared \
+		--enable-ftp=shared \
+		--enable-intl=shared \
+		--enable-mbstring \
+		--enable-opcache \
+		--enable-pcntl \
+		--enable-phar=shared \
+		--enable-posix=shared \
+		--enable-shmop=shared \
+		--enable-soap=shared \
+		--enable-sockets=shared \
+		--enable-sysvmsg=shared \
+		--enable-sysvsem=shared \
+		--enable-sysvshm=shared \
+		--enable-mysqlnd \
+		--enable-gd=shared \
+		--with-external-gd \
+		--with-ffi=shared \
+		--with-bz2=shared,$XBPS_CROSS_BASE/usr/ \
+		--with-curl=shared \
+		--with-db4=$XBPS_CROSS_BASE/usr \
+		--with-enchant=shared,$XBPS_CROSS_BASE/usr \
+		--with-gdbm=$XBPS_CROSS_BASE/usr \
+		--with-gettext=shared \
+		--with-gmp=shared \
+		--with-iconv=shared \
+		--with-ldap=shared,$XBPS_CROSS_BASE/usr \
+		--with-ldap-sasl \
+		--with-sodium=shared \
+		--with-mhash \
+		--with-mysql-sock=/run/mysqld/mysqld.sock \
+		--with-mysqli=shared,mysqlnd \
+		--with-openssl=shared \
+		--with-external-pcre \
+		--with-pear=/usr/share/pear${_php_version} \
+		--with-pdo-mysql=shared,mysqlnd \
+		--with-pdo-odbc=shared,unixODBC,$XBPS_CROSS_BASE/usr \
+		--with-pdo-pgsql=shared,$XBPS_CROSS_BASE/usr \
+		--with-pdo-sqlite=shared,$XBPS_CROSS_BASE/usr \
+		--with-pgsql=shared,$XBPS_CROSS_BASE/usr \
+		--with-readline=$XBPS_CROSS_BASE/usr \
+		--with-snmp=shared,$XBPS_CROSS_BASE/usr \
+		--with-sqlite3=shared,$XBPS_CROSS_BASE/usr \
+		--with-unixODBC=shared,$XBPS_CROSS_BASE/usr \
+		--with-xsl=shared,$XBPS_CROSS_BASE/usr \
+		--with-tidy=shared,$XBPS_CROSS_BASE/usr \
+		--with-zip=shared \
+		--with-zlib \
+		${configure_args} \
+		"
+	if [ -n "$CROSS_BUILD" ]; then
+		local _make_env="PHAR_PHP=/usr/bin/php${_php_version} PHAR_PHP_MODULES=/usr/lib/php${_php_version}/modules"
+	fi
+
+	EXTENSION_DIR="/usr/lib/php${_php_version}/modules"
+	export EXTENSION_DIR
+	PEAR_INSTALLDIR=/usr/share/pear${_php_version}
+	export PEAR_INSTALLDIR
+	EXTRA_LIBS="-ldl"
+	export EXTRA_LIBS
+
+	# cgi,cli,embed,fcgi,fpm
+	mkdir -p build
+	cd build
+	ln -s ${wrksrc}/configure
+	./configure ${_phpconfig} \
+		--host=${XBPS_CROSS_TRIPLET} \
+		--enable-cgi \
+		--enable-fpm \
+		--with-fpm-user=http \
+		--with-fpm-group=http \
+		--enable-embed=shared \
+		${_phpextensions}
+	make ${makejobs} ${_make_env}
+
+	# apache
+	# reuse the previous run; this will save us a lot of time
+	cp -a ${wrksrc}/build ${wrksrc}/build-apache
+	cd ${wrksrc}/build-apache
+	./configure ${_phpconfig} \
+		--host=${XBPS_CROSS_TRIPLET} \
+		--with-apxs2 \
+		${_phpextensions}
+	make ${makejobs} ${_make_env}
+}
+
+do_install() {
+	cd ${wrksrc}/build
+	local _env="INSTALL_ROOT=${DESTDIR}"
+	if [ -n "$CROSS_BUILD" ]; then
+		_env+=" PHAR_PHP=/usr/bin/php${_php_version}"
+	fi
+	make ${_env} install-{modules,cli,build,headers,programs,pharcmd}
+
+	# install php.ini
+	vinstall ${wrksrc}/php.ini-production 644 "etc/php${_php_version}" php.ini
+	# remove static modules
+	rm -f "${DESTDIR}/usr/lib/php${_php_version}/modules/*.a"
+}
+
+php8.2-devel_package() {
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/php${_php_version}/build"
+		vmove "usr/bin/php-config${_php_version}"
+		vmove "usr/bin/phpize${_php_version}"
+		vmove "usr/share/man/man1/phpize${_php_version}.1"
+		vmove "usr/share/man/man1/php-config${_php_version}.1"
+	}
+}
+
+php8.2-phpdbg_package() {
+	short_desc+=" - interactive debugger"
+	depends="php${_php_version}>=${version}_${revision}"
+	pkg_install() {
+		cd ${wrksrc}/build
+		make INSTALL_ROOT=${PKGDESTDIR} install-phpdbg
+	}
+}
+
+php8.2-cgi_package() {
+	short_desc+=' - CGI and FCGI SAPI'
+	depends="php${_php_version}>=${version}_${revision}"
+	pkg_install() {
+		cd ${wrksrc}/build
+		make INSTALL_ROOT=${PKGDESTDIR} install-cgi
+	}
+}
+
+php8.2-apache_package() {
+	short_desc+=' - Apache SAPI'
+	depends="php${_php_version}>=${version}_${revision}"
+	conf_files="/etc/apache/extra/php${_php_version}_module.conf"
+	pkg_install() {
+		vinstall ${wrksrc}/build-apache/libs/libphp.so 755 usr/libexec/httpd/modules "libphp${_php_version}.so"
+		vinstall ${FILESDIR}/apache.conf 644 etc/apache/extra "php${_php_version}_module.conf"
+	}
+}
+
+php8.2-fpm_package() {
+	short_desc+=' - FastCGI Process Manager'
+	depends="php${_php_version}>=${version}_${revision}"
+	conf_files="/etc/php${_php_version}/php-fpm.conf /etc/php${_php_version}/php-fpm.d/*"
+	pkg_install() {
+		cd ${wrksrc}/build
+		make INSTALL_ROOT=${PKGDESTDIR} install-fpm
+		vsv "php-fpm${_php_version}"
+	}
+}
+
+php8.2-embed_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - Embed SAPI'
+	pkg_install() {
+		cd ${wrksrc}/build
+		make INSTALL_ROOT=${PKGDESTDIR} PHP_SAPI=embed install-sapi
+		mv ${PKGDESTDIR}/usr/lib/libphp.so ${PKGDESTDIR}/usr/lib/libphp${_php_version}.so
+	}
+}
+
+php8.2-pear_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}
+	 php${_php_version}>=devel-${version}_${revision} autoconf"
+	short_desc+=' - PHP Extension and Application Repository'
+	conf_files="/etc/php${_php_version}/pear.conf"
+	pkg_install() {
+		cd ${wrksrc}/build
+		local _env="INSTALL_ROOT=${PKGDESTDIR} PHP_PEAR_PHP_BIN=php${_php_version}"
+		if [ -n "$CROSS_BUILD" ]; then
+			_env+=" PEAR_PHP=/usr/bin/php${_php_version}"
+		fi
+		make install-pear ${_env}
+		rm -rf ${PKGDESTDIR}/.{channels,depdb,depdblock,filemap,lock,registry}
+		rm -rf ${PKGDESTDIR}/usr/share/pear/.{channels,depdb,depdblock,filemap,lock,registry}
+		mv ${PKGDESTDIR}/usr/bin/pear{,${_php_version}}
+		mv ${PKGDESTDIR}/usr/bin/peardev{,${_php_version}}
+		mv ${PKGDESTDIR}/usr/bin/pecl{,${_php_version}}
+	}
+}
+
+php8.2-enchant_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - enchant module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/enchant.so"
+	}
+}
+
+php8.2-gd_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - gd module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/gd.so"
+	}
+}
+
+php8.2-intl_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - Internationalization module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/intl.so"
+	}
+}
+
+php8.2-ldap_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - LDAP module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/ldap.so"
+	}
+}
+
+php8.2-mysql_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - MySQL modules'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*mysql*.so"
+	}
+}
+
+php8.2-odbc_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - ODBC modules'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*odbc.so"
+	}
+}
+
+php8.2-pgsql_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - PostgreSQL modules'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*pgsql.so"
+	}
+}
+
+php8.2-snmp_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - snmp module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/snmp.so"
+	}
+}
+
+php8.2-sqlite_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - sqlite module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*sqlite*.so"
+	}
+}
+
+php8.2-tidy_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - tidy HTML module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*tidy*.so"
+	}
+}
+
+php8.2-xsl_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - XSL module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/xsl.so"
+	}
+}
+
+php8.2-sodium_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - sodium module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/sodium.so"
+	}
+}
+
+php8.2-ffi_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - FFI module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/ffi.so"
+	}
+}
diff --git a/srcpkgs/php8.2/update b/srcpkgs/php8.2/update
new file mode 100644
index 000000000000..82751690d96b
--- /dev/null
+++ b/srcpkgs/php8.2/update
@@ -0,0 +1,3 @@
+pkgname=php
+ignore="8.[3-9].*"
+site="https://www.php.net/distributions/"

From 421868414a936dc74ec4b503a9fd5d538571914f Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:42:56 -0500
Subject: [PATCH 2/7] New package: php8.2-apcu-5.1.22

---
 srcpkgs/php8.2-apcu/INSTALL.msg |  3 +++
 srcpkgs/php8.2-apcu/template    | 28 ++++++++++++++++++++++++++++
 srcpkgs/php8.2-apcu/update      |  2 ++
 3 files changed, 33 insertions(+)
 create mode 100644 srcpkgs/php8.2-apcu/INSTALL.msg
 create mode 100644 srcpkgs/php8.2-apcu/template
 create mode 100644 srcpkgs/php8.2-apcu/update

diff --git a/srcpkgs/php8.2-apcu/INSTALL.msg b/srcpkgs/php8.2-apcu/INSTALL.msg
new file mode 100644
index 000000000000..9da8a70ccc2b
--- /dev/null
+++ b/srcpkgs/php8.2-apcu/INSTALL.msg
@@ -0,0 +1,3 @@
+To enable APCu add the following line to your php.ini:
+
+	extension=apcu.so
diff --git a/srcpkgs/php8.2-apcu/template b/srcpkgs/php8.2-apcu/template
new file mode 100644
index 000000000000..4334113d7a90
--- /dev/null
+++ b/srcpkgs/php8.2-apcu/template
@@ -0,0 +1,28 @@
+# Template file for 'php8.2-apcu'
+pkgname=php8.2-apcu
+version=5.1.22
+revision=1
+build_style=gnu-configure
+configure_args="--with-php-config=/usr/bin/php-config8.2"
+make_check_target=test
+hostmakedepends="autoconf php8.2-devel"
+makedepends="php8.2-devel pcre2-devel"
+depends="php8.2"
+short_desc="In-memory key-value store for PHP"
+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=010a0d8fd112e1ed7a52a356191da3696a6b76319423f7b0dfdeaeeafcb41a1e
+
+pre_configure() {
+	phpize8.2
+}
+
+pre_install() {
+	make_install_args="INSTALL_ROOT=$DESTDIR"
+}
+
+post_install() {
+	rm -r $DESTDIR/usr/include
+}
diff --git a/srcpkgs/php8.2-apcu/update b/srcpkgs/php8.2-apcu/update
new file mode 100644
index 000000000000..ad899519e313
--- /dev/null
+++ b/srcpkgs/php8.2-apcu/update
@@ -0,0 +1,2 @@
+site="https://pecl.php.net/package/APCu"
+pattern="apcu-\K[\d\.]*(?=\.tgz)"

From fb9f81f7448a05f4256a3c51d1e87707ee71653a Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:42:58 -0500
Subject: [PATCH 3/7] New package: php8.2-ast-1.1.0

---
 srcpkgs/php8.2-ast/INSTALL.msg |  2 ++
 srcpkgs/php8.2-ast/template    | 27 +++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 srcpkgs/php8.2-ast/INSTALL.msg
 create mode 100644 srcpkgs/php8.2-ast/template

diff --git a/srcpkgs/php8.2-ast/INSTALL.msg b/srcpkgs/php8.2-ast/INSTALL.msg
new file mode 100644
index 000000000000..0dd0b5df2d96
--- /dev/null
+++ b/srcpkgs/php8.2-ast/INSTALL.msg
@@ -0,0 +1,2 @@
+To enable the ast extension please add the following to php.ini:
+	extension=ast.so 
diff --git a/srcpkgs/php8.2-ast/template b/srcpkgs/php8.2-ast/template
new file mode 100644
index 000000000000..6e641a07445c
--- /dev/null
+++ b/srcpkgs/php8.2-ast/template
@@ -0,0 +1,27 @@
+# Template file for 'php8.2-ast'
+pkgname=php8.2-ast
+version=1.1.0
+revision=1
+build_style=gnu-configure
+configure_args="--with-php-config=/usr/bin/php-config8.2"
+make_check_target="test"
+hostmakedepends="php8.2-devel autoconf"
+makedepends="php8.2-devel"
+depends="php8.2"
+checkdepends="${depends}"
+short_desc="Exposes the abstract syntax tree generated by PHP"
+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=ee3d4f67e24d82e4d340806a24052012e4954d223122949377665427443e6d13
+make_check_pre="env NO_INTERACTION=1"
+
+pre_configure() {
+	phpize8.2
+}
+
+do_install() {
+	make INSTALL_ROOT=${DESTDIR} install
+	vlicense LICENSE
+}

From 2afa7752b9baf14e8add1c0a699a3df57ced18bb Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:43:01 -0500
Subject: [PATCH 4/7] New package: php8.2-igbinary-3.2.14

---
 srcpkgs/php8.2-igbinary/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 srcpkgs/php8.2-igbinary/template

diff --git a/srcpkgs/php8.2-igbinary/template b/srcpkgs/php8.2-igbinary/template
new file mode 100644
index 000000000000..685bbd12d67b
--- /dev/null
+++ b/srcpkgs/php8.2-igbinary/template
@@ -0,0 +1,24 @@
+# Template file for 'php8.2-igbinary'
+pkgname=php8.2-igbinary
+version=3.2.14
+revision=1
+build_style=gnu-configure
+configure_args="--with-php-config=/usr/bin/php-config8.2"
+hostmakedepends="autoconf php8.2-devel"
+makedepends="php8.2-devel"
+depends="php8.2"
+short_desc="Igbinary is a drop in replacement for the standard php serializer"
+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
+
+pre_configure() {
+	phpize8.2
+}
+
+do_install() {
+	make INSTALL_ROOT="${DESTDIR}" install
+	vlicense COPYING
+}

From 089e0ec3ad1f013c6563dd29c9b8b2b8b859ff01 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:43:04 -0500
Subject: [PATCH 5/7] New package: php8.2-imagick-3.7.0

---
 srcpkgs/php8.2-imagick/INSTALL.msg            |  3 ++
 ...le-libmagick-header-file-search-path.patch | 17 +++++++++++
 srcpkgs/php8.2-imagick/template               | 28 +++++++++++++++++++
 srcpkgs/php8.2-imagick/update                 |  1 +
 4 files changed, 49 insertions(+)
 create mode 100644 srcpkgs/php8.2-imagick/INSTALL.msg
 create mode 100644 srcpkgs/php8.2-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch
 create mode 100644 srcpkgs/php8.2-imagick/template
 create mode 100644 srcpkgs/php8.2-imagick/update

diff --git a/srcpkgs/php8.2-imagick/INSTALL.msg b/srcpkgs/php8.2-imagick/INSTALL.msg
new file mode 100644
index 000000000000..00497519fcee
--- /dev/null
+++ b/srcpkgs/php8.2-imagick/INSTALL.msg
@@ -0,0 +1,3 @@
+To enable the Imagick extension add the following line to your php.ini:
+
+	extension=imagick.so
diff --git a/srcpkgs/php8.2-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch b/srcpkgs/php8.2-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch
new file mode 100644
index 000000000000..16b8aaa57371
--- /dev/null
+++ b/srcpkgs/php8.2-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch
@@ -0,0 +1,17 @@
+--- a/imagemagick.m4	2021-09-09 10:53:42.287881616 +0200
++++ b/imagemagick.m4	2021-09-09 11:14:47.662312430 +0200
+@@ -167,6 +167,14 @@ AC_DEFUN([IM_FIND_IMAGEMAGICK],[
+   
+     AC_MSG_RESULT([user location ${IM_IMAGEMAGICK_PREFIX}/include/ImageMagick-${IM_MAJOR_VERSION}/wand/MagickWand.h])
+ 
++  elif test -r "${IM_IMAGEMAGICK_PREFIX}/include/ImageMagick-${IM_MAJOR_VERSION}/MagickWand/MagickWand.h"; then
++
++    IM_INCLUDE_FORMAT="MagickWand/MagickWand.h"
++    IM_HEADER_STYLE="SEVEN"
++    AC_DEFINE([IM_MAGICKWAND_HEADER_STYLE_SEVEN], [1], [ImageMagick 7.x style header])
++
++    AC_MSG_RESULT([${IM_PREFIX}/include/ImageMagick-${IM_MAJOR_VERSION}/MagickWand/MagickWand.h])
++
+   elif test -r "${IM_PREFIX}/include/ImageMagick-${IM_MAJOR_VERSION}/MagickWand/MagickWand.h"; then
+ 
+     IM_INCLUDE_FORMAT="MagickWand/MagickWand.h"
diff --git a/srcpkgs/php8.2-imagick/template b/srcpkgs/php8.2-imagick/template
new file mode 100644
index 000000000000..e8bb6109c896
--- /dev/null
+++ b/srcpkgs/php8.2-imagick/template
@@ -0,0 +1,28 @@
+# Template file for 'php8.2-imagick'
+pkgname=php8.2-imagick
+version=3.7.0
+revision=1
+build_style=gnu-configure
+configure_args="--with-imagick=${XBPS_CROSS_BASE}/usr \
+ --with-php-config=/usr/bin/php-config8.2"
+hostmakedepends="php8.2-devel autoconf pkg-config"
+makedepends="php8.2-devel pcre2-devel libmagick-devel"
+depends="php8.2"
+short_desc="Provides a PHP wrapper to the ImageMagick library"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="PHP-3.01"
+homepage="https://pecl.php.net/package/imagick"
+distfiles="https://pecl.php.net/get/imagick-$version.tgz"
+checksum=5a364354109029d224bcbb2e82e15b248be9b641227f45e63425c06531792d3e
+
+pre_configure() {
+	phpize8.2
+}
+
+pre_install() {
+	make_install_args="INSTALL_ROOT=$DESTDIR"
+}
+
+post_install() {
+	rm -r $DESTDIR/usr/include
+}
diff --git a/srcpkgs/php8.2-imagick/update b/srcpkgs/php8.2-imagick/update
new file mode 100644
index 000000000000..fb47044a964d
--- /dev/null
+++ b/srcpkgs/php8.2-imagick/update
@@ -0,0 +1 @@
+pattern='<th.*Release \K[\d.]+(?=:</th>)'

From 296f6a72e736baa90faa87716b882da4e4b60772 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:44:45 -0500
Subject: [PATCH 6/7] New package: composer8.2-2.5.4

---
 srcpkgs/composer8.2/files/composer8.2 |  2 ++
 srcpkgs/composer8.2/template          | 27 +++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 srcpkgs/composer8.2/files/composer8.2
 create mode 100644 srcpkgs/composer8.2/template

diff --git a/srcpkgs/composer8.2/files/composer8.2 b/srcpkgs/composer8.2/files/composer8.2
new file mode 100644
index 000000000000..8b81a9c513b3
--- /dev/null
+++ b/srcpkgs/composer8.2/files/composer8.2
@@ -0,0 +1,2 @@
+#!/bin/sh
+php8.2 /usr/libexec/composer.phar8.2 "$@"
diff --git a/srcpkgs/composer8.2/template b/srcpkgs/composer8.2/template
new file mode 100644
index 000000000000..6c6deaa0e07b
--- /dev/null
+++ b/srcpkgs/composer8.2/template
@@ -0,0 +1,27 @@
+# Template file for 'composer8.2'
+pkgname=composer8.2
+version=2.5.4
+revision=1
+build_style=fetch
+depends="php8.2"
+short_desc="Dependency manager for PHP"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+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="2e1061821951c6a5ece033a025d06296d4a1d056fee2f4bebd35815cf4b1b0f9
+ 7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
+alternatives="composer:composer:/usr/bin/composer8.2"
+
+do_install() {
+	vbin ${FILESDIR}/composer8.2
+
+	vinstall composer.phar 644 usr/libexec composer.phar8.2
+	vlicense LICENSE
+
+	vmkdir /etc/php8.2/conf.d
+	printf 'extension=%s\n' phar iconv openssl zip \
+		>${DESTDIR}/etc/php8.2/conf.d/composer.ini
+}

From 3e9a43ec5f9d595f23e33873ffc273c539993e89 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:45:56 -0500
Subject: [PATCH 7/7] New package: xdebug8.2-3.2.0

---
 srcpkgs/xdebug8.2/INSTALL.msg |  1 +
 srcpkgs/xdebug8.2/template    | 24 ++++++++++++++++++++++++
 srcpkgs/xdebug8.2/update      |  2 ++
 3 files changed, 27 insertions(+)
 create mode 100644 srcpkgs/xdebug8.2/INSTALL.msg
 create mode 100644 srcpkgs/xdebug8.2/template
 create mode 100644 srcpkgs/xdebug8.2/update

diff --git a/srcpkgs/xdebug8.2/INSTALL.msg b/srcpkgs/xdebug8.2/INSTALL.msg
new file mode 100644
index 000000000000..04e3343216f7
--- /dev/null
+++ b/srcpkgs/xdebug8.2/INSTALL.msg
@@ -0,0 +1 @@
+You should add 'zend_extension="xdebug.so"' to php.ini
diff --git a/srcpkgs/xdebug8.2/template b/srcpkgs/xdebug8.2/template
new file mode 100644
index 000000000000..c1510f29c1c4
--- /dev/null
+++ b/srcpkgs/xdebug8.2/template
@@ -0,0 +1,24 @@
+# Template file for 'xdebug8.2'
+pkgname=xdebug8.2
+version=3.2.0
+revision=1
+build_style=gnu-configure
+configure_args="--with-php-config=/usr/bin/php-config8.2"
+hostmakedepends="autoconf php8.2-devel"
+makedepends="php8.2-devel"
+short_desc="PHP debugging extension"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="PHP-3.0"
+homepage="http://xdebug.org"
+changelog="https://xdebug.org/updates"
+distfiles="http://xdebug.org/files/xdebug-${version}.tgz"
+checksum=7769b20eecdadf5fbe9f582512c10b394fb575b6f7a8c3a3a82db6883e0032b7
+
+pre_configure() {
+	phpize8.2
+}
+
+do_install() {
+	make INSTALL_ROOT=${DESTDIR} install
+	vlicense LICENSE
+}
diff --git a/srcpkgs/xdebug8.2/update b/srcpkgs/xdebug8.2/update
new file mode 100644
index 000000000000..280b0bc7e3ac
--- /dev/null
+++ b/srcpkgs/xdebug8.2/update
@@ -0,0 +1,2 @@
+site="https://xdebug.org/updates"
+pattern='<dt><a name=.*></a>.*Xdebug \K[\d.]+(?=</dt>)'

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

* Re: [PR PATCH] [Updated] PHP 8.2
  2023-03-07 16:39 [PR PATCH] PHP 8.2 TinfoilSubmarine
@ 2023-03-07 16:39 ` TinfoilSubmarine
  2023-03-07 18:17 ` TinfoilSubmarine
  2023-03-09  8:14 ` [PR PATCH] [Merged]: " paper42
  2 siblings, 0 replies; 4+ messages in thread
From: TinfoilSubmarine @ 2023-03-07 16:39 UTC (permalink / raw)
  To: ml

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

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

https://github.com/TinfoilSubmarine/void-packages maint/php8.2
https://github.com/void-linux/void-packages/pull/42642

PHP 8.2
- New package: php8.2-8.2.3
- New package: php8.2-apcu-5.1.22
- New package: php8.2-ast-1.1.0
- New package: php8.2-igbinary-3.2.14
- New package: php8.2-imagick-3.7.0
- New package: composer8.2-2.5.4
- New package: xdebug8.2-3.2.0

<!-- 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/42642.patch is attached

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

From 58231f88476a3029fc2aa874254f63de3e2d511c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 9 Dec 2022 09:09:48 -0500
Subject: [PATCH 1/8] New package: php8.2-8.2.3

---
 srcpkgs/php8.2-apache                         |   1 +
 srcpkgs/php8.2-cgi                            |   1 +
 srcpkgs/php8.2-devel                          |   1 +
 srcpkgs/php8.2-embed                          |   1 +
 srcpkgs/php8.2-enchant                        |   1 +
 srcpkgs/php8.2-ffi                            |   1 +
 srcpkgs/php8.2-fpm                            |   1 +
 srcpkgs/php8.2-gd                             |   1 +
 srcpkgs/php8.2-intl                           |   1 +
 srcpkgs/php8.2-ldap                           |   1 +
 srcpkgs/php8.2-mysql                          |   1 +
 srcpkgs/php8.2-odbc                           |   1 +
 srcpkgs/php8.2-pear                           |   1 +
 srcpkgs/php8.2-pgsql                          |   1 +
 srcpkgs/php8.2-phpdbg                         |   1 +
 srcpkgs/php8.2-snmp                           |   1 +
 srcpkgs/php8.2-sodium                         |   1 +
 srcpkgs/php8.2-sqlite                         |   1 +
 srcpkgs/php8.2-tidy                           |   1 +
 srcpkgs/php8.2-xsl                            |   1 +
 srcpkgs/php8.2/files/apache.conf              |  13 +
 srcpkgs/php8.2/files/php-fpm8.2/run           |   3 +
 srcpkgs/php8.2/patches/fix-manpages.patch     |  25 ++
 srcpkgs/php8.2/patches/php-706-crypt.patch    |  15 +
 srcpkgs/php8.2/patches/php-cross-config.patch |  22 ++
 srcpkgs/php8.2/patches/php-fpm.patch          |  13 +
 .../patches/php-ltmain-sysroot-support.patch  |  39 ++
 srcpkgs/php8.2/patches/php-pear-cross.patch   |  23 ++
 srcpkgs/php8.2/patches/php-phar-cross.patch   |  29 ++
 .../patches/php-phpize-sysroot-support.patch  |  28 ++
 srcpkgs/php8.2/patches/php.ini.patch          |  24 ++
 srcpkgs/php8.2/template                       | 366 ++++++++++++++++++
 srcpkgs/php8.2/update                         |   3 +
 33 files changed, 623 insertions(+)
 create mode 120000 srcpkgs/php8.2-apache
 create mode 120000 srcpkgs/php8.2-cgi
 create mode 120000 srcpkgs/php8.2-devel
 create mode 120000 srcpkgs/php8.2-embed
 create mode 120000 srcpkgs/php8.2-enchant
 create mode 120000 srcpkgs/php8.2-ffi
 create mode 120000 srcpkgs/php8.2-fpm
 create mode 120000 srcpkgs/php8.2-gd
 create mode 120000 srcpkgs/php8.2-intl
 create mode 120000 srcpkgs/php8.2-ldap
 create mode 120000 srcpkgs/php8.2-mysql
 create mode 120000 srcpkgs/php8.2-odbc
 create mode 120000 srcpkgs/php8.2-pear
 create mode 120000 srcpkgs/php8.2-pgsql
 create mode 120000 srcpkgs/php8.2-phpdbg
 create mode 120000 srcpkgs/php8.2-snmp
 create mode 120000 srcpkgs/php8.2-sodium
 create mode 120000 srcpkgs/php8.2-sqlite
 create mode 120000 srcpkgs/php8.2-tidy
 create mode 120000 srcpkgs/php8.2-xsl
 create mode 100644 srcpkgs/php8.2/files/apache.conf
 create mode 100755 srcpkgs/php8.2/files/php-fpm8.2/run
 create mode 100644 srcpkgs/php8.2/patches/fix-manpages.patch
 create mode 100644 srcpkgs/php8.2/patches/php-706-crypt.patch
 create mode 100644 srcpkgs/php8.2/patches/php-cross-config.patch
 create mode 100644 srcpkgs/php8.2/patches/php-fpm.patch
 create mode 100644 srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
 create mode 100644 srcpkgs/php8.2/patches/php-pear-cross.patch
 create mode 100644 srcpkgs/php8.2/patches/php-phar-cross.patch
 create mode 100644 srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
 create mode 100644 srcpkgs/php8.2/patches/php.ini.patch
 create mode 100644 srcpkgs/php8.2/template
 create mode 100644 srcpkgs/php8.2/update

diff --git a/srcpkgs/php8.2-apache b/srcpkgs/php8.2-apache
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-apache
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-cgi b/srcpkgs/php8.2-cgi
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-cgi
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-devel b/srcpkgs/php8.2-devel
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-devel
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-embed b/srcpkgs/php8.2-embed
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-embed
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-enchant b/srcpkgs/php8.2-enchant
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-enchant
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-ffi b/srcpkgs/php8.2-ffi
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-ffi
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-fpm b/srcpkgs/php8.2-fpm
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-fpm
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-gd b/srcpkgs/php8.2-gd
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-gd
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-intl b/srcpkgs/php8.2-intl
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-intl
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-ldap b/srcpkgs/php8.2-ldap
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-ldap
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-mysql b/srcpkgs/php8.2-mysql
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-mysql
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-odbc b/srcpkgs/php8.2-odbc
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-odbc
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-pear b/srcpkgs/php8.2-pear
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-pear
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-pgsql b/srcpkgs/php8.2-pgsql
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-pgsql
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-phpdbg b/srcpkgs/php8.2-phpdbg
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-phpdbg
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-snmp b/srcpkgs/php8.2-snmp
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-snmp
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-sodium b/srcpkgs/php8.2-sodium
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-sodium
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-sqlite b/srcpkgs/php8.2-sqlite
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-sqlite
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-tidy b/srcpkgs/php8.2-tidy
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-tidy
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-xsl b/srcpkgs/php8.2-xsl
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-xsl
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2/files/apache.conf b/srcpkgs/php8.2/files/apache.conf
new file mode 100644
index 000000000000..1c5e4e4e58c2
--- /dev/null
+++ b/srcpkgs/php8.2/files/apache.conf
@@ -0,0 +1,13 @@
+# Required modules: dir_module, php8.2_module
+
+<IfModule dir_module>
+	<IfModule php8.2_module>
+		DirectoryIndex index.php index.html
+		<FilesMatch "\.php$">
+			SetHandler application/x-httpd-php
+		</FilesMatch>
+		<FilesMatch "\.phps$">
+			SetHandler application/x-httpd-php-source
+		</FilesMatch>
+	</IfModule>
+</IfModule>
diff --git a/srcpkgs/php8.2/files/php-fpm8.2/run b/srcpkgs/php8.2/files/php-fpm8.2/run
new file mode 100755
index 000000000000..3e4870f22a54
--- /dev/null
+++ b/srcpkgs/php8.2/files/php-fpm8.2/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+[ -r conf ] && . ./conf
+exec php-fpm8.2 --nodaemonize ${OPTS}
diff --git a/srcpkgs/php8.2/patches/fix-manpages.patch b/srcpkgs/php8.2/patches/fix-manpages.patch
new file mode 100644
index 000000000000..7193bad72f90
--- /dev/null
+++ b/srcpkgs/php8.2/patches/fix-manpages.patch
@@ -0,0 +1,25 @@
+This patch fixes .so links in man pages.
+It's needed because of the configure option -
+
+    --program-suffix=${_php_version}
+
+The changes made by this patch should be the same as the changes made by this
+block of code -
+
+    _regexp='^[[:space:]]*\.so[[:space:]]'
+    for file in $(grep -l -e "$_regexp" -R .); do
+    	vsed -i "$file" -e "/$_regexp/"'s=^[[:space:]]*\.[^.]*=&'${_php_version}=
+    done
+
+Where _php_version is defined in the template file.
+
+--- a/ext/phar/phar.phar.1.in
++++ b/ext/phar/phar.phar.1.in
+@@ -1 +1 @@
+-.so man1/phar.1
++.so man1/phar8.2.1
+--- a/sapi/cgi/php-cgi.1.in
++++ b/sapi/cgi/php-cgi.1.in
+@@ -1 +1 @@
+-.so man1/php.1
++.so man1/php8.2.1
diff --git a/srcpkgs/php8.2/patches/php-706-crypt.patch b/srcpkgs/php8.2/patches/php-706-crypt.patch
new file mode 100644
index 000000000000..254f1d2187c2
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-706-crypt.patch
@@ -0,0 +1,15 @@
+--- 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 @@
+ 	}
+ # elif defined(HAVE_CRYPT)
+ 	crypt_res = crypt(password, salt);
++	if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) {
++		return NULL;
++	} else {
++		result = zend_string_init(crypt_res, strlen(crypt_res), 0);
++		return result;
++	}
+ # else
+ #  error No crypt() implementation
+ # endif
diff --git a/srcpkgs/php8.2/patches/php-cross-config.patch b/srcpkgs/php8.2/patches/php-cross-config.patch
new file mode 100644
index 000000000000..273d65baadc8
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-cross-config.patch
@@ -0,0 +1,22 @@
+diff --git a/configure b/configure
+index 697eba3..5e01011 100755
+--- a/configure
++++ b/configure
+@@ -60778,7 +60778,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`
+@@ -62304,7 +62304,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/php-fpm.patch b/srcpkgs/php8.2/patches/php-fpm.patch
new file mode 100644
index 000000000000..5e55e179f8a4
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-fpm.patch
@@ -0,0 +1,13 @@
+--- a/sapi/fpm/Makefile.frag	2017-04-15 23:58:56.965737425 +0200
++++ b/sapi/fpm/Makefile.frag	2017-04-16 00:00:57.814831649 +0200
+@@ -15,8 +15,8 @@ install-fpm: $(SAPI_FPM_PATH)
+ 	else \
+ 		echo "Installing PHP FPM defconfig:     $(INSTALL_ROOT)$(sysconfdir)/" && \
+ 		$(mkinstalldirs) $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d; \
+-		$(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf.default; \
+-		$(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d/www.conf.default; \
++		$(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf; \
++		$(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d/www.conf; \
+ 	fi
+ 	
+ 	@echo "Installing PHP FPM man page:      $(INSTALL_ROOT)$(mandir)/man8/"
diff --git a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
new file mode 100644
index 000000000000..bbe0a514a9e8
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
@@ -0,0 +1,39 @@
+--- 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
+ 	*) . ./$lib ;;
+ 	esac
+ 
++        newdependency_libs=
++        for deplib in $dependency_libs; do
++            deplib=$(echo "$deplib" | sed "s#^=\(.*\)#$(${CC} --print-sysroot)\1#")
++            newdependency_libs="$newdependency_libs $deplib"
++        done
++        dependency_libs=${newdependency_libs}
++
+ 	if test "$linkmode,$pass" = "lib,link" ||
+ 	   test "$linkmode,$pass" = "prog,scan" ||
+ 	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+@@ -5750,6 +5757,13 @@ fi\
+ 	  case $host,$output,$installed,$module,$dlname in
+ 	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ 	  esac
++
++          newdependency_libs=
++          for deplib in $dependency_libs; do
++              deplib=$(echo "$deplib" | sed "s#^$(${CC} --print-sysroot)#=#")
++              newdependency_libs="$newdependency_libs $deplib"
++          done
++
+ 	  $echo > $output "\
+ # $outputname - a libtool library file
+ # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+@@ -5767,7 +5781,7 @@ library_names='$library_names'
+ old_library='$old_library'
+ 
+ # Libraries that this one depends upon.
+-dependency_libs='$dependency_libs'
++dependency_libs='$newdependency_libs'
+ 
+ # Version information for $libname.
+ current=$current
diff --git a/srcpkgs/php8.2/patches/php-pear-cross.patch b/srcpkgs/php8.2/patches/php-pear-cross.patch
new file mode 100644
index 000000000000..f9191a50a0b5
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-pear-cross.patch
@@ -0,0 +1,23 @@
+--- a/pear/Makefile.frag	2020-03-17 11:40:21.000000000 +0100
++++ b/pear/Makefile.frag	2020-04-12 22:29:31.846943414 +0200
+@@ -8,9 +8,10 @@ FETCH = `which fetch 2>/dev/null`
+ PEAR_PREFIX = -dp a${program_prefix}
+ PEAR_SUFFIX = -ds a$(program_suffix)
+ PEAR_INSTALLER_URL = https://pear.php.net/install-pear-nozlib.phar
++PEAR_PHP ?= $(top_builddir)/sapi/cli/php
+ 
+ install-pear-installer: $(SAPI_CLI_PATH)
+-	@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
++	@$(PEAR_PHP) $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
+ 
+ install-pear:
+ 	@echo "Installing PEAR environment:      $(INSTALL_ROOT)$(peardir)/"
+@@ -23,7 +24,7 @@ install-pear:
+ 			elif test ! -z "$(FETCH)" && test -x "$(FETCH)"; then \
+ 				"$(FETCH)" -o $(builddir)/ "${PEAR_INSTALLER_URL}"; \
+ 			else \
+-				$(top_builddir)/sapi/cli/php -n $(srcdir)/fetch.php "${PEAR_INSTALLER_URL}" $(builddir)/install-pear-nozlib.phar; \
++				$(PEAR_PHP) -n $(srcdir)/fetch.php "${PEAR_INSTALLER_URL}" $(builddir)/install-pear-nozlib.phar; \
+ 			fi \
+ 		fi \
+ 	fi
diff --git a/srcpkgs/php8.2/patches/php-phar-cross.patch b/srcpkgs/php8.2/patches/php-phar-cross.patch
new file mode 100644
index 000000000000..1e4e627ec65b
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-phar-cross.patch
@@ -0,0 +1,29 @@
+--- a/ext/phar/Makefile.frag	2020-04-13 12:18:23.998801926 +0200
++++ b/ext/phar/Makefile.frag	2020-04-13 12:20:58.031795293 +0200
+@@ -8,12 +8,14 @@ $(srcdir)/phar_path_check.c: $(srcdir)/p
+ 
+ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
+ 
++PHAR_PHP ?= $(top_builddir)/$(SAPI_CLI_PATH)
++PHAR_PHP_MODULES ?= $(top_builddir)/modules
+ PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0
+ PHP_PHARCMD_EXECUTABLE = ` \
+-	if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
+-		$(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
++	if test -x "$(PHAR_PHP)"; then \
++		$(top_srcdir)/build/shtool echo -n -- "$(PHAR_PHP) -n"; \
+ 		if test "x$(PHP_MODULES)" != "x"; then \
+-		$(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
++		$(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(PHAR_PHP_MODULES)"; \
+ 		for i in bz2 zlib phar; do \
+ 			if test -f "$(top_builddir)/modules/$$i.la"; then \
+ 				. $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
+@@ -21,7 +23,7 @@ PHP_PHARCMD_EXECUTABLE = ` \
+ 		done; \
+ 		fi; \
+ 	else \
+-		$(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
++		$(top_srcdir)/build/shtool echo -n -- "$(PHAR_PHP)"; \
+ 	fi;`
+ PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
+ 
diff --git a/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
new file mode 100644
index 000000000000..76cff3f81664
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
@@ -0,0 +1,28 @@
+--- a/scripts/phpize.m4	2020-03-17 11:40:21.000000000 +0100
++++ b/scripts/phpize.m4	2020-04-15 12:27:36.400466387 +0200
+@@ -44,6 +44,12 @@ PHP_ARG_WITH([libdir],
+   [lib],
+   [no])
+ 
++PHP_ARG_WITH([sysroot],,
++  [AS_HELP_STRING([--with-sysroot=NAME],
++    [System sysroot])],
++    [no],
++    [no])
++
+ PHP_RUNPATH_SWITCH
+ PHP_SHLIB_SUFFIX_NAMES
+ 
+@@ -58,7 +64,11 @@ dnl For BC.
+ PHP_CONFIG=$PHP_PHP_CONFIG
+ prefix=`$PHP_CONFIG --prefix 2>/dev/null`
+ phpincludedir=`$PHP_CONFIG --include-dir 2>/dev/null`
+-INCLUDES=`$PHP_CONFIG --includes 2>/dev/null`
++if test "x$PHP_SYSROOT" = xno; then :
++	INCLUDES=`$PHP_CONFIG --includes 2>/dev/null`
++else
++	INCLUDES=`$PHP_CONFIG --includes 2>/dev/null | sed "s#-I#-I$PHP_SYSROOT#g"`
++fi
+ EXTENSION_DIR=`$PHP_CONFIG --extension-dir 2>/dev/null`
+ PHP_EXECUTABLE=`$PHP_CONFIG --php-binary 2>/dev/null`
+ 
diff --git a/srcpkgs/php8.2/patches/php.ini.patch b/srcpkgs/php8.2/patches/php.ini.patch
new file mode 100644
index 000000000000..7277c8fe5172
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php.ini.patch
@@ -0,0 +1,24 @@
+diff --git a/php.ini-production b/php.ini-production
+index b39a960..68f14a6 100644
+--- a/php.ini-production
++++ b/php.ini-production
+@@ -737,7 +737,7 @@ default_charset = "UTF-8"
+ ;;;;;;;;;;;;;;;;;;;;;;;;;
+ 
+ ; UNIX: "/path1:/path2"
+-;include_path = ".:/php/includes"
++include_path = ".:/usr/share/pear8.2"
+ ;
+ ; Windows: "\path1;\path2"
+ ;include_path = ".;c:\php\includes"
+@@ -760,9 +760,7 @@ user_dir =
+ 
+ ; Directory in which the loadable extensions (modules) reside.
+ ; https://php.net/extension-dir
+-;extension_dir = "./"
+-; On windows:
+-;extension_dir = "ext"
++extension_dir = "/usr/lib/php8.2/modules/"
+ 
+ ; Directory where the temporary files should be placed.
+ ; Defaults to the system default (see sys_get_temp_dir)
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
new file mode 100644
index 000000000000..7820d187ea23
--- /dev/null
+++ b/srcpkgs/php8.2/template
@@ -0,0 +1,366 @@
+# Template file for 'php8.2'
+pkgname=php8.2
+version=8.2.3
+revision=1
+_php_version=8.2
+hostmakedepends="bison pkg-config apache-devel"
+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"
+short_desc="HTML-embedded scripting language"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="PHP-3.01"
+homepage="https://www.php.net"
+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=7c475bcbe61d28b6878604b1b6f387f39d1a63b5f21fa8156fd7aa615d43e259
+
+conf_files="/etc/php${_php_version}/php.ini"
+
+lib32disabled=yes
+
+if [ -n "$CROSS_BUILD" ]; then
+	# phar and pear need php to build
+	hostmakedepends+=" php${_php_version}"
+	CFLAGS+=" -DHAVE_LIBDL
+		 -DHAVE_DLOPEN
+		 -DHAVE_DLSYM
+		 -DHAVE_SHM_IPC
+		 -DHAVE_SHM_MMAP_ANON
+		 -DHAVE_SHM_MMAP_ZERO
+		 -DHAVE_SHM_MMAP_POSIX
+		 -DHAVE_SHM_MMAP_FILE"
+fi
+
+alternatives="
+ php:phar.phar:/usr/bin/phar${_php_version}.phar
+ php:php:/usr/bin/php${_php_version}
+ php:phar:/usr/bin/phar${_php_version}
+ php:phar.1:/usr/share/man/man1/phar${_php_version}.1
+ 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_build() {
+	local _phpconfig="--srcdir=.. \
+		--config-cache \
+		--prefix=/usr \
+		--sbindir=/usr/bin \
+		--sysconfdir=/etc/php${_php_version} \
+		--localstatedir=/var \
+		--with-layout=GNU \
+		--with-config-file-path=/etc/php${_php_version} \
+		--with-config-file-scan-dir=/etc/php${_php_version}/conf.d \
+		--disable-rpath \
+		--mandir=/usr/share/man \
+		--libdir=/usr/lib/php${_php_version} \
+		--datarootdir=/usr/share/php${_php_version} \
+		--datadir=/usr/share/php${_php_version} \
+		--program-suffix=${_php_version} \
+		--includedir=/usr/include/php${_php_version} \
+		"
+
+	local _phpextensions="--enable-bcmath=shared \
+		--enable-calendar=shared \
+		--enable-exif=shared \
+		--enable-ftp=shared \
+		--enable-intl=shared \
+		--enable-mbstring \
+		--enable-opcache \
+		--enable-pcntl \
+		--enable-phar=shared \
+		--enable-posix=shared \
+		--enable-shmop=shared \
+		--enable-soap=shared \
+		--enable-sockets=shared \
+		--enable-sysvmsg=shared \
+		--enable-sysvsem=shared \
+		--enable-sysvshm=shared \
+		--enable-mysqlnd \
+		--enable-gd=shared \
+		--with-external-gd \
+		--with-ffi=shared \
+		--with-bz2=shared,$XBPS_CROSS_BASE/usr/ \
+		--with-curl=shared \
+		--with-db4=$XBPS_CROSS_BASE/usr \
+		--with-enchant=shared,$XBPS_CROSS_BASE/usr \
+		--with-gdbm=$XBPS_CROSS_BASE/usr \
+		--with-gettext=shared \
+		--with-gmp=shared \
+		--with-iconv=shared \
+		--with-ldap=shared,$XBPS_CROSS_BASE/usr \
+		--with-ldap-sasl \
+		--with-sodium=shared \
+		--with-mhash \
+		--with-mysql-sock=/run/mysqld/mysqld.sock \
+		--with-mysqli=shared,mysqlnd \
+		--with-openssl=shared \
+		--with-external-pcre \
+		--with-pear=/usr/share/pear${_php_version} \
+		--with-pdo-mysql=shared,mysqlnd \
+		--with-pdo-odbc=shared,unixODBC,$XBPS_CROSS_BASE/usr \
+		--with-pdo-pgsql=shared,$XBPS_CROSS_BASE/usr \
+		--with-pdo-sqlite=shared,$XBPS_CROSS_BASE/usr \
+		--with-pgsql=shared,$XBPS_CROSS_BASE/usr \
+		--with-readline=$XBPS_CROSS_BASE/usr \
+		--with-snmp=shared,$XBPS_CROSS_BASE/usr \
+		--with-sqlite3=shared,$XBPS_CROSS_BASE/usr \
+		--with-unixODBC=shared,$XBPS_CROSS_BASE/usr \
+		--with-xsl=shared,$XBPS_CROSS_BASE/usr \
+		--with-tidy=shared,$XBPS_CROSS_BASE/usr \
+		--with-zip=shared \
+		--with-zlib \
+		${configure_args} \
+		"
+	if [ -n "$CROSS_BUILD" ]; then
+		local _make_env="PHAR_PHP=/usr/bin/php${_php_version} PHAR_PHP_MODULES=/usr/lib/php${_php_version}/modules"
+	fi
+
+	EXTENSION_DIR="/usr/lib/php${_php_version}/modules"
+	export EXTENSION_DIR
+	PEAR_INSTALLDIR=/usr/share/pear${_php_version}
+	export PEAR_INSTALLDIR
+	EXTRA_LIBS="-ldl"
+	export EXTRA_LIBS
+
+	# cgi,cli,embed,fcgi,fpm
+	mkdir -p build
+	cd build
+	ln -s ${wrksrc}/configure
+	./configure ${_phpconfig} \
+		--host=${XBPS_CROSS_TRIPLET} \
+		--enable-cgi \
+		--enable-fpm \
+		--with-fpm-user=http \
+		--with-fpm-group=http \
+		--enable-embed=shared \
+		${_phpextensions}
+	make ${makejobs} ${_make_env}
+
+	# apache
+	# reuse the previous run; this will save us a lot of time
+	cp -a ${wrksrc}/build ${wrksrc}/build-apache
+	cd ${wrksrc}/build-apache
+	./configure ${_phpconfig} \
+		--host=${XBPS_CROSS_TRIPLET} \
+		--with-apxs2 \
+		${_phpextensions}
+	make ${makejobs} ${_make_env}
+}
+
+do_install() {
+	cd ${wrksrc}/build
+	local _env="INSTALL_ROOT=${DESTDIR}"
+	if [ -n "$CROSS_BUILD" ]; then
+		_env+=" PHAR_PHP=/usr/bin/php${_php_version}"
+	fi
+	make ${_env} install-{modules,cli,build,headers,programs,pharcmd}
+
+	# install php.ini
+	vinstall ${wrksrc}/php.ini-production 644 "etc/php${_php_version}" php.ini
+	# remove static modules
+	rm -f "${DESTDIR}/usr/lib/php${_php_version}/modules/*.a"
+}
+
+php8.2-devel_package() {
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/php${_php_version}/build"
+		vmove "usr/bin/php-config${_php_version}"
+		vmove "usr/bin/phpize${_php_version}"
+		vmove "usr/share/man/man1/phpize${_php_version}.1"
+		vmove "usr/share/man/man1/php-config${_php_version}.1"
+	}
+}
+
+php8.2-phpdbg_package() {
+	short_desc+=" - interactive debugger"
+	depends="php${_php_version}>=${version}_${revision}"
+	pkg_install() {
+		cd ${wrksrc}/build
+		make INSTALL_ROOT=${PKGDESTDIR} install-phpdbg
+	}
+}
+
+php8.2-cgi_package() {
+	short_desc+=' - CGI and FCGI SAPI'
+	depends="php${_php_version}>=${version}_${revision}"
+	pkg_install() {
+		cd ${wrksrc}/build
+		make INSTALL_ROOT=${PKGDESTDIR} install-cgi
+	}
+}
+
+php8.2-apache_package() {
+	short_desc+=' - Apache SAPI'
+	depends="php${_php_version}>=${version}_${revision}"
+	conf_files="/etc/apache/extra/php${_php_version}_module.conf"
+	pkg_install() {
+		vinstall ${wrksrc}/build-apache/libs/libphp.so 755 usr/libexec/httpd/modules "libphp${_php_version}.so"
+		vinstall ${FILESDIR}/apache.conf 644 etc/apache/extra "php${_php_version}_module.conf"
+	}
+}
+
+php8.2-fpm_package() {
+	short_desc+=' - FastCGI Process Manager'
+	depends="php${_php_version}>=${version}_${revision}"
+	conf_files="/etc/php${_php_version}/php-fpm.conf /etc/php${_php_version}/php-fpm.d/*"
+	pkg_install() {
+		cd ${wrksrc}/build
+		make INSTALL_ROOT=${PKGDESTDIR} install-fpm
+		vsv "php-fpm${_php_version}"
+	}
+}
+
+php8.2-embed_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - Embed SAPI'
+	pkg_install() {
+		cd ${wrksrc}/build
+		make INSTALL_ROOT=${PKGDESTDIR} PHP_SAPI=embed install-sapi
+		mv ${PKGDESTDIR}/usr/lib/libphp.so ${PKGDESTDIR}/usr/lib/libphp${_php_version}.so
+	}
+}
+
+php8.2-pear_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}
+	 php${_php_version}>=devel-${version}_${revision} autoconf"
+	short_desc+=' - PHP Extension and Application Repository'
+	conf_files="/etc/php${_php_version}/pear.conf"
+	pkg_install() {
+		cd ${wrksrc}/build
+		local _env="INSTALL_ROOT=${PKGDESTDIR} PHP_PEAR_PHP_BIN=php${_php_version}"
+		if [ -n "$CROSS_BUILD" ]; then
+			_env+=" PEAR_PHP=/usr/bin/php${_php_version}"
+		fi
+		make install-pear ${_env}
+		rm -rf ${PKGDESTDIR}/.{channels,depdb,depdblock,filemap,lock,registry}
+		rm -rf ${PKGDESTDIR}/usr/share/pear/.{channels,depdb,depdblock,filemap,lock,registry}
+		mv ${PKGDESTDIR}/usr/bin/pear{,${_php_version}}
+		mv ${PKGDESTDIR}/usr/bin/peardev{,${_php_version}}
+		mv ${PKGDESTDIR}/usr/bin/pecl{,${_php_version}}
+	}
+}
+
+php8.2-enchant_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - enchant module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/enchant.so"
+	}
+}
+
+php8.2-gd_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - gd module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/gd.so"
+	}
+}
+
+php8.2-intl_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - Internationalization module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/intl.so"
+	}
+}
+
+php8.2-ldap_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - LDAP module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/ldap.so"
+	}
+}
+
+php8.2-mysql_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - MySQL modules'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*mysql*.so"
+	}
+}
+
+php8.2-odbc_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - ODBC modules'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*odbc.so"
+	}
+}
+
+php8.2-pgsql_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - PostgreSQL modules'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*pgsql.so"
+	}
+}
+
+php8.2-snmp_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - snmp module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/snmp.so"
+	}
+}
+
+php8.2-sqlite_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - sqlite module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*sqlite*.so"
+	}
+}
+
+php8.2-tidy_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - tidy HTML module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*tidy*.so"
+	}
+}
+
+php8.2-xsl_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - XSL module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/xsl.so"
+	}
+}
+
+php8.2-sodium_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - sodium module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/sodium.so"
+	}
+}
+
+php8.2-ffi_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - FFI module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/ffi.so"
+	}
+}
diff --git a/srcpkgs/php8.2/update b/srcpkgs/php8.2/update
new file mode 100644
index 000000000000..82751690d96b
--- /dev/null
+++ b/srcpkgs/php8.2/update
@@ -0,0 +1,3 @@
+pkgname=php
+ignore="8.[3-9].*"
+site="https://www.php.net/distributions/"

From 421868414a936dc74ec4b503a9fd5d538571914f Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:42:56 -0500
Subject: [PATCH 2/8] New package: php8.2-apcu-5.1.22

---
 srcpkgs/php8.2-apcu/INSTALL.msg |  3 +++
 srcpkgs/php8.2-apcu/template    | 28 ++++++++++++++++++++++++++++
 srcpkgs/php8.2-apcu/update      |  2 ++
 3 files changed, 33 insertions(+)
 create mode 100644 srcpkgs/php8.2-apcu/INSTALL.msg
 create mode 100644 srcpkgs/php8.2-apcu/template
 create mode 100644 srcpkgs/php8.2-apcu/update

diff --git a/srcpkgs/php8.2-apcu/INSTALL.msg b/srcpkgs/php8.2-apcu/INSTALL.msg
new file mode 100644
index 000000000000..9da8a70ccc2b
--- /dev/null
+++ b/srcpkgs/php8.2-apcu/INSTALL.msg
@@ -0,0 +1,3 @@
+To enable APCu add the following line to your php.ini:
+
+	extension=apcu.so
diff --git a/srcpkgs/php8.2-apcu/template b/srcpkgs/php8.2-apcu/template
new file mode 100644
index 000000000000..4334113d7a90
--- /dev/null
+++ b/srcpkgs/php8.2-apcu/template
@@ -0,0 +1,28 @@
+# Template file for 'php8.2-apcu'
+pkgname=php8.2-apcu
+version=5.1.22
+revision=1
+build_style=gnu-configure
+configure_args="--with-php-config=/usr/bin/php-config8.2"
+make_check_target=test
+hostmakedepends="autoconf php8.2-devel"
+makedepends="php8.2-devel pcre2-devel"
+depends="php8.2"
+short_desc="In-memory key-value store for PHP"
+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=010a0d8fd112e1ed7a52a356191da3696a6b76319423f7b0dfdeaeeafcb41a1e
+
+pre_configure() {
+	phpize8.2
+}
+
+pre_install() {
+	make_install_args="INSTALL_ROOT=$DESTDIR"
+}
+
+post_install() {
+	rm -r $DESTDIR/usr/include
+}
diff --git a/srcpkgs/php8.2-apcu/update b/srcpkgs/php8.2-apcu/update
new file mode 100644
index 000000000000..ad899519e313
--- /dev/null
+++ b/srcpkgs/php8.2-apcu/update
@@ -0,0 +1,2 @@
+site="https://pecl.php.net/package/APCu"
+pattern="apcu-\K[\d\.]*(?=\.tgz)"

From fb9f81f7448a05f4256a3c51d1e87707ee71653a Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:42:58 -0500
Subject: [PATCH 3/8] New package: php8.2-ast-1.1.0

---
 srcpkgs/php8.2-ast/INSTALL.msg |  2 ++
 srcpkgs/php8.2-ast/template    | 27 +++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 srcpkgs/php8.2-ast/INSTALL.msg
 create mode 100644 srcpkgs/php8.2-ast/template

diff --git a/srcpkgs/php8.2-ast/INSTALL.msg b/srcpkgs/php8.2-ast/INSTALL.msg
new file mode 100644
index 000000000000..0dd0b5df2d96
--- /dev/null
+++ b/srcpkgs/php8.2-ast/INSTALL.msg
@@ -0,0 +1,2 @@
+To enable the ast extension please add the following to php.ini:
+	extension=ast.so 
diff --git a/srcpkgs/php8.2-ast/template b/srcpkgs/php8.2-ast/template
new file mode 100644
index 000000000000..6e641a07445c
--- /dev/null
+++ b/srcpkgs/php8.2-ast/template
@@ -0,0 +1,27 @@
+# Template file for 'php8.2-ast'
+pkgname=php8.2-ast
+version=1.1.0
+revision=1
+build_style=gnu-configure
+configure_args="--with-php-config=/usr/bin/php-config8.2"
+make_check_target="test"
+hostmakedepends="php8.2-devel autoconf"
+makedepends="php8.2-devel"
+depends="php8.2"
+checkdepends="${depends}"
+short_desc="Exposes the abstract syntax tree generated by PHP"
+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=ee3d4f67e24d82e4d340806a24052012e4954d223122949377665427443e6d13
+make_check_pre="env NO_INTERACTION=1"
+
+pre_configure() {
+	phpize8.2
+}
+
+do_install() {
+	make INSTALL_ROOT=${DESTDIR} install
+	vlicense LICENSE
+}

From 2afa7752b9baf14e8add1c0a699a3df57ced18bb Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:43:01 -0500
Subject: [PATCH 4/8] New package: php8.2-igbinary-3.2.14

---
 srcpkgs/php8.2-igbinary/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 srcpkgs/php8.2-igbinary/template

diff --git a/srcpkgs/php8.2-igbinary/template b/srcpkgs/php8.2-igbinary/template
new file mode 100644
index 000000000000..685bbd12d67b
--- /dev/null
+++ b/srcpkgs/php8.2-igbinary/template
@@ -0,0 +1,24 @@
+# Template file for 'php8.2-igbinary'
+pkgname=php8.2-igbinary
+version=3.2.14
+revision=1
+build_style=gnu-configure
+configure_args="--with-php-config=/usr/bin/php-config8.2"
+hostmakedepends="autoconf php8.2-devel"
+makedepends="php8.2-devel"
+depends="php8.2"
+short_desc="Igbinary is a drop in replacement for the standard php serializer"
+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
+
+pre_configure() {
+	phpize8.2
+}
+
+do_install() {
+	make INSTALL_ROOT="${DESTDIR}" install
+	vlicense COPYING
+}

From 089e0ec3ad1f013c6563dd29c9b8b2b8b859ff01 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:43:04 -0500
Subject: [PATCH 5/8] New package: php8.2-imagick-3.7.0

---
 srcpkgs/php8.2-imagick/INSTALL.msg            |  3 ++
 ...le-libmagick-header-file-search-path.patch | 17 +++++++++++
 srcpkgs/php8.2-imagick/template               | 28 +++++++++++++++++++
 srcpkgs/php8.2-imagick/update                 |  1 +
 4 files changed, 49 insertions(+)
 create mode 100644 srcpkgs/php8.2-imagick/INSTALL.msg
 create mode 100644 srcpkgs/php8.2-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch
 create mode 100644 srcpkgs/php8.2-imagick/template
 create mode 100644 srcpkgs/php8.2-imagick/update

diff --git a/srcpkgs/php8.2-imagick/INSTALL.msg b/srcpkgs/php8.2-imagick/INSTALL.msg
new file mode 100644
index 000000000000..00497519fcee
--- /dev/null
+++ b/srcpkgs/php8.2-imagick/INSTALL.msg
@@ -0,0 +1,3 @@
+To enable the Imagick extension add the following line to your php.ini:
+
+	extension=imagick.so
diff --git a/srcpkgs/php8.2-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch b/srcpkgs/php8.2-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch
new file mode 100644
index 000000000000..16b8aaa57371
--- /dev/null
+++ b/srcpkgs/php8.2-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch
@@ -0,0 +1,17 @@
+--- a/imagemagick.m4	2021-09-09 10:53:42.287881616 +0200
++++ b/imagemagick.m4	2021-09-09 11:14:47.662312430 +0200
+@@ -167,6 +167,14 @@ AC_DEFUN([IM_FIND_IMAGEMAGICK],[
+   
+     AC_MSG_RESULT([user location ${IM_IMAGEMAGICK_PREFIX}/include/ImageMagick-${IM_MAJOR_VERSION}/wand/MagickWand.h])
+ 
++  elif test -r "${IM_IMAGEMAGICK_PREFIX}/include/ImageMagick-${IM_MAJOR_VERSION}/MagickWand/MagickWand.h"; then
++
++    IM_INCLUDE_FORMAT="MagickWand/MagickWand.h"
++    IM_HEADER_STYLE="SEVEN"
++    AC_DEFINE([IM_MAGICKWAND_HEADER_STYLE_SEVEN], [1], [ImageMagick 7.x style header])
++
++    AC_MSG_RESULT([${IM_PREFIX}/include/ImageMagick-${IM_MAJOR_VERSION}/MagickWand/MagickWand.h])
++
+   elif test -r "${IM_PREFIX}/include/ImageMagick-${IM_MAJOR_VERSION}/MagickWand/MagickWand.h"; then
+ 
+     IM_INCLUDE_FORMAT="MagickWand/MagickWand.h"
diff --git a/srcpkgs/php8.2-imagick/template b/srcpkgs/php8.2-imagick/template
new file mode 100644
index 000000000000..e8bb6109c896
--- /dev/null
+++ b/srcpkgs/php8.2-imagick/template
@@ -0,0 +1,28 @@
+# Template file for 'php8.2-imagick'
+pkgname=php8.2-imagick
+version=3.7.0
+revision=1
+build_style=gnu-configure
+configure_args="--with-imagick=${XBPS_CROSS_BASE}/usr \
+ --with-php-config=/usr/bin/php-config8.2"
+hostmakedepends="php8.2-devel autoconf pkg-config"
+makedepends="php8.2-devel pcre2-devel libmagick-devel"
+depends="php8.2"
+short_desc="Provides a PHP wrapper to the ImageMagick library"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="PHP-3.01"
+homepage="https://pecl.php.net/package/imagick"
+distfiles="https://pecl.php.net/get/imagick-$version.tgz"
+checksum=5a364354109029d224bcbb2e82e15b248be9b641227f45e63425c06531792d3e
+
+pre_configure() {
+	phpize8.2
+}
+
+pre_install() {
+	make_install_args="INSTALL_ROOT=$DESTDIR"
+}
+
+post_install() {
+	rm -r $DESTDIR/usr/include
+}
diff --git a/srcpkgs/php8.2-imagick/update b/srcpkgs/php8.2-imagick/update
new file mode 100644
index 000000000000..fb47044a964d
--- /dev/null
+++ b/srcpkgs/php8.2-imagick/update
@@ -0,0 +1 @@
+pattern='<th.*Release \K[\d.]+(?=:</th>)'

From 296f6a72e736baa90faa87716b882da4e4b60772 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:44:45 -0500
Subject: [PATCH 6/8] New package: composer8.2-2.5.4

---
 srcpkgs/composer8.2/files/composer8.2 |  2 ++
 srcpkgs/composer8.2/template          | 27 +++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 srcpkgs/composer8.2/files/composer8.2
 create mode 100644 srcpkgs/composer8.2/template

diff --git a/srcpkgs/composer8.2/files/composer8.2 b/srcpkgs/composer8.2/files/composer8.2
new file mode 100644
index 000000000000..8b81a9c513b3
--- /dev/null
+++ b/srcpkgs/composer8.2/files/composer8.2
@@ -0,0 +1,2 @@
+#!/bin/sh
+php8.2 /usr/libexec/composer.phar8.2 "$@"
diff --git a/srcpkgs/composer8.2/template b/srcpkgs/composer8.2/template
new file mode 100644
index 000000000000..6c6deaa0e07b
--- /dev/null
+++ b/srcpkgs/composer8.2/template
@@ -0,0 +1,27 @@
+# Template file for 'composer8.2'
+pkgname=composer8.2
+version=2.5.4
+revision=1
+build_style=fetch
+depends="php8.2"
+short_desc="Dependency manager for PHP"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+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="2e1061821951c6a5ece033a025d06296d4a1d056fee2f4bebd35815cf4b1b0f9
+ 7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
+alternatives="composer:composer:/usr/bin/composer8.2"
+
+do_install() {
+	vbin ${FILESDIR}/composer8.2
+
+	vinstall composer.phar 644 usr/libexec composer.phar8.2
+	vlicense LICENSE
+
+	vmkdir /etc/php8.2/conf.d
+	printf 'extension=%s\n' phar iconv openssl zip \
+		>${DESTDIR}/etc/php8.2/conf.d/composer.ini
+}

From 3e9a43ec5f9d595f23e33873ffc273c539993e89 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:45:56 -0500
Subject: [PATCH 7/8] New package: xdebug8.2-3.2.0

---
 srcpkgs/xdebug8.2/INSTALL.msg |  1 +
 srcpkgs/xdebug8.2/template    | 24 ++++++++++++++++++++++++
 srcpkgs/xdebug8.2/update      |  2 ++
 3 files changed, 27 insertions(+)
 create mode 100644 srcpkgs/xdebug8.2/INSTALL.msg
 create mode 100644 srcpkgs/xdebug8.2/template
 create mode 100644 srcpkgs/xdebug8.2/update

diff --git a/srcpkgs/xdebug8.2/INSTALL.msg b/srcpkgs/xdebug8.2/INSTALL.msg
new file mode 100644
index 000000000000..04e3343216f7
--- /dev/null
+++ b/srcpkgs/xdebug8.2/INSTALL.msg
@@ -0,0 +1 @@
+You should add 'zend_extension="xdebug.so"' to php.ini
diff --git a/srcpkgs/xdebug8.2/template b/srcpkgs/xdebug8.2/template
new file mode 100644
index 000000000000..c1510f29c1c4
--- /dev/null
+++ b/srcpkgs/xdebug8.2/template
@@ -0,0 +1,24 @@
+# Template file for 'xdebug8.2'
+pkgname=xdebug8.2
+version=3.2.0
+revision=1
+build_style=gnu-configure
+configure_args="--with-php-config=/usr/bin/php-config8.2"
+hostmakedepends="autoconf php8.2-devel"
+makedepends="php8.2-devel"
+short_desc="PHP debugging extension"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="PHP-3.0"
+homepage="http://xdebug.org"
+changelog="https://xdebug.org/updates"
+distfiles="http://xdebug.org/files/xdebug-${version}.tgz"
+checksum=7769b20eecdadf5fbe9f582512c10b394fb575b6f7a8c3a3a82db6883e0032b7
+
+pre_configure() {
+	phpize8.2
+}
+
+do_install() {
+	make INSTALL_ROOT=${DESTDIR} install
+	vlicense LICENSE
+}
diff --git a/srcpkgs/xdebug8.2/update b/srcpkgs/xdebug8.2/update
new file mode 100644
index 000000000000..280b0bc7e3ac
--- /dev/null
+++ b/srcpkgs/xdebug8.2/update
@@ -0,0 +1,2 @@
+site="https://xdebug.org/updates"
+pattern='<dt><a name=.*></a>.*Xdebug \K[\d.]+(?=</dt>)'

From d59f3c9696e8ff8239822c3b10b4fd8502e41f20 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 11:39:45 -0500
Subject: [PATCH 8/8] php: update to 8.2.

---
 srcpkgs/php/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/php/template b/srcpkgs/php/template
index 9f8ae7f8edf0..ec485a5a6d42 100644
--- a/srcpkgs/php/template
+++ b/srcpkgs/php/template
@@ -1,6 +1,6 @@
 # Template file for 'php'
 pkgname=php
-version=8.1
+version=8.2
 revision=1
 build_style=meta
 depends="php${version}"

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

* Re: [PR PATCH] [Updated] PHP 8.2
  2023-03-07 16:39 [PR PATCH] PHP 8.2 TinfoilSubmarine
  2023-03-07 16:39 ` [PR PATCH] [Updated] " TinfoilSubmarine
@ 2023-03-07 18:17 ` TinfoilSubmarine
  2023-03-09  8:14 ` [PR PATCH] [Merged]: " paper42
  2 siblings, 0 replies; 4+ messages in thread
From: TinfoilSubmarine @ 2023-03-07 18:17 UTC (permalink / raw)
  To: ml

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

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

https://github.com/TinfoilSubmarine/void-packages maint/php8.2
https://github.com/void-linux/void-packages/pull/42642

PHP 8.2
- New package: php8.2-8.2.3
- New package: php8.2-apcu-5.1.22
- New package: php8.2-ast-1.1.0
- New package: php8.2-igbinary-3.2.14
- New package: php8.2-imagick-3.7.0
- New package: composer8.2-2.5.4
- New package: xdebug8.2-3.2.0

<!-- 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/42642.patch is attached

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

From 95ce906d9909a2f03e80f6cb41c6598756ae146a Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Fri, 9 Dec 2022 09:09:48 -0500
Subject: [PATCH 1/8] New package: php8.2-8.2.3

---
 srcpkgs/php8.2-apache                         |   1 +
 srcpkgs/php8.2-cgi                            |   1 +
 srcpkgs/php8.2-devel                          |   1 +
 srcpkgs/php8.2-embed                          |   1 +
 srcpkgs/php8.2-enchant                        |   1 +
 srcpkgs/php8.2-ffi                            |   1 +
 srcpkgs/php8.2-fpm                            |   1 +
 srcpkgs/php8.2-gd                             |   1 +
 srcpkgs/php8.2-intl                           |   1 +
 srcpkgs/php8.2-ldap                           |   1 +
 srcpkgs/php8.2-mysql                          |   1 +
 srcpkgs/php8.2-odbc                           |   1 +
 srcpkgs/php8.2-pear                           |   1 +
 srcpkgs/php8.2-pgsql                          |   1 +
 srcpkgs/php8.2-phpdbg                         |   1 +
 srcpkgs/php8.2-snmp                           |   1 +
 srcpkgs/php8.2-sodium                         |   1 +
 srcpkgs/php8.2-sqlite                         |   1 +
 srcpkgs/php8.2-tidy                           |   1 +
 srcpkgs/php8.2-xsl                            |   1 +
 srcpkgs/php8.2/files/apache.conf              |  13 +
 srcpkgs/php8.2/files/php-fpm8.2/run           |   3 +
 srcpkgs/php8.2/patches/fix-manpages.patch     |  25 ++
 srcpkgs/php8.2/patches/php-706-crypt.patch    |  15 +
 srcpkgs/php8.2/patches/php-cross-config.patch |  22 ++
 srcpkgs/php8.2/patches/php-fpm.patch          |  13 +
 .../patches/php-ltmain-sysroot-support.patch  |  39 ++
 srcpkgs/php8.2/patches/php-pear-cross.patch   |  23 ++
 srcpkgs/php8.2/patches/php-phar-cross.patch   |  29 ++
 .../patches/php-phpize-sysroot-support.patch  |  28 ++
 srcpkgs/php8.2/patches/php.ini.patch          |  24 ++
 srcpkgs/php8.2/template                       | 366 ++++++++++++++++++
 srcpkgs/php8.2/update                         |   3 +
 33 files changed, 623 insertions(+)
 create mode 120000 srcpkgs/php8.2-apache
 create mode 120000 srcpkgs/php8.2-cgi
 create mode 120000 srcpkgs/php8.2-devel
 create mode 120000 srcpkgs/php8.2-embed
 create mode 120000 srcpkgs/php8.2-enchant
 create mode 120000 srcpkgs/php8.2-ffi
 create mode 120000 srcpkgs/php8.2-fpm
 create mode 120000 srcpkgs/php8.2-gd
 create mode 120000 srcpkgs/php8.2-intl
 create mode 120000 srcpkgs/php8.2-ldap
 create mode 120000 srcpkgs/php8.2-mysql
 create mode 120000 srcpkgs/php8.2-odbc
 create mode 120000 srcpkgs/php8.2-pear
 create mode 120000 srcpkgs/php8.2-pgsql
 create mode 120000 srcpkgs/php8.2-phpdbg
 create mode 120000 srcpkgs/php8.2-snmp
 create mode 120000 srcpkgs/php8.2-sodium
 create mode 120000 srcpkgs/php8.2-sqlite
 create mode 120000 srcpkgs/php8.2-tidy
 create mode 120000 srcpkgs/php8.2-xsl
 create mode 100644 srcpkgs/php8.2/files/apache.conf
 create mode 100755 srcpkgs/php8.2/files/php-fpm8.2/run
 create mode 100644 srcpkgs/php8.2/patches/fix-manpages.patch
 create mode 100644 srcpkgs/php8.2/patches/php-706-crypt.patch
 create mode 100644 srcpkgs/php8.2/patches/php-cross-config.patch
 create mode 100644 srcpkgs/php8.2/patches/php-fpm.patch
 create mode 100644 srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
 create mode 100644 srcpkgs/php8.2/patches/php-pear-cross.patch
 create mode 100644 srcpkgs/php8.2/patches/php-phar-cross.patch
 create mode 100644 srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
 create mode 100644 srcpkgs/php8.2/patches/php.ini.patch
 create mode 100644 srcpkgs/php8.2/template
 create mode 100644 srcpkgs/php8.2/update

diff --git a/srcpkgs/php8.2-apache b/srcpkgs/php8.2-apache
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-apache
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-cgi b/srcpkgs/php8.2-cgi
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-cgi
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-devel b/srcpkgs/php8.2-devel
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-devel
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-embed b/srcpkgs/php8.2-embed
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-embed
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-enchant b/srcpkgs/php8.2-enchant
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-enchant
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-ffi b/srcpkgs/php8.2-ffi
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-ffi
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-fpm b/srcpkgs/php8.2-fpm
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-fpm
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-gd b/srcpkgs/php8.2-gd
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-gd
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-intl b/srcpkgs/php8.2-intl
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-intl
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-ldap b/srcpkgs/php8.2-ldap
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-ldap
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-mysql b/srcpkgs/php8.2-mysql
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-mysql
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-odbc b/srcpkgs/php8.2-odbc
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-odbc
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-pear b/srcpkgs/php8.2-pear
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-pear
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-pgsql b/srcpkgs/php8.2-pgsql
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-pgsql
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-phpdbg b/srcpkgs/php8.2-phpdbg
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-phpdbg
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-snmp b/srcpkgs/php8.2-snmp
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-snmp
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-sodium b/srcpkgs/php8.2-sodium
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-sodium
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-sqlite b/srcpkgs/php8.2-sqlite
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-sqlite
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-tidy b/srcpkgs/php8.2-tidy
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-tidy
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2-xsl b/srcpkgs/php8.2-xsl
new file mode 120000
index 000000000000..18be7303014f
--- /dev/null
+++ b/srcpkgs/php8.2-xsl
@@ -0,0 +1 @@
+php8.2
\ No newline at end of file
diff --git a/srcpkgs/php8.2/files/apache.conf b/srcpkgs/php8.2/files/apache.conf
new file mode 100644
index 000000000000..1c5e4e4e58c2
--- /dev/null
+++ b/srcpkgs/php8.2/files/apache.conf
@@ -0,0 +1,13 @@
+# Required modules: dir_module, php8.2_module
+
+<IfModule dir_module>
+	<IfModule php8.2_module>
+		DirectoryIndex index.php index.html
+		<FilesMatch "\.php$">
+			SetHandler application/x-httpd-php
+		</FilesMatch>
+		<FilesMatch "\.phps$">
+			SetHandler application/x-httpd-php-source
+		</FilesMatch>
+	</IfModule>
+</IfModule>
diff --git a/srcpkgs/php8.2/files/php-fpm8.2/run b/srcpkgs/php8.2/files/php-fpm8.2/run
new file mode 100755
index 000000000000..3e4870f22a54
--- /dev/null
+++ b/srcpkgs/php8.2/files/php-fpm8.2/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+[ -r conf ] && . ./conf
+exec php-fpm8.2 --nodaemonize ${OPTS}
diff --git a/srcpkgs/php8.2/patches/fix-manpages.patch b/srcpkgs/php8.2/patches/fix-manpages.patch
new file mode 100644
index 000000000000..7193bad72f90
--- /dev/null
+++ b/srcpkgs/php8.2/patches/fix-manpages.patch
@@ -0,0 +1,25 @@
+This patch fixes .so links in man pages.
+It's needed because of the configure option -
+
+    --program-suffix=${_php_version}
+
+The changes made by this patch should be the same as the changes made by this
+block of code -
+
+    _regexp='^[[:space:]]*\.so[[:space:]]'
+    for file in $(grep -l -e "$_regexp" -R .); do
+    	vsed -i "$file" -e "/$_regexp/"'s=^[[:space:]]*\.[^.]*=&'${_php_version}=
+    done
+
+Where _php_version is defined in the template file.
+
+--- a/ext/phar/phar.phar.1.in
++++ b/ext/phar/phar.phar.1.in
+@@ -1 +1 @@
+-.so man1/phar.1
++.so man1/phar8.2.1
+--- a/sapi/cgi/php-cgi.1.in
++++ b/sapi/cgi/php-cgi.1.in
+@@ -1 +1 @@
+-.so man1/php.1
++.so man1/php8.2.1
diff --git a/srcpkgs/php8.2/patches/php-706-crypt.patch b/srcpkgs/php8.2/patches/php-706-crypt.patch
new file mode 100644
index 000000000000..254f1d2187c2
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-706-crypt.patch
@@ -0,0 +1,15 @@
+--- 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 @@
+ 	}
+ # elif defined(HAVE_CRYPT)
+ 	crypt_res = crypt(password, salt);
++	if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) {
++		return NULL;
++	} else {
++		result = zend_string_init(crypt_res, strlen(crypt_res), 0);
++		return result;
++	}
+ # else
+ #  error No crypt() implementation
+ # endif
diff --git a/srcpkgs/php8.2/patches/php-cross-config.patch b/srcpkgs/php8.2/patches/php-cross-config.patch
new file mode 100644
index 000000000000..273d65baadc8
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-cross-config.patch
@@ -0,0 +1,22 @@
+diff --git a/configure b/configure
+index 697eba3..5e01011 100755
+--- a/configure
++++ b/configure
+@@ -60778,7 +60778,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`
+@@ -62304,7 +62304,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/php-fpm.patch b/srcpkgs/php8.2/patches/php-fpm.patch
new file mode 100644
index 000000000000..5e55e179f8a4
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-fpm.patch
@@ -0,0 +1,13 @@
+--- a/sapi/fpm/Makefile.frag	2017-04-15 23:58:56.965737425 +0200
++++ b/sapi/fpm/Makefile.frag	2017-04-16 00:00:57.814831649 +0200
+@@ -15,8 +15,8 @@ install-fpm: $(SAPI_FPM_PATH)
+ 	else \
+ 		echo "Installing PHP FPM defconfig:     $(INSTALL_ROOT)$(sysconfdir)/" && \
+ 		$(mkinstalldirs) $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d; \
+-		$(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf.default; \
+-		$(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d/www.conf.default; \
++		$(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf; \
++		$(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d/www.conf; \
+ 	fi
+ 	
+ 	@echo "Installing PHP FPM man page:      $(INSTALL_ROOT)$(mandir)/man8/"
diff --git a/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
new file mode 100644
index 000000000000..bbe0a514a9e8
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-ltmain-sysroot-support.patch
@@ -0,0 +1,39 @@
+--- 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
+ 	*) . ./$lib ;;
+ 	esac
+ 
++        newdependency_libs=
++        for deplib in $dependency_libs; do
++            deplib=$(echo "$deplib" | sed "s#^=\(.*\)#$(${CC} --print-sysroot)\1#")
++            newdependency_libs="$newdependency_libs $deplib"
++        done
++        dependency_libs=${newdependency_libs}
++
+ 	if test "$linkmode,$pass" = "lib,link" ||
+ 	   test "$linkmode,$pass" = "prog,scan" ||
+ 	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+@@ -5750,6 +5757,13 @@ fi\
+ 	  case $host,$output,$installed,$module,$dlname in
+ 	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ 	  esac
++
++          newdependency_libs=
++          for deplib in $dependency_libs; do
++              deplib=$(echo "$deplib" | sed "s#^$(${CC} --print-sysroot)#=#")
++              newdependency_libs="$newdependency_libs $deplib"
++          done
++
+ 	  $echo > $output "\
+ # $outputname - a libtool library file
+ # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+@@ -5767,7 +5781,7 @@ library_names='$library_names'
+ old_library='$old_library'
+ 
+ # Libraries that this one depends upon.
+-dependency_libs='$dependency_libs'
++dependency_libs='$newdependency_libs'
+ 
+ # Version information for $libname.
+ current=$current
diff --git a/srcpkgs/php8.2/patches/php-pear-cross.patch b/srcpkgs/php8.2/patches/php-pear-cross.patch
new file mode 100644
index 000000000000..f9191a50a0b5
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-pear-cross.patch
@@ -0,0 +1,23 @@
+--- a/pear/Makefile.frag	2020-03-17 11:40:21.000000000 +0100
++++ b/pear/Makefile.frag	2020-04-12 22:29:31.846943414 +0200
+@@ -8,9 +8,10 @@ FETCH = `which fetch 2>/dev/null`
+ PEAR_PREFIX = -dp a${program_prefix}
+ PEAR_SUFFIX = -ds a$(program_suffix)
+ PEAR_INSTALLER_URL = https://pear.php.net/install-pear-nozlib.phar
++PEAR_PHP ?= $(top_builddir)/sapi/cli/php
+ 
+ install-pear-installer: $(SAPI_CLI_PATH)
+-	@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
++	@$(PEAR_PHP) $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
+ 
+ install-pear:
+ 	@echo "Installing PEAR environment:      $(INSTALL_ROOT)$(peardir)/"
+@@ -23,7 +24,7 @@ install-pear:
+ 			elif test ! -z "$(FETCH)" && test -x "$(FETCH)"; then \
+ 				"$(FETCH)" -o $(builddir)/ "${PEAR_INSTALLER_URL}"; \
+ 			else \
+-				$(top_builddir)/sapi/cli/php -n $(srcdir)/fetch.php "${PEAR_INSTALLER_URL}" $(builddir)/install-pear-nozlib.phar; \
++				$(PEAR_PHP) -n $(srcdir)/fetch.php "${PEAR_INSTALLER_URL}" $(builddir)/install-pear-nozlib.phar; \
+ 			fi \
+ 		fi \
+ 	fi
diff --git a/srcpkgs/php8.2/patches/php-phar-cross.patch b/srcpkgs/php8.2/patches/php-phar-cross.patch
new file mode 100644
index 000000000000..1e4e627ec65b
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-phar-cross.patch
@@ -0,0 +1,29 @@
+--- a/ext/phar/Makefile.frag	2020-04-13 12:18:23.998801926 +0200
++++ b/ext/phar/Makefile.frag	2020-04-13 12:20:58.031795293 +0200
+@@ -8,12 +8,14 @@ $(srcdir)/phar_path_check.c: $(srcdir)/p
+ 
+ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
+ 
++PHAR_PHP ?= $(top_builddir)/$(SAPI_CLI_PATH)
++PHAR_PHP_MODULES ?= $(top_builddir)/modules
+ PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0
+ PHP_PHARCMD_EXECUTABLE = ` \
+-	if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
+-		$(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
++	if test -x "$(PHAR_PHP)"; then \
++		$(top_srcdir)/build/shtool echo -n -- "$(PHAR_PHP) -n"; \
+ 		if test "x$(PHP_MODULES)" != "x"; then \
+-		$(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
++		$(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(PHAR_PHP_MODULES)"; \
+ 		for i in bz2 zlib phar; do \
+ 			if test -f "$(top_builddir)/modules/$$i.la"; then \
+ 				. $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
+@@ -21,7 +23,7 @@ PHP_PHARCMD_EXECUTABLE = ` \
+ 		done; \
+ 		fi; \
+ 	else \
+-		$(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
++		$(top_srcdir)/build/shtool echo -n -- "$(PHAR_PHP)"; \
+ 	fi;`
+ PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
+ 
diff --git a/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
new file mode 100644
index 000000000000..76cff3f81664
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php-phpize-sysroot-support.patch
@@ -0,0 +1,28 @@
+--- a/scripts/phpize.m4	2020-03-17 11:40:21.000000000 +0100
++++ b/scripts/phpize.m4	2020-04-15 12:27:36.400466387 +0200
+@@ -44,6 +44,12 @@ PHP_ARG_WITH([libdir],
+   [lib],
+   [no])
+ 
++PHP_ARG_WITH([sysroot],,
++  [AS_HELP_STRING([--with-sysroot=NAME],
++    [System sysroot])],
++    [no],
++    [no])
++
+ PHP_RUNPATH_SWITCH
+ PHP_SHLIB_SUFFIX_NAMES
+ 
+@@ -58,7 +64,11 @@ dnl For BC.
+ PHP_CONFIG=$PHP_PHP_CONFIG
+ prefix=`$PHP_CONFIG --prefix 2>/dev/null`
+ phpincludedir=`$PHP_CONFIG --include-dir 2>/dev/null`
+-INCLUDES=`$PHP_CONFIG --includes 2>/dev/null`
++if test "x$PHP_SYSROOT" = xno; then :
++	INCLUDES=`$PHP_CONFIG --includes 2>/dev/null`
++else
++	INCLUDES=`$PHP_CONFIG --includes 2>/dev/null | sed "s#-I#-I$PHP_SYSROOT#g"`
++fi
+ EXTENSION_DIR=`$PHP_CONFIG --extension-dir 2>/dev/null`
+ PHP_EXECUTABLE=`$PHP_CONFIG --php-binary 2>/dev/null`
+ 
diff --git a/srcpkgs/php8.2/patches/php.ini.patch b/srcpkgs/php8.2/patches/php.ini.patch
new file mode 100644
index 000000000000..7277c8fe5172
--- /dev/null
+++ b/srcpkgs/php8.2/patches/php.ini.patch
@@ -0,0 +1,24 @@
+diff --git a/php.ini-production b/php.ini-production
+index b39a960..68f14a6 100644
+--- a/php.ini-production
++++ b/php.ini-production
+@@ -737,7 +737,7 @@ default_charset = "UTF-8"
+ ;;;;;;;;;;;;;;;;;;;;;;;;;
+ 
+ ; UNIX: "/path1:/path2"
+-;include_path = ".:/php/includes"
++include_path = ".:/usr/share/pear8.2"
+ ;
+ ; Windows: "\path1;\path2"
+ ;include_path = ".;c:\php\includes"
+@@ -760,9 +760,7 @@ user_dir =
+ 
+ ; Directory in which the loadable extensions (modules) reside.
+ ; https://php.net/extension-dir
+-;extension_dir = "./"
+-; On windows:
+-;extension_dir = "ext"
++extension_dir = "/usr/lib/php8.2/modules/"
+ 
+ ; Directory where the temporary files should be placed.
+ ; Defaults to the system default (see sys_get_temp_dir)
diff --git a/srcpkgs/php8.2/template b/srcpkgs/php8.2/template
new file mode 100644
index 000000000000..7820d187ea23
--- /dev/null
+++ b/srcpkgs/php8.2/template
@@ -0,0 +1,366 @@
+# Template file for 'php8.2'
+pkgname=php8.2
+version=8.2.3
+revision=1
+_php_version=8.2
+hostmakedepends="bison pkg-config apache-devel"
+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"
+short_desc="HTML-embedded scripting language"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="PHP-3.01"
+homepage="https://www.php.net"
+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=7c475bcbe61d28b6878604b1b6f387f39d1a63b5f21fa8156fd7aa615d43e259
+
+conf_files="/etc/php${_php_version}/php.ini"
+
+lib32disabled=yes
+
+if [ -n "$CROSS_BUILD" ]; then
+	# phar and pear need php to build
+	hostmakedepends+=" php${_php_version}"
+	CFLAGS+=" -DHAVE_LIBDL
+		 -DHAVE_DLOPEN
+		 -DHAVE_DLSYM
+		 -DHAVE_SHM_IPC
+		 -DHAVE_SHM_MMAP_ANON
+		 -DHAVE_SHM_MMAP_ZERO
+		 -DHAVE_SHM_MMAP_POSIX
+		 -DHAVE_SHM_MMAP_FILE"
+fi
+
+alternatives="
+ php:phar.phar:/usr/bin/phar${_php_version}.phar
+ php:php:/usr/bin/php${_php_version}
+ php:phar:/usr/bin/phar${_php_version}
+ php:phar.1:/usr/share/man/man1/phar${_php_version}.1
+ 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_build() {
+	local _phpconfig="--srcdir=.. \
+		--config-cache \
+		--prefix=/usr \
+		--sbindir=/usr/bin \
+		--sysconfdir=/etc/php${_php_version} \
+		--localstatedir=/var \
+		--with-layout=GNU \
+		--with-config-file-path=/etc/php${_php_version} \
+		--with-config-file-scan-dir=/etc/php${_php_version}/conf.d \
+		--disable-rpath \
+		--mandir=/usr/share/man \
+		--libdir=/usr/lib/php${_php_version} \
+		--datarootdir=/usr/share/php${_php_version} \
+		--datadir=/usr/share/php${_php_version} \
+		--program-suffix=${_php_version} \
+		--includedir=/usr/include/php${_php_version} \
+		"
+
+	local _phpextensions="--enable-bcmath=shared \
+		--enable-calendar=shared \
+		--enable-exif=shared \
+		--enable-ftp=shared \
+		--enable-intl=shared \
+		--enable-mbstring \
+		--enable-opcache \
+		--enable-pcntl \
+		--enable-phar=shared \
+		--enable-posix=shared \
+		--enable-shmop=shared \
+		--enable-soap=shared \
+		--enable-sockets=shared \
+		--enable-sysvmsg=shared \
+		--enable-sysvsem=shared \
+		--enable-sysvshm=shared \
+		--enable-mysqlnd \
+		--enable-gd=shared \
+		--with-external-gd \
+		--with-ffi=shared \
+		--with-bz2=shared,$XBPS_CROSS_BASE/usr/ \
+		--with-curl=shared \
+		--with-db4=$XBPS_CROSS_BASE/usr \
+		--with-enchant=shared,$XBPS_CROSS_BASE/usr \
+		--with-gdbm=$XBPS_CROSS_BASE/usr \
+		--with-gettext=shared \
+		--with-gmp=shared \
+		--with-iconv=shared \
+		--with-ldap=shared,$XBPS_CROSS_BASE/usr \
+		--with-ldap-sasl \
+		--with-sodium=shared \
+		--with-mhash \
+		--with-mysql-sock=/run/mysqld/mysqld.sock \
+		--with-mysqli=shared,mysqlnd \
+		--with-openssl=shared \
+		--with-external-pcre \
+		--with-pear=/usr/share/pear${_php_version} \
+		--with-pdo-mysql=shared,mysqlnd \
+		--with-pdo-odbc=shared,unixODBC,$XBPS_CROSS_BASE/usr \
+		--with-pdo-pgsql=shared,$XBPS_CROSS_BASE/usr \
+		--with-pdo-sqlite=shared,$XBPS_CROSS_BASE/usr \
+		--with-pgsql=shared,$XBPS_CROSS_BASE/usr \
+		--with-readline=$XBPS_CROSS_BASE/usr \
+		--with-snmp=shared,$XBPS_CROSS_BASE/usr \
+		--with-sqlite3=shared,$XBPS_CROSS_BASE/usr \
+		--with-unixODBC=shared,$XBPS_CROSS_BASE/usr \
+		--with-xsl=shared,$XBPS_CROSS_BASE/usr \
+		--with-tidy=shared,$XBPS_CROSS_BASE/usr \
+		--with-zip=shared \
+		--with-zlib \
+		${configure_args} \
+		"
+	if [ -n "$CROSS_BUILD" ]; then
+		local _make_env="PHAR_PHP=/usr/bin/php${_php_version} PHAR_PHP_MODULES=/usr/lib/php${_php_version}/modules"
+	fi
+
+	EXTENSION_DIR="/usr/lib/php${_php_version}/modules"
+	export EXTENSION_DIR
+	PEAR_INSTALLDIR=/usr/share/pear${_php_version}
+	export PEAR_INSTALLDIR
+	EXTRA_LIBS="-ldl"
+	export EXTRA_LIBS
+
+	# cgi,cli,embed,fcgi,fpm
+	mkdir -p build
+	cd build
+	ln -s ${wrksrc}/configure
+	./configure ${_phpconfig} \
+		--host=${XBPS_CROSS_TRIPLET} \
+		--enable-cgi \
+		--enable-fpm \
+		--with-fpm-user=http \
+		--with-fpm-group=http \
+		--enable-embed=shared \
+		${_phpextensions}
+	make ${makejobs} ${_make_env}
+
+	# apache
+	# reuse the previous run; this will save us a lot of time
+	cp -a ${wrksrc}/build ${wrksrc}/build-apache
+	cd ${wrksrc}/build-apache
+	./configure ${_phpconfig} \
+		--host=${XBPS_CROSS_TRIPLET} \
+		--with-apxs2 \
+		${_phpextensions}
+	make ${makejobs} ${_make_env}
+}
+
+do_install() {
+	cd ${wrksrc}/build
+	local _env="INSTALL_ROOT=${DESTDIR}"
+	if [ -n "$CROSS_BUILD" ]; then
+		_env+=" PHAR_PHP=/usr/bin/php${_php_version}"
+	fi
+	make ${_env} install-{modules,cli,build,headers,programs,pharcmd}
+
+	# install php.ini
+	vinstall ${wrksrc}/php.ini-production 644 "etc/php${_php_version}" php.ini
+	# remove static modules
+	rm -f "${DESTDIR}/usr/lib/php${_php_version}/modules/*.a"
+}
+
+php8.2-devel_package() {
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove usr/include
+		vmove "usr/lib/php${_php_version}/build"
+		vmove "usr/bin/php-config${_php_version}"
+		vmove "usr/bin/phpize${_php_version}"
+		vmove "usr/share/man/man1/phpize${_php_version}.1"
+		vmove "usr/share/man/man1/php-config${_php_version}.1"
+	}
+}
+
+php8.2-phpdbg_package() {
+	short_desc+=" - interactive debugger"
+	depends="php${_php_version}>=${version}_${revision}"
+	pkg_install() {
+		cd ${wrksrc}/build
+		make INSTALL_ROOT=${PKGDESTDIR} install-phpdbg
+	}
+}
+
+php8.2-cgi_package() {
+	short_desc+=' - CGI and FCGI SAPI'
+	depends="php${_php_version}>=${version}_${revision}"
+	pkg_install() {
+		cd ${wrksrc}/build
+		make INSTALL_ROOT=${PKGDESTDIR} install-cgi
+	}
+}
+
+php8.2-apache_package() {
+	short_desc+=' - Apache SAPI'
+	depends="php${_php_version}>=${version}_${revision}"
+	conf_files="/etc/apache/extra/php${_php_version}_module.conf"
+	pkg_install() {
+		vinstall ${wrksrc}/build-apache/libs/libphp.so 755 usr/libexec/httpd/modules "libphp${_php_version}.so"
+		vinstall ${FILESDIR}/apache.conf 644 etc/apache/extra "php${_php_version}_module.conf"
+	}
+}
+
+php8.2-fpm_package() {
+	short_desc+=' - FastCGI Process Manager'
+	depends="php${_php_version}>=${version}_${revision}"
+	conf_files="/etc/php${_php_version}/php-fpm.conf /etc/php${_php_version}/php-fpm.d/*"
+	pkg_install() {
+		cd ${wrksrc}/build
+		make INSTALL_ROOT=${PKGDESTDIR} install-fpm
+		vsv "php-fpm${_php_version}"
+	}
+}
+
+php8.2-embed_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - Embed SAPI'
+	pkg_install() {
+		cd ${wrksrc}/build
+		make INSTALL_ROOT=${PKGDESTDIR} PHP_SAPI=embed install-sapi
+		mv ${PKGDESTDIR}/usr/lib/libphp.so ${PKGDESTDIR}/usr/lib/libphp${_php_version}.so
+	}
+}
+
+php8.2-pear_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}
+	 php${_php_version}>=devel-${version}_${revision} autoconf"
+	short_desc+=' - PHP Extension and Application Repository'
+	conf_files="/etc/php${_php_version}/pear.conf"
+	pkg_install() {
+		cd ${wrksrc}/build
+		local _env="INSTALL_ROOT=${PKGDESTDIR} PHP_PEAR_PHP_BIN=php${_php_version}"
+		if [ -n "$CROSS_BUILD" ]; then
+			_env+=" PEAR_PHP=/usr/bin/php${_php_version}"
+		fi
+		make install-pear ${_env}
+		rm -rf ${PKGDESTDIR}/.{channels,depdb,depdblock,filemap,lock,registry}
+		rm -rf ${PKGDESTDIR}/usr/share/pear/.{channels,depdb,depdblock,filemap,lock,registry}
+		mv ${PKGDESTDIR}/usr/bin/pear{,${_php_version}}
+		mv ${PKGDESTDIR}/usr/bin/peardev{,${_php_version}}
+		mv ${PKGDESTDIR}/usr/bin/pecl{,${_php_version}}
+	}
+}
+
+php8.2-enchant_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - enchant module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/enchant.so"
+	}
+}
+
+php8.2-gd_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - gd module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/gd.so"
+	}
+}
+
+php8.2-intl_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - Internationalization module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/intl.so"
+	}
+}
+
+php8.2-ldap_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - LDAP module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/ldap.so"
+	}
+}
+
+php8.2-mysql_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - MySQL modules'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*mysql*.so"
+	}
+}
+
+php8.2-odbc_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - ODBC modules'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*odbc.so"
+	}
+}
+
+php8.2-pgsql_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - PostgreSQL modules'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*pgsql.so"
+	}
+}
+
+php8.2-snmp_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - snmp module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/snmp.so"
+	}
+}
+
+php8.2-sqlite_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - sqlite module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*sqlite*.so"
+	}
+}
+
+php8.2-tidy_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - tidy HTML module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/*tidy*.so"
+	}
+}
+
+php8.2-xsl_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - XSL module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/xsl.so"
+	}
+}
+
+php8.2-sodium_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - sodium module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/sodium.so"
+	}
+}
+
+php8.2-ffi_package() {
+	lib32disabled=yes
+	depends="php${_php_version}>=${version}_${revision}"
+	short_desc+=' - FFI module'
+	pkg_install() {
+		vmove "usr/lib/php${_php_version}/modules/ffi.so"
+	}
+}
diff --git a/srcpkgs/php8.2/update b/srcpkgs/php8.2/update
new file mode 100644
index 000000000000..82751690d96b
--- /dev/null
+++ b/srcpkgs/php8.2/update
@@ -0,0 +1,3 @@
+pkgname=php
+ignore="8.[3-9].*"
+site="https://www.php.net/distributions/"

From 19c38de381ad22f28c48d26bdf1fdce430605802 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:42:56 -0500
Subject: [PATCH 2/8] New package: php8.2-apcu-5.1.22

---
 srcpkgs/php8.2-apcu/INSTALL.msg |  3 +++
 srcpkgs/php8.2-apcu/template    | 28 ++++++++++++++++++++++++++++
 srcpkgs/php8.2-apcu/update      |  2 ++
 3 files changed, 33 insertions(+)
 create mode 100644 srcpkgs/php8.2-apcu/INSTALL.msg
 create mode 100644 srcpkgs/php8.2-apcu/template
 create mode 100644 srcpkgs/php8.2-apcu/update

diff --git a/srcpkgs/php8.2-apcu/INSTALL.msg b/srcpkgs/php8.2-apcu/INSTALL.msg
new file mode 100644
index 000000000000..9da8a70ccc2b
--- /dev/null
+++ b/srcpkgs/php8.2-apcu/INSTALL.msg
@@ -0,0 +1,3 @@
+To enable APCu add the following line to your php.ini:
+
+	extension=apcu.so
diff --git a/srcpkgs/php8.2-apcu/template b/srcpkgs/php8.2-apcu/template
new file mode 100644
index 000000000000..4334113d7a90
--- /dev/null
+++ b/srcpkgs/php8.2-apcu/template
@@ -0,0 +1,28 @@
+# Template file for 'php8.2-apcu'
+pkgname=php8.2-apcu
+version=5.1.22
+revision=1
+build_style=gnu-configure
+configure_args="--with-php-config=/usr/bin/php-config8.2"
+make_check_target=test
+hostmakedepends="autoconf php8.2-devel"
+makedepends="php8.2-devel pcre2-devel"
+depends="php8.2"
+short_desc="In-memory key-value store for PHP"
+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=010a0d8fd112e1ed7a52a356191da3696a6b76319423f7b0dfdeaeeafcb41a1e
+
+pre_configure() {
+	phpize8.2
+}
+
+pre_install() {
+	make_install_args="INSTALL_ROOT=$DESTDIR"
+}
+
+post_install() {
+	rm -r $DESTDIR/usr/include
+}
diff --git a/srcpkgs/php8.2-apcu/update b/srcpkgs/php8.2-apcu/update
new file mode 100644
index 000000000000..ad899519e313
--- /dev/null
+++ b/srcpkgs/php8.2-apcu/update
@@ -0,0 +1,2 @@
+site="https://pecl.php.net/package/APCu"
+pattern="apcu-\K[\d\.]*(?=\.tgz)"

From 1edcb036deb2dbfe753cbe61b6f57da7f8112a0a Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:42:58 -0500
Subject: [PATCH 3/8] New package: php8.2-ast-1.1.0

---
 srcpkgs/php8.2-ast/INSTALL.msg |  2 ++
 srcpkgs/php8.2-ast/template    | 27 +++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 srcpkgs/php8.2-ast/INSTALL.msg
 create mode 100644 srcpkgs/php8.2-ast/template

diff --git a/srcpkgs/php8.2-ast/INSTALL.msg b/srcpkgs/php8.2-ast/INSTALL.msg
new file mode 100644
index 000000000000..0dd0b5df2d96
--- /dev/null
+++ b/srcpkgs/php8.2-ast/INSTALL.msg
@@ -0,0 +1,2 @@
+To enable the ast extension please add the following to php.ini:
+	extension=ast.so 
diff --git a/srcpkgs/php8.2-ast/template b/srcpkgs/php8.2-ast/template
new file mode 100644
index 000000000000..6e641a07445c
--- /dev/null
+++ b/srcpkgs/php8.2-ast/template
@@ -0,0 +1,27 @@
+# Template file for 'php8.2-ast'
+pkgname=php8.2-ast
+version=1.1.0
+revision=1
+build_style=gnu-configure
+configure_args="--with-php-config=/usr/bin/php-config8.2"
+make_check_target="test"
+hostmakedepends="php8.2-devel autoconf"
+makedepends="php8.2-devel"
+depends="php8.2"
+checkdepends="${depends}"
+short_desc="Exposes the abstract syntax tree generated by PHP"
+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=ee3d4f67e24d82e4d340806a24052012e4954d223122949377665427443e6d13
+make_check_pre="env NO_INTERACTION=1"
+
+pre_configure() {
+	phpize8.2
+}
+
+do_install() {
+	make INSTALL_ROOT=${DESTDIR} install
+	vlicense LICENSE
+}

From 7a3a54d525da4919053cdb2e69b0814096af3aab Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:43:01 -0500
Subject: [PATCH 4/8] New package: php8.2-igbinary-3.2.14

---
 srcpkgs/php8.2-igbinary/template | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 srcpkgs/php8.2-igbinary/template

diff --git a/srcpkgs/php8.2-igbinary/template b/srcpkgs/php8.2-igbinary/template
new file mode 100644
index 000000000000..685bbd12d67b
--- /dev/null
+++ b/srcpkgs/php8.2-igbinary/template
@@ -0,0 +1,24 @@
+# Template file for 'php8.2-igbinary'
+pkgname=php8.2-igbinary
+version=3.2.14
+revision=1
+build_style=gnu-configure
+configure_args="--with-php-config=/usr/bin/php-config8.2"
+hostmakedepends="autoconf php8.2-devel"
+makedepends="php8.2-devel"
+depends="php8.2"
+short_desc="Igbinary is a drop in replacement for the standard php serializer"
+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
+
+pre_configure() {
+	phpize8.2
+}
+
+do_install() {
+	make INSTALL_ROOT="${DESTDIR}" install
+	vlicense COPYING
+}

From 2e6ce083f13cd6be5674d1d720a79c1f542bc992 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:43:04 -0500
Subject: [PATCH 5/8] New package: php8.2-imagick-3.7.0

---
 srcpkgs/php8.2-imagick/INSTALL.msg            |  3 ++
 ...le-libmagick-header-file-search-path.patch | 17 +++++++++++
 srcpkgs/php8.2-imagick/template               | 28 +++++++++++++++++++
 srcpkgs/php8.2-imagick/update                 |  1 +
 4 files changed, 49 insertions(+)
 create mode 100644 srcpkgs/php8.2-imagick/INSTALL.msg
 create mode 100644 srcpkgs/php8.2-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch
 create mode 100644 srcpkgs/php8.2-imagick/template
 create mode 100644 srcpkgs/php8.2-imagick/update

diff --git a/srcpkgs/php8.2-imagick/INSTALL.msg b/srcpkgs/php8.2-imagick/INSTALL.msg
new file mode 100644
index 000000000000..00497519fcee
--- /dev/null
+++ b/srcpkgs/php8.2-imagick/INSTALL.msg
@@ -0,0 +1,3 @@
+To enable the Imagick extension add the following line to your php.ini:
+
+	extension=imagick.so
diff --git a/srcpkgs/php8.2-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch b/srcpkgs/php8.2-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch
new file mode 100644
index 000000000000..16b8aaa57371
--- /dev/null
+++ b/srcpkgs/php8.2-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch
@@ -0,0 +1,17 @@
+--- a/imagemagick.m4	2021-09-09 10:53:42.287881616 +0200
++++ b/imagemagick.m4	2021-09-09 11:14:47.662312430 +0200
+@@ -167,6 +167,14 @@ AC_DEFUN([IM_FIND_IMAGEMAGICK],[
+   
+     AC_MSG_RESULT([user location ${IM_IMAGEMAGICK_PREFIX}/include/ImageMagick-${IM_MAJOR_VERSION}/wand/MagickWand.h])
+ 
++  elif test -r "${IM_IMAGEMAGICK_PREFIX}/include/ImageMagick-${IM_MAJOR_VERSION}/MagickWand/MagickWand.h"; then
++
++    IM_INCLUDE_FORMAT="MagickWand/MagickWand.h"
++    IM_HEADER_STYLE="SEVEN"
++    AC_DEFINE([IM_MAGICKWAND_HEADER_STYLE_SEVEN], [1], [ImageMagick 7.x style header])
++
++    AC_MSG_RESULT([${IM_PREFIX}/include/ImageMagick-${IM_MAJOR_VERSION}/MagickWand/MagickWand.h])
++
+   elif test -r "${IM_PREFIX}/include/ImageMagick-${IM_MAJOR_VERSION}/MagickWand/MagickWand.h"; then
+ 
+     IM_INCLUDE_FORMAT="MagickWand/MagickWand.h"
diff --git a/srcpkgs/php8.2-imagick/template b/srcpkgs/php8.2-imagick/template
new file mode 100644
index 000000000000..e8bb6109c896
--- /dev/null
+++ b/srcpkgs/php8.2-imagick/template
@@ -0,0 +1,28 @@
+# Template file for 'php8.2-imagick'
+pkgname=php8.2-imagick
+version=3.7.0
+revision=1
+build_style=gnu-configure
+configure_args="--with-imagick=${XBPS_CROSS_BASE}/usr \
+ --with-php-config=/usr/bin/php-config8.2"
+hostmakedepends="php8.2-devel autoconf pkg-config"
+makedepends="php8.2-devel pcre2-devel libmagick-devel"
+depends="php8.2"
+short_desc="Provides a PHP wrapper to the ImageMagick library"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="PHP-3.01"
+homepage="https://pecl.php.net/package/imagick"
+distfiles="https://pecl.php.net/get/imagick-$version.tgz"
+checksum=5a364354109029d224bcbb2e82e15b248be9b641227f45e63425c06531792d3e
+
+pre_configure() {
+	phpize8.2
+}
+
+pre_install() {
+	make_install_args="INSTALL_ROOT=$DESTDIR"
+}
+
+post_install() {
+	rm -r $DESTDIR/usr/include
+}
diff --git a/srcpkgs/php8.2-imagick/update b/srcpkgs/php8.2-imagick/update
new file mode 100644
index 000000000000..fb47044a964d
--- /dev/null
+++ b/srcpkgs/php8.2-imagick/update
@@ -0,0 +1 @@
+pattern='<th.*Release \K[\d.]+(?=:</th>)'

From fb257812c11a4d20c0c9d560a1cf33762c538456 Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:44:45 -0500
Subject: [PATCH 6/8] New package: composer8.2-2.5.4

---
 srcpkgs/composer8.2/files/composer8.2 |  2 ++
 srcpkgs/composer8.2/template          | 27 +++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 srcpkgs/composer8.2/files/composer8.2
 create mode 100644 srcpkgs/composer8.2/template

diff --git a/srcpkgs/composer8.2/files/composer8.2 b/srcpkgs/composer8.2/files/composer8.2
new file mode 100644
index 000000000000..8b81a9c513b3
--- /dev/null
+++ b/srcpkgs/composer8.2/files/composer8.2
@@ -0,0 +1,2 @@
+#!/bin/sh
+php8.2 /usr/libexec/composer.phar8.2 "$@"
diff --git a/srcpkgs/composer8.2/template b/srcpkgs/composer8.2/template
new file mode 100644
index 000000000000..aa8a0b1d0374
--- /dev/null
+++ b/srcpkgs/composer8.2/template
@@ -0,0 +1,27 @@
+# Template file for 'composer8.2'
+pkgname=composer8.2
+version=2.5.4
+revision=1
+build_style=fetch
+depends="php8.2"
+short_desc="Dependency manager for PHP"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+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="91ce6cbf9463eae86ae9d5c21d42faa601a519f3fbb2b623a55ee24678079bd3
+ 7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c"
+alternatives="composer:composer:/usr/bin/composer8.2"
+
+do_install() {
+	vbin ${FILESDIR}/composer8.2
+
+	vinstall composer.phar 644 usr/libexec composer.phar8.2
+	vlicense LICENSE
+
+	vmkdir /etc/php8.2/conf.d
+	printf 'extension=%s\n' phar iconv openssl zip \
+		>${DESTDIR}/etc/php8.2/conf.d/composer.ini
+}

From 3530f6720126ee44cb3cba32cecc605b7d50184c Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 10:45:56 -0500
Subject: [PATCH 7/8] New package: xdebug8.2-3.2.0

---
 srcpkgs/xdebug8.2/INSTALL.msg |  1 +
 srcpkgs/xdebug8.2/template    | 24 ++++++++++++++++++++++++
 srcpkgs/xdebug8.2/update      |  2 ++
 3 files changed, 27 insertions(+)
 create mode 100644 srcpkgs/xdebug8.2/INSTALL.msg
 create mode 100644 srcpkgs/xdebug8.2/template
 create mode 100644 srcpkgs/xdebug8.2/update

diff --git a/srcpkgs/xdebug8.2/INSTALL.msg b/srcpkgs/xdebug8.2/INSTALL.msg
new file mode 100644
index 000000000000..04e3343216f7
--- /dev/null
+++ b/srcpkgs/xdebug8.2/INSTALL.msg
@@ -0,0 +1 @@
+You should add 'zend_extension="xdebug.so"' to php.ini
diff --git a/srcpkgs/xdebug8.2/template b/srcpkgs/xdebug8.2/template
new file mode 100644
index 000000000000..c1510f29c1c4
--- /dev/null
+++ b/srcpkgs/xdebug8.2/template
@@ -0,0 +1,24 @@
+# Template file for 'xdebug8.2'
+pkgname=xdebug8.2
+version=3.2.0
+revision=1
+build_style=gnu-configure
+configure_args="--with-php-config=/usr/bin/php-config8.2"
+hostmakedepends="autoconf php8.2-devel"
+makedepends="php8.2-devel"
+short_desc="PHP debugging extension"
+maintainer="Joel Beckmeyer <joel@beckmeyer.us>"
+license="PHP-3.0"
+homepage="http://xdebug.org"
+changelog="https://xdebug.org/updates"
+distfiles="http://xdebug.org/files/xdebug-${version}.tgz"
+checksum=7769b20eecdadf5fbe9f582512c10b394fb575b6f7a8c3a3a82db6883e0032b7
+
+pre_configure() {
+	phpize8.2
+}
+
+do_install() {
+	make INSTALL_ROOT=${DESTDIR} install
+	vlicense LICENSE
+}
diff --git a/srcpkgs/xdebug8.2/update b/srcpkgs/xdebug8.2/update
new file mode 100644
index 000000000000..280b0bc7e3ac
--- /dev/null
+++ b/srcpkgs/xdebug8.2/update
@@ -0,0 +1,2 @@
+site="https://xdebug.org/updates"
+pattern='<dt><a name=.*></a>.*Xdebug \K[\d.]+(?=</dt>)'

From db7e58c463011aa31860543d38a5901a5c52b71f Mon Sep 17 00:00:00 2001
From: Joel Beckmeyer <joel@beckmeyer.us>
Date: Tue, 7 Mar 2023 11:39:45 -0500
Subject: [PATCH 8/8] php: update to 8.2.

---
 srcpkgs/php/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/php/template b/srcpkgs/php/template
index 9f8ae7f8edf0..ec485a5a6d42 100644
--- a/srcpkgs/php/template
+++ b/srcpkgs/php/template
@@ -1,6 +1,6 @@
 # Template file for 'php'
 pkgname=php
-version=8.1
+version=8.2
 revision=1
 build_style=meta
 depends="php${version}"

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

* Re: [PR PATCH] [Merged]: PHP 8.2
  2023-03-07 16:39 [PR PATCH] PHP 8.2 TinfoilSubmarine
  2023-03-07 16:39 ` [PR PATCH] [Updated] " TinfoilSubmarine
  2023-03-07 18:17 ` TinfoilSubmarine
@ 2023-03-09  8:14 ` paper42
  2 siblings, 0 replies; 4+ messages in thread
From: paper42 @ 2023-03-09  8:14 UTC (permalink / raw)
  To: ml

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

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

PHP 8.2
https://github.com/void-linux/void-packages/pull/42642

Description:
- New package: php8.2-8.2.3
- New package: php8.2-apcu-5.1.22
- New package: php8.2-ast-1.1.0
- New package: php8.2-igbinary-3.2.14
- New package: php8.2-imagick-3.7.0
- New package: composer8.2-2.5.4
- New package: xdebug8.2-3.2.0

<!-- 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] 4+ messages in thread

end of thread, other threads:[~2023-03-09  8:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-07 16:39 [PR PATCH] PHP 8.2 TinfoilSubmarine
2023-03-07 16:39 ` [PR PATCH] [Updated] " TinfoilSubmarine
2023-03-07 18:17 ` TinfoilSubmarine
2023-03-09  8:14 ` [PR PATCH] [Merged]: " paper42

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).