summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Lamskoy2022-01-21 13:57:37 +0200
committerEugene Lamskoy2022-01-21 13:57:37 +0200
commite73decb7df60ba48e7f81ffab3be994cac2f7904 (patch)
treefb2443585b75b196bb89c18fe37b1fdd6537c96b
parenta401fb0e98aab6029cba9e86f70a9313aca772aa (diff)
downloadaur-e73decb7df60ba48e7f81ffab3be994cac2f7904.tar.gz
PHP 8.1.1 pkgrel=4
-rw-r--r--.SRCINFO453
-rw-r--r--PKGBUILD1718
-rw-r--r--pear-config-patcher.php13
-rw-r--r--php-fpm.install31
-rw-r--r--php-makefile-patcher.php47
-rw-r--r--php74-module-order.patch13
6 files changed, 1469 insertions, 806 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 73efc7138cc4..838a3afb7514 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,14 +1,15 @@
# Generated by makepkg 6.0.1
-# Wed Jan 5 11:02:32 UTC 2022
+# Fri Jan 21 11:55:37 UTC 2022
pkgbase = php81
pkgdesc = PHP 8.1.1 compiled as to not conflict with mainline php
pkgver = 8.1.1
- pkgrel = 3
+ pkgrel = 4
url = http://www.php.net
- arch = i686
arch = x86_64
license = PHP
checkdepends = procps-ng
+ checkdepends = smtp-forwarder
+ makedepends = acl
makedepends = libtool
makedepends = autoconf
makedepends = automake
@@ -19,241 +20,375 @@ pkgbase = php81
makedepends = python
makedepends = libxml2
makedepends = pam
- makedepends = openssl
- makedepends = openssl-1.0
- makedepends = argon2
- makedepends = libmcrypt
- makedepends = libsodium
- makedepends = libldap
- makedepends = libsasl
makedepends = krb5
- makedepends = libxslt
- makedepends = libzip
- makedepends = freetds
+ makedepends = zlib
+ makedepends = libedit
+ makedepends = smtp-forwarder
+ makedepends = pcre
makedepends = apache
- makedepends = aspell
- makedepends = c-client
+ makedepends = ncurses
+ makedepends = libxcrypt
+ makedepends = systemd
+ makedepends = systemd-libs
+ makedepends = coreutils
+ makedepends = findutils
+ makedepends = argon2
+ makedepends = libxslt
+ makedepends = openssl
+ makedepends = e2fsprogs
+ makedepends = lmdb
makedepends = db
- makedepends = enchant
- makedepends = readline
- makedepends = gmp
- makedepends = icu
- makedepends = net-snmp
makedepends = postgresql-libs
- makedepends = sqlite
- makedepends = systemd-libs
makedepends = unixodbc
- makedepends = curl
- makedepends = ncurses
- makedepends = freetds
- makedepends = pcre
- makedepends = tidy
makedepends = libfbclient
- makedepends = oniguruma
+ makedepends = freetds
+ makedepends = sqlite
makedepends = gd
- makedepends = recode
- makedepends = bzip2
- makedepends = gdbm
- makedepends = zlib
- makedepends = systemd
- makedepends = systemd-libs
- makedepends = smtp-forwarder
+ makedepends = gmp
+ makedepends = libzip
+ makedepends = oniguruma
+ makedepends = aspell
+ makedepends = enchant
+ makedepends = icu
+ makedepends = curl
+ makedepends = net-snmp
+ makedepends = libsasl
+ makedepends = libldap
+ makedepends = c-client
+ makedepends = pam
+ makedepends = libsodium
+ makedepends = libffi
+ options = !lto
source = pear-config-patcher.php
+ source = php-makefile-patcher.php
source = php-apache.conf
source = https://php.net/distributions/php-8.1.1.tar.xz
- source = php74-module-order.patch
source = debian-php-8.1.1.patch
source = php-phpinfo.patch
source = timezonedb-guess.patch
source = timezonedb-php8.1.patch
- sha256sums = 0201d0fa811b80614737424a72c7bb127125807e5d7eeec5e1578a0a58f77d2f
- sha256sums = 6d0ad9becb5470ce8e5929d7d45660b0f32579038978496317544c5310281a91
- sha256sums = 33c09d76d0a8bbb5dd930d9dd32e6bfd44e9efcf867563759eb5492c3aff8856
- sha256sums = e853815d7c7d67186f1d21f56ea63d7998d4649cc987677d4e3b6e0ac4b2caf3
- sha256sums = 0df807d84bc0cf948a6ed0cf453e98213d47fbc7fdedc2747855a619dc616b3c
- sha256sums = 558e780e93dfa861a366c49b4d156d8fc43f17898f001ae6033ec63c33d5d41c
- sha256sums = 40bcc1e5058602302198d0925e431495391d8469499593af477f59d84d32f764
- sha256sums = e2b4bad971ed569e9e898dcb2c7451d53e9b55f473123bbd4765d126efea6466
pkgname = php81
- pkgdesc = A general-purpose scripting language that is especially suited to web development
+ pkgdesc = PHP. A general-purpose scripting language that is especially suited to web development
depends = zlib
depends = pcre
- depends = oniguruma
- depends = readline
- depends = argon2
- depends = openssl-1.0
- depends = openssl
+ depends = libedit
backup = etc/php81/php.ini
pkgname = php81-cli
pkgdesc = cli (command-line executable) version for php81
- depends = php81
+ depends = php81=8.1.1
+ depends = libxml2
+ depends = pcre2
+ depends = libedit
+ depends = argon2
+ backup = etc/php81/php.ini
pkgname = php81-cgi
pkgdesc = CGI and FCGI SAPI for php81
- depends = php81
-
-pkgname = php81-apache
- pkgdesc = Apache SAPI for php81
- depends = php81
- depends = apache
- backup = etc/httpd/conf/extra/
+ depends = php81=8.1.1
+ depends = libxml2
+ depends = pcre2
+ depends = libedit
+ depends = argon2
+ backup = etc/php81/php.ini
pkgname = php81-fpm
pkgdesc = FastCGI Process Manager for php81
- depends = php81
+ install = php-fpm.install
+ depends = php81=8.1.1
depends = systemd-libs
+ depends = acl
+ depends = libxml2
+ depends = pcre2
+ depends = libedit
+ depends = argon2
options = !emptydirs
backup = etc/php81/php-fpm.conf
backup = etc/php81/php-fpm.d/www.conf
+ backup = etc/php81/php.ini
pkgname = php81-embed
pkgdesc = Embedded PHP SAPI library for php81
- depends = php81
+ depends = php81=8.1.1
depends = ncurses
depends = systemd-libs
+ depends = libxcrypt
+ depends = acl
+ depends = ncurses
+ depends = libxml2
+ depends = pcre2
+ depends = libedit
+ depends = argon2
options = !emptydirs
+ backup = etc/php81/php.ini
-pkgname = php81-bz2
- pkgdesc = bz2 module for php81
- depends = php81
- depends = bzip2
+pkgname = php81-apache
+ pkgdesc = Apache SAPI for php81
+ depends = php81=8.1.1
+ depends = apache
+ depends = libxml2
+ depends = pcre2
+ depends = libedit
+ depends = argon2
+ depends = libxcrypt
+ depends = ncurses
+ backup = etc/httpd/conf/extra/
+ backup = etc/php81/php.ini
-pkgname = php81-bcmath
- pkgdesc = bcmath module for php81
- depends = php81
+pkgname = php81-pear
+ pkgdesc = PHP Extension and Application Repository (PEAR) for php81
+ depends = php81=8.1.1
+ depends = php81-xml=8.1.1
+ depends = php81-cli=8.1.1
+ depends = php81-phar=8.1.1
-pkgname = php81-curl
- pkgdesc = curl module for php81
- depends = php81
- depends = curl
+pkgname = php81-pecl
+ pkgdesc = PHP Extension Community Library (PECL) for php81
+ depends = php81-pear=8.1.1
-pkgname = php81-dblib
- pkgdesc = mssql and pdo_dblib modules for php81
- depends = php81
- depends = freetds
- provides = php81-sybase=8.1.1
+pkgname = php81-phpdbg
+ pkgdesc = Interactive PHP debugger for php81 ()
+ depends = php81=8.1.1
+ depends = libxml2
+ depends = pcre2
+ depends = libedit
+ depends = argon2
+ options = !emptydirs
+ backup = etc/php81/php.ini
+
+pkgname = php81-xml
+ pkgdesc = xml modules for php81
+ depends = php81=8.1.1
+ depends = libxml2
+
+pkgname = php81-xsl
+ pkgdesc = xsl module for php81
+ depends = php81-xml=8.1.1
+ depends = libxslt
+
+pkgname = php81-xmlreader
+ pkgdesc = xmlreader module for php81
+ depends = php81-xml=8.1.1
+
+pkgname = php81-xmlwriter
+ pkgdesc = xmlwriter module for php81
+ depends = php81-xml=8.1.1
+
+pkgname = php81-dom
+ pkgdesc = dom module for php81
+ depends = php81-xml=8.1.1
+
+pkgname = php81-simplexml
+ pkgdesc = simplexml module for php81
+ depends = php81-xml=8.1.1
+
+pkgname = php81-openssl
+ pkgdesc = OpenSSL module for php81
+ depends = php81=8.1.1
+ depends = krb5
+ depends = e2fsprogs
+ depends = openssl-1.0
+ depends = openssl
+
+pkgname = php81-pdo
+ pkgdesc = pdo module for php81
+ depends = php81=8.1.1
+
+pkgname = php81-mysql
+ pkgdesc = MySQL modules for php81
+ depends = php81=8.1.1
+ depends = php81-pdo=8.1.1
+ depends = php81-openssl=8.1.1
+
+pkgname = php81-phar
+ pkgdesc = phar module for php81
+ depends = php81=8.1.1
+
+pkgname = php81-pcntl
+ pkgdesc = pcntl module for php81
+ depends = php81=8.1.1
+
+pkgname = php81-posix
+ pkgdesc = posix module for php81
+ depends = php81=8.1.1
+
+pkgname = php81-shmop
+ pkgdesc = shmop module for php81
+ depends = php81=8.1.1
+
+pkgname = php81-sockets
+ pkgdesc = sockets module for php81
+ depends = php81=8.1.1
+
+pkgname = php81-sysvmsg
+ pkgdesc = sysvmsg module for php81
+ depends = php81=8.1.1
+
+pkgname = php81-sysvsem
+ pkgdesc = sysvsem module for php81
+ depends = php81=8.1.1
+
+pkgname = php81-sysvshm
+ pkgdesc = sysvshm module for php81
+ depends = php81=8.1.1
+
+pkgname = php81-tokenizer
+ pkgdesc = tokenizer module for php81
+ depends = php81=8.1.1
pkgname = php81-dba
pkgdesc = dba module for php81
- depends = php81
- depends = gdbm
+ depends = php81=8.1.1
depends = db
+ depends = lmdb
-pkgname = php81-enchant
- pkgdesc = enchant module for php81
- depends = php81
- depends = enchant
+pkgname = php81-pgsql
+ pkgdesc = PostgreSQL modules for php81
+ depends = php81=8.1.1
+ depends = postgresql-libs
+ depends = php81-pdo=8.1.1
+
+pkgname = php81-odbc
+ pkgdesc = ODBC modules for php81
+ depends = php81=8.1.1
+ depends = unixodbc
+ depends = php81-pdo=8.1.1
+
+pkgname = php81-firebird
+ pkgdesc = pdo_firebird module for php81
+ depends = php81=8.1.1
+ depends = libfbclient
+ depends = php81-pdo=8.1.1
+
+pkgname = php81-dblib
+ pkgdesc = pdo_dblib module for php81
+ depends = php81=8.1.1
+ depends = freetds
+
+pkgname = php81-sqlite
+ pkgdesc = sqlite module for php81
+ depends = php81=8.1.1
+ depends = sqlite
+ depends = php81-pdo=8.1.1
pkgname = php81-gd
pkgdesc = gd module for php81
- depends = php81
+ depends = php81=8.1.1
depends = gd
depends = libxpm
depends = libpng
depends = libjpeg
+ depends = libvpx
-pkgname = php81-gmp
- pkgdesc = gmp module for php81
- depends = php81
- depends = gmp
+pkgname = php81-exif
+ pkgdesc = exif module for php81
+ depends = php81=8.1.1
-pkgname = php81-imap
- pkgdesc = imap module for php81
+pkgname = php81-bcmath
+ pkgdesc = bcmath module for php81
depends = php81
- depends = pam
- depends = krb5
- depends = c-client
-pkgname = php81-intl
- pkgdesc = intl module for php81
- depends = php81
- depends = icu
+pkgname = php81-gmp
+ pkgdesc = gmp module for php81
+ depends = php81=8.1.1
+ depends = gmp
-pkgname = php81-interbase
- pkgdesc = Interbase modules for php81
- depends = php81
- depends = libfbclient
+pkgname = php81-zip
+ pkgdesc = zip module for php81
+ depends = php81=8.1.1
+ depends = libzip
-pkgname = php81-ldap
- pkgdesc = ldap module for php81
- depends = php81
- depends = libldap
- depends = libsasl
+pkgname = php81-bz2
+ pkgdesc = bz2 module for php81
+ depends = php81=8.1.1
+ depends = bzip2
-pkgname = php81-mysql
- pkgdesc = MySQL modules for php81
- depends = php81
+pkgname = php81-fileinfo
+ pkgdesc = fileinfo module for php81
+ depends = php81=8.1.1
-pkgname = php81-odbc
- pkgdesc = ODBC modules for php81
- depends = php81
- depends = unixodbc
+pkgname = php81-ctype
+ pkgdesc = ctype module for php81
+ depends = php81=8.1.1
-pkgname = php81-pgsql
- pkgdesc = PostgreSQL modules for php81
- depends = php81
- depends = postgresql-libs
+pkgname = php81-mbstring
+ pkgdesc = mbstring module for php81
+ depends = php81=8.1.1
+ depends = oniguruma
pkgname = php81-pspell
pkgdesc = pspell module for php81
- depends = php81
+ depends = php81=8.1.1
depends = aspell
-pkgname = php81-snmp
- pkgdesc = snmp module for php81
- depends = php81
- depends = net-snmp
+pkgname = php81-enchant
+ pkgdesc = enchant module for php81
+ depends = php81=8.1.1
+ depends = enchant
-pkgname = php81-soap
- pkgdesc = soap module for php81
- depends = php81
- depends = libxml2
+pkgname = php81-intl
+ pkgdesc = intl module for php81
+ depends = php81=8.1.1
+ depends = icu
-pkgname = php81-tidy
- pkgdesc = tidy module for php81
- depends = php81
- depends = tidy
+pkgname = php81-calendar
+ pkgdesc = calendar module for php81
+ depends = php81=8.1.1
-pkgname = php81-sqlite
- pkgdesc = sqlite module for php81
- depends = php81
- depends = sqlite
+pkgname = php81-gettext
+ pkgdesc = gettext module for php81
+ depends = php81=8.1.1
-pkgname = php81-xml
- pkgdesc = xml modules for php81
- depends = php81
+pkgname = php81-soap
+ pkgdesc = soap module for php81
+ depends = php81=8.1.1
depends = libxml2
-pkgname = php81-xsl
- pkgdesc = xsl module for php81
- depends = php81
- depends = php81-xml=8.1.1
- depends = libxslt
- depends = libxml2
+pkgname = php81-ftp
+ pkgdesc = FTP module for php81
+ depends = php81=8.1.1
+ depends = openssl-1.0
+ depends = openssl
-pkgname = php81-zip
- pkgdesc = zip module for php81
- depends = php81
- depends = libzip
+pkgname = php81-curl
+ pkgdesc = curl module for php81
+ depends = php81=8.1.1
+ depends = curl
-pkgname = php81-phpdbg
- pkgdesc = Interactive PHP debugger for php81
- depends = php81
- options = !emptydirs
+pkgname = php81-snmp
+ pkgdesc = snmp module for php81
+ depends = php81=8.1.1
+ depends = net-snmp
+ depends = openssl-1.0
+ depends = openssl
-pkgname = php81-pear
- pkgdesc = PHP Extension and Application Repository for php81
- depends = php81
- depends = php81-xml
- backup = etc/php81/pear.conf
+pkgname = php81-ldap
+ pkgdesc = ldap module for php81
+ depends = php81=8.1.1
+ depends = libldap
+ depends = libsasl
-pkgname = php81-opcache
- pkgdesc = opcache zend module for php81
- depends = php81
+pkgname = php81-imap
+ pkgdesc = imap module for php81
+ depends = pam
+ depends = krb5
+ depends = c-client
+ depends = libxcrypt
+ depends = php81=8.1.1
+ depends = openssl-1.0
+ depends = openssl
pkgname = php81-sodium
pkgdesc = sodium (libsodium) module for php81
- depends = php81
+ depends = php81=8.1.1
depends = libsodium
+
+pkgname = php81-ffi
+ pkgdesc = ffi module for php81
+ depends = libffi
+ depends = php81=8.1.1
+
+pkgname = php81-opcache
+ pkgdesc = opcache zend module for php81
+ depends = php81=8.1.1
diff --git a/PKGBUILD b/PKGBUILD
index 90a6aa64dc9a..9d44cbbcfc33 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,251 +1,345 @@
-
+###############################################################################
+# Generated by arch-phpbs: https://github.com/lamskoy/arch-phpbs
+#
+# My packages on AUR: php81 php72 php54
+# Co-maintaining on AUR: php73
+#
+# Thanks to:
+#
+# AUR php73 Co-maintaner: Matt Harrison <matt@harrison.us.com>
+# AUR php73 Contirubutor: Pierre Schmitz <pierre@archlinux.de>
+###############################################################################
_phpbase="81"
_suffix=""
pkgver="8.1.1"
-pkgrel="3"
-pkgbase="php${_phpbase}${_suffix}"
-pkgdesc="PHP ${pkgver} compiled as to not conflict with mainline php"
+pkgrel="4"
+pkgbase="php81"
+pkgdesc="PHP 8.1.1 compiled as to not conflict with mainline php"
_cppflags=" -DU_USING_ICU_NAMESPACE=1 "
-
+_build_apache_cfg="etc/httpd/conf/extra"
+_build_bundled_gd="0"
+_build_conf_d="etc/php81/conf.d"
+_build_fpm_name="php-fpm81"
+_build_fpm_service_name="php81-fpm"
+_build_icu_src_dir="icu/source"
+_build_ini_per_sapi="0"
+_build_mysql_socket="/run/mysqld/mysqld.sock"
+_build_openssl_v10_patch="0"
+_build_openssl_v11_patch="0"
+_build_per_sapi="0"
+_build_phpdbg="1"
+_build_sapi_ini_apache="etc/php81"
+_build_sapi_ini_cgi="etc/php81"
+_build_sapi_ini_cli="etc/php81"
+_build_sapi_ini_embed="etc/php81"
+_build_sapi_ini_fpm="etc/php81"
+_build_sapi_ini_phpdbg="etc/php81"
+_build_shared_gd="1"
+_build_shared_json="1"
+_build_shared_libedit="0"
+_build_shared_mysqlnd="1"
+_build_shared_openssl="1"
+_build_shared_pdo="1"
+_build_system_timezonedb="1"
+_build_update_sqlite="0"
+_build_uses_argon="1"
+_build_uses_lmdb="1"
+_build_with_custom_icu="0"
_pkgver_icu="64-1"
+_priority_default="20"
+_priority_dom="16"
+_priority_json="15"
+_priority_mysqlnd="10"
+_priority_opcache="10"
+_priority_openssl="05"
+_priority_pdo="10"
+_priority_xml="15"
_suffix=""
_suffix_so=""
-
pkgname=(
- "${pkgbase}"
- "php${_phpbase}-cli${_suffix}"
- "php${_phpbase}-cgi${_suffix}"
- "php${_phpbase}-apache${_suffix}"
- "php${_phpbase}-fpm${_suffix}"
- "php${_phpbase}-embed${_suffix}"
- "php${_phpbase}-bz2${_suffix}"
- "php${_phpbase}-bcmath${_suffix}"
- "php${_phpbase}-curl${_suffix}"
- "php${_phpbase}-dblib${_suffix}"
- "php${_phpbase}-dba${_suffix}"
- "php${_phpbase}-enchant${_suffix}"
- "php${_phpbase}-gd${_suffix}"
- "php${_phpbase}-gmp${_suffix}"
- "php${_phpbase}-imap${_suffix}"
- "php${_phpbase}-intl${_suffix}"
- "php${_phpbase}-interbase${_suffix}"
- "php${_phpbase}-ldap${_suffix}"
- "php${_phpbase}-mysql${_suffix}"
- "php${_phpbase}-odbc${_suffix}"
- "php${_phpbase}-pgsql${_suffix}"
- "php${_phpbase}-pspell${_suffix}"
- "php${_phpbase}-snmp${_suffix}"
- "php${_phpbase}-soap${_suffix}"
- "php${_phpbase}-tidy${_suffix}"
- "php${_phpbase}-sqlite${_suffix}"
- "php${_phpbase}-xml${_suffix}"
- "php${_phpbase}-xsl${_suffix}"
- "php${_phpbase}-zip${_suffix}"
- "php${_phpbase}-phpdbg${_suffix}"
- "php${_phpbase}-pear${_suffix}"
- "php${_phpbase}-opcache${_suffix}"
- "php${_phpbase}-sodium${_suffix}"
+ "php81"
+ "php81-cli"
+ "php81-cgi"
+ "php81-fpm"
+ "php81-embed"
+ "php81-apache"
+ "php81-pear"
+ "php81-pecl"
+ "php81-phpdbg"
+ "php81-xml"
+ "php81-xsl"
+ "php81-xmlreader"
+ "php81-xmlwriter"
+ "php81-dom"
+ "php81-simplexml"
+ "php81-openssl"
+ "php81-pdo"
+ "php81-mysql"
+ "php81-phar"
+ "php81-pcntl"
+ "php81-posix"
+ "php81-shmop"
+ "php81-sockets"
+ "php81-sysvmsg"
+ "php81-sysvsem"
+ "php81-sysvshm"
+ "php81-tokenizer"
+ "php81-dba"
+ "php81-pgsql"
+ "php81-odbc"
+ "php81-firebird"
+ "php81-dblib"
+ "php81-sqlite"
+ "php81-gd"
+ "php81-exif"
+ "php81-bcmath"
+ "php81-gmp"
+ "php81-zip"
+ "php81-bz2"
+ "php81-fileinfo"
+ "php81-ctype"
+ "php81-mbstring"
+ "php81-pspell"
+ "php81-enchant"
+ "php81-intl"
+ "php81-calendar"
+ "php81-gettext"
+ "php81-soap"
+ "php81-ftp"
+ "php81-curl"
+ "php81-snmp"
+ "php81-ldap"
+ "php81-imap"
+ "php81-sodium"
+ "php81-ffi"
+ "php81-opcache"
)
-
source=(
"pear-config-patcher.php"
+ "php-makefile-patcher.php"
"php-apache.conf"
"https://php.net/distributions/php-${pkgver}.tar.xz"
- "php74-module-order.patch"
"debian-php-8.1.1.patch"
"php-phpinfo.patch"
"timezonedb-guess.patch"
"timezonedb-php8.1.patch"
)
-
depends=(
)
-
checkdepends=(
- "procps-ng"
)
-
+makedepends=(
+ "acl"
+ "libtool"
+ "autoconf"
+ "automake"
+ "patchelf"
+ "gawk"
+ "sed"
+ "bash"
+ "python"
+ "libxml2"
+ "pam"
+ "krb5"
+ "zlib"
+ "libedit"
+ "smtp-forwarder"
+ "pcre"
+ "apache"
+ "ncurses"
+ "libxcrypt"
+ "systemd"
+ "systemd-libs"
+ "coreutils"
+ "findutils"
+ "argon2"
+ "libxslt"
+ "openssl"
+ "e2fsprogs"
+ "lmdb"
+ "db"
+ "postgresql-libs"
+ "unixodbc"
+ "libfbclient"
+ "freetds"
+ "sqlite"
+ "gd"
+ "gmp"
+ "libzip"
+ "oniguruma"
+ "aspell"
+ "enchant"
+ "icu"
+ "curl"
+ "net-snmp"
+ "libsasl"
+ "libldap"
+ "c-client"
+ "pam"
+ "libsodium"
+ "libffi"
+)
arch=(
- "i686"
- "x86_64"
)
-
_patches=(
- "php74-module-order.patch"
"debian-php-8.1.1.patch"
"php-phpinfo.patch"
"timezonedb-guess.patch"
"timezonedb-php8.1.patch"
)
-
-_build_apache_cfg="etc/httpd/conf/extra"
-_build_bundled_gd="0"
-_build_ffi="1"
-_build_fpm_group="http"
-_build_fpm_user="http"
-_build_icu_src_dir="icu/source"
-_build_interbase="0"
-_build_json="0"
-_build_mcrypt="0"
-_build_mssql="0"
-_build_opcache="1"
-_build_openssl_v10_patch="0"
-_build_openssl_v11_patch="0"
-_build_outdated_mysql="0"
-_build_pear="1"
-_build_per_sapi="0"
-_build_phpdbg="1"
-_build_recode="0"
-_build_shared_gd="1"
-_build_shared_mysqlnd="1"
-_build_sodium="1"
-_build_static_pdo="0"
-_build_uses_autoconf="1"
-_build_wddx="0"
-_build_with_custom_icu="0"
-_build_xmlrpc="0"
-_priority_default="20"
-_priority_json="15"
-_priority_mysqlnd="10"
-_priority_opcache="10"
-_priority_pdo="10"
-_priority_xml="15"
-_phpextensions="\
- --enable-bcmath=shared \
- --with-bz2=shared,/usr \
- --with-gmp=shared,/usr \
- --enable-intl=shared \
- --with-pspell=shared,/usr \
- --with-snmp=shared,/usr \
- --with-tidy=shared,/usr \
+_sapi_depends=(
+ "libxml2"
+ "pcre2"
+ "libedit"
+ "argon2"
+)
+_phpconfig="\
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --localstatedir=/var \
+ --with-layout=GNU \
+ --disable-debug \
+ --mandir=/usr/share/man \
+ --srcdir=../php-${pkgver} \
+ --libdir=/usr/lib/php${_phpbase}${_suffix} \
+ --datadir=/usr/share/php${_phpbase}${_suffix} \
+ --program-suffix=${_phpbase}${_suffix} \
+ --with-config-file-scan-dir=/${_build_conf_d}
--enable-filter \
- --with-readline \
- --enable-pcntl \
- --enable-calendar=shared \
- --enable-ctype=shared \
- --enable-exif=shared \
- --enable-fileinfo=shared \
- --enable-ftp=shared \
- --with-gettext=shared,/usr \
- --with-iconv=shared \
+ --with-pear \
+ --enable-session \
+ --with-mhash=/usr \
+ --with-kerberos \
+ --with-mysql-sock=${_build_mysql_socket} \
+ --enable-mysqlnd-compression-support \
+ --datarootdir=/usr/share/php${_phpbase}${_suffix} \
+ --with-zlib \
+ --with-libxml \
+ --with-pcre-jit \
+ --with-external-pcre=/usr \
+ --with-password-argon2=/usr \
+ --disable-rpath \
+ --config-cache \
+ --with-system-tzdata \
+ --enable-phpdbg-readline \
+ --with-libedit"
+_phpextensions="\
+ --enable-xml=shared \
+ --with-xsl=shared \
+ --enable-xmlreader=shared \
+ --enable-xmlwriter=shared \
+ --enable-dom=shared \
+ --enable-simplexml=shared \
+ --with-openssl=shared \
+ --enable-pdo=shared \
+ --enable-mysqlnd=shared \
+ --with-mysqli=shared,mysqlnd \
+ --with-pdo-mysql=shared,mysqlnd \
--enable-phar=shared \
+ --enable-pcntl=shared \
--enable-posix=shared \
--enable-shmop=shared \
--enable-sockets=shared \
--enable-sysvmsg=shared \
--enable-sysvsem=shared \
--enable-sysvshm=shared \
- --enable-tokenizer=shared \
- --enable-mysqlnd-compression-support \
- --with-mysqli=shared,mysqlnd \
- --with-pdo-mysql=shared,mysqlnd \
- --with-mysql-sock=/run/mysqld/mysqld.sock \
- --enable-dom=shared \
- --enable-simplexml=shared \
- --enable-xml=shared \
- --enable-xmlreader=shared \
- --enable-xmlwriter=shared \
- --with-xsl=shared \
+ --enable-tokenizer=shared
--enable-dba=shared \
--with-db4=/usr \
- --with-gdbm \
- --enable-inifile \
- --enable-flatfile \
- --with-imap=shared,/usr \
- --with-kerberos \
- --with-imap-ssl=yes \
- --with-password-argon2 \
- --with-ffi=shared \
- --with-zip=shared \
- --with-curl=shared \
- --with-enchant=shared \
- --with-pcre-jit \
- --with-external-pcre=/usr \
- --with-openssl \
+ --without-gdbm \
+ --with-cdb \
+ --with-lmdb=/usr \
+ --with-pgsql=shared,/usr \
+ --with-pdo-pgsql=shared,/usr \
--with-unixODBC=shared \
--with-pdo-odbc=shared,unixODBC,/usr \
- --with-ldap=shared,/usr \
- --with-ldap-sasl \
+ --with-pdo-firebird=shared,/usr \
+ --with-pdo-dblib=shared,/usr \
--with-pdo-sqlite=shared,/usr \
--with-sqlite3=shared \
- --enable-mysqlnd=shared \
--enable-gd=shared \
--with-external-gd=/usr \
--with-jpeg \
--with-xpm \
--with-webp \
--with-freetype \
- --enable-pdo=shared \
- --with-zlib \
- --with-pdo-firebird=shared,/usr \
- --with-pgsql=shared,/usr \
- --with-pdo-pgsql=shared,/usr \
- --enable-soap=shared \
- --enable-opcache \
- --enable-huge-code-pages \
- --with-sodium=shared \
+ --enable-exif=shared \
+ --enable-bcmath=shared \
+ --with-gmp=shared,/usr \
+ --with-zip=shared \
+ --with-bz2=shared,/usr \
+ --enable-fileinfo=shared \
+ --enable-ctype=shared \
--enable-mbstring=shared \
+ --with-onig=/usr \
--enable-mbregex \
- --with-pdo-dblib=shared,/usr"
-
-_phpconfig="\
- --prefix=/usr \
- --sbindir=/usr/bin \
- --localstatedir=/var \
- --with-layout=GNU \
- --disable-debug \
- --mandir=/usr/share/man \
- --srcdir=../php-${pkgver} \
- --sysconfdir=/etc/php${_phpbase}${_suffix} \
- --libdir=/usr/lib/php${_phpbase}${_suffix} \
- --datadir=/usr/share/php${_phpbase}${_suffix} \
- --program-suffix=${_phpbase}${_suffix} \
- --with-config-file-path=/etc/php${_phpbase}${_suffix} \
- --with-config-file-scan-dir=/etc/php${_phpbase}${_suffix}/conf.d \
- --without-pear \
- --datarootdir=/usr/share/php${_phpbase}${_suffix} \
- --disable-rpath \
- --config-cache \
- --with-system-tzdata"
-
+ --with-pspell=shared,/usr \
+ --with-enchant=shared \
+ --enable-intl=shared \
+ --enable-calendar=shared \
+ --with-gettext=shared,/usr \
+ --enable-soap=shared \
+ --enable-ftp=shared \
+ --with-curl=shared \
+ --with-snmp=shared,/usr \
+ --with-ldap=shared,/usr \
+ --with-ldap-sasl \
+ --with-imap=shared,/usr \
+ --with-imap-ssl=yes \
+ --with-sodium=shared \
+ --with-ffi=shared \
+ --enable-opcache \
+ --enable-huge-code-pages"
_phpextensions_fpm="\
- --with-fpm-user=${_build_fpm_user} \
- --with-fpm-group=${_build_fpm_group} \
+ --with-fpm-user=http \
+ --with-fpm-group=http \
--with-fpm-systemd \
--with-fpm-acl"
-
-makedepends=(
- 'libtool' 'autoconf' 'automake' 'patchelf' 'gawk' 'sed' 'bash' 'python' 'libxml2' 'pam'
- 'openssl' 'openssl-1.0' 'argon2' 'libmcrypt' 'libsodium' 'libldap' 'libsasl' 'krb5'
- 'libxslt' 'libzip' 'freetds' 'apache' 'aspell' 'c-client' 'db' 'enchant' 'readline'
- 'gmp' 'icu' 'net-snmp' 'postgresql-libs' 'sqlite' 'systemd-libs' 'unixodbc' 'curl' 'ncurses'
- 'freetds' 'pcre' 'tidy' 'libfbclient' 'oniguruma' 'gd' 'recode' 'bzip2' 'gdbm' 'zlib'
- 'systemd' 'systemd-libs' 'smtp-forwarder'
-)
-arch=('i686' 'x86_64')
-checkdepends=('procps-ng')
+options=('!lto')
+arch=("$CARCH")
+checkdepends=('procps-ng' 'smtp-forwarder')
license=('PHP')
url='http://www.php.net'
+################################################################################
# Prepare it
+################################################################################
prepare() {
pushd "php-${pkgver}"
- echo "[SED] sapi/apache2handler/config.m4 and configure"
+
+ echo "[SED] scripts/phpize.in"
+ sed -E "s|(includedir[\t ]*=.*/php)|\1${_phpbase}${_suffix}|g" \
+ -i scripts/phpize.in
+
+ echo "[SED] scripts/phpize.m4"
+ sed -e "s|\[php-config\]|\[php-config${_phpbase}${_suffix}\]|g" \
+ -e "s|\(PHP_ARG_WITH(\[php-config\)${_phpbase}${_suffix}\]|\1]|g" \
+ -e "s|php-config, no|php-config${_phpbase}${_suffix}, no|g" \
+ -i "scripts/phpize.m4"
+
+ echo "[SED] scripts/Makefile.frag"
+ sed -E "s|(phpincludedir[\t ]*=.*/php)|\1${_phpbase}${_suffix}|g" \
+ -i scripts/Makefile.frag
+
+ echo "[SED] scripts/php-config.in"
+ sed -E "s|(include_dir[\t ]*=.*php)|\1${_phpbase}${_suffix}|g" \
+ -i scripts/php-config.in
+
+ echo "[SED] sapi/apache2handler/config.m4"
sed -e '/APACHE_THREADED_MPM=/d' \
- -i sapi/apache2handler/config.m4 \
- -i configure
+ -i sapi/apache2handler/config.m4
echo "[SED] sapi/fpm/Makefile.frag"
- sed -e 's#php-fpm\$(program_suffix)#php\$(program_suffix)-fpm#' \
- -e 's/.conf.default/.conf/g' \
+ # sed -e 's#php-fpm\$(program_suffix)#php\$(program_suffix)-fpm#'
+ sed -e 's/.conf.default/.conf/g' \
-i sapi/fpm/Makefile.frag
echo "[SED] sapi/fpm/php-fpm.service.in"
- sed -E "s|ExecStart[\s]?=[\s]?@([a-zA-Z_]+)@/php-fpm|ExecStart=@\1@/php${_phpbase}${_suffix}-fpm|g; \
- s|PIDFile[\s]?=[\s]?@([a-zA-Z_]+)@/run/php-fpm.pid|PIDFile=/run/php${_phpbase}${_suffix}-fpm/php-fpm.pid|g" \
+ sed -E "s|ExecStart[\s]?=[\s]?@([a-zA-Z_]+)@/php-fpm|ExecStart=@\1@/${_build_fpm_name}|g; \
+ s|PIDFile[\s]?=[\s]?@([a-zA-Z_]+)@/run/php-fpm.pid|PIDFile=/run/${_build_fpm_service_name}/php-fpm.pid|g" \
-i sapi/fpm/php-fpm.service.in
local _check_files=("sapi/fpm/www.conf.in" "sapi/fpm/php-fpm.conf.in");
@@ -254,8 +348,8 @@ prepare() {
continue;
fi
echo "[SED] ${file_conf}"
- sed -e "s#^listen =.*#listen = /run/php${_phpbase}${_suffix}-fpm/php-fpm.sock#" \
- -e "s#run/php-fpm.pid#/run/php${_phpbase}${_suffix}-fpm/php-fpm.pid#" \
+ sed -e "s#^listen =.*#listen = /run/${_build_fpm_service_name}/php-fpm.sock#" \
+ -e "s#run/php-fpm.pid#/run/${_build_fpm_service_name}/php-fpm.pid#" \
-e 's#^;*[ \t]*listen.owner =#listen.owner =#' \
-e 's#^;*[ \t]*listen.group =#listen.group =#' \
-e 's#^;*[ \t]*error_log =.*#error_log = syslog#' \
@@ -265,34 +359,73 @@ prepare() {
echo "[SED] php.ini-production"
sed -e 's#^;*[ \t]*extension_dir[\t ]*=.*/.*$#extension_dir = "___EXTENSIONDIR___"#' \
- -e "s#___EXTENSIONDIR___#/usr/lib/php${_phpbase}${_suffix}/modules#g" \
+ -e "s#___EXTENSIONDIR___#/usr/lib/${pkgbase}/modules#g" \
-e "s#^;*[ \t]*extension=#;extension=#g" \
+ -e "s#^;*[ \t]*session.save_path[\t ]*=.*#session.save_path=___SESSIONS___#g" \
+ -e "s#___SESSIONS___#/var/lib/${pkgbase}/sessions#g" \
-i php.ini-production
for patch_name in "${_patches[@]}"; do
echo "[PATCH] Applying source patch ${patch_name}";
patch -p1 -i "../${patch_name}"
done
- if ((_build_uses_autoconf)); then
- autoconf
+
+ if ((_phpbase <= 53)); then
+ PHP_AUTOCONF="/usr/bin/autoconf-2.13" ./buildconf --force
+ else
+ ./buildconf --force
fi
- echo "[SED] Sed for ${pkgdir}/usr/lib/php${_phpbase}${_suffix}/scripts/phpize.m4"
- sed -i "/^\[ --with-php-config=/c \[ --with-php-config=PATH Path to php-config [php-config${_phpbase}${_suffix}]], php-config${_phpbase}${_suffix}, no)" "scripts/phpize.m4"
rm -f tests/output/stream_isatty_*.phpt
rm -f Zend/tests/arginfo_zpp_mismatch*.phpt
popd
}
+_build_sapi() {
+ _sapi="${1}"
+ _commands="${2}"
+ if (( _sapi == "cli" )); then
+ if [[ ! -d "build-${_sapi}" ]]; then
+ mkdir "build-${_sapi}"
+ fi
+ pushd "build-${_sapi}"
+ if [[ -L configure ]]; then
+ rm configure
+ fi
+ ln -s "../php-${pkgver}/configure"
+ popd
+ else
+ cp -Ta "build-cli" "build-${_sapi}"
+ fi
+
+ pushd "build-${_sapi}"
+ ./configure ${_phpconfig} ${_commands}
+
+ if (($_sapi != "cli")); then
+ make clean
+ fi
+ if ((! _build_with_custom_icu)); then
+ sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
+ -e 's|^runpath_var=LD_RUN_PATH|runpath_var=LIBTOOL_IS_BROKED|g' \
+ libtool
+ fi
+ make
+ popd
+}
+
+################################################################################
# BUILD them all
+################################################################################
build() {
- export EXTENSION_DIR="/usr/lib/php${_phpbase}${_suffix}/modules"
+ export EXTENSION_DIR="/usr/lib/${pkgbase}/modules"
if ((_build_openssl_v10_patch)); then
export PHP_OPENSSL_DIR="/usr/lib/openssl-1.0"
fi
-
- if ((_build_with_custom_icu)); then
+ if [[ ! -z "${_cppflags}" ]]; then
+ CPPFLAGS+=" $_cppflags "
+ fi
+ if ((_build_with_custom_icu )); then
local _php5_icu_first="${srcdir}/${_build_icu_src_dir}/php${_phpbase}${suffix}-icu${_pkgver_icu}"
- _ldflags="-Wl,-rpath=$ORIGIN/usr/lib/php${_phpbase}${_suffix}/icu${_pkgver_icu}/lib"
+ LDFLAGS+="-Wl,-rpath=$ORIGIN/usr/lib/${pkgbase}/icu${_pkgver_icu}/lib"
_phpextensions+=" --with-icu-dir=${_php5_icu_first} "
if [[ ! -d $_php5_icu_first ]]; then
mkdir -p "${_php5_icu_first}"
@@ -306,141 +439,129 @@ build() {
--includedir="${_php5_icu_first}/include" \
--disable-tests \
--disable-debug
- make
+ make -j$(nproc)
make install
- ./configure --prefix="/usr/lib/php${_phpbase}${_suffix}/icu${_pkgver_icu}" \
- --sysconfdir="/usr/lib/php${_phpbase}${_suffix}/icu${_pkgver_icu}/etc" \
- --mandir="/usr/lib/php${_phpbase}${_suffix}/icu${_pkgver_icu}/share/man" \
- --sbindir="/usr/lib/php${_phpbase}${_suffix}/icu${_pkgver_icu}/bin" \
- --libdir="/usr/lib/php${_phpbase}${_suffix}/icu${_pkgver_icu}/lib" \
- --includedir="/usr/lib/php${_phpbase}${_suffix}/icu${_pkgver_icu}/include" \
+ ./configure --prefix="/usr/lib/${pkgbase}/icu${_pkgver_icu}" \
+ --sysconfdir="/usr/lib/${pkgbase}/icu${_pkgver_icu}/etc" \
+ --mandir="/usr/lib/${pkgbase}/icu${_pkgver_icu}/share/man" \
+ --sbindir="/usr/lib/${pkgbase}/icu${_pkgver_icu}/bin" \
+ --libdir="/usr/lib/${pkgbase}/icu${_pkgver_icu}/lib" \
+ --includedir="/usr/lib/${pkgbase}/icu${_pkgver_icu}/include" \
--disable-tests \
--disable-debug
- make
+ make -j$(nproc)
popd
fi
- if [[ ! -z "${_cppflags}" ]]; then
- CPPFLAGS+=" $_cppflags "
- fi
- if [[ ! -z "${_ldflags}" ]]; then
- LDFLAGS+=" $_ldflags "
- fi
-
+ if ((_build_ini_per_sapi || _build_per_sapi)); then
- echo "[DEBUG] CPPFLAGS ${_cppflags}"
- echo "[DEBUG] LDGFLAGS ${_ldflags}"
- echo "[DEBUG] PHPCONF ${_phpconfig}" | sed -E 's|[ \t]+|\n|g';
- echo "[DEBUG] PHPEXT ${_phpextensions}" | sed -E 's|[ \t]+|\n |g';
- echo "[DEBUG] FPMEXT ${_phpextensions_fpm}" | sed -E 's|[ \t]+|\n|g';
-
- if [[ ! -d "build" ]]; then
- mkdir "build"
+ # CLI
+ _cli_addons=''
+ if (( ! _build_per_sapi )); then
+ # CGI enabled here only for tests passing, then overriden later by cgi build
+ _cli_addons+=" --enable-cgi "
fi
-
- pushd "build"
- if [[ -L configure ]]; then
- rm configure
+ _build_sapi "cli" "\
+ --sysconfdir=/${_build_sapi_ini_cli} \
+ --with-config-file-path=/${_build_sapi_ini_cli} \
+ --enable-cli \
+ ${_phpextensions} \
+ ${_cli_addons} \
+ --disable-fpm \
+ --disable-embed \
+ --disable-phpdbg \
+ "
+
+ # phpdbg
+ if ((_build_phpdbg)); then
+ _sapi="phpdbg"
+ _build_sapi "phpdbg" "\
+ --sysconfdir=/${_build_sapi_ini_phpdbg} \
+ --with-config-file-path=/${_build_sapi_ini_phpdbg} \
+ --disable-all \
+ --enable-phpdbg \
+ --disable-cgi \
+ --disable-cli \
+ --disable-fpm \
+ --disable-embed \
+ "
fi
- ln -s "../php-${pkgver}/configure"
- popd
- if (( ! _build_per_sapi )); then
- # SAPIs: cli+cgi+fpm+embed
- pushd "build"
- ./configure ${_phpconfig} \
- --enable-cgi \
- --enable-fpm \
- ${_phpextensions_fpm} \
- --enable-embed=shared \
- ${_phpextensions}
- make
- popd
+ # embed
+ _build_sapi "embed" "\
+ --sysconfdir=/${_build_sapi_ini_embed} \
+ --with-config-file-path=/${_build_sapi_ini_embed} \
+ --disable-all \
+ --enable-embed=shared \
+ --disable-cgi \
+ --disable-cli \
+ --disable-fpm \
+ --disable-phpdbg \
+ "
+
+ # cgi
+ _build_sapi "cgi" "\
+ --sysconfdir=/${_build_sapi_ini_cgi} \
+ --with-config-file-path=/${_build_sapi_ini_cgi} \
+ --disable-all \
+ --enable-cgi \
+ --disable-cli \
+ --disable-fpm \
+ --disable-embed \
+ --disable-phpdbg \
+ "
+
+ # fpm
+ _build_sapi "fpm" "\
+ --sysconfdir=/${_build_sapi_ini_fpm} \
+ --with-config-file-path=/${_build_sapi_ini_fpm} \
+ --disable-all \
+ --enable-fpm \
+ ${_phpextensions_fpm} \
+ --disable-cli \
+ --disable-cgi \
+ --disable-embed \
+ --disable-phpdbg \
+ "
else
- # Per sapi build: cli,cgi,fpm,embed
-
- # cli
- pushd "build"
- ./configure ${_phpconfig} \
- --disable-cgi \
- ${_phpextensions}
- make
- popd
- # cgi
- cp -Ta build build-cgi
- pushd build-cgi
- ./configure ${_phpconfig} \
- --disable-cli \
- --enable-cgi \
- ${_phpextensions}
- make
- popd
-
- # fpm
- cp -Ta build build-fpm
- pushd build-fpm
- ./configure ${_phpconfig} \
- --disable-cli \
- --enable-fpm \
- ${_phpextensions_fpm} \
- ${_phpextensions}
- make
- popd
-
-
- # embed
- cp -Ta build build-embed
- pushd build-embed
- ./configure ${_phpconfig} \
- --disable-cli \
- --enable-embed=shared \
- ${_phpextensions}
- make
- popd
- fi
-
- # apache build
- cp -a "build" "build-apache"
- pushd "build-apache"
- ./configure ${_phpconfig} \
- --with-apxs2 \
- ${_phpextensions}
- make
- popd
- # phpdbg build
+ # CLI
if ((_build_phpdbg)); then
- cp -a "build" "build-phpdbg"
- pushd "build-phpdbg"
- ./configure ${_phpconfig} \
- --enable-phpdbg \
- ${_phpextensions}
- make
- popd
+ _cli_addons+=" --enable-phpdbg "
fi
-
- # PEAR build
- if ((_build_pear)); then
- cp -a "build" "build-pear"
- # Pear can't be built properly with shared xml
- local _ext_pear=$(echo ${_phpextensions} | sed 's/--enable-xml=shared/--enable-xml/g')
- export PEAR_INSTALLDIR="/usr/share/php${_phpbase}${_suffix}/pear"
- pushd "build-pear"
- ./configure ${_phpconfig} \
- --disable-cgi \
- --with-pear \
- ${_ext_pear}
- make
- popd
+ _build_sapi "cli" "\
+ --sysconfdir=/${_build_sapi_ini_cli} \
+ --with-config-file-path=/${_build_sapi_ini_cli} \
+ --enable-cli \
+ ${_phpextensions} \
+ ${_cli_addons} \
+ --enable-fpm \
+ --enable-cgi \
+ --enable-embed=shared \
+ --enable-fpm \
+ ${_phpextensions_fpm} \
+ "
fi
- unset EXTENSION_DIR
+
+ # apache
+ _build_sapi "apache" "\
+ --disable-all \
+ --disable-cli \
+ --disable-cgi \
+ --disable-fpm \
+ --disable-embed \
+ --disable-phpdbg \
+ --with-apxs2 \
+ --sysconfdir=/${_build_sapi_ini_apache} \
+ --with-config-file-path=/${_build_sapi_ini_apache} \
+ "
+
}
check() {
- pushd "build"
+ pushd "build-cli"
# Check if sendmail was configured correctly (FS#47600)
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
@@ -449,11 +570,15 @@ check() {
if ((_phpbase > 73)); then
export TEST_PHP_ARGS="-j$(nproc)"
fi
+ # Patch tests to run PHP modules in needed order
+ sapi/cli/php -n ../php-makefile-patcher.php Makefile
make test
popd
}
+################################################################################
# Custom code
+################################################################################
_install_module_ini() {
local extension=$(echo "${1}" | sed 's/\.so//')
local priority="${_priority_default}"
@@ -464,6 +589,9 @@ _install_module_ini() {
"xml")
priority="${_priority_xml}"
;;
+ "openssl")
+ priority="${_priority_openssl}"
+ ;;
"mysqlnd")
priority="${_priority_mysqlnd}"
;;
@@ -473,6 +601,9 @@ _install_module_ini() {
"opcache")
priority="${_priority_opcache}"
;;
+ "dom")
+ priority="${_priority_dom}"
+ ;;
esac
local extension_type="extension"
case "${extension}" in
@@ -484,140 +615,116 @@ _install_module_ini() {
;;
esac
- if [[ ! -d "${pkgdir}/etc/php${_phpbase}${_suffix}/conf.d" ]]; then
- mkdir -p "${pkgdir}/etc/php${_phpbase}${_suffix}/conf.d"
+ if [[ ! -d "${pkgdir}/${_build_conf_d}" ]]; then
+ mkdir -p "${pkgdir}/${_build_conf_d}"
fi
- echo "${extension_type}=${extension}.so" > "${pkgdir}/etc/php${_phpbase}${_suffix}/conf.d/${priority}-${extension}.ini"
- chmod 0644 "$pkgdir/etc/php${_phpbase}${_suffix}/conf.d/${priority}-${extension}.ini"
+ echo "${extension_type}=${extension}.so" > "${pkgdir}/${_build_conf_d}/${priority}-${extension}.ini"
+ chmod 0644 "$pkgdir/${_build_conf_d}/${priority}-${extension}.ini"
_last_priority=${priority}
_last_extension=${extension}
}
_install_module() {
- install -D -m755 "build/modules/${1}.so" "${pkgdir}/usr/lib/php${_phpbase}${_suffix}/modules/${1}.so";
- _install_module_ini "${1}"
+ if [[ -f "build-cli/modules/${1}.so" ]]; then
+ install -D -m755 "build-cli/modules/${1}.so" "${pkgdir}/usr/lib/${pkgbase}/modules/${1}.so";
+ _install_module_ini "${1}"
+ else
+ echo "[DEBUG]: Install_module can't find ${1}.so, skipped"
+ fi
}
-# Custom code end
+###############################################################################
+# PHP: SAPI's
+###############################################################################
+
+# Main package
package_php81() {
# Binary names
- pkgdesc='A general-purpose scripting language that is especially suited to web development'
- depends=('zlib' 'pcre' 'oniguruma' 'readline' 'argon2')
- if ((_build_openssl_v10_patch)); then
- depends+=("openssl-1.0")
- else
- depends+=("openssl")
- fi
- backup=("etc/php${_phpbase}${_suffix}/php.ini")
+ pkgdesc='PHP. A general-purpose scripting language that is especially suited to web development'
+ depends=('zlib' 'pcre' 'libedit')
if ((_build_with_custom_icu)); then
pushd "${_build_icu_src_dir}"
make DESTDIR="${pkgdir}" install
- make clean
popd
- pushd "${pkgdir}/usr/lib/php${_phpbase}${_suffix}/icu${_pkgver_icu}"
+ pushd "${pkgdir}/usr/lib/${pkgbase}/icu${_pkgver_icu}"
rm -rf bin include share
popd
fi
- pushd "build"
- make -j1 INSTALL_ROOT=${pkgdir} install-{modules,build,headers,programs,pharcmd}
- install -D -m644 "../php-${pkgver}/php.ini-production" "${pkgdir}/etc/php${_phpbase}${_suffix}/php.ini"
- install -d -m755 "${pkgdir}/etc/php${_phpbase}${_suffix}/conf.d/"
+ # Install session dir
+ install -d -m1733 "${pkgdir}/var/lib/${pkgbase}/sessions"
- pushd "${pkgdir}/usr/lib/php${_phpbase}${_suffix}/modules/"
+ # conf.d dir with shared modules
+ install -d -m755 "${pkgdir}/${_build_conf_d}/"
+
+ pushd "build-cli"
+ make -j1 INSTALL_ROOT=${pkgdir} install-{modules,build,headers,programs}
+ # Cleanup for CGI"
+ rm -rf "${pkgdir}/usr/bin/${pkgbase}-cgi"
+ popd
+
+ pushd "${pkgdir}/usr/lib/${pkgbase}/modules/"
# remove static modules
rm -f *.a
-
- # remove modules provided by sub packages
+ # remove modules provided by subpackages
rm -f {enchant,imap,intl,pspell,snmp,tidy,curl,ldap,bz2,bcmath,soap,zip,gmp,dba,opcache,json,gd,mcrypt,sodium,recode}.so
- # dblib package
- rm -rf {pdo_dblib,mssql}.so
- # xml package
+ rm -f {pdo_dblib,mssql}.so
rm -f {dom,simplexml,xml,xmlreader,xmlwriter,xsl,wddx,xmlrpc}.so
- # PostgreSQL
rm -f {pgsql,pdo_pgsql}.so
- # ODBC
rm -f {odbc,pdo_odbc}.so
- # SQLite
rm -f {pdo_sqlite,sqlite3}.so
- # pdo_firebird
rm -f {pdo_firebird.so,interbase.so}
- # MySQL modules
rm -f {mysqli,pdo_mysql,mysqlnd,mysql}.so
-
- # Install COMMON modules
- for i in *.so; do
- _install_module_ini "${i}"
- done
+ rm -f {openssl,ffi,pcntl,ftp,calendar,ctype,fileinfo,iconv,mbstring,exif,pdo,phar,posix,shmop}.so
+ rm -f {sockets,tokenizer,gettext,sysvmsg,sysvsem,sysvshm}.so
popd
-
- # remove empty directory
- rmdir "${pkgdir}/usr/include/php/include"
-
- # move include directory
- mv "${pkgdir}/usr/include/php" "${pkgdir}/usr/include/php${_phpbase}${_suffix}"
-
- # Link to phar
- ln -sf "phar${_phpbase}${_suffix}.phar" "${pkgdir}/usr/bin/phar${_phpbase}${_suffix}"
-
- # rename executables
- if [[ -f "${pkgdir}/usr/bin/phar.phar" ]]; then
- mv "${pkgdir}/usr/bin/phar.phar" "${pkgdir}/usr/bin/phar${_phpbase}${_suffix}.phar"
- fi
-
- # rename man pages
- if [[ -f "${pkgdir}/usr/share/man/man1/phar.1" ]]; then
- mv "${pkgdir}/usr/share/man/man1/phar.1" \
- "${pkgdir}/usr/share/man/man1/phar${_phpbase}${_suffix}.1"
+ pushd build-cli
+ if (( ! _build_ini_per_sapi )); then
+ backup=("${_build_sapi_ini_cli}/php.ini")
+ install -d -m755 "${pkgdir}/${_build_sapi_ini_cli}"
+ install -D -m644 "../php-${pkgver}/php.ini-production" "${pkgdir}/${_build_sapi_ini_cli}/php.ini"
fi
-
- if [[ -f "${pkgdir}/usr/share/man/man1/phar.phar.1" ]]; then
- mv "${pkgdir}/usr/share/man/man1/phar.phar.1" \
- "${pkgdir}/usr/share/man/man1/phar.phar${_phpbase}${_suffix}.1"
- fi
-
- # kill phar symlink in old php builds
- rm -f "${pkgdir}/usr/bin/phar"
-
- # fix paths in executables
- echo "[SED] ${pkgdir}/usr/bin/phpize${_phpbase}${_suffix}"
- sed -i "/^includedir=/c \includedir=/usr/include/php${_phpbase}${_suffix}" "${pkgdir}/usr/bin/phpize${_phpbase}${_suffix}"
- echo "[SED] ${pkgdir}/usr/bin/php-config${_phpbase}${_suffix}"
- sed -i "/^include_dir=/c \include_dir=/usr/include/php${_phpbase}${_suffix}" "${pkgdir}/usr/bin/php-config${_phpbase}${_suffix}"
-
- #sed -i "/^php_cli_binary=/c \include_dir=/usr/bin/php${_phpbase}${_suffix}" "${pkgdir}/usr/bin/php-config${_phpbase}${_suffix}"
- #sed -i "/^php_cgi_binary=/c \include_dir=/usr/bin/php-cgi${_phpbase}${_suffix}" "${pkgdir}/usr/bin/php-config${_phpbase}${_suffix}"
-
- echo "[SED] Sed for ${pkgdir}/usr/lib/php${_phpbase}${_suffix}/build/phpize.m4"
- sed -i "/^\[ --with-php-config=/c \[ --with-php-config=PATH Path to php-config [php-config${_phpbase}${_suffix}]], php-config${_phpbase}${_suffix}, no)" \
- "${pkgdir}/usr/lib/php${_phpbase}${_suffix}/build/phpize.m4"
- # popd
popd
}
-# End install common
-# Cli
+# Cli + phar
package_php81-cli() {
- pkgdesc="cli (command-line executable) version for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}")
- pushd "build"
+ _sapi="cli"
+ pkgdesc="cli (command-line executable) version for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ depends+=("${_sapi_depends[@]}")
+ pushd "build-${_sapi}"
make -j1 INSTALL_ROOT="${pkgdir}" install-cli
+ make -j1 INSTALL_ROOT="${pkgdir}" install-pharcmd
+ if ((_build_ini_per_sapi)); then
+ backup=("${_build_sapi_ini_cli}/php.ini")
+ install -d -m755 "${pkgdir}/${_build_sapi_ini_cli}"
+ install -D -m644 "../php-${pkgver}/php.ini-production" "${pkgdir}/${_build_sapi_ini_cli}/php.ini"
+ fi
+ # Cleanup for CGI
+ rm -rf "${pkgdir}/usr/bin/${pkgbase}-cgi"
popd
}
# End cli
# CGI
package_php81-cgi() {
- pkgdesc="CGI and FCGI SAPI for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}")
- if ((_build_per_sapi)); then
- pushd "build-cgi"
+ _sapi="cgi"
+ pkgdesc="CGI and FCGI SAPI for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ depends+=("${_sapi_depends[@]}")
+ if ((_build_ini_per_sapi || _build_per_sapi)); then
+ pushd "build-${_sapi}"
else
- pushd "build"
+ pushd "build-cli"
+ fi
+ if ((_build_ini_per_sapi)); then
+ install -D -m644 "../php-${pkgver}/php.ini-production" "${pkgdir}/${_build_sapi_ini_cgi}/php.ini"
+ backup=("${_build_sapi_ini_cgi}/php.ini")
fi
case "${_phpbase}" in
- 53)
- install -D -m755 sapi/cgi/php-cgi "${pkgdir}/usr/bin/php${_phpbase}${_suffix}-cgi"
+ 53 | 54)
+ install -D -m755 sapi/cgi/php-cgi "${pkgdir}/usr/bin/${pkgbase}-cgi"
;;
*)
make -j1 INSTALL_ROOT="${pkgdir}" install-cgi
@@ -625,361 +732,718 @@ package_php81-cgi() {
esac
popd
}
-# End CGI
+# CGI end
+# Apache
package_php81-apache() {
+ _sapi="apache"
_build_mod_php_so="libphp${_suffix_so}.so"
_build_mod_php_module="php_module${_suffix_so}"
_build_build_php_script_name="php${_suffix_so}-script"
_apache_module_conf="${pkgbase}-module.conf"
- pkgdesc="Apache SAPI for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'apache')
+ pkgdesc="Apache SAPI for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'apache')
+ depends+=("${_sapi_depends[@]}")
+ depends+=('libxcrypt');
+ depends+=('ncurses');
backup=("${_build_apache_cfg}/${_apache_module_conf}")
echo "# End of LoadModule in httpd.conf - see ArchWiki Apache HTTP Server"
- echo "LoadModule ${_build_mod_php_module} modules/libphp${_phpbase}${_suffix}.so"
+ echo "LoadModule ${_build_mod_php_module} modules/lib${pkgbase}.so"
echo "AddHandler ${_build_php_script_name} .php"
echo "# End of Include List"
echo "Include conf/extra/${_apache_module_conf}"
- install -D -m755 "build-apache/libs/${_build_mod_php_so}" "${pkgdir}/usr/lib/httpd/modules/libphp${_phpbase}${_suffix}.so"
+
+ pushd "build-${_sapi}"
+ if ((_build_ini_per_sapi)); then
+ backup+=("${_build_sapi_ini_apache}/php.ini")
+ install -d -m755 "${pkgdir}/${_build_sapi_ini_apache}"
+ install -D -m644 "../php-${pkgver}/php.ini-production" "${pkgdir}/${_build_sapi_ini_apache}/php.ini"
+ fi
+ install -D -m755 "libs/${_build_mod_php_so}" "${pkgdir}/usr/lib/httpd/modules/lib${pkgbase}.so"
+ patchelf --set-soname \
+ "lib${pkgbase}.so" \
+ "${pkgdir}/usr/lib/httpd/modules/lib${pkgbase}.so"
+ popd
+
install -D -m644 "php-apache.conf" "${pkgdir}/${_build_apache_cfg}/${_apache_module_conf}"
- echo "Sed for ${pkgdir}/${_build_apache_cfg}/${_apache_module_conf}"
+ echo "[SED] ${pkgdir}/${_build_apache_cfg}/${_apache_module_conf}"
sed -e "s#@MODULE@#${_build_mod_php_module}#" \
-i "${pkgdir}/${_build_apache_cfg}/${_apache_module_conf}"
}
+# Apache end
+# FPM
package_php81-fpm() {
- pkgdesc="FastCGI Process Manager for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'systemd-libs')
- backup=("etc/php${_phpbase}${_suffix}/php-fpm.conf")
- if ((_phpbase>=70)); then
- backup+=("etc/php${_phpbase}${_suffix}/php-fpm.d/www.conf")
+ _sapi="fpm"
+ install="php-fpm.install"
+ pkgdesc="FastCGI Process Manager for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'systemd-libs' 'acl')
+ depends+=("${_sapi_depends[@]}")
+ backup=("${_build_sapi_ini_fpm}/php-fpm.conf")
+ if ((_phpbase >= 70)); then
+ backup+=("${_build_sapi_ini_fpm}/php-fpm.d/www.conf")
fi
options=('!emptydirs')
-
- if ((_build_per_sapi)); then
- pushd "build-fpm"
+ if ((_build_ini_per_sapi || _build_per_sapi)); then
+ pushd "build-${_sapi}"
else
- pushd "build"
+ pushd "build-cli"
fi
- case "${_phpbase}" in
- 53)
- install -d -m755 "${pkgdir}/usr/bin"
- install -D -m755 sapi/fpm/php-fpm "${pkgdir}/usr/bin/php${_phpbase}${_suffix}-fpm"
- install -D -m644 sapi/fpm/php-fpm.8 "${pkgdir}/usr/share/man/man8/php${_phpbase}${_suffix}-fpm.8"
- install -D -m644 sapi/fpm/php-fpm.conf "${pkgdir}/etc/php${_phpbase}${_suffix}/php-fpm.conf"
- install -d -m755 "${pkgdir}/etc/php${_phpbase}${_suffix}/fpm.d"
- ;;
- *)
- make -j1 INSTALL_ROOT="${pkgdir}" install-fpm
- ;;
- esac
-
- install -D -m644 "sapi/fpm/php-fpm.service" "${pkgdir}/usr/lib/systemd/system/php${_phpbase}${_suffix}-fpm.service"
- echo "d /run/php${_phpbase}${_suffix}-fpm 755 root root" > php-fpm.tmpfiles
- install -D -m644 "php-fpm.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/php${_phpbase}${_suffix}-fpm.conf"
+ if ((_build_ini_per_sapi)); then
+ backup+=("${_build_sapi_ini_fpm}/php.ini")
+ install -d -m755 "${pkgdir}/${_build_sapi_ini_fpm}/"
+ install -D -m644 "../php-${pkgver}/php.ini-production" "${pkgdir}/${_build_sapi_ini_fpm}/php.ini"
+ fi
+ make -j1 INSTALL_ROOT="${pkgdir}" install-fpm
+ install -D -m644 "sapi/fpm/php-fpm.service" "${pkgdir}/usr/lib/systemd/system/${_build_fpm_service_name}.service"
+ echo "d /run/${_build_fpm_service_name} 755 root root" > php-fpm.tmpfiles
+ install -D -m644 "php-fpm.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${_build_fpm_service_name}.conf"
popd
}
+# FPM end
+# embed sapi
package_php81-embed() {
- pkgdesc="Embedded PHP SAPI library for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'ncurses' 'systemd-libs')
+ _sapi="embed"
+ pkgdesc="Embedded PHP SAPI library for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'ncurses' 'systemd-libs' 'libxcrypt' 'acl' 'ncurses')
+ depends+=("${_sapi_depends[@]}")
options=('!emptydirs')
- if ((_build_per_sapi)); then
- pushd "build-embed"
+ if ((_build_ini_per_sapi || _build_per_sapi)); then
+ pushd "build-${_sapi}"
else
- pushd "build"
+ pushd "build-cli"
fi
- patchelf --set-soname "libphp${_phpbase}${_suffix}.so" "libs/libphp${_suffix_so}.so"
- case "${_phpbase}" in
- 53)
- install -D -m755 "libs/libphp${_suffix_so}.so" "${pkgdir}/usr/lib/libphp${_phpbase}${_suffix}.so"
- install -D -m644 "../php-${pkgver}/sapi/embed/php_embed.h" "${pkgdir}/usr/include/php${_phpbase}${_suffix}/sapi/embed/php_embed.h"
- ;;
- *)
- make -j1 INSTALL_ROOT="${pkgdir}" PHP_SAPI=embed install-sapi
- mv "${pkgdir}/usr/lib/libphp${_suffix_so}.so" "${pkgdir}/usr/lib/libphp${_phpbase}${_suffix}.so"
- ;;
- esac
+ install -d -m755 "${pkgdir}/${_build_sapi_ini_embed}"
+ if ((_build_ini_per_sapi)); then
+ install -D -m644 "../php-${pkgver}/php.ini-production" "${pkgdir}/${_build_sapi_ini_embed}/php.ini"
+ backup=("${_build_sapi_ini_embed}/php.ini")
+ fi
+ make -j1 INSTALL_ROOT="${pkgdir}" PHP_SAPI=embed install-sapi
+ mv "${pkgdir}/usr/lib/libphp${_suffix_so}.so" "${pkgdir}/usr/lib/lib${pkgbase}.so"
popd
+ patchelf --set-soname "lib${pkgbase}.so" "${pkgdir}/usr/lib/lib${pkgbase}.so"
}
+# embed sapi end
+# phpdbg sapi
package_php81-phpdbg() {
- pkgdesc="Interactive PHP debugger for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}")
+ _sapi="phpdbg"
options=('!emptydirs')
- pushd "build-phpdbg"
- make -j1 INSTALL_ROOT="${pkgdir}" install-phpdbg
+ pkgdesc="Interactive PHP debugger for ${pkgbase} ($_sapi)"
+ depends=("${pkgbase}=${pkgver}")
+ depends+=("${_sapi_depends[@]}")
+ if ((_build_ini_per_sapi || _build_per_sapi)); then
+ pushd "build-${_sapi}"
+ else
+ pushd "build-cli"
+ fi
+ if ((_build_ini_per_sapi)); then
+ backup=("${_build_sapi_ini_phpdbg}/php.ini")
+ install -d -m755 "${pkgdir}/${_build_sapi_ini_phpdbg}"
+ install -D -m644 "../php-${pkgver}/php.ini-production" "${pkgdir}/${_build_sapi_ini_phpdbg}/php.ini"
+ fi
+ make -j1 INSTALL_ROOT="${pkgdir}" "install-${_sapi}"
popd
}
+# phpdbg sapi end
-package_php81-pear() {
- pkgdesc="PHP Extension and Application Repository for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" "php${_phpbase}-xml${_suffix}")
- backup=("etc/php${_phpbase}${_suffix}/pear.conf")
- #
- pushd "build-pear"
-
- make install-pear INSTALL_ROOT="${pkgdir}"
+###############################################################################
+# PEAR + PECL
+###############################################################################
+# PEAR
+package_php81-pear() {
+ pkgdesc="PHP Extension and Application Repository (PEAR) for ${pkgbase}"
+ depends=(
+ "${pkgbase}=${pkgver}"
+ "php${_phpbase}-xml${_suffix}=${pkgver}"
+ "php${_phpbase}-cli${_suffix}=${pkgver}"
+ "php${_phpbase}-phar${_suffix}=${pkgver}"
+ )
+ #backup=("${_build_sapi_ini_cli}/pear.conf")
+ install -d "${pkgdir}/usr/share/${pkgbase}/pear/htdocs"
+ install -d "${pkgdir}/usr/share/${pkgbase}/pear/data"
+ install -d "${pkgdir}/usr/share/${pkgbase}/pear/doc"
+ install -d "${pkgdir}/usr/share/${pkgbase}/pear/test"
+ install -d "${pkgdir}/usr/share/${pkgbase}/pear/cfg"
+ install -d "${pkgdir}/var/lib/${pkgbase}/pear/cache"
+ install -d "${pkgdir}/var/lib/${pkgbase}/pear/metadata"
+ install -d "${pkgdir}/var/lib/${pkgbase}/pear/download"
+ install -d "${pkgdir}/var/lib/${pkgbase}/pear/temp"
+ export PHP_PEAR_SYSCONF_DIR="${_build_sapi_ini_cli}"
+ pushd build-cli
+
+ cp "${srcdir}/php-${pkgver}/pear/install-pear-nozlib.phar" "pear/install-pear-nozlib.phar"
+
+ INSTALL_ROOT="${pkgdir}/" ./sapi/cli/php -n \
+ -d extension=modules/xml.so \
+ -d extension=modules/phar.so \
+ -d date.timezone=UTC -d memory_limit=64M -d short_open_tag=0 -d safe_mode=0 \
+ -d 'error_reporting=E_ALL&~E_DEPRECATED' -d detect_unicode=0 "pear/install-pear-nozlib.phar" \
+ -ds "${_phpbase}${_suffix}" \
+ --php "/usr/bin/${pkgbase}" \
+ --bin "/usr/bin" \
+ --man "/usr/share/man" \
+ --dir "/usr/share/${pkgbase}/pear" \
+ --data "/usr/share/${pkgbase}/pear/data" \
+ --doc "/usr/share/${pkgbase}/pear/doc" \
+ --test "/usr/share/${pkgbase}/pear/test" \
+ --www "/usr/share/${pkgbase}/pear/htdocs" \
+ --config "/usr/share/${pkgbase}/pear/cfg" \
+ --force
+ # fix pear.conf with unserialize
+ # first arg: path to pear.conf
+ # second arg: PEAR base /var path
+ ./sapi/cli/php -n ../pear-config-patcher.php \
+ "${pkgdir}/${_build_sapi_ini_cli}/pear.conf" \
+ "/var/lib/${pkgbase}/pear"
+ popd
# remove unneeded files
rm -rf "${pkgdir}"/.{channels,depdb,depdblock,filemap,lock,registry}
-
- # rename binaries
+ #rename binaries
for i in pear peardev pecl; do
- echo "Moving ${pkgdir}/usr/bin/${i} => ${pkgdir}/usr/bin/${pkgbase/php/$i}"
- mv "${pkgdir}/usr/bin/${i}" "${pkgdir}/usr/bin/${pkgbase/php/$i}"
- # fix hardcoded php paths in pear
- sed -i "s|/usr/bin/php|/usr/bin/php${_phpbase}${_suffix}|g" "${pkgdir}/usr/bin/${pkgbase/php/$i}"
- sed -i "s|PHP=php|PHP=${_phpbase}${_suffix}|g" "${pkgdir}/usr/bin/${pkgbase/php/$i}"
+ _target="${pkgbase/php/$i}"
+ # fix hardcoded paths
+ sed "s|PHP=php|PHP=\"/usr/bin/${pkgbase}\"|g; s|\"/usr/bin/php\"|\"/usr/bin/${pkgbase}\"|g; s| -n | |g" \
+ -i "${pkgdir}/usr/bin/${i}"
+ if [[ "$i" == "pecl" ]]; then
+ echo "Moving ${pkgdir}/usr/bin/${i} => ${srcdir}/${pkgbase}-pecl-bin/"
+ mkdir -p "${srcdir}/${pkgbase}-pecl-bin/"
+ mv "${pkgdir}/usr/bin/pecl" "${srcdir}/${pkgbase}-pecl-bin/"
+ else
+ echo "Moving ${pkgdir}/usr/bin/${i} => ${pkgdir}/usr/bin/${_target}"
+ mv "${pkgdir}/usr/bin/${i}" "${pkgdir}/usr/bin/${_target}"
+ fi
done
- # fix pear.conf with unserialize
- ./sapi/cli/php ../pear-config-patcher.php "${pkgdir}/etc/php${_phpbase}${_suffix}/pear.conf" "/usr/bin/php${_phpbase}${_suffix}" "${_phpbase}${_suffix}"
-
- #popd
- popd
}
+# PEAR end
+
+# PECL
+package_php81-pecl() {
+ pkgdesc="PHP Extension Community Library (PECL) for ${pkgbase}"
+ depends=("php${_phpbase}-pear${_suffix}=${pkgver}")
+ _target="${pkgbase/php/pecl}"
+ install -D -m755 "${srcdir}/${pkgbase}-pecl-bin/pecl" "${pkgdir}/usr/bin/${_target}"
+}
+# PECL end
-package_php81-dblib() {
- depends=("php${_phpbase}${_suffix}" 'freetds')
- provides=(
- "php${_phpbase}${_suffix}-sybase=${pkgver}"
- )
- _install_module pdo_dblib
- if ((_build_mssql)); then
- _install_module mssql
- provided+=("php${_phpbase}${_suffix}-mssql=${pkgver}")
- pkgdesc="pdo_dblib module for php${_phpbase}${_suffix}"
+###############################################################################
+# PHP Modules: First need
+###############################################################################
+
+# OpenSSL
+package_php81-openssl() {
+ pkgdesc="OpenSSL module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" "krb5" 'e2fsprogs')
+ if ((_build_openssl_v10_patch)); then
+ depends+=("openssl-1.0")
else
- pkgdesc="mssql and pdo_dblib modules for php${_phpbase}${_suffix}"
+ depends+=("openssl")
fi
+ _install_module openssl
}
-package_php81-enchant() {
- pkgdesc="enchant module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'enchant')
- _install_module enchant
+# Json
+package_php81-json() {
+ pkgdesc="json module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module json
}
-package_php81-gd() {
- pkgdesc="gd module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'gd')
- if ((_build_bundled_gd)); then
- depends+=('libxpm' 'libpng' 'libjpeg')
+# pdo
+package_php81-pdo() {
+ pkgdesc="pdo module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module pdo
+}
+
+
+# mbstring
+package_php81-mbstring() {
+ pkgdesc="mbstring module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ if ((_phpbase >= 74)); then
+ depends+=('oniguruma')
fi
- _install_module gd
+ _install_module mbstring
}
-package_php81-imap() {
- pkgdesc="imap module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'pam' 'krb5' 'c-client')
- _install_module imap
+# phar
+package_php81-phar() {
+ pkgdesc="phar module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module phar
}
-package_php81-intl() {
- pkgdesc="intl module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}")
- if ((_build_with_custom_icu)); then
- # Patch to proper path inside intl.so
- patchelf --set-rpath "/usr/lib/php${_phpbase}${_suffix}/icu${_pkgver_icu}/lib" "build/modules/intl.so"
- else
- depends+=('icu')
+
+###############################################################################
+# PHP modules: XML
+###############################################################################
+
+# XML modules combined package
+package_php81-xml() {
+ pkgdesc="xml modules for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'libxml2')
+ _install_module xml
+}
+
+package_php81-wddx() {
+ pkgdesc="wddx module for ${pkgbase}"
+ depends=("php${_phpbase}-xml${_suffix}=${pkgver}")
+ _install_module wddx
+}
+
+package_php81-simplexml() {
+ pkgdesc="simplexml module for ${pkgbase}"
+ depends=("php${_phpbase}-xml${_suffix}=${pkgver}")
+ _install_module simplexml
+}
+
+package_php81-dom() {
+ pkgdesc="dom module for ${pkgbase}"
+ depends=("php${_phpbase}-xml${_suffix}=${pkgver}")
+ _install_module dom
+}
+
+package_php81-xmlreader() {
+ pkgdesc="xmlreader module for ${pkgbase}"
+ depends=("php${_phpbase}-xml${_suffix}=${pkgver}")
+ _install_module xmlreader
+}
+
+package_php81-xmlwriter() {
+ pkgdesc="xmlwriter module for ${pkgbase}"
+ depends=("php${_phpbase}-xml${_suffix}=${pkgver}")
+ _install_module xmlwriter
+}
+
+# Tidy
+package_php81-tidy() {
+ pkgdesc="tidy module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'tidy')
+ _install_module tidy
+}
+
+# XSL
+package_php81-xsl() {
+ pkgdesc="xsl module for ${pkgbase}"
+ depends=("php${_phpbase}-xml${_suffix}=${pkgver}")
+ depends+=('libxslt')
+ _install_module xsl
+}
+
+###############################################################################
+# PHP modules: Databases
+###############################################################################
+
+# MySQL
+package_php81-mysql() {
+ pkgdesc="MySQL modules for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ if ((_build_shared_pdo)); then
+ depends+=("php${_phpbase}-pdo${_suffix}=${pkgver}")
fi
- _install_module intl
+ if ((_build_shared_openssl)); then
+ depends+=("php${_phpbase}-openssl${_suffix}=${pkgver}")
+ fi
+ _install_module mysqlnd
+ _install_module mysql
+ _install_module mysqli
+ _install_module pdo_mysql
}
-package_php81-mcrypt() {
- pkgdesc="mcrypt module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'libmcrypt')
- _install_module mcrypt
+# pdo_sqlite + sqlite3
+package_php81-sqlite() {
+ pkgdesc="sqlite module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'sqlite')
+ if ((_build_shared_pdo)); then
+ depends+=("php${_phpbase}-pdo${_suffix}=${pkgver}")
+ fi
+ _install_module sqlite3
+ _install_module pdo_sqlite
}
+# ODBC
package_php81-odbc() {
- pkgdesc="ODBC modules for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'unixodbc')
+ pkgdesc="ODBC modules for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'unixodbc')
+ if ((_build_shared_pdo)); then
+ depends+=("php${_phpbase}-pdo${_suffix}=${pkgver}")
+ fi
_install_module odbc
_install_module pdo_odbc
}
+# PostgreSQL
package_php81-pgsql() {
- pkgdesc="PostgreSQL modules for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'postgresql-libs')
+ pkgdesc="PostgreSQL modules for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'postgresql-libs')
+ if ((_build_shared_pdo)); then
+ depends+=("php${_phpbase}-pdo${_suffix}=${pkgver}")
+ fi
_install_module pgsql
_install_module pdo_pgsql
}
-package_php81-pspell() {
- pkgdesc="pspell module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'aspell')
- _install_module pspell
+# interbase
+package_php81-interbase() {
+ pkgdesc="interbase module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" "libfbclient")
+ _install_module interbase
}
-package_php81-snmp() {
- pkgdesc="snmp module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'net-snmp')
- _install_module snmp
+# firebird
+package_php81-firebird() {
+ pkgdesc="pdo_firebird module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" "libfbclient")
+ if ((_build_shared_pdo)); then
+ depends+=("php${_phpbase}-pdo${_suffix}=${pkgver}")
+ fi
+ _install_module pdo_firebird
}
-package_php81-sqlite() {
- pkgdesc="sqlite module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'sqlite')
- _install_module sqlite3
- _install_module pdo_sqlite
+# pdo_dblib
+package_php81-dblib() {
+ depends=("${pkgbase}=${pkgver}" 'freetds')
+ pkgdesc="pdo_dblib module for ${pkgbase}"
+ _install_module pdo_dblib
}
-package_php81-tidy() {
- pkgdesc="tidy module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'tidy')
- _install_module tidy
+# mssql
+package_php81-mssql() {
+ depends=("${pkgbase}=${pkgver}" 'freetds')
+ pkgdesc="mssql module for ${pkgbase}"
+ _install_module mssql
}
-package_php81-xml() {
- pkgdesc="xml modules for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'libxml2')
- _install_module dom
- _install_module simplexml
- if ((_build_wddx)); then
- _install_module wddx
+# Dba
+package_php81-dba() {
+ pkgdesc="dba module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'db')
+ if ((_build_uses_lmdb)); then
+ depends+=('lmdb')
fi
- _install_module xml
- _install_module xmlreader
- _install_module xmlwriter
+ _install_module dba
}
-package_php81-xsl() {
- pkgdesc="xsl module for php${_phpbase}${_suffix}"
- depends=(
- "php${_phpbase}${_suffix}"
- "php${_phpbase}-xml${_suffix}=${pkgver}"
- 'libxslt'
- 'libxml2'
- )
- _install_module xsl
+###############################################################################
+# PHP Modules: internationalization, text, datetime
+###############################################################################
+
+# Intl
+package_php81-intl() {
+ pkgdesc="intl module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ if ((_build_with_custom_icu)); then
+ # Patch to proper path inside intl.so
+ patchelf --set-rpath "/usr/lib/${pkgbase}/icu${_pkgver_icu}/lib" "build-cli/modules/intl.so"
+ else
+ depends+=('icu')
+ fi
+ _install_module intl
}
-package_php81-xmlrpc() {
- pkgdesc="xmlrpc module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}")
- _install_module xmlrpc
+# Recode
+package_php81-recode() {
+ pkgdesc="recode module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'recode')
+ _install_module recode
}
-package_php81-soap() {
- pkgdesc="soap module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'libxml2')
- _install_module soap
+# gettext
+package_php81-gettext() {
+ pkgdesc="gettext module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module gettext
}
-package_php81-zip() {
- pkgdesc="zip module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'libzip')
- _install_module zip
+# iconv
+package_php81-iconv() {
+ pkgdesc="iconv module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module iconv
+}
+
+# calendar
+package_php81-calendar() {
+ pkgdesc="calendar module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module calendar
+}
+
+
+###############################################################################
+# PHP Modules: multimedia
+###############################################################################
+
+# GD
+package_php81-gd() {
+ pkgdesc="gd module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'gd')
+ if ((_build_bundled_gd)); then
+ depends+=('libxpm' 'libpng' 'libjpeg')
+ fi
+ if ((_phpbase >= 55 && _phpbase < 72)); then
+ depends+=('libvpx');
+ fi
+ _install_module gd
+}
+
+# exif
+package_php81-exif() {
+ pkgdesc="exif module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module exif
+}
+
+# fileinfo
+package_php81-fileinfo() {
+ pkgdesc="fileinfo module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module fileinfo
}
+###############################################################################
+# PHP modules: math
+###############################################################################
+
+# bcmath
package_php81-bcmath() {
- pkgdesc="bcmath module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}")
+ pkgdesc="bcmath module for ${pkgbase}"
+ depends=("${pkgbase}")
_install_module bcmath
}
+# gmp
+package_php81-gmp() {
+ pkgdesc="gmp module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'gmp')
+ _install_module gmp
+}
+
+###############################################################################
+# PHP modules: spell checking
+###############################################################################
+
+# Enchant
+package_php81-enchant() {
+ pkgdesc="enchant module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'enchant')
+ _install_module enchant
+}
+
+# Pspell
+package_php81-pspell() {
+ pkgdesc="pspell module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'aspell')
+ _install_module pspell
+}
+
+###############################################################################
+# PHP modules: compression
+###############################################################################
+
+# bz2
package_php81-bz2() {
- pkgdesc="bz2 module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'bzip2')
+ pkgdesc="bz2 module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'bzip2')
_install_module bz2
}
-package_php81-ldap() {
- pkgdesc="ldap module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'libldap' 'libsasl')
- _install_module ldap
+# Zip
+package_php81-zip() {
+ pkgdesc="zip module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'libzip')
+ _install_module zip
}
+###############################################################################
+# PHP modules: network client/servers
+###############################################################################
+
+# curl
package_php81-curl() {
- pkgdesc="curl module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" "curl")
+ pkgdesc="curl module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" "curl")
_install_module curl
}
-# gmp
-package_php81-gmp() {
- pkgdesc="gmp module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'gmp')
- _install_module gmp
+# SOAP
+package_php81-soap() {
+ pkgdesc="soap module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'libxml2')
+ _install_module soap
}
-# End gmp
-# Dba
-package_php81-dba() {
- pkgdesc="dba module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'gdbm' 'db')
- _install_module dba
+# FTP
+package_php81-ftp() {
+ pkgdesc="FTP module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ if ((_build_openssl_v10_patch)); then
+ depends+=("openssl-1.0")
+ else
+ depends+=("openssl")
+ fi
+ _install_module ftp
}
-# End dba
-# Json
-package_php81-json() {
- pkgdesc="json module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}")
- _install_module json
+# ldap
+package_php81-ldap() {
+ pkgdesc="ldap module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'libldap' 'libsasl')
+ _install_module ldap
}
-# End json
-# Recode
-package_php81-recode() {
- pkgdesc="recode module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" 'recode')
- _install_module recode
+# SNMP
+package_php81-snmp() {
+ pkgdesc="snmp module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'net-snmp')
+ if ((_build_openssl_v10_patch)); then
+ depends+=('openssl-1.0');
+ else
+ depends+=('openssl');
+ fi
+ _install_module snmp
}
-# End recode
-# Recode
+# XML-RPC
+package_php81-xmlrpc() {
+ pkgdesc="xmlrpc module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'libxml2')
+ _install_module xmlrpc
+}
+
+# Imap
+package_php81-imap() {
+ pkgdesc="imap module for ${pkgbase}"
+ depends=('pam' 'krb5' 'c-client' 'libxcrypt' "${pkgbase}=${pkgver}");
+ if ((_build_openssl_v10_patch)); then
+ depends+=("openssl-1.0")
+ else
+ depends+=("openssl")
+ fi
+ _install_module imap
+}
+
+# sockets
+package_php81-sockets() {
+ pkgdesc="sockets module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module sockets
+}
+
+###############################################################################
+# PHP Modules: cryptography
+###############################################################################
+
+# Sodium
package_php81-sodium() {
- pkgdesc="sodium (libsodium) module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" "libsodium")
+ pkgdesc="sodium (libsodium) module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" "libsodium")
_install_module sodium
}
-# End recode
+
+# Mcrypt
+package_php81-mcrypt() {
+ pkgdesc="mcrypt module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'libmcrypt')
+ _install_module mcrypt
+}
+
+
+###############################################################################
+# PHP Zend modules: opcache/jit
+###############################################################################
# Opcache
package_php81-opcache() {
- pkgdesc="opcache zend module for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}")
+ pkgdesc="opcache zend module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
_install_module opcache
}
-# End opcache
-# Interbase modules
-package_php81-interbase() {
- pkgdesc="Interbase modules for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}" "libfbclient")
- #backup=()
- if ((_build_interbase)); then
- _install_module interbase
- fi
- _install_module pdo_firebird
+###############################################################################
+# PHP posix, pcntl, shmop and System V modules
+###############################################################################
+
+# posix
+package_php81-posix() {
+ pkgdesc="posix module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module posix
}
-# End interbase
-# MySQL modules
-package_php81-mysql() {
- pkgdesc="MySQL modules for php${_phpbase}${_suffix}"
- depends=("php${_phpbase}${_suffix}")
- if ((_build_shared_mysqlnd)); then
- _install_module mysqlnd
- fi
- _install_module mysqli
- _install_module pdo_mysql
- if ((_build_outdated_mysql)); then
- _install_module mysql
- fi
+# pcntl
+package_php81-pcntl() {
+ pkgdesc="pcntl module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module pcntl
+}
+
+# shmop
+package_php81-shmop() {
+ pkgdesc="shmop module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module shmop
+}
+
+# sysvmsg
+package_php81-sysvmsg() {
+ pkgdesc="sysvmsg module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module sysvmsg
}
-# End mysql
-sha256sums=('0201d0fa811b80614737424a72c7bb127125807e5d7eeec5e1578a0a58f77d2f'
- '6d0ad9becb5470ce8e5929d7d45660b0f32579038978496317544c5310281a91'
- '33c09d76d0a8bbb5dd930d9dd32e6bfd44e9efcf867563759eb5492c3aff8856'
- 'e853815d7c7d67186f1d21f56ea63d7998d4649cc987677d4e3b6e0ac4b2caf3'
- '0df807d84bc0cf948a6ed0cf453e98213d47fbc7fdedc2747855a619dc616b3c'
- '558e780e93dfa861a366c49b4d156d8fc43f17898f001ae6033ec63c33d5d41c'
- '40bcc1e5058602302198d0925e431495391d8469499593af477f59d84d32f764'
- 'e2b4bad971ed569e9e898dcb2c7451d53e9b55f473123bbd4765d126efea6466')
+# sysvsem
+package_php81-sysvsem() {
+ pkgdesc="sysvsem module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module sysvsem
+}
+
+# sysvshm
+package_php81-sysvshm() {
+ pkgdesc="sysvshm module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module sysvshm
+}
+
+###############################################################################
+# PHP Misc modules
+###############################################################################
+
+# Ffi
+package_php81-ffi() {
+ pkgdesc="ffi module for ${pkgbase}"
+ depends=(
+ 'libffi'
+ "${pkgbase}=${pkgver}"
+ )
+ _install_module ffi
+}
+
+# ctype
+package_php81-ctype() {
+ pkgdesc="ctype module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module ctype
+}
+
+# tokenizer
+package_php81-tokenizer() {
+ pkgdesc="tokenizer module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}")
+ _install_module tokenizer
+}
+
+# libedit/readline
+package_php81-readline() {
+ pkgdesc="readline (libedit version) module for ${pkgbase}"
+ depends=("${pkgbase}=${pkgver}" 'libedit')
+ _install_module readline
+}
+
+
diff --git a/pear-config-patcher.php b/pear-config-patcher.php
index 3c724c2e196e..ac6a1254282b 100644
--- a/pear-config-patcher.php
+++ b/pear-config-patcher.php
@@ -3,13 +3,12 @@ if (!isset($argv, $argc)) {
echo "No command line args provided\n";
exit(1);
}
-if ($argc < 4) {
+if ($argc < 3) {
echo "Not all command line args provided\n";
exit(2);
}
$targetFile = $confFile = $argv[1];
-$phpBin = $argv[2];
-$pearSuffix = $argv[3];
+$varPath = $argv[2];
$data = '';
$file = fopen($confFile, "r");
@@ -19,10 +18,10 @@ if ($file !== false) {
$line = fgets($file);
$serialized = @unserialize($line);
if (is_array($serialized)) {
- $serialized['cache_dir'] = "/tmp/pear{$pearSuffix}/cache";
- $serialized['temp_dir'] = "/tmp/pear{$pearSuffix}";
- $serialized['download_dir'] = "/tmp/pear{$pearSuffix}/download";
- $serialized['php_bin'] = $phpBin;
+ $serialized['temp_dir'] = "{$varPath}/temp";
+ $serialized['cache_dir'] = "{$varPath}/cache";
+ $serialized['download_dir'] = "{$varPath}/download";
+ $serialized['metadata_dir'] = "{$varPath}/metadata";
$data .= @serialize($serialized);
$data .= "\n";
} else {
diff --git a/php-fpm.install b/php-fpm.install
new file mode 100644
index 000000000000..90fa868cd1da
--- /dev/null
+++ b/php-fpm.install
@@ -0,0 +1,31 @@
+pre_install() {
+ echo "php-fpm pre_install hook"
+ echo "1=$1"
+}
+
+post_install() {
+ echo "php-fpm post_install hook"
+ echo "1=$1"
+}
+
+pre_upgrade() {
+ echo "php-fpm pre_upgrade hook"
+ echo "1=$1"
+ echo "2=$2"
+}
+
+post_upgrade() {
+ echo "php-fpm post_upgrade hook"
+ echo "1=$1"
+ echo "2=$2"
+}
+
+pre_remove() {
+ echo "php-fpm pre_remove hook"
+ echo "1=$1"
+}
+
+post_remove() {
+ echo "php-fpm post_remove hook"
+ echo "1=$1"
+}
diff --git a/php-makefile-patcher.php b/php-makefile-patcher.php
new file mode 100644
index 000000000000..7a071eeba66d
--- /dev/null
+++ b/php-makefile-patcher.php
@@ -0,0 +1,47 @@
+<?php
+if (!isset($argv, $argc)) {
+ echo "No command line args provided\n";
+ exit(1);
+}
+if ($argc < 2) {
+ echo "Not all command line args provided\n";
+ exit(2);
+}
+$filename = $argv[1];
+$fileContent = @file_get_contents($filename);
+if (!strlen($fileContent)) {
+ echo "No file contents of $filename\n";
+ exit(3);
+}
+$matches = array();
+$match = preg_match("/^(?P<line>(?P<definition>PHP_MODULES[\s\t]+=[\s\t]+)(?P<expression>.*)$)/m", $fileContent, $matches);
+if (!$match) {
+ echo "No PHP_MODULES in $filename\n";
+ exit (4);
+}
+$expression = explode(' ', $matches['expression']);
+function sortByPrio($a, $b) {
+ $aPrio = 999;
+ $bPrio = 999;
+ $priorities = array('/openssl/i'=> 0, '@\/xml\.@i'=>1, '@\/pdo\.@i'=>2, '@\/dom\.@i'=>3, '/mysqlnd/i'=>4);
+ foreach ($priorities as $regex => $prio) {
+ if (preg_match($regex, $a) && $prio < $aPrio) {
+ $aPrio = $prio;
+ }
+ if (preg_match($regex, $b) && $prio < $bPrio) {
+ $bPrio = $prio;
+ }
+ }
+ if ($aPrio == $bPrio) {
+ return 0;
+ }
+ return $aPrio > $bPrio ? 1: -1;
+}
+usort($expression, 'sortByPrio');
+$expression = $matches['definition'].join (' ', $expression)."\n";
+$fileContent = str_replace($matches['line'], $expression, $fileContent);
+if (!file_put_contents($filename, $fileContent)) {
+ echo "Failed to write to $filename\n";
+ exit(5);
+}
+exit(0);
diff --git a/php74-module-order.patch b/php74-module-order.patch
deleted file mode 100644
index 1c3a812f8fc4..000000000000
--- a/php74-module-order.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/build/php.m4
-+++ b/build/php.m4
-@@ -826,6 +826,10 @@
-
- if test "x$5" = "xyes"; then
- PHP_ZEND_EX="$PHP_ZEND_EX \$(phplibdir)/$1.$suffix"
-+ elif test "x$1" = "xxml"; then
-+ PHP_MODULES="\$(phplibdir)/$1.$suffix $PHP_MODULES"
-+ elif test "x$1" = "xmysqlnd"; then
-+ PHP_MODULES="\$(phplibdir)/$1.$suffix $PHP_MODULES"
- else
- PHP_MODULES="$PHP_MODULES \$(phplibdir)/$1.$suffix"
- fi