diff options
-rw-r--r-- | .SRCINFO | 76 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | PKGBUILD | 140 | ||||
-rw-r--r-- | apache.conf | 5 | ||||
-rw-r--r-- | apache.patch | 2 | ||||
-rw-r--r-- | constant_016.phpt.patch | 10 | ||||
-rw-r--r-- | enchant-2.patch | 49 | ||||
-rwxr-xr-x | generate_patches | 85 | ||||
-rw-r--r-- | php-fpm.patch | 4 | ||||
-rw-r--r-- | php.ini.patch | 20 | ||||
-rw-r--r-- | php.patch | 31 |
11 files changed, 201 insertions, 222 deletions
@@ -1,6 +1,6 @@ pkgbase = php-zts - pkgver = 7.4.9 - pkgrel = 1 + pkgver = 8.2.0 + pkgrel = 3 url = https://www.php.net/ arch = x86_64 license = PHP @@ -9,6 +9,7 @@ pkgbase = php-zts makedepends = aspell makedepends = c-client makedepends = db + makedepends = gdbm makedepends = enchant makedepends = gd makedepends = gmp @@ -29,24 +30,24 @@ pkgbase = php-zts makedepends = pcre2 makedepends = libnsl makedepends = oniguruma - source = https://php.net/distributions/php-7.4.9.tar.xz - source = https://php.net/distributions/php-7.4.9.tar.xz.asc + options = debug + source = https://php.net/distributions/php-8.2.0.tar.xz + source = https://php.net/distributions/php-8.2.0.tar.xz.asc source = apache.patch source = apache.conf source = php-fpm.patch source = php-fpm.tmpfiles source = php.ini.patch - source = enchant-2.patch - validpgpkeys = 5A52880781F755608BF815FC910DEB46F53EA312 - validpgpkeys = 42670A7FE4D0441C8E4632349E4FDC074A4EF02D - sha512sums = 6179c2d867d6775d7f41785003c36d06ce620e7746ea7e6a4d275264e814a66d465776b47b04e2926ed1228cf58f2c15cdda74faf10372435c74ede7aeb79e18 - sha512sums = SKIP - sha512sums = e73b424e436be79cab5bf248ee74f533cb1f3a7b26a2213a084f998a7de65dc1ca0d0d0f7921a6254883b68262956c896a60dcbc1d4177c66ce1fb57ca170045 - sha512sums = 62ab40a15358802c87fa1c3af3248eeaba78732778c518c3f258e3c6a1dfdf420e90320c41a129162c66933e022d1294c454f29953873ff65faba6a36c5b8d0d - sha512sums = 86ee6630bf0cac43bbf5a4b3918e63f32e01e74ac00845ebba2d122e14300bb47b41af17d88dfbf655b3a03966f5619b87b6f1ad8623e22482fe46be273309cb - sha512sums = 824e9a0d10063283357d49a81ab49bf834afd24f098482bdbaa9ab60bbad2b0dea6f5879259b73717d437626b02fb4f2d3ef68b7bcbb26bee274a7b61144720f - sha512sums = a924bfece3d57286dce44f0173dd856184e7a1c1de5e880229c7dac0874efde52090af155932614f2594eebba118f8b89ac48e48d1161e7b3d8a95a93a24fe5d - sha512sums = 5d7d44d692848fbb952e17e5bd6dffa79b764526e4940fbe0a5138ad62cb41abdb8c9bb8dd64cd1d0b488c74972bcf3f9c6d32a3bbeac90982fdf6321d3ec788 + source = constant_016.phpt.patch + validpgpkeys = E60913E4DF209907D8E30D96659A97C9CF2A795A + sha256sums = 6ea4c2dfb532950fd712aa2a08c1412a6a81cd1334dd0b0bf88a8e44c2b3a943 + sha256sums = SKIP + sha256sums = c24122c0a742d3f153d52076137e737da0191584dab178bafed547b3bf2a28e8 + sha256sums = aee6ee73d1b3cf161069c355e8472a2ceda0886e98bf6a69d57c1dcf6b09ab17 + sha256sums = 69beb06f8eed1b9d61f1f2ad71b8d1026e0389b7f4cbedbf540ab84427c86d95 + sha256sums = 640dba0d960bfeaae9ad38d2826d3f6b5d6c175a4d3e16664eefff29141faad5 + sha256sums = 47d36703914f9e26c33e06fab8aa66af918af8f06f4168db7d8c6b8104abc0d3 + sha256sums = 0038394f0bfaf67b8536b99069800a12e82b8e8e0be0ae4411ca0d5af6f308f7 pkgname = php-zts pkgdesc = A general-purpose scripting language that is especially suited to web development(ZTS enabled) @@ -56,8 +57,10 @@ pkgname = php-zts depends = pcre2 depends = argon2 depends = oniguruma - provides = php=7.4.9 - provides = php-ldap=7.4.9 + depends = db + depends = gdbm + provides = php=8.2.0 + provides = php-ldap=8.2.0 conflicts = php conflicts = php-ldap replaces = php @@ -67,7 +70,7 @@ pkgname = php-zts pkgname = php-zts-cgi pkgdesc = CGI and FCGI SAPI for PHP depends = php-zts - provides = php-cgi=7.4.9 + provides = php-cgi=8.2.0 conflicts = php-cgi replaces = php-cgi @@ -76,7 +79,7 @@ pkgname = php-zts-apache depends = php-zts depends = apache depends = libnsl - provides = php-apache=7.4.9 + provides = php-apache=8.2.0 conflicts = php-apache replaces = php-apache backup = etc/httpd/conf/extra/php7_module.conf @@ -85,7 +88,7 @@ pkgname = php-zts-fpm pkgdesc = FastCGI Process Manager for PHP depends = php-zts depends = systemd - provides = php-fpm=7.4.9 + provides = php-fpm=8.2.0 conflicts = php-fpm replaces = php-fpm options = !emptydirs @@ -97,7 +100,8 @@ pkgname = php-zts-embed depends = php-zts depends = systemd-libs depends = libnsl - provides = php-embed=7.4.9 + depends = libxcrypt + provides = php-embed=8.2.0 conflicts = php-embed replaces = php-embed options = !emptydirs @@ -105,7 +109,7 @@ pkgname = php-zts-embed pkgname = php-zts-phpdbg pkgdesc = Interactive PHP debugger depends = php-zts - provides = php-phpdbg=7.4.9 + provides = php-phpdbg=8.2.0 conflicts = php-phpdbg replaces = php-phpdbg options = !emptydirs @@ -114,7 +118,7 @@ pkgname = php-zts-dblib pkgdesc = dblib module for PHP depends = php-zts depends = freetds - provides = php-dblib=7.4.9 + provides = php-dblib=8.2.0 conflicts = php-dblib replaces = php-dblib @@ -122,7 +126,7 @@ pkgname = php-zts-enchant pkgdesc = enchant module for PHP depends = php-zts depends = enchant - provides = php-enchant=7.4.9 + provides = php-enchant=8.2.0 conflicts = php-enchant replaces = php-enchant @@ -130,7 +134,7 @@ pkgname = php-zts-gd pkgdesc = gd module for PHP depends = php-zts depends = gd - provides = php-gd=7.4.9 + provides = php-gd=8.2.0 conflicts = php-gd replaces = php-gd @@ -138,7 +142,8 @@ pkgname = php-zts-imap pkgdesc = imap module for PHP depends = php-zts depends = c-client - provides = php-imap=7.4.9 + depends = libxcrypt + provides = php-imap=8.2.0 conflicts = php-imap replaces = php-imap @@ -146,7 +151,7 @@ pkgname = php-zts-intl pkgdesc = intl module for PHP depends = php-zts depends = icu - provides = php-intl=7.4.9 + provides = php-intl=8.2.0 conflicts = php-intl replaces = php-intl @@ -154,7 +159,7 @@ pkgname = php-zts-sodium pkgdesc = sodium module for PHP depends = php-zts depends = libsodium - provides = php-sodium=7.4.9 + provides = php-sodium=8.2.0 conflicts = php-sodium replaces = php-sodium @@ -162,7 +167,7 @@ pkgname = php-zts-odbc pkgdesc = ODBC modules for PHP depends = php-zts depends = unixodbc - provides = php-odbc=7.4.9 + provides = php-odbc=8.2.0 conflicts = php-odbc replaces = php-odbc @@ -170,7 +175,7 @@ pkgname = php-zts-pgsql pkgdesc = PostgreSQL modules for PHP depends = php-zts depends = postgresql-libs - provides = php-pgsql=7.4.9 + provides = php-pgsql=8.2.0 conflicts = php-pgsql replaces = php-pgsql @@ -178,7 +183,7 @@ pkgname = php-zts-pspell pkgdesc = pspell module for PHP depends = php-zts depends = aspell - provides = php-pspell=7.4.9 + provides = php-pspell=8.2.0 conflicts = php-pspell replaces = php-pspell @@ -186,7 +191,7 @@ pkgname = php-zts-snmp pkgdesc = snmp module for PHP depends = php-zts depends = net-snmp - provides = php-snmp=7.4.9 + provides = php-snmp=8.2.0 conflicts = php-snmp replaces = php-snmp @@ -194,7 +199,7 @@ pkgname = php-zts-sqlite pkgdesc = sqlite module for PHP depends = php-zts depends = sqlite - provides = php-sqlite=7.4.9 + provides = php-sqlite=8.2.0 conflicts = php-sqlite replaces = php-sqlite @@ -202,7 +207,7 @@ pkgname = php-zts-tidy pkgdesc = tidy module for PHP depends = php-zts depends = tidy - provides = php-tidy=7.4.9 + provides = php-tidy=8.2.0 conflicts = php-tidy replaces = php-tidy @@ -210,7 +215,6 @@ pkgname = php-zts-xsl pkgdesc = xsl module for PHP depends = php-zts depends = libxslt - provides = php-xsl=7.4.9 + provides = php-xsl=8.2.0 conflicts = php-xsl replaces = php-xsl - diff --git a/.gitignore b/.gitignore index e0d371dae6b5..691a299b9118 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ src/ pkg/ *.pkg.tar.xz *.xz +*.zst *.asc .project .settings @@ -24,45 +24,44 @@ pkgname=("${pkgbase}" "${pkgbase}-tidy" "${pkgbase}-xsl") -pkgver=7.4.9 -pkgrel=1 +pkgver=8.2.0 +pkgrel=3 arch=('x86_64') license=('PHP') url='https://www.php.net/' -makedepends=('apache' 'aspell' 'c-client' 'db' 'enchant' 'gd' 'gmp' 'icu' 'libsodium' 'libxslt' 'libzip' 'net-snmp' +makedepends=('apache' 'aspell' 'c-client' 'db' 'gdbm' 'enchant' 'gd' 'gmp' 'icu' 'libsodium' 'libxslt' 'libzip' 'net-snmp' 'postgresql-libs' 'sqlite' 'systemd' 'tidy' 'unixodbc' 'curl' 'libtool' 'postfix' 'freetds' 'pcre2' 'libnsl' 'oniguruma') checkdepends=('procps-ng') +options=(debug) source=("https://php.net/distributions/${_pkgbase}-${pkgver}.tar.xz"{,.asc} - 'apache.patch' 'apache.conf' 'php-fpm.patch' 'php-fpm.tmpfiles' 'php.ini.patch' - 'enchant-2.patch') -sha512sums=('6179c2d867d6775d7f41785003c36d06ce620e7746ea7e6a4d275264e814a66d465776b47b04e2926ed1228cf58f2c15cdda74faf10372435c74ede7aeb79e18' + 'apache.patch' 'apache.conf' 'php-fpm.patch' 'php-fpm.tmpfiles' 'php.ini.patch' 'constant_016.phpt.patch') +sha256sums=('6ea4c2dfb532950fd712aa2a08c1412a6a81cd1334dd0b0bf88a8e44c2b3a943' 'SKIP' - 'e73b424e436be79cab5bf248ee74f533cb1f3a7b26a2213a084f998a7de65dc1ca0d0d0f7921a6254883b68262956c896a60dcbc1d4177c66ce1fb57ca170045' - '62ab40a15358802c87fa1c3af3248eeaba78732778c518c3f258e3c6a1dfdf420e90320c41a129162c66933e022d1294c454f29953873ff65faba6a36c5b8d0d' - '86ee6630bf0cac43bbf5a4b3918e63f32e01e74ac00845ebba2d122e14300bb47b41af17d88dfbf655b3a03966f5619b87b6f1ad8623e22482fe46be273309cb' - '824e9a0d10063283357d49a81ab49bf834afd24f098482bdbaa9ab60bbad2b0dea6f5879259b73717d437626b02fb4f2d3ef68b7bcbb26bee274a7b61144720f' - 'a924bfece3d57286dce44f0173dd856184e7a1c1de5e880229c7dac0874efde52090af155932614f2594eebba118f8b89ac48e48d1161e7b3d8a95a93a24fe5d' - '5d7d44d692848fbb952e17e5bd6dffa79b764526e4940fbe0a5138ad62cb41abdb8c9bb8dd64cd1d0b488c74972bcf3f9c6d32a3bbeac90982fdf6321d3ec788') -validpgpkeys=('5A52880781F755608BF815FC910DEB46F53EA312' - '42670A7FE4D0441C8E4632349E4FDC074A4EF02D') + 'c24122c0a742d3f153d52076137e737da0191584dab178bafed547b3bf2a28e8' + 'aee6ee73d1b3cf161069c355e8472a2ceda0886e98bf6a69d57c1dcf6b09ab17' + '69beb06f8eed1b9d61f1f2ad71b8d1026e0389b7f4cbedbf540ab84427c86d95' + '640dba0d960bfeaae9ad38d2826d3f6b5d6c175a4d3e16664eefff29141faad5' + '47d36703914f9e26c33e06fab8aa66af918af8f06f4168db7d8c6b8104abc0d3' + '0038394f0bfaf67b8536b99069800a12e82b8e8e0be0ae4411ca0d5af6f308f7') +validpgpkeys=('E60913E4DF209907D8E30D96659A97C9CF2A795A') +_interpreter=${pkgver%.*} prepare() { - cd ${srcdir}/${_pkgbase}-${pkgver} + cd "${srcdir}/${_pkgbase}-${pkgver}" - patch -p0 -i ${srcdir}/apache.patch - patch -p0 -i ${srcdir}/php-fpm.patch - patch -p0 -i ${srcdir}/php.ini.patch - patch -p0 -i ${srcdir}/enchant-2.patch + patch -p0 -i "${srcdir}/apache.patch" + patch -p0 -i "${srcdir}/php-fpm.patch" + patch -p0 -i "${srcdir}/php.ini.patch" + patch -p0 -i "${srcdir}/constant_016.phpt.patch" autoconf + # Disable failing tests rm tests/output/stream_isatty_*.phpt + rm Zend/tests/arginfo_zpp_mismatch*.phpt } build() { - # http://site.icu-project.org/download/61#TOC-Migration-Issues - CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1' - local _phpconfig="--srcdir=../${_pkgbase}-${pkgver} \ --config-cache \ --prefix=/usr \ @@ -74,6 +73,7 @@ build() { --with-config-file-scan-dir=/etc/php/conf.d \ --disable-rpath \ --mandir=/usr/share/man \ + --disable-gcc-global-regs \ " local _phpextensions="\ @@ -126,19 +126,18 @@ build() { --with-sqlite3=shared \ --with-tidy=shared \ --with-unixODBC=shared \ - --with-xmlrpc=shared \ --with-xsl=shared \ --with-zip=shared \ --with-zlib \ - --enable-maintainer-zts \ + --enable-zts \ " EXTENSION_DIR=/usr/lib/php/modules export EXTENSION_DIR - mkdir ${srcdir}/build - cd ${srcdir}/build - ln -s ../${_pkgbase}-${pkgver}/configure + mkdir "${srcdir}/build" + cd "${srcdir}/build" + ln -s "../${_pkgbase}-${pkgver}/configure" ./configure ${_phpconfig} \ --enable-cgi \ --enable-fpm \ @@ -152,16 +151,16 @@ build() { # apache # reuse the previous run; this will save us a lot of time - cp -a ${srcdir}/build ${srcdir}/build-apache - cd ${srcdir}/build-apache + cp -a "${srcdir}/build" "${srcdir}/build-apache" + cd "${srcdir}/build-apache" ./configure ${_phpconfig} \ --with-apxs2 \ ${_phpextensions} make # phpdbg - cp -a ${srcdir}/build ${srcdir}/build-phpdbg - cd ${srcdir}/build-phpdbg + cp -a "${srcdir}/build" "${srcdir}/build-phpdbg" + cd "${srcdir}/build-phpdbg" ./configure ${_phpconfig} \ --enable-phpdbg \ ${_phpextensions} @@ -169,7 +168,7 @@ build() { } check() { - cd ${srcdir}/build + cd "${srcdir}/build" # Check if sendmail was configured correctly (FS#47600) sapi/cli/php -n -r 'echo ini_get("sendmail_path");' | grep -q '/usr/bin/sendmail' @@ -186,23 +185,24 @@ check() { package_php-zts() { pkgdesc='A general-purpose scripting language that is especially suited to web development(ZTS enabled)' - depends=('libxml2' 'curl' 'libzip' 'pcre2' 'argon2' 'oniguruma') + depends=('libxml2' 'curl' 'libzip' 'pcre2' 'argon2' 'oniguruma' 'db' 'gdbm') replaces=("${_pkgbase}" 'php-ldap') conflicts=("${_pkgbase}" 'php-ldap') provides=("${_pkgbase}=${pkgver}" "php-ldap=${pkgver}") + backup=('etc/php/php.ini') - cd ${srcdir}/build - make INSTALL_ROOT=${pkgdir} install-{modules,cli,build,headers,programs,pharcmd} - install -D -m644 ${srcdir}/${_pkgbase}-${pkgver}/php.ini-production ${pkgdir}/etc/php/php.ini - install -d -m755 ${pkgdir}/etc/php/conf.d/ + cd "${srcdir}/build" + make INSTALL_ROOT="${pkgdir}" install-{modules,cli,build,headers,programs,pharcmd} + install -D -m644 "${srcdir}/${_pkgbase}-${pkgver}/php.ini-production" "${pkgdir}/etc/php/php.ini" + install -d -m755 "${pkgdir}/etc/php/conf.d/" # remove static modules - rm -f ${pkgdir}/usr/lib/php/modules/*.a + rm -f "${pkgdir}/usr/lib/php/modules/"*.a # remove modules provided by sub packages - rm -f ${pkgdir}/usr/lib/php/modules/{enchant,gd,imap,intl,sodium,odbc,pdo_dblib,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so + rm -f "${pkgdir}/usr/lib/php/modules/"{enchant,gd,imap,intl,sodium,odbc,pdo_dblib,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so # remove empty directory - rmdir ${pkgdir}/usr/include/php/include + rmdir "${pkgdir}/usr/include/php/include" } package_php-zts-cgi() { @@ -212,8 +212,8 @@ package_php-zts-cgi() { conflicts=("${_pkgbase}-cgi") provides=("${_pkgbase}-cgi=${pkgver}") - cd ${srcdir}/build - make INSTALL_ROOT=${pkgdir} install-cgi + cd "${srcdir}/build" + make INSTALL_ROOT="${pkgdir}" install-cgi } package_php-zts-apache() { @@ -224,8 +224,8 @@ package_php-zts-apache() { provides=("${_pkgbase}-apache=${pkgver}") backup=('etc/httpd/conf/extra/php7_module.conf') - install -D -m755 ${srcdir}/build-apache/libs/libphp7.so ${pkgdir}/usr/lib/httpd/modules/libphp7.so - install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/php7_module.conf + install -D -m755 "${srcdir}/build-apache/libs/libphp.so" "${pkgdir}/usr/lib/httpd/modules/libphp.so" + install -D -m644 "${srcdir}/apache.conf" "${pkgdir}/etc/httpd/conf/extra/php_module.conf" } package_php-zts-fpm() { @@ -237,22 +237,22 @@ package_php-zts-fpm() { backup=('etc/php/php-fpm.conf' 'etc/php/php-fpm.d/www.conf') options=('!emptydirs') - cd ${srcdir}/build - make INSTALL_ROOT=${pkgdir} install-fpm - install -D -m644 sapi/fpm/php-fpm.service ${pkgdir}/usr/lib/systemd/system/php-fpm.service - install -D -m644 ${srcdir}/php-fpm.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/php-fpm.conf + cd "${srcdir}/build" + make INSTALL_ROOT="${pkgdir}" install-fpm + install -D -m644 sapi/fpm/php-fpm.service "${pkgdir}/usr/lib/systemd/system/php-fpm.service" + install -D -m644 "${srcdir}/php-fpm.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/php-fpm.conf" } package_php-zts-embed() { pkgdesc='Embedded PHP SAPI library' - depends=("${pkgbase}" 'systemd-libs' 'libnsl') + depends=("${pkgbase}" 'systemd-libs' 'libnsl' 'libxcrypt') replaces=("${_pkgbase}-embed") conflicts=("${_pkgbase}-embed") provides=("${_pkgbase}-embed=${pkgver}") options=('!emptydirs') - cd ${srcdir}/build - make INSTALL_ROOT=${pkgdir} PHP_SAPI=embed install-sapi + cd "${srcdir}/build" + make INSTALL_ROOT="${pkgdir}" PHP_SAPI=embed install-sapi } package_php-zts-phpdbg() { @@ -263,8 +263,8 @@ package_php-zts-phpdbg() { provides=("${_pkgbase}-phpdbg=${pkgver}") options=('!emptydirs') - cd ${srcdir}/build-phpdbg - make INSTALL_ROOT=${pkgdir} install-phpdbg + cd "${srcdir}/build-phpdbg" + make INSTALL_ROOT="${pkgdir}" install-phpdbg } package_php-zts-dblib() { @@ -274,7 +274,7 @@ package_php-zts-dblib() { conflicts=("${_pkgbase}-dblib") provides=("${_pkgbase}-dblib=${pkgver}") - install -D -m755 ${srcdir}/build/modules/pdo_dblib.so ${pkgdir}/usr/lib/php/modules/pdo_dblib.so + install -D -m755 "${srcdir}/build/modules/pdo_dblib.so" "${pkgdir}/usr/lib/php/modules/pdo_dblib.so" } package_php-zts-enchant() { @@ -284,7 +284,7 @@ package_php-zts-enchant() { conflicts=("${_pkgbase}-enchant") provides=("${_pkgbase}-enchant=${pkgver}") - install -D -m755 ${srcdir}/build/modules/enchant.so ${pkgdir}/usr/lib/php/modules/enchant.so + install -D -m755 "${srcdir}/build/modules/enchant.so" "${pkgdir}/usr/lib/php/modules/enchant.so" } package_php-zts-gd() { @@ -294,17 +294,17 @@ package_php-zts-gd() { conflicts=("${_pkgbase}-gd") provides=("${_pkgbase}-gd=${pkgver}") - install -D -m755 ${srcdir}/build/modules/gd.so ${pkgdir}/usr/lib/php/modules/gd.so + install -D -m755 "${srcdir}/build/modules/gd.so" "${pkgdir}/usr/lib/php/modules/gd.so" } package_php-zts-imap() { pkgdesc='imap module for PHP' - depends=("${pkgbase}" 'c-client') + depends=("${pkgbase}" 'c-client' 'libxcrypt') replaces=("${_pkgbase}-imap") conflicts=("${_pkgbase}-imap") provides=("${_pkgbase}-imap=${pkgver}") - install -D -m755 ${srcdir}/build/modules/imap.so ${pkgdir}/usr/lib/php/modules/imap.so + install -D -m755 "${srcdir}/build/modules/imap.so" "${pkgdir}/usr/lib/php/modules/imap.so" } package_php-zts-intl() { @@ -314,7 +314,7 @@ package_php-zts-intl() { conflicts=("${_pkgbase}-intl") provides=("${_pkgbase}-intl=${pkgver}") - install -D -m755 ${srcdir}/build/modules/intl.so ${pkgdir}/usr/lib/php/modules/intl.so + install -D -m755 "${srcdir}/build/modules/intl.so" "${pkgdir}/usr/lib/php/modules/intl.so" } package_php-zts-sodium() { @@ -324,7 +324,7 @@ package_php-zts-sodium() { conflicts=("${_pkgbase}-sodium") provides=("${_pkgbase}-sodium=${pkgver}") - install -D -m755 ${srcdir}/build/modules/sodium.so ${pkgdir}/usr/lib/php/modules/sodium.so + install -D -m755 "${srcdir}/build/modules/sodium.so" "${pkgdir}/usr/lib/php/modules/sodium.so" } package_php-zts-odbc() { @@ -334,8 +334,8 @@ package_php-zts-odbc() { conflicts=("${_pkgbase}-odbc") provides=("${_pkgbase}-odbc=${pkgver}") - install -D -m755 ${srcdir}/build/modules/odbc.so ${pkgdir}/usr/lib/php/modules/odbc.so - install -D -m755 ${srcdir}/build/modules/pdo_odbc.so ${pkgdir}/usr/lib/php/modules/pdo_odbc.so + install -D -m755 "${srcdir}/build/modules/odbc.so" "${pkgdir}/usr/lib/php/modules/odbc.so" + install -D -m755 "${srcdir}/build/modules/pdo_odbc.so" "${pkgdir}/usr/lib/php/modules/pdo_odbc.so" } package_php-zts-pgsql() { @@ -345,8 +345,8 @@ package_php-zts-pgsql() { conflicts=("${_pkgbase}-pgsql") provides=("${_pkgbase}-pgsql=${pkgver}") - install -D -m755 ${srcdir}/build/modules/pgsql.so ${pkgdir}/usr/lib/php/modules/pgsql.so - install -D -m755 ${srcdir}/build/modules/pdo_pgsql.so ${pkgdir}/usr/lib/php/modules/pdo_pgsql.so + install -D -m755 "${srcdir}/build/modules/pgsql.so" "${pkgdir}/usr/lib/php/modules/pgsql.so" + install -D -m755 "${srcdir}/build/modules/pdo_pgsql.so" "${pkgdir}/usr/lib/php/modules/pdo_pgsql.so" } package_php-zts-pspell() { @@ -356,7 +356,7 @@ package_php-zts-pspell() { conflicts=("${_pkgbase}-pspell") provides=("${_pkgbase}-pspell=${pkgver}") - install -D -m755 ${srcdir}/build/modules/pspell.so ${pkgdir}/usr/lib/php/modules/pspell.so + install -D -m755 "${srcdir}/build/modules/pspell.so" "${pkgdir}/usr/lib/php/modules/pspell.so" } package_php-zts-snmp() { @@ -366,7 +366,7 @@ package_php-zts-snmp() { conflicts=("${_pkgbase}-snmp") provides=("${_pkgbase}-snmp=${pkgver}") - install -D -m755 ${srcdir}/build/modules/snmp.so ${pkgdir}/usr/lib/php/modules/snmp.so + install -D -m755 "${srcdir}/build/modules/snmp.so" "${pkgdir}/usr/lib/php/modules/snmp.so" } package_php-zts-sqlite() { @@ -376,8 +376,8 @@ package_php-zts-sqlite() { conflicts=("${_pkgbase}-sqlite") provides=("${_pkgbase}-sqlite=${pkgver}") - install -D -m755 ${srcdir}/build/modules/sqlite3.so ${pkgdir}/usr/lib/php/modules/sqlite3.so - install -D -m755 ${srcdir}/build/modules/pdo_sqlite.so ${pkgdir}/usr/lib/php/modules/pdo_sqlite.so + install -D -m755 "${srcdir}/build/modules/sqlite3.so" "${pkgdir}/usr/lib/php/modules/sqlite3.so" + install -D -m755 "${srcdir}/build/modules/pdo_sqlite.so" "${pkgdir}/usr/lib/php/modules/pdo_sqlite.so" } package_php-zts-tidy() { @@ -387,7 +387,7 @@ package_php-zts-tidy() { conflicts=("${_pkgbase}-tidy") provides=("${_pkgbase}-tidy=${pkgver}") - install -D -m755 ${srcdir}/build/modules/tidy.so ${pkgdir}/usr/lib/php/modules/tidy.so + install -D -m755 "${srcdir}/build/modules/tidy.so" "${pkgdir}/usr/lib/php/modules/tidy.so" } package_php-zts-xsl() { @@ -397,5 +397,5 @@ package_php-zts-xsl() { conflicts=("${_pkgbase}-xsl") provides=("${_pkgbase}-xsl=${pkgver}") - install -D -m755 ${srcdir}/build/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so + install -D -m755 "${srcdir}/build/modules/xsl.so" "${pkgdir}/usr/lib/php/modules/xsl.so" } diff --git a/apache.conf b/apache.conf index 945574788ed4..8f56901ff4eb 100644 --- a/apache.conf +++ b/apache.conf @@ -1,6 +1,7 @@ -# Required modules: dir_module, php7_module +# Required modules: dir_module, php8_module + <IfModule dir_module> - LoadModule php7_module modules/libphp7.so + LoadModule php8_module modules/libphp.so DirectoryIndex index.php index.html <FilesMatch "\.php$"> SetHandler application/x-httpd-php diff --git a/apache.patch b/apache.patch index e336af3de4d6..665490e84a0b 100644 --- a/apache.patch +++ b/apache.patch @@ -1,6 +1,6 @@ --- sapi/apache2handler/config.m4.orig +++ sapi/apache2handler/config.m4 -@@ -105,17 +105,7 @@ +@@ -108,17 +108,7 @@ ;; esac diff --git a/constant_016.phpt.patch b/constant_016.phpt.patch new file mode 100644 index 000000000000..a8abb31b91d5 --- /dev/null +++ b/constant_016.phpt.patch @@ -0,0 +1,10 @@ +--- Zend/tests/traits/constant_016.phpt.orig ++++ Zend/tests/traits/constant_016.phpt +@@ -2,6 +2,8 @@ + Compatibility of values of same name trait constants is checked after their constant expressions are evaluated + --ENV-- + ENSURE_CONSTANT_IS_DEFINED_AT_RUNTIME=1 ++--INI-- ++variables_order=EGPCS + --FILE-- + <?php diff --git a/enchant-2.patch b/enchant-2.patch deleted file mode 100644 index 5aee2f7294bb..000000000000 --- a/enchant-2.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- ext/enchant/config.m4.orig -+++ ext/enchant/config.m4 -@@ -4,7 +4,7 @@ - [Include Enchant support])]) - - if test "$PHP_ENCHANT" != "no"; then -- PKG_CHECK_MODULES([ENCHANT], [enchant]) -+ PKG_CHECK_MODULES([ENCHANT], [enchant-2]) - - PHP_EVAL_INCLINE($ENCHANT_CFLAGS) - PHP_EVAL_LIBLINE($ENCHANT_LIBS, ENCHANT_SHARED_LIBADD) ---- ext/enchant/enchant.c.orig -+++ ext/enchant/enchant.c -@@ -738,7 +738,7 @@ - for (i = 0; i < n_sugg; i++) { - add_next_index_string(sugg, suggs[i]); - } -- enchant_dict_free_suggestions(pdict->pdict, suggs); -+ enchant_dict_free_string_list(pdict->pdict, suggs); - } - - -@@ -793,7 +793,7 @@ - add_next_index_string(return_value, suggs[i]); - } - -- enchant_dict_free_suggestions(pdict->pdict, suggs); -+ enchant_dict_free_string_list(pdict->pdict, suggs); - } - } - /* }}} */ -@@ -813,7 +813,7 @@ - - PHP_ENCHANT_GET_DICT; - -- enchant_dict_add_to_personal(pdict->pdict, word, wordlen); -+ enchant_dict_add(pdict->pdict, word, wordlen); - } - /* }}} */ - -@@ -851,7 +851,7 @@ - - PHP_ENCHANT_GET_DICT; - -- RETURN_BOOL(enchant_dict_is_in_session(pdict->pdict, word, wordlen)); -+ RETURN_BOOL(enchant_dict_is_added(pdict->pdict, word, wordlen)); - } - /* }}} */ - diff --git a/generate_patches b/generate_patches index 48ae47425999..7b38e3e99c3a 100755 --- a/generate_patches +++ b/generate_patches @@ -4,7 +4,7 @@ makepkg -o --nodeps --noprepare --skipinteg -pushd src/${_pkgbase}-${pkgver} +pushd "src/${_pkgbase}-${pkgver}" sed -e '/if test "$APACHE_VERSION" -lt 2004001; then/i PHP_BUILD_THREAD_SAFE' \ -e '/if test "$APACHE_VERSION" -lt 2004001; then/,+10d' \ @@ -28,7 +28,61 @@ sed \ -e 's#^PIDFile=.*#PIDFile=/run/php-fpm/php-fpm.pid#' \ -i.orig sapi/fpm/php-fpm.service.in -extensions=";extension=bcmath\n;extension=bz2\n;extension=calendar\nextension=curl\n;extension=dba\n;extension=enchant\n;extension=exif\n;extension=ffi\n;extension=ftp\n;extension=gd\n;extension=gettext\n;extension=gmp\n;extension=iconv\n;extension=imap\n;extension=intl\n;extension=ldap\n;extension=mysqli\n;extension=odbc\n;zend_extension=opcache\n;extension=pdo_dblib\n;extension=pdo_mysql\n;extension=pdo_odbc\n;extension=pdo_pgsql\n;extension=pdo_sqlite\n;extension=pgsql\n;extension=pspell\n;extension=shmop\n;extension=snmp\n;extension=soap\n;extension=sockets\n;extension=sodium\n;extension=sqlite3\n;extension=sysvmsg\n;extension=sysvsem\n;extension=sysvshm\n;extension=tidy\n;extension=xmlrpc\n;extension=xsl\nextension=zip\n" +# available extensions after build +# find /var/lib/archbuild/*-x86_64/*/build/php/src/build/modules -name '*.so' -exec basename {} .so \; | sort -u +availableExtensions=( + bcmath + bz2 + calendar + curl + dba + enchant + exif + ffi + ftp + gd + gettext + gmp + iconv + imap + intl + ldap + mysqli + odbc + opcache + pdo_dblib + pdo_mysql + pdo_odbc + pdo_pgsql + pdo_sqlite + pgsql + pspell + shmop + snmp + soap + sockets + sodium + sqlite3 + sysvmsg + sysvsem + sysvshm + tidy + xsl + zip +) + +extensions='' +for extension in "${availableExtensions[@]}"; do + if [[ $extension == 'curl' ]]; then + extensions+="extension=${extension}\n" + elif [[ $extension == 'opcache' ]]; then + extensions+=";zend_extension=${extension}\n" + elif [[ $extension == 'zip' ]]; then + extensions+="extension=${extension}\n" + else + extensions+=";extension=${extension}\n" + fi +done sed \ -r ":a;N;\$!ba;s/; Notes for Windows environments :\n.+;?extension=\w+\n/${extensions}/g" \ @@ -37,29 +91,16 @@ sed \ -e 's#^;extension_dir = "\./"$#extension_dir = "/usr/lib/php/modules/"#g' \ -i php.ini-production -sed \ - -r 's#PKG_CHECK_MODULES\(\[ENCHANT\], \[enchant\]\)#PKG_CHECK_MODULES([ENCHANT], [enchant-2])#g' \ - -i.orig ext/enchant/config.m4 -sed \ - -r 's#enchant_dict_free_suggestions\(pdict->pdict, suggs\)#enchant_dict_free_string_list(pdict->pdict, suggs)#g' \ - -i.orig ext/enchant/enchant.c -sed \ - -r 's#enchant_dict_add_to_personal\(pdict->pdict, word, wordlen\)#enchant_dict_add(pdict->pdict, word, wordlen)#g' \ - -i ext/enchant/enchant.c -sed \ - -r 's#enchant_dict_is_in_session\(pdict->pdict, word, wordlen\)#enchant_dict_is_added(pdict->pdict, word, wordlen)#g' \ - -i ext/enchant/enchant.c - +diff -u configure sapi/apache2handler/config.m4 | filterdiff --clean --remove-timestamps > ../../apache.patch diff -u sapi/apache2handler/config.m4.orig sapi/apache2handler/config.m4 | filterdiff --clean --remove-timestamps > ../../apache.patch -diff -u sapi/fpm/Makefile.frag.orig sapi/fpm/Makefile.frag | filterdiff --clean --remove-timestamps > ../../php-fpm.patch -diff -u sapi/fpm/php-fpm.conf.in.orig sapi/fpm/php-fpm.conf.in | filterdiff --clean --remove-timestamps >> ../../php-fpm.patch -diff -u sapi/fpm/www.conf.in.orig sapi/fpm/www.conf.in | filterdiff --clean --remove-timestamps >> ../../php-fpm.patch -diff -u sapi/fpm/php-fpm.service.in.orig sapi/fpm/php-fpm.service.in | filterdiff --clean --remove-timestamps >> ../../php-fpm.patch +{ + diff -u sapi/fpm/Makefile.frag.orig sapi/fpm/Makefile.frag + diff -u sapi/fpm/php-fpm.conf.in.orig sapi/fpm/php-fpm.conf.in + diff -u sapi/fpm/www.conf.in.orig sapi/fpm/www.conf.in + diff -u sapi/fpm/php-fpm.service.in.orig sapi/fpm/php-fpm.service.in +} | filterdiff --clean --remove-timestamps > ../../php-fpm.patch diff -u php.ini-production.orig php.ini-production | filterdiff --clean --remove-timestamps > ../../php.ini.patch -diff -u ext/enchant/config.m4.orig ext/enchant/config.m4 | filterdiff --clean --remove-timestamps > ../../enchant-2.patch -diff -u ext/enchant/enchant.c.orig ext/enchant/enchant.c | filterdiff --clean --remove-timestamps >> ../../enchant-2.patch - popd diff --git a/php-fpm.patch b/php-fpm.patch index c741342207a9..d42ed9083d8d 100644 --- a/php-fpm.patch +++ b/php-fpm.patch @@ -40,7 +40,7 @@ +listen = /run/php-fpm/php-fpm.sock ; Set listen(2) backlog. - ; Default Value: 511 (-1 on FreeBSD and OpenBSD) + ; Default Value: 511 (-1 on Linux, FreeBSD and OpenBSD) @@ -45,8 +45,8 @@ ; and group can be specified either by name or by their numeric IDs. ; Default Values: user and group are set as the running user @@ -52,7 +52,7 @@ ;listen.mode = 0660 ; When POSIX Access Control Lists are supported you can set them using ; these options, value is a comma separated list of user/group names. -@@ -371,7 +371,7 @@ +@@ -416,7 +416,7 @@ ; Chdir to this directory at the start. ; Note: relative path can be used. ; Default Value: current directory or / when chroot diff --git a/php.ini.patch b/php.ini.patch index 22b5abb16e10..8b8153cdc1ed 100644 --- a/php.ini.patch +++ b/php.ini.patch @@ -1,22 +1,22 @@ --- php.ini-production.orig +++ php.ini-production -@@ -756,7 +756,7 @@ +@@ -760,7 +760,7 @@ ; Directory in which the loadable extensions (modules) reside. - ; http://php.net/extension-dir + ; https://php.net/extension-dir -;extension_dir = "./" +extension_dir = "/usr/lib/php/modules/" ; On windows: ;extension_dir = "ext" -@@ -904,49 +904,45 @@ +@@ -908,52 +908,44 @@ ; deprecated in a future PHP major version. So, when it is possible, please ; move to the new ('extension=<ext>) syntax. ; -; Notes for Windows environments : -; --; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) --; extension folders as well as the separate PECL DLL download (PHP 5+). +-; - Many DLL files are located in the ext/ +-; extension folders as well as the separate PECL DLL download. -; Be sure to appropriately set the extension_dir directive. -; +;extension=bcmath @@ -30,8 +30,7 @@ ;extension=ffi ;extension=ftp -;extension=fileinfo --;extension=gd2 -+;extension=gd + ;extension=gd ;extension=gettext ;extension=gmp -;extension=intl @@ -43,6 +42,7 @@ -;extension=exif ; Must be after mbstring as it depends on it ;extension=mysqli -;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +-;extension=oci8_19 ; Use with Oracle Database 19 Instant Client ;extension=odbc -;extension=openssl -;extension=pdo_firebird @@ -58,7 +58,7 @@ ;extension=shmop - -; The MIBS data available in the PHP distribution must be installed. --; See http://www.php.net/manual/en/snmp.installation.php +-; See https://www.php.net/manual/en/snmp.installation.php ;extension=snmp - ;extension=soap @@ -69,8 +69,10 @@ +;extension=sysvsem +;extension=sysvshm ;extension=tidy - ;extension=xmlrpc ;extension=xsl +-;extension=zip +- +-;zend_extension=opcache +extension=zip ;;;;;;;;;;;;;;;;;;; diff --git a/php.patch b/php.patch deleted file mode 100644 index 28c1c7c117f9..000000000000 --- a/php.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- configure.orig -+++ configure -@@ -7008,27 +7008,7 @@ - ;; - esac - -- if test "$APACHE_VERSION" -lt 2004001; then -- APXS_MPM=`$APXS -q MPM_NAME` -- if test "$APXS_MPM" != "prefork" && test "$APXS_MPM" != "peruser" && test "$APXS_MPM" != "itk"; then -- -- enable_maintainer_zts=yes -- if test "$pthreads_working" != "yes"; then -- as_fn_error $? "ZTS currently requires working POSIX threads. We were unable to verify that your system supports Pthreads." "$LINENO" 5 -- fi -- -- fi -- else -- APACHE_THREADED_MPM=`$APXS_HTTPD -V | grep 'threaded:.*yes'` -- if test -n "$APACHE_THREADED_MPM"; then -- -- enable_maintainer_zts=yes -- if test "$pthreads_working" != "yes"; then -- as_fn_error $? "ZTS currently requires working POSIX threads. We were unable to verify that your system supports Pthreads." "$LINENO" 5 -- fi -- -- fi -- fi -+enable_maintainer_zts=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } - |