diff options
-rw-r--r-- | .SRCINFO | 88 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | PKGBUILD | 182 | ||||
-rw-r--r-- | apache.conf | 5 | ||||
-rw-r--r-- | apache.patch | 4 | ||||
-rw-r--r-- | constant_016.phpt.patch | 10 | ||||
-rw-r--r-- | enchant-2.patch | 61 | ||||
-rw-r--r-- | freetype.patch | 38 | ||||
-rwxr-xr-x | generate_patches | 71 | ||||
-rw-r--r-- | php-fpm.patch | 10 | ||||
-rw-r--r-- | php.ini.patch | 34 | ||||
-rw-r--r-- | php.patch | 31 |
12 files changed, 246 insertions, 289 deletions
@@ -1,7 +1,7 @@ pkgbase = php-zts - pkgver = 7.3.4 - pkgrel = 1 - url = http://www.php.net + pkgver = 8.2.0 + pkgrel = 3 + url = https://www.php.net/ arch = x86_64 license = PHP checkdepends = procps-ng @@ -9,6 +9,7 @@ pkgbase = php-zts makedepends = aspell makedepends = c-client makedepends = db + makedepends = gdbm makedepends = enchant makedepends = gd makedepends = gmp @@ -26,38 +27,40 @@ pkgbase = php-zts makedepends = libtool makedepends = postfix makedepends = freetds - makedepends = pcre + makedepends = pcre2 makedepends = libnsl - source = https://php.net/distributions/php-7.3.4.tar.xz - source = https://php.net/distributions/php-7.3.4.tar.xz.asc + makedepends = oniguruma + 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 - source = freetype.patch - validpgpkeys = CBAF69F173A0FEA4B537F470D66C9593118BCCB6 - validpgpkeys = F38252826ACD957EF380D39F2F7956BC5DA04B5D - sha256sums = 6fe79fa1f8655f98ef6708cde8751299796d6c1e225081011f4104625b923b83 + source = constant_016.phpt.patch + validpgpkeys = E60913E4DF209907D8E30D96659A97C9CF2A795A + sha256sums = 6ea4c2dfb532950fd712aa2a08c1412a6a81cd1334dd0b0bf88a8e44c2b3a943 sha256sums = SKIP - sha256sums = 54d9e3682c6b4621ee654e5c8df4ad95d790a3bccdd284afcff83e5bb7043fb1 - sha256sums = 80c00b40b0de794d87fb0183cdce2f3c93869c849f7534e8ced42ca6c625f2f7 - sha256sums = 3de3c76930874c81824c23aa033cb9e66631659fd31f925d7c58f0479aeb18a9 + sha256sums = c24122c0a742d3f153d52076137e737da0191584dab178bafed547b3bf2a28e8 + sha256sums = aee6ee73d1b3cf161069c355e8472a2ceda0886e98bf6a69d57c1dcf6b09ab17 + sha256sums = 69beb06f8eed1b9d61f1f2ad71b8d1026e0389b7f4cbedbf540ab84427c86d95 sha256sums = 640dba0d960bfeaae9ad38d2826d3f6b5d6c175a4d3e16664eefff29141faad5 - sha256sums = 4c4dd05358f614adfa9c539a3ed61134764fced358c92dde109aac3ab78496c9 - sha256sums = 3992491eebaf5b31f6b00095a7276d11682f9a8aaff473bfb25afbdcfa6eba32 - sha256sums = 07c4648669dc05afc3c1ad5a4739768079c423b817eabf5296ca3d1ea5ffd163 + sha256sums = 47d36703914f9e26c33e06fab8aa66af918af8f06f4168db7d8c6b8104abc0d3 + sha256sums = 0038394f0bfaf67b8536b99069800a12e82b8e8e0be0ae4411ca0d5af6f308f7 pkgname = php-zts - pkgdesc = PHP with ZTS enabled + pkgdesc = A general-purpose scripting language that is especially suited to web development(ZTS enabled) depends = libxml2 depends = curl depends = libzip - depends = pcre + depends = pcre2 depends = argon2 - provides = php=7.3.4 - provides = php-ldap=7.3.4 + depends = oniguruma + 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.3.4 + provides = php-cgi=8.2.0 conflicts = php-cgi replaces = php-cgi @@ -75,7 +78,8 @@ pkgname = php-zts-apache pkgdesc = Apache SAPI for PHP depends = php-zts depends = apache - provides = php-apache=7.3.4 + depends = libnsl + provides = php-apache=8.2.0 conflicts = php-apache replaces = php-apache backup = etc/httpd/conf/extra/php7_module.conf @@ -84,7 +88,7 @@ pkgname = php-zts-fpm pkgdesc = FastCGI Process Manager for PHP depends = php-zts depends = systemd - provides = php-fpm=7.3.4 + provides = php-fpm=8.2.0 conflicts = php-fpm replaces = php-fpm options = !emptydirs @@ -94,8 +98,10 @@ pkgname = php-zts-fpm pkgname = php-zts-embed pkgdesc = Embedded PHP SAPI library depends = php-zts - depends = libsystemd - provides = php-embed=7.3.4 + depends = systemd-libs + depends = libnsl + depends = libxcrypt + provides = php-embed=8.2.0 conflicts = php-embed replaces = php-embed options = !emptydirs @@ -103,7 +109,7 @@ pkgname = php-zts-embed pkgname = php-zts-phpdbg pkgdesc = Interactive PHP debugger depends = php-zts - provides = php-phpdbg=7.3.4 + provides = php-phpdbg=8.2.0 conflicts = php-phpdbg replaces = php-phpdbg options = !emptydirs @@ -112,7 +118,7 @@ pkgname = php-zts-dblib pkgdesc = dblib module for PHP depends = php-zts depends = freetds - provides = php-dblib=7.3.4 + provides = php-dblib=8.2.0 conflicts = php-dblib replaces = php-dblib @@ -120,7 +126,7 @@ pkgname = php-zts-enchant pkgdesc = enchant module for PHP depends = php-zts depends = enchant - provides = php-enchant=7.3.4 + provides = php-enchant=8.2.0 conflicts = php-enchant replaces = php-enchant @@ -128,7 +134,7 @@ pkgname = php-zts-gd pkgdesc = gd module for PHP depends = php-zts depends = gd - provides = php-gd=7.3.4 + provides = php-gd=8.2.0 conflicts = php-gd replaces = php-gd @@ -136,7 +142,8 @@ pkgname = php-zts-imap pkgdesc = imap module for PHP depends = php-zts depends = c-client - provides = php-imap=7.3.4 + depends = libxcrypt + provides = php-imap=8.2.0 conflicts = php-imap replaces = php-imap @@ -144,7 +151,7 @@ pkgname = php-zts-intl pkgdesc = intl module for PHP depends = php-zts depends = icu - provides = php-intl=7.3.4 + provides = php-intl=8.2.0 conflicts = php-intl replaces = php-intl @@ -152,7 +159,7 @@ pkgname = php-zts-sodium pkgdesc = sodium module for PHP depends = php-zts depends = libsodium - provides = php-sodium=7.3.4 + provides = php-sodium=8.2.0 conflicts = php-sodium replaces = php-sodium @@ -160,7 +167,7 @@ pkgname = php-zts-odbc pkgdesc = ODBC modules for PHP depends = php-zts depends = unixodbc - provides = php-odbc=7.3.4 + provides = php-odbc=8.2.0 conflicts = php-odbc replaces = php-odbc @@ -168,7 +175,7 @@ pkgname = php-zts-pgsql pkgdesc = PostgreSQL modules for PHP depends = php-zts depends = postgresql-libs - provides = php-pgsql=7.3.4 + provides = php-pgsql=8.2.0 conflicts = php-pgsql replaces = php-pgsql @@ -176,7 +183,7 @@ pkgname = php-zts-pspell pkgdesc = pspell module for PHP depends = php-zts depends = aspell - provides = php-pspell=7.3.4 + provides = php-pspell=8.2.0 conflicts = php-pspell replaces = php-pspell @@ -184,7 +191,7 @@ pkgname = php-zts-snmp pkgdesc = snmp module for PHP depends = php-zts depends = net-snmp - provides = php-snmp=7.3.4 + provides = php-snmp=8.2.0 conflicts = php-snmp replaces = php-snmp @@ -192,7 +199,7 @@ pkgname = php-zts-sqlite pkgdesc = sqlite module for PHP depends = php-zts depends = sqlite - provides = php-sqlite=7.3.4 + provides = php-sqlite=8.2.0 conflicts = php-sqlite replaces = php-sqlite @@ -200,7 +207,7 @@ pkgname = php-zts-tidy pkgdesc = tidy module for PHP depends = php-zts depends = tidy - provides = php-tidy=7.3.4 + provides = php-tidy=8.2.0 conflicts = php-tidy replaces = php-tidy @@ -208,7 +215,6 @@ pkgname = php-zts-xsl pkgdesc = xsl module for PHP depends = php-zts depends = libxslt - provides = php-xsl=7.3.4 + 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 @@ -1,4 +1,6 @@ -# Maintainer: Pierre Schmitz <pierre@archlinux.de> +# Maintainer: Iliya Ivanov <aur@proforge.org> +# Maintainer: Andrew Shelyakov <andrew.shelyakov@ya.ru> +# Contributor: Aleksey Vasilenko <aleksey.vasilenko@gmail.com> _pkgbase='php' pkgbase="${_pkgbase}-zts" @@ -22,46 +24,44 @@ pkgname=("${pkgbase}" "${pkgbase}-tidy" "${pkgbase}-xsl") -pkgver=7.3.4 -pkgrel=1 +pkgver=8.2.0 +pkgrel=3 arch=('x86_64') license=('PHP') -url='http://www.php.net' -makedepends=('apache' 'aspell' 'c-client' 'db' 'enchant' 'gd' 'gmp' 'icu' 'libsodium' 'libxslt' 'libzip' 'net-snmp' - 'postgresql-libs' 'sqlite' 'systemd' 'tidy' 'unixodbc' 'curl' 'libtool' 'postfix' 'freetds' 'pcre' 'libnsl') +url='https://www.php.net/' +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' 'freetype.patch') -sha256sums=('6fe79fa1f8655f98ef6708cde8751299796d6c1e225081011f4104625b923b83' + 'apache.patch' 'apache.conf' 'php-fpm.patch' 'php-fpm.tmpfiles' 'php.ini.patch' 'constant_016.phpt.patch') +sha256sums=('6ea4c2dfb532950fd712aa2a08c1412a6a81cd1334dd0b0bf88a8e44c2b3a943' 'SKIP' - '54d9e3682c6b4621ee654e5c8df4ad95d790a3bccdd284afcff83e5bb7043fb1' - '80c00b40b0de794d87fb0183cdce2f3c93869c849f7534e8ced42ca6c625f2f7' - '3de3c76930874c81824c23aa033cb9e66631659fd31f925d7c58f0479aeb18a9' + 'c24122c0a742d3f153d52076137e737da0191584dab178bafed547b3bf2a28e8' + 'aee6ee73d1b3cf161069c355e8472a2ceda0886e98bf6a69d57c1dcf6b09ab17' + '69beb06f8eed1b9d61f1f2ad71b8d1026e0389b7f4cbedbf540ab84427c86d95' '640dba0d960bfeaae9ad38d2826d3f6b5d6c175a4d3e16664eefff29141faad5' - '4c4dd05358f614adfa9c539a3ed61134764fced358c92dde109aac3ab78496c9' - '3992491eebaf5b31f6b00095a7276d11682f9a8aaff473bfb25afbdcfa6eba32' - '07c4648669dc05afc3c1ad5a4739768079c423b817eabf5296ca3d1ea5ffd163') -validpgpkeys=('CBAF69F173A0FEA4B537F470D66C9593118BCCB6' - 'F38252826ACD957EF380D39F2F7956BC5DA04B5D') + '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 -p1 -i ${srcdir}/enchant-2.patch - patch -p1 -i ${srcdir}/freetype.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 \ @@ -73,7 +73,7 @@ build() { --with-config-file-scan-dir=/etc/php/conf.d \ --disable-rpath \ --mandir=/usr/share/man \ - --without-pear \ + --disable-gcc-global-regs \ " local _phpextensions="\ @@ -82,63 +82,62 @@ build() { --enable-dba=shared \ --enable-exif=shared \ --enable-ftp=shared \ + --enable-gd=shared \ --enable-intl=shared \ --enable-mbstring \ + --enable-pcntl \ --enable-shmop=shared \ --enable-soap=shared \ --enable-sockets=shared \ --enable-sysvmsg=shared \ --enable-sysvsem=shared \ --enable-sysvshm=shared \ - --enable-zip=shared \ --with-bz2=shared \ --with-curl=shared \ --with-db4=/usr \ - --with-enchant=shared,/usr \ - --with-freetype-dir=/usr \ - --with-gd=shared,/usr \ + --with-enchant=shared \ + --with-external-gd \ + --with-external-pcre \ + --with-ffi=shared \ --with-gdbm \ --with-gettext=shared \ --with-gmp=shared \ --with-iconv=shared \ --with-imap-ssl \ --with-imap=shared \ - --with-kerberos=/usr \ + --with-kerberos \ --with-ldap=shared \ --with-ldap-sasl \ - --with-libzip \ --with-mhash \ --with-mysql-sock=/run/mysqld/mysqld.sock \ --with-mysqli=shared,mysqlnd \ --with-openssl \ --with-password-argon2 \ - --with-pcre-regex=/usr \ --with-pdo-dblib=shared,/usr \ --with-pdo-mysql=shared,mysqlnd \ --with-pdo-odbc=shared,unixODBC,/usr \ --with-pdo-pgsql=shared \ - --with-pdo-sqlite=shared,/usr \ + --with-pdo-sqlite=shared \ --with-pgsql=shared \ --with-pspell=shared \ --with-readline \ --with-snmp=shared \ --with-sodium=shared \ - --with-sqlite3=shared,/usr \ + --with-sqlite3=shared \ --with-tidy=shared \ - --with-unixODBC=shared,/usr \ - --with-xmlrpc=shared \ + --with-unixODBC=shared \ --with-xsl=shared \ + --with-zip=shared \ --with-zlib \ - --enable-pcntl \ - --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,38 +168,41 @@ build() { } check() { - cd ${srcdir}/${_pkgbase}-${pkgver} + cd "${srcdir}/build" # Check if sendmail was configured correctly (FS#47600) - ${srcdir}/build/sapi/cli/php -n -r 'echo ini_get("sendmail_path");' | grep -q '/usr/bin/sendmail' + sapi/cli/php -n -r 'echo ini_get("sendmail_path");' | grep -q '/usr/bin/sendmail' export REPORT_EXIT_STATUS=1 export NO_INTERACTION=1 export SKIP_ONLINE_TESTS=1 export SKIP_SLOW_TESTS=1 + export TEST_PHP_ARGS="-j$(nproc)" + export TESTS='tests Zend' - ${srcdir}/build/sapi/cli/php -n run-tests.php -n -P {tests,Zend} + make test } package_php-zts() { - pkgdesc='PHP with ZTS enabled' - depends=('libxml2' 'curl' 'libzip' 'pcre' 'argon2') + pkgdesc='A general-purpose scripting language that is especially suited to web development(ZTS enabled)' + 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() { @@ -210,20 +212,20 @@ 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() { pkgdesc='Apache SAPI for PHP' - depends=("${pkgbase}" 'apache') + depends=("${pkgbase}" 'apache' 'libnsl') replaces=("${_pkgbase}-apache") conflicts=("${_pkgbase}-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() { @@ -235,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}" 'libsystemd') + 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() { @@ -261,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() { @@ -272,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() { @@ -282,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() { @@ -292,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() { @@ -312,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() { @@ -322,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() { @@ -332,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() { @@ -343,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() { @@ -354,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() { @@ -364,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() { @@ -374,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() { @@ -385,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() { @@ -395,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 3e5f90978311..665490e84a0b 100644 --- a/apache.patch +++ b/apache.patch @@ -1,6 +1,6 @@ --- sapi/apache2handler/config.m4.orig +++ sapi/apache2handler/config.m4 -@@ -107,17 +107,7 @@ +@@ -108,17 +108,7 @@ ;; esac @@ -10,7 +10,7 @@ - PHP_BUILD_THREAD_SAFE - fi - else -- APACHE_THREADED_MPM=`$APXS_HTTPD -V | grep 'threaded:.*yes'` +- APACHE_THREADED_MPM=`$APXS_HTTPD -V 2>/dev/null | grep 'threaded:.*yes'` - if test -n "$APACHE_THREADED_MPM"; then - PHP_BUILD_THREAD_SAFE - fi 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 75be01369ffb..000000000000 --- a/enchant-2.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- php-7.1.13/ext/enchant/config.m4.orig 2018-01-03 02:32:29.000000000 +0000 -+++ php-7.1.13/ext/enchant/config.m4 2018-01-21 22:10:03.788875780 +0000 -@@ -14,9 +14,9 @@ - ENCHANT_SEARCH_DIRS="/usr/local /usr" - fi - for i in $ENCHANT_SEARCH_DIRS; do -- if test -f $i/include/enchant/enchant.h; then -+ if test -f $i/include/enchant-2/enchant.h; then - ENCHANT_DIR=$i -- ENCHANT_INCDIR=$i/include/enchant -+ ENCHANT_INCDIR=$i/include/enchant-2 - elif test -f $i/include/enchant.h; then - ENCHANT_DIR=$i - ENCHANT_INCDIR=$i/include -@@ -31,7 +31,7 @@ - - AC_DEFINE(HAVE_ENCHANT,1,[ ]) - PHP_SUBST(ENCHANT_SHARED_LIBADD) -- PHP_ADD_LIBRARY_WITH_PATH(enchant, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD) -+ PHP_ADD_LIBRARY_WITH_PATH(enchant-2, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD) - PHP_ADD_INCLUDE($ENCHANT_INCDIR) - PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param, - [ ---- php-7.2.1/ext/enchant/enchant.c.orig 2018-01-02 22:36:05.000000000 +0000 -+++ php-7.2.1/ext/enchant/enchant.c 2018-01-21 22:34:50.205791491 +0000 -@@ -741,7 +741,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); - } - - -@@ -798,7 +798,7 @@ - add_next_index_string(return_value, suggs[i]); - } - -- enchant_dict_free_suggestions(pdict->pdict, suggs); -+ enchant_dict_free_string_list(pdict->pdict, suggs); - } - } - /* }}} */ -@@ -818,7 +818,7 @@ - - PHP_ENCHANT_GET_DICT; - -- enchant_dict_add_to_personal(pdict->pdict, word, wordlen); -+ enchant_dict_add(pdict->pdict, word, wordlen); - } - /* }}} */ - -@@ -856,7 +856,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/freetype.patch b/freetype.patch deleted file mode 100644 index f88695d65e2f..000000000000 --- a/freetype.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -u -r php-7.2.5/ext/gd/config.m4 php-7.2.5-freetype/ext/gd/config.m4 ---- php-7.2.5/ext/gd/config.m4 2018-04-24 17:09:54.000000000 +0200 -+++ php-7.2.5-freetype/ext/gd/config.m4 2018-05-09 14:49:03.647108948 +0200 -@@ -186,6 +186,9 @@ - AC_DEFUN([PHP_GD_FREETYPE2],[ - if test "$PHP_FREETYPE_DIR" != "no"; then - -+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no) -+ -+ AC_MSG_CHECKING([for freetype]) - for i in $PHP_FREETYPE_DIR /usr/local /usr; do - if test -f "$i/bin/freetype-config"; then - FREETYPE2_DIR=$i -@@ -194,13 +197,20 @@ - fi - done - -- if test -z "$FREETYPE2_DIR"; then -+ if test -n "$FREETYPE2_CONFIG"; then -+ FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags` -+ FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs` -+ AC_MSG_RESULT([found in $FREETYPE2_DIR]) -+ elif test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists freetype2; then -+ FREETYPE2_DIR=pkg-config -+ FREETYPE2_CFLAGS=`$PKG_CONFIG freetype2 --cflags` -+ FREETYPE2_LIBS=`$PKG_CONFIG freetype2 --libs` -+ AC_MSG_RESULT([found by pkg-config]) -+ else -+ AC_MSG_RESULT([not found]) - AC_MSG_ERROR([freetype-config not found.]) - fi - -- FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags` -- FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs` -- - PHP_EVAL_INCLINE($FREETYPE2_CFLAGS) - PHP_EVAL_LIBLINE($FREETYPE2_LIBS, GD_SHARED_LIBADD) - AC_DEFINE(HAVE_LIBFREETYPE,1,[ ]) diff --git a/generate_patches b/generate_patches index d3f04eb307a9..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,21 +28,78 @@ 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=ftp\n;extension=gd\n;extension=gettext\n;extension=gmp\n;extension=iconv\n;extension=imap\n;extension=intl\n;extension=sodium\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=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" \ -i.orig php.ini-production sed \ - -e 's#^; extension_dir = "\./"$#extension_dir = "/usr/lib/php/modules/"#g' \ + -e 's#^;extension_dir = "\./"$#extension_dir = "/usr/lib/php/modules/"#g' \ -i php.ini-production +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 --git a/php-fpm.patch b/php-fpm.patch index c827d2e73ed0..d42ed9083d8d 100644 --- a/php-fpm.patch +++ b/php-fpm.patch @@ -40,9 +40,9 @@ +listen = /run/php-fpm/php-fpm.sock ; Set listen(2) backlog. - ; Default Value: 511 (-1 on FreeBSD and OpenBSD) -@@ -44,8 +44,8 @@ - ; BSD-derived systems allow connections regardless of permissions. + ; 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 ; mode is set to 0660 -;listen.owner = @php_fpm_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. -@@ -362,7 +362,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 @@ -71,4 +71,4 @@ +PIDFile=/run/php-fpm/php-fpm.pid ExecStart=@EXPANDED_SBINDIR@/php-fpm --nodaemonize --fpm-config @EXPANDED_SYSCONFDIR@/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID - PrivateTmp=true + diff --git a/php.ini.patch b/php.ini.patch index 395cee840792..8b8153cdc1ed 100644 --- a/php.ini.patch +++ b/php.ini.patch @@ -1,40 +1,48 @@ --- php.ini-production.orig +++ php.ini-production -@@ -903,48 +903,44 @@ +@@ -760,7 +760,7 @@ + + ; Directory in which the loadable extensions (modules) reside. + ; https://php.net/extension-dir +-;extension_dir = "./" ++extension_dir = "/usr/lib/php/modules/" + ; On windows: + ;extension_dir = "ext" + +@@ -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 ;extension=bz2 -;extension=curl --;extension=fileinfo --;extension=gd2 +;extension=calendar +extension=curl +;extension=dba +;extension=enchant +;extension=exif -+;extension=ftp -+;extension=gd + ;extension=ffi + ;extension=ftp +-;extension=fileinfo + ;extension=gd ;extension=gettext ;extension=gmp -;extension=intl +;extension=iconv ;extension=imap --;extension=interbase +;extension=intl -+;extension=sodium ;extension=ldap -;extension=mbstring -;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 @@ -50,19 +58,21 @@ ;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 ;extension=sockets --;extension=sodium + ;extension=sodium ;extension=sqlite3 +;extension=sysvmsg +;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; } - |