From e207fd7b6f9ba6d2be3f4a22ab0dcd8f022d3362 Mon Sep 17 00:00:00 2001 From: Joel Beckmeyer Date: Mon, 7 Mar 2022 20:29:56 -0500 Subject: [PATCH 1/6] New package: php8-8.0.16 --- srcpkgs/php8-apache | 1 + srcpkgs/php8-cgi | 1 + srcpkgs/php8-devel | 1 + srcpkgs/php8-embed | 1 + srcpkgs/php8-enchant | 1 + srcpkgs/php8-ffi | 1 + srcpkgs/php8-fpm | 1 + srcpkgs/php8-gd | 1 + srcpkgs/php8-intl | 1 + srcpkgs/php8-ldap | 1 + srcpkgs/php8-mysql | 1 + srcpkgs/php8-odbc | 1 + srcpkgs/php8-pgsql | 1 + srcpkgs/php8-phpdbg | 1 + srcpkgs/php8-snmp | 1 + srcpkgs/php8-sodium | 1 + srcpkgs/php8-sqlite | 1 + srcpkgs/php8-tidy | 1 + srcpkgs/php8-xsl | 1 + srcpkgs/php8/files/apache.conf | 13 + srcpkgs/php8/files/php-fpm8/run | 3 + srcpkgs/php8/patches/php-706-crypt.patch | 15 + srcpkgs/php8/patches/php-cross-config.patch | 41 +++ srcpkgs/php8/patches/php-fpm.patch | 13 + .../patches/php-ltmain-sysroot-support.patch | 39 ++ srcpkgs/php8/patches/php-opcache-cross.patch | 14 + srcpkgs/php8/patches/php-pear-cross.patch | 23 ++ srcpkgs/php8/patches/php-phar-cross.patch | 29 ++ .../patches/php-phpize-sysroot-support.patch | 28 ++ srcpkgs/php8/patches/php.ini.patch | 24 ++ srcpkgs/php8/template | 335 ++++++++++++++++++ 31 files changed, 596 insertions(+) create mode 120000 srcpkgs/php8-apache create mode 120000 srcpkgs/php8-cgi create mode 120000 srcpkgs/php8-devel create mode 120000 srcpkgs/php8-embed create mode 120000 srcpkgs/php8-enchant create mode 120000 srcpkgs/php8-ffi create mode 120000 srcpkgs/php8-fpm create mode 120000 srcpkgs/php8-gd create mode 120000 srcpkgs/php8-intl create mode 120000 srcpkgs/php8-ldap create mode 120000 srcpkgs/php8-mysql create mode 120000 srcpkgs/php8-odbc create mode 120000 srcpkgs/php8-pgsql create mode 120000 srcpkgs/php8-phpdbg create mode 120000 srcpkgs/php8-snmp create mode 120000 srcpkgs/php8-sodium create mode 120000 srcpkgs/php8-sqlite create mode 120000 srcpkgs/php8-tidy create mode 120000 srcpkgs/php8-xsl create mode 100644 srcpkgs/php8/files/apache.conf create mode 100755 srcpkgs/php8/files/php-fpm8/run create mode 100644 srcpkgs/php8/patches/php-706-crypt.patch create mode 100644 srcpkgs/php8/patches/php-cross-config.patch create mode 100644 srcpkgs/php8/patches/php-fpm.patch create mode 100644 srcpkgs/php8/patches/php-ltmain-sysroot-support.patch create mode 100644 srcpkgs/php8/patches/php-opcache-cross.patch create mode 100644 srcpkgs/php8/patches/php-pear-cross.patch create mode 100644 srcpkgs/php8/patches/php-phar-cross.patch create mode 100644 srcpkgs/php8/patches/php-phpize-sysroot-support.patch create mode 100644 srcpkgs/php8/patches/php.ini.patch create mode 100644 srcpkgs/php8/template diff --git a/srcpkgs/php8-apache b/srcpkgs/php8-apache new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-apache @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-cgi b/srcpkgs/php8-cgi new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-cgi @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-devel b/srcpkgs/php8-devel new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-devel @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-embed b/srcpkgs/php8-embed new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-embed @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-enchant b/srcpkgs/php8-enchant new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-enchant @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-ffi b/srcpkgs/php8-ffi new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-ffi @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-fpm b/srcpkgs/php8-fpm new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-fpm @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-gd b/srcpkgs/php8-gd new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-gd @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-intl b/srcpkgs/php8-intl new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-intl @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-ldap b/srcpkgs/php8-ldap new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-ldap @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-mysql b/srcpkgs/php8-mysql new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-mysql @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-odbc b/srcpkgs/php8-odbc new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-odbc @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-pgsql b/srcpkgs/php8-pgsql new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-pgsql @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-phpdbg b/srcpkgs/php8-phpdbg new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-phpdbg @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-snmp b/srcpkgs/php8-snmp new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-snmp @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-sodium b/srcpkgs/php8-sodium new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-sodium @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-sqlite b/srcpkgs/php8-sqlite new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-sqlite @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-tidy b/srcpkgs/php8-tidy new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-tidy @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8-xsl b/srcpkgs/php8-xsl new file mode 120000 index 000000000000..015de7408c42 --- /dev/null +++ b/srcpkgs/php8-xsl @@ -0,0 +1 @@ +php8 \ No newline at end of file diff --git a/srcpkgs/php8/files/apache.conf b/srcpkgs/php8/files/apache.conf new file mode 100644 index 000000000000..1ff98e95061e --- /dev/null +++ b/srcpkgs/php8/files/apache.conf @@ -0,0 +1,13 @@ +# Required modules: dir_module, php8_module + + + + DirectoryIndex index.php index.html + + SetHandler application/x-httpd-php + + + SetHandler application/x-httpd-php-source + + + diff --git a/srcpkgs/php8/files/php-fpm8/run b/srcpkgs/php8/files/php-fpm8/run new file mode 100755 index 000000000000..745416a459d7 --- /dev/null +++ b/srcpkgs/php8/files/php-fpm8/run @@ -0,0 +1,3 @@ +#!/bin/sh + +exec php-fpm8 --nodaemonize diff --git a/srcpkgs/php8/patches/php-706-crypt.patch b/srcpkgs/php8/patches/php-706-crypt.patch new file mode 100644 index 000000000000..254f1d2187c2 --- /dev/null +++ b/srcpkgs/php8/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/patches/php-cross-config.patch b/srcpkgs/php8/patches/php-cross-config.patch new file mode 100644 index 000000000000..24de8c58cbdd --- /dev/null +++ b/srcpkgs/php8/patches/php-cross-config.patch @@ -0,0 +1,41 @@ +--- a/configure 2020-03-17 11:40:20.000000000 +0100 ++++ b/configure 2020-04-12 19:51:57.216350534 +0200 +@@ -6374,10 +6374,12 @@ IFS="- /. + as_fn_error $? "Please note that Apache version >= 2.0.44 is required" "$LINENO" 5 + fi + ++ APXS_PREFIX='$(INSTALL_ROOT)'/usr + APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR` + if test -z `$APXS -q SYSCONFDIR`; then + INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ + $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ ++ -S PREFIX='$APXS_PREFIX' \ + -i -n php" + else + APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR` +@@ -6385,6 +6387,7 @@ IFS="- /. + \$(mkinstalldirs) '$APXS_SYSCONFDIR' && \ + $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ + -S SYSCONFDIR='$APXS_SYSCONFDIR' \ ++ -S PREFIX='$APXS_PREFIX' \ + -i -a -n php" + fi + +@@ -57170,7 +57173,7 @@ $as_echo_n "checking for pg_config... " + 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` +@@ -58821,7 +58824,7 @@ $as_echo_n "checking for pg_config... " + 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/patches/php-fpm.patch b/srcpkgs/php8/patches/php-fpm.patch new file mode 100644 index 000000000000..5e55e179f8a4 --- /dev/null +++ b/srcpkgs/php8/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/patches/php-ltmain-sysroot-support.patch b/srcpkgs/php8/patches/php-ltmain-sysroot-support.patch new file mode 100644 index 000000000000..bbe0a514a9e8 --- /dev/null +++ b/srcpkgs/php8/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/patches/php-opcache-cross.patch b/srcpkgs/php8/patches/php-opcache-cross.patch new file mode 100644 index 000000000000..5d8a8c5ceed5 --- /dev/null +++ b/srcpkgs/php8/patches/php-opcache-cross.patch @@ -0,0 +1,14 @@ +diff --git a/configure b/configure.new +index 1159224b4c..29f763aa05 100755 +--- a/configure ++++ b/configure.new +@@ -51689,7 +51689,8 @@ $as_echo "$have_shm_ipc" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mmap() using MAP_ANON shared memory support" >&5 + $as_echo_n "checking for mmap() using MAP_ANON shared memory support... " >&6; } + if test "$cross_compiling" = yes; then : +- have_shm_mmap_anon=no ++$as_echo "#define HAVE_SHM_MMAP_ANON 1" >>confdefs.h ++ have_shm_mmap_anon=yes + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ diff --git a/srcpkgs/php8/patches/php-pear-cross.patch b/srcpkgs/php8/patches/php-pear-cross.patch new file mode 100644 index 000000000000..f9191a50a0b5 --- /dev/null +++ b/srcpkgs/php8/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/patches/php-phar-cross.patch b/srcpkgs/php8/patches/php-phar-cross.patch new file mode 100644 index 000000000000..1e4e627ec65b --- /dev/null +++ b/srcpkgs/php8/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/patches/php-phpize-sysroot-support.patch b/srcpkgs/php8/patches/php-phpize-sysroot-support.patch new file mode 100644 index 000000000000..76cff3f81664 --- /dev/null +++ b/srcpkgs/php8/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/patches/php.ini.patch b/srcpkgs/php8/patches/php.ini.patch new file mode 100644 index 000000000000..14efedc578e8 --- /dev/null +++ b/srcpkgs/php8/patches/php.ini.patch @@ -0,0 +1,24 @@ +diff --git php.ini-production php.ini-production +index 794d3e8ddb..c7acf9c883 100644 +--- a/php.ini-production ++++ b/php.ini-production +@@ -729,7 +729,7 @@ default_charset = "UTF-8" + ;;;;;;;;;;;;;;;;;;;;;;;;; + + ; UNIX: "/path1:/path2" +-;include_path = ".:/php/includes" ++include_path = ".:/usr/share/pear" + ; + ; Windows: "\path1;\path2" + ;include_path = ".;c:\php\includes" +@@ -752,9 +752,7 @@ user_dir = + + ; Directory in which the loadable extensions (modules) reside. + ; http://php.net/extension-dir +-;extension_dir = "./" +-; On windows: +-;extension_dir = "ext" ++extension_dir = "/usr/lib/php8/modules/" + + ; Directory where the temporary files should be placed. + ; Defaults to the system default (see sys_get_temp_dir) diff --git a/srcpkgs/php8/template b/srcpkgs/php8/template new file mode 100644 index 000000000000..0b9c0a0fedf9 --- /dev/null +++ b/srcpkgs/php8/template @@ -0,0 +1,335 @@ +# Template file for 'php8' +pkgname=php8 +version=8.0.16 +revision=1 +wrksrc="php-${version}" +hostmakedepends="bison pkg-config apache-devel curl" +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="Orphaned " +license="PHP-3.01" +homepage="https://www.php.net" +distfiles="https://www.php.net/distributions/php-${version}.tar.gz" +checksum=ce0ea32ff9c5af18cfb70197b40caf55824400dc8d5b4258a783ec9168baa5b1 + +fetch_cmd="curl -O" + +conf_files="/etc/php8/php.ini" + +lib32disabled=yes + +if [ -n "$CROSS_BUILD" ]; then + # phar needs php to build + hostmakedepends+=" php8" + 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 + +do_build() { + local _phpconfig="--srcdir=.. \ + --config-cache \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc/php8 \ + --localstatedir=/var \ + --with-layout=GNU \ + --with-config-file-path=/etc/php8 \ + --with-config-file-scan-dir=/etc/php8/conf.d \ + --disable-rpath \ + --mandir=/usr/share/man \ + --libdir=/usr/lib/php8 \ + --datarootdir=/usr/share/php8 \ + --datadir=/usr/share/php8 \ + --program-suffix=8 \ + --includedir=/usr/include/php8 \ + " + + 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 \ + --without-pear \ + --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/php8 PHAR_PHP_MODULES=/usr/lib/php8/modules" + fi + + EXTENSION_DIR=/usr/lib/php8/modules + export EXTENSION_DIR + PEAR_INSTALLDIR=/usr/share/pear + 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/php8" + fi + make ${_env} install-{modules,cli,build,headers,programs,pharcmd} + + # install php.ini + vinstall ${wrksrc}/php.ini-production 644 etc/php8 php.ini + # remove static modules + rm -f ${DESTDIR}/usr/lib/php8/modules/*.a +} + +php8-devel_package() { + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/php8/build + vmove usr/bin/php-config8 + vmove usr/bin/phpize8 + vmove usr/share/man/man1/phpize8.1 + vmove usr/share/man/man1/php-config8.1 + } +} + +php8-phpdbg_package() { + short_desc+=" - interactive debugger" + depends="php8-${version}_${revision}" + pkg_install() { + cd ${wrksrc}/build + make INSTALL_ROOT=${PKGDESTDIR} install-phpdbg + } +} + +php8-cgi_package() { + short_desc+=' - CGI and FCGI SAPI' + depends="php8-${version}_${revision}" + pkg_install() { + cd ${wrksrc}/build + make INSTALL_ROOT=${PKGDESTDIR} install-cgi + } +} + +php8-apache_package() { + short_desc+=' - Apache SAPI' + depends="php8-${version}_${revision}" + conf_files="/etc/apache/extra/php8_module.conf" + pkg_install() { + vinstall ${wrksrc}/build-apache/libs/libphp.so 755 usr/libexec/httpd/modules libphp.so + vinstall ${FILESDIR}/apache.conf 644 etc/apache/extra php8_module.conf + } +} + +php8-fpm_package() { + short_desc+=' - FastCGI Process Manager' + depends="php8-${version}_${revision}" + conf_files="/etc/php8/php-fpm.conf /etc/php8/php-fpm.d/*" + pkg_install() { + cd ${wrksrc}/build + make INSTALL_ROOT=${PKGDESTDIR} install-fpm + vsv php-fpm8 + } +} + +php8-embed_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - Embed SAPI' + pkg_install() { + cd ${wrksrc}/build + make INSTALL_ROOT=${PKGDESTDIR} PHP_SAPI=embed install-sapi + } +} + +php8-enchant_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - enchant module' + pkg_install() { + vmove usr/lib/php8/modules/enchant.so + } +} + +php8-gd_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - gd module' + pkg_install() { + vmove usr/lib/php8/modules/gd.so + } +} + +php8-intl_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - Internationalization module' + pkg_install() { + vmove usr/lib/php8/modules/intl.so + } +} + +php8-ldap_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - LDAP module' + pkg_install() { + vmove usr/lib/php8/modules/ldap.so + } +} + +php8-mysql_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - MySQL modules' + pkg_install() { + vmove "usr/lib/php8/modules/*mysql*.so" + } +} + +php8-odbc_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - ODBC modules' + pkg_install() { + vmove "usr/lib/php8/modules/*odbc.so" + } +} + +php8-pgsql_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - PostgreSQL modules' + pkg_install() { + vmove "usr/lib/php8/modules/*pgsql.so" + } +} + +php8-snmp_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - snmp module' + pkg_install() { + vmove usr/lib/php8/modules/snmp.so + } +} + +php8-sqlite_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - sqlite module' + pkg_install() { + vmove "usr/lib/php8/modules/*sqlite*.so" + } +} + +php8-tidy_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - tidy HTML module' + pkg_install() { + vmove "usr/lib/php8/modules/*tidy*.so" + } +} + +php8-xsl_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - XSL module' + pkg_install() { + vmove usr/lib/php8/modules/xsl.so + } +} + +php8-sodium_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - sodium module' + pkg_install() { + vmove usr/lib/php8/modules/sodium.so + } +} + +php8-ffi_package() { + lib32disabled=yes + depends="php8-${version}_${revision}" + short_desc+=' - FFI module' + pkg_install() { + vmove usr/lib/php8/modules/ffi.so + } +} From 3fafa5a46de1fb55fa315113d2ff08944be91058 Mon Sep 17 00:00:00 2001 From: Joel Beckmeyer Date: Mon, 7 Mar 2022 20:33:01 -0500 Subject: [PATCH 2/6] New package: php8-apcu-5.1.21 --- srcpkgs/php8-apcu/INSTALL.msg | 3 +++ srcpkgs/php8-apcu/template | 29 +++++++++++++++++++++++++++++ srcpkgs/php8-apcu/update | 2 ++ 3 files changed, 34 insertions(+) create mode 100644 srcpkgs/php8-apcu/INSTALL.msg create mode 100644 srcpkgs/php8-apcu/template create mode 100644 srcpkgs/php8-apcu/update diff --git a/srcpkgs/php8-apcu/INSTALL.msg b/srcpkgs/php8-apcu/INSTALL.msg new file mode 100644 index 000000000000..9da8a70ccc2b --- /dev/null +++ b/srcpkgs/php8-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-apcu/template b/srcpkgs/php8-apcu/template new file mode 100644 index 000000000000..9dc9e5da4413 --- /dev/null +++ b/srcpkgs/php8-apcu/template @@ -0,0 +1,29 @@ +# Template file for 'php8-apcu' +pkgname=php8-apcu +version=5.1.21 +revision=1 +wrksrc="apcu-${version}" +build_style=gnu-configure +configure_args="--with-php-config=/usr/bin/php-config8" +make_check_target=test +hostmakedepends="autoconf pcre2-devel php8-devel" +makedepends="php8-devel" +depends="php8>=8.0.16" +short_desc="In-memory key-value store for PHP" +maintainer="Orphaned " +license="PHP-3.01" +homepage="https://pecl.php.net/package/APCu" +distfiles="https://pecl.php.net/get/apcu-${version}.tgz" +checksum=1033530448696ee7cadec85050f6df5135fb1330072ef2a74569392acfecfbc1 + +pre_configure() { + phpize8 +} + +pre_install() { + make_install_args="INSTALL_ROOT=$DESTDIR" +} + +post_install() { + rm -r $DESTDIR/usr/include +} diff --git a/srcpkgs/php8-apcu/update b/srcpkgs/php8-apcu/update new file mode 100644 index 000000000000..ad899519e313 --- /dev/null +++ b/srcpkgs/php8-apcu/update @@ -0,0 +1,2 @@ +site="https://pecl.php.net/package/APCu" +pattern="apcu-\K[\d\.]*(?=\.tgz)" From 44567755b93e8c9283e99a9c1934bc8ea670964a Mon Sep 17 00:00:00 2001 From: Joel Beckmeyer Date: Mon, 7 Mar 2022 20:37:16 -0500 Subject: [PATCH 3/6] New package: php8-imagick-3.7.0 --- srcpkgs/php8-imagick/INSTALL.msg | 3 ++ ...le-libmagick-header-file-search-path.patch | 17 +++++++++++ srcpkgs/php8-imagick/template | 29 +++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 srcpkgs/php8-imagick/INSTALL.msg create mode 100644 srcpkgs/php8-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch create mode 100644 srcpkgs/php8-imagick/template diff --git a/srcpkgs/php8-imagick/INSTALL.msg b/srcpkgs/php8-imagick/INSTALL.msg new file mode 100644 index 000000000000..00497519fcee --- /dev/null +++ b/srcpkgs/php8-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-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch b/srcpkgs/php8-imagick/patches/0001-fix-cross-compile-libmagick-header-file-search-path.patch new file mode 100644 index 000000000000..16b8aaa57371 --- /dev/null +++ b/srcpkgs/php8-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-imagick/template b/srcpkgs/php8-imagick/template new file mode 100644 index 000000000000..3de4da2c86b0 --- /dev/null +++ b/srcpkgs/php8-imagick/template @@ -0,0 +1,29 @@ +# Template file for 'php8-imagick' +pkgname=php8-imagick +version=3.7.0 +revision=1 +wrksrc="imagick-$version" +build_style=gnu-configure +configure_args="--with-imagick=${XBPS_CROSS_BASE}/usr \ + --with-php-config=/usr/bin/php-config8" +hostmakedepends="php8-devel autoconf pkg-config" +makedepends="php8-devel pcre2-devel libmagick-devel" +depends="php8>=8.0.16" +short_desc="Provides a PHP wrapper to the ImageMagick library" +maintainer="Orphaned " +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 +} + +pre_install() { + make_install_args="INSTALL_ROOT=$DESTDIR" +} + +post_install() { + rm -r $DESTDIR/usr/include +} From fa363720c29f072705149c4e8c26d79244dc3a12 Mon Sep 17 00:00:00 2001 From: Joel Beckmeyer Date: Tue, 8 Mar 2022 08:27:29 -0500 Subject: [PATCH 4/6] New package: php8-ast-1.0.16 --- srcpkgs/php8-ast/INSTALL.msg | 2 ++ srcpkgs/php8-ast/template | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 srcpkgs/php8-ast/INSTALL.msg create mode 100644 srcpkgs/php8-ast/template diff --git a/srcpkgs/php8-ast/INSTALL.msg b/srcpkgs/php8-ast/INSTALL.msg new file mode 100644 index 000000000000..0dd0b5df2d96 --- /dev/null +++ b/srcpkgs/php8-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-ast/template b/srcpkgs/php8-ast/template new file mode 100644 index 000000000000..71737dbe0cd4 --- /dev/null +++ b/srcpkgs/php8-ast/template @@ -0,0 +1,25 @@ +# Template file for 'php8-ast' +pkgname=php8-ast +version=1.0.16 +revision=1 +wrksrc="ast-${version}" +build_style=gnu-configure +configure_args="--with-php-config=/usr/bin/php-config8" +hostmakedepends="php8-devel autoconf" +makedepends="php8-devel" +depends="php8>=8.0.16" +short_desc="Exposes the abstract syntax tree generated by PHP" +maintainer="Merlin Diavova " +license="BSD-3-Clause" +homepage="https://github.com/nikic/php-ast" +distfiles="https://pecl.php.net/get/ast-${version}.tgz" +checksum=45bda34b780c4661ce77cf65cd8a504fb56526d4b456edcc97d791c86f3879ce + +pre_configure() { + phpize8 +} + +do_install() { + make INSTALL_ROOT=${DESTDIR} install + vlicense LICENSE +} From 69f4e230b2698d6b196049e50fe2172317b04b1e Mon Sep 17 00:00:00 2001 From: Joel Beckmeyer Date: Tue, 8 Mar 2022 08:31:05 -0500 Subject: [PATCH 5/6] New package: php8-igbinary-3.2.7 --- srcpkgs/php8-igbinary/template | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 srcpkgs/php8-igbinary/template diff --git a/srcpkgs/php8-igbinary/template b/srcpkgs/php8-igbinary/template new file mode 100644 index 000000000000..7eaf19056db6 --- /dev/null +++ b/srcpkgs/php8-igbinary/template @@ -0,0 +1,25 @@ +# Template file for 'php8-igbinary' +pkgname=php8-igbinary +version=3.2.7 +revision=1 +wrksrc="igbinary-${version}" +build_style=gnu-configure +configure_args="--with-php-config=/usr/bin/php-config8" +hostmakedepends="autoconf php8-devel" +makedepends="php8-devel" +depends="php8>8.0.16" +short_desc="Igbinary is a drop in replacement for the standard php serializer" +maintainer="Merlin Diavova " +license="BSD-3-Clause" +homepage="https://github.com/igbinary/igbinary/" +distfiles="https://pecl.php.net/get/igbinary-${version}.tgz" +checksum=d0dc0d0b56a985f4f52cea20717133d3da05368876bc0f94317c1e60e0319e7d + +pre_configure() { + phpize8 +} + +do_install() { + make INSTALL_ROOT="${DESTDIR}" install + vlicense COPYING +} From 1d79f3d6d860a3dd813f9d372d5ea5e0e65475fd Mon Sep 17 00:00:00 2001 From: Joel Beckmeyer Date: Tue, 8 Mar 2022 11:54:40 -0500 Subject: [PATCH 6/6] New package: composer8-2.2.7 --- srcpkgs/composer8/files/composer8 | 2 ++ srcpkgs/composer8/template | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 srcpkgs/composer8/files/composer8 create mode 100644 srcpkgs/composer8/template diff --git a/srcpkgs/composer8/files/composer8 b/srcpkgs/composer8/files/composer8 new file mode 100644 index 000000000000..f75085dbfb6f --- /dev/null +++ b/srcpkgs/composer8/files/composer8 @@ -0,0 +1,2 @@ +#!/bin/sh +php8 -f /usr/libexec/composer.phar8 diff --git a/srcpkgs/composer8/template b/srcpkgs/composer8/template new file mode 100644 index 000000000000..c1311bcbf455 --- /dev/null +++ b/srcpkgs/composer8/template @@ -0,0 +1,26 @@ +# Template file for 'composer8' +pkgname=composer8 +version=2.2.7 +revision=1 +build_style=fetch +depends="php8" +short_desc="Dependency manager for PHP" +maintainer="Felipe Nogueira " +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="10040ded663541990eef8ce1f6fa44cb3b4a47e145efb8e9e59907a15068033d + 7855ac293067aebe7e51afdd23b9dea54b8be24187dbecc9b9142581c37f596c" + +do_install() { + vbin ${FILESDIR}/composer8 + + vinstall composer.phar 644 usr/libexec composer.phar8 + vlicense LICENSE + + vmkdir /etc/php8/conf.d + printf 'extension=%s\n' phar iconv openssl zip \ + >${DESTDIR}/etc/php8/conf.d/composer.ini +}