diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 1905 |
1 files changed, 1477 insertions, 428 deletions
@@ -1,514 +1,1563 @@ -# $Id$ -# Maintainer: Volkan Gümüs <hallo@f1-computer.de> -# Contributor: Felix Yan <felixonmars@archlinux.org> -# Contributor: Pierre Schmitz <pierre@archlinux.de> - -pkgbase=php53 -_pkgbase=${pkgbase%53} -pkgname=("${pkgbase}" - "${pkgbase}-cgi" - "${pkgbase}-apache" - "${pkgbase}-fpm" - "${pkgbase}-embed" - "${pkgbase}-dblib" - "${pkgbase}-pear" - "${pkgbase}-enchant" - "${pkgbase}-gd" - "${pkgbase}-imap" - "${pkgbase}-intl" - "${pkgbase}-ldap" - "${pkgbase}-mcrypt" - "${pkgbase}-mssql" - "${pkgbase}-odbc" - "${pkgbase}-pgsql" - "${pkgbase}-pspell" - "${pkgbase}-snmp" - "${pkgbase}-sqlite" - "${pkgbase}-tidy" - "${pkgbase}-xsl") -pkgver=5.3.29 -_suhosinver=5.3.9-0.9.10 -pkgrel=9 -pkgdesc="A general-purpose scripting language that is especially suited to web development" -arch=('i686' 'x86_64') +############################################################################### +# Generated by arch-phpbs: https://github.com/lamskoy/arch-phpbs +# +# Maintaining/co-maintaining on AUR: php81 php80 php74 php73 php72 php71 php70 php55 php54 php53 +# +# Thanks to: +# +# AUR php80 Co-maintainer: Timo Sarawinski +# AUR php70 and php71 Co-maintainer: William Gathoye <william@gathoye.be> +# AUR php74 Co-maintainer: Tomasz Gruszka <tompear79@gmail.com> +# AUR php73 Co-maintainer: Matt Harrison <matt@harrison.us.com> +# AUR php73 Contirubutor: Pierre Schmitz <pierre@archlinux.de> +# AUR php55 Original maintainer: Raphaël Doursenaud <rdoursenaud@gmail.com> +# AUR php53 Original maintainer: Felix Yan <felixonmars@archlinux.org> +############################################################################### +_phpbase="53" +_suffix="" +pkgver="5.3.29" +pkgrel="18" +pkgbase="php53" +pkgdesc="PHP 5.3.29 compiled as to not conflict with mainline php" +_cppflags=" -DU_USING_ICU_NAMESPACE=1 -DOPENSSL_NO_SSL3=1 -DOPENSSL_NO_SSL2=1 -DU_DEFINE_FALSE_AND_TRUE=1 " +_build_apache_cfg="etc/httpd/conf/extra" +_build_bundled_gd="1" +_build_conf_d="etc/php53/conf.d" +_build_forced_openssl_11="0" +_build_fpm_name="php-fpm53" +_build_fpm_service_name="php53-fpm" +_build_icu_src_dir="icu/source" +_build_ini_per_sapi="0" +_build_mysql_socket="/run/mysqld/mysqld.sock" +_build_openssl_v10_patch="1" +_build_openssl_v11_patch="0" +_build_per_sapi="1" +_build_phpdbg="0" +_build_sapi_ini_apache="etc/php53" +_build_sapi_ini_cgi="etc/php53" +_build_sapi_ini_cli="etc/php53" +_build_sapi_ini_embed="etc/php53" +_build_sapi_ini_fpm="etc/php53" +_build_sapi_ini_litespeed="etc/php53" +_build_sapi_ini_phpdbg="etc/php53" +_build_sapi_litespeed="--with-litespeed" +_build_shared_gd="1" +_build_shared_json="1" +_build_shared_libedit="0" +_build_shared_mysqlnd="1" +_build_shared_openssl="0" +_build_shared_pdo="0" +_build_system_timezonedb="0" +_build_update_sqlite="0" +_build_uses_argon="0" +_build_uses_lmdb="0" +_build_with_custom_icu="1" +_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="5" +pkgname=( + "php53" + "php53-cli" + "php53-cgi" + "php53-fpm" + "php53-embed" + "php53-apache" + "php53-litespeed" + "php53-pear" + "php53-pecl" + "php53-xml" + "php53-xsl" + "php53-xmlreader" + "php53-xmlwriter" + "php53-wddx" + "php53-dom" + "php53-simplexml" + "php53-mysql" + "php53-phar" + "php53-pcntl" + "php53-posix" + "php53-shmop" + "php53-sockets" + "php53-sysvmsg" + "php53-sysvsem" + "php53-sysvshm" + "php53-tokenizer" + "php53-dba" + "php53-pgsql" + "php53-odbc" + "php53-firebird" + "php53-interbase" + "php53-dblib" + "php53-sqlite" + "php53-mssql" + "php53-gd" + "php53-exif" + "php53-tidy" + "php53-iconv" + "php53-xmlrpc" + "php53-bcmath" + "php53-gmp" + "php53-zip" + "php53-bz2" + "php53-json" + "php53-fileinfo" + "php53-ctype" + "php53-recode" + "php53-mbstring" + "php53-pspell" + "php53-enchant" + "php53-intl" + "php53-calendar" + "php53-gettext" + "php53-soap" + "php53-ftp" + "php53-curl" + "php53-snmp" + "php53-ldap" + "php53-imap" + "php53-mcrypt" +) +source=( + "make-tests.patch" + "pear-config-patcher.php" + "php-makefile-patcher.php" + "php-apache.conf" + "https://php.net/distributions/php-${pkgver}.tar.bz2" + "https://github.com/unicode-org/icu/releases/download/release-${_pkgver_icu}/icu4c-${_pkgver_icu/-/_}-src.tgz" + "php53-phar-names.patch" + "openssl-1.0.patch" + "openssl-sslv3.patch" + "openssl-sslv3-consts.patch" + "dba-5.3-support.patch" + "cve-php5.3.patch" + "mpm-apache.patch" + "fpm-numeric-uid-gid.patch" + "fpm-reload-sighup.patch" + "mysql-socket-php5.3.patch" + "php-enchant-php5.3.patch" + "php-enchant-depr.patch" + "recode-php5.3.patch" + "php-mysqlnd-charsets.patch" + "php-mysqlnd.patch" + "php-tests.patch" + "debian-php-5.3.29.patch" + "php-phpinfo.patch" +) +depends=( +) +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" + "autoconf2.13" + "libxslt" + "e2fsprogs" + "openssl-1.0" + "db5.3" + "postgresql-libs" + "unixodbc" + "libfbclient" + "libfbclient" + "freetds" + "sqlite" + "gd" + "tidy" + "gmp" + "libzip" + "recode" + "aspell" + "enchant" + "libvoikko" + "hspell" + "hunspell" + "nuspell" + "aspell" + "curl" + "net-snmp" + "libsasl" + "libldap" + "c-client" + "pam" + "libmcrypt" +) +arch=( +) +_patches=( + "php53-phar-names.patch" + "openssl-1.0.patch" + "openssl-sslv3.patch" + "openssl-sslv3-consts.patch" + "dba-5.3-support.patch" + "cve-php5.3.patch" + "mpm-apache.patch" + "fpm-numeric-uid-gid.patch" + "fpm-reload-sighup.patch" + "mysql-socket-php5.3.patch" + "php-enchant-php5.3.patch" + "php-enchant-depr.patch" + "recode-php5.3.patch" + "php-mysqlnd-charsets.patch" + "php-mysqlnd.patch" + "php-tests.patch" + "debian-php-5.3.29.patch" + "php-phpinfo.patch" +) +_sapi_depends=( + "libxml2" + "pcre2" + "libedit" +) +_ext_depends_snmp=( + "php53=5.3.29" + "net-snmp" + "openssl-1.0" +) +_ext_depends_ftp=( + "php53=5.3.29" + "openssl-1.0" +) +_ext_depends_intl=( + "php53=5.3.29" +) +_ext_depends_imap=( + "php53=5.3.29" + "pam" + "krb5" + "c-client" + "libxcrypt" + "openssl-1.0" +) +_ext_depends_gd=( + "php53=5.3.29" + "gd" + "libxpm" + "libpng" + "libjpeg" +) +_ext_depends_mysql=( + "php53=5.3.29" +) +_ext_depends_dba=( + "php53=5.3.29" + "db5.3" +) +_ext_depends_odbc=( + "php53=5.3.29" + "unixodbc" +) +_ext_depends_pgsql=( + "php53=5.3.29" + "postgresql-libs" +) +_ext_depends_firebird=( + "php53=5.3.29" + "libfbclient" +) +_ext_depends_sqlite=( + "php53=5.3.29" + "sqlite" +) +_ext_depends_mbstring=( + "php53=5.3.29" +) +_ext_depends_openssl=( + "php53=5.3.29" + "krb5" + "e2fsprogs" + "openssl-1.0" +) +_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-pear \ + --enable-session \ + --with-mhash=/usr \ + --with-kerberos \ + --with-mysql-sock=${_build_mysql_socket} \ + --enable-mysqlnd-compression-support \ + --with-zlib-dir=/usr \ + --enable-libxml \ + --with-pcre-regex=/usr \ + --with-openssl=/usr \ + --enable-pdo \ + --with-libedit \ + --enable-zend-multibyte" +_phpextensions="\ + --enable-xml=shared \ + --with-xsl=shared \ + --enable-xmlreader=shared \ + --enable-xmlwriter=shared \ + --enable-wddx=shared \ + --enable-dom=shared \ + --enable-simplexml=shared \ + --enable-mysqlnd=shared \ + --with-mysql=shared,mysqlnd \ + --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-dba=shared \ + --with-db4=/usr \ + --without-gdbm \ + --with-cdb \ + --with-pgsql=shared,/usr \ + --with-pdo-pgsql=shared,/usr \ + --with-unixODBC=shared,/usr \ + --with-pdo-odbc=shared,unixODBC,/usr \ + --with-pdo-firebird=shared,/usr \ + --with-interbase=shared,/usr \ + --with-pdo-dblib=shared,/usr \ + --with-pdo-sqlite=shared,/usr \ + --with-sqlite3=shared,/usr \ + --with-mssql=shared,/usr \ + --with-gd=shared \ + --enable-gd-native-ttf + --with-webp-dir=/usr \ + --with-jpeg-dir=/usr \ + --with-png-dir=/usr \ + --with-xpm-dir=/usr \ + --with-freetype-dir=/usr \ + --enable-exif=shared \ + --with-tidy=shared,/usr \ + --with-iconv=shared \ + --with-xmlrpc=shared \ + --enable-bcmath=shared \ + --with-gmp=shared,/usr \ + --enable-zip=shared \ + --with-bz2=shared,/usr \ + --enable-json=shared \ + --enable-fileinfo=shared \ + --enable-ctype=shared \ + --with-recode=shared \ + --enable-mbstring=shared \ + --enable-mbregex \ + --enable-mbregex-backtrack \ + --with-pspell=shared,/usr \ + --with-enchant=shared,/usr \ + --enable-intl=shared \ + --enable-calendar=shared \ + --with-gettext=shared,/usr \ + --enable-soap=shared \ + --enable-ftp=shared \ + --with-curl=shared,/usr \ + --with-snmp=shared,/usr \ + --with-ldap=shared,/usr \ + --with-ldap-sasl=/usr \ + --with-imap=shared,/usr \ + --with-imap-ssl=yes \ + --with-mcrypt=shared" +_phpextensions_fpm="\ + --with-fpm-user=http \ + --with-fpm-group=http" + + +options=('!lto') +arch=("$CARCH") +checkdepends=('procps-ng' 'smtp-forwarder') license=('PHP') -url='http://php.net' -makedepends=('apache' 'c-client' 'postgresql-libs' 'libldap' 'smtp-forwarder' - 'sqlite' 'unixodbc' 'net-snmp' 'libzip' 'enchant' 'file' 'freetds' - 'libmcrypt' 'tidyhtml' 'aspell' 'libltdl' 'libpng' 'libjpeg' 'freetype2' 'icu' - 'curl' 'libxslt' 'openssl-1.0' 'db' 'gmp' 'systemd') - -source=("http://php.net/distributions/${_pkgbase}-${pkgver}.tar.xz" - "https://distfiles.macports.org/php5/suhosin-patch-${_suhosinver}.patch.gz" - 'php.ini.patch' 'apache.conf' 'php-fpm.conf.in.patch' - 'logrotate.d.php-fpm' 'php-fpm.service' 'php-fpm.tmpfiles' - 'suhosin.patch' - 'CVE-2014-3587.patch' 'CVE-2014-3597.patch' 'CVE-2014-3668.patch' - 'CVE-2014-3669.patch' 'CVE-2014-3670.patch' 'curl_embedded_null.patch' - 'CVE-2014-8142.patch' 'CVE-2015-0231.patch' 'CVE-2014-9705.patch' - 'CVE-2015-0273.patch' 'CVE-2015-2301.patch' 'CVE-2015-2305.patch' - 'CVE-2015-2783.patch' 'CVE-2015-2787.patch' 'CVE-2015-3330.patch' - 'CVE-2015-3329.patch') -sha1sums=('8772d7419511f9f066fb17929194b5492680ec9b' - '7b9ef5c3e0831154df0d6290aba0989ca90138ed' - 'b42a385359f5d033748d4d8f44a9f7a0469f628a' - '82776db01f70b9186ba455de22eb06fe193f1d30' - '2247fb95547feefdc898fc2c01bae1817ec2dc2a' - 'ce75999f51fa780c68e1575cca1d660ea60a5e64' - '2a3607973db41aa08f7aba11057218e2d88732b7' - '3c011681562bb620b1717b3829cb354461dd94d5' - '4d9fea0b7ab856c59ddbf722fe6c95b8e479af9b' - 'b5caa85fd1b76a3ece056ab5441852330989640b' - '9f2aa7c2514cb66204f9f5c3dc5f8ebdda238c78' - '4672c18ece397b2f99ad0c992f61220e210b2dc1' - '454e96af5cab1f649fceca61c0afb46ae73179f5' - '2f368143bcdaae4659a65103ffdeb71cac12c5cf' - 'ede78d11b7d4d6c304253bfd358607e160a3918a' - 'e97ea93d37ffbf6c3025281202d2e807facb4e7e' - '0ab48f282d62058318d08c44607aac89912f78d6' - 'b535103d79ba9791c22a841d5d72497dec3dd93d' - '7cb38769807eb7d35ff7f3eaf1cce408d8ad2676' - '066fe3a84e1aabaf45afe26470cd769b9e3ab79a' - '4968abe76ab18c15f85111b3e78dba0059f948ce' - '18e3f12ad04adf4cc59aa5862628ab0d032c76ef' - '4d9551ec6c2462cde45d0e556edf6d9e792c15b4' - '248dc92602721c193f3906f3eb7d98cd5499ba40' - '40fc97494110e9b312ea0f5bade8aa0b7043f40e') +url='http://www.php.net' + +################################################################################ +# Prepare it +################################################################################ prepare() { - cd ${srcdir} - - msg "Fix the suhosin patch" - patch -l -i suhosin.patch - sed -i 's/1997-2004/1997-2014/g' suhosin-patch-${_suhosinver}.patch - sed -i 's/1997-2012/1997-2014/g' suhosin-patch-${_suhosinver}.patch - - cd ${srcdir}/${_pkgbase}-${pkgver} - - # TODO: some doesn't apply - msg "Applying security patches (from Ubuntu)" - # patch -p1 -i ../CVE-2014-3587.patch - # patch -p1 -i ../CVE-2014-3597.patch - patch -p1 -i ../CVE-2014-3668.patch - patch -p1 -i ../CVE-2014-3669.patch - patch -p1 -i ../CVE-2014-3670.patch - patch -p1 -i ../curl_embedded_null.patch - patch -p1 -i ../CVE-2014-8142.patch - patch -p1 -i ../CVE-2015-0231.patch - patch -p1 -i ../CVE-2014-9705.patch - # patch -p1 -i ../CVE-2015-0273.patch - patch -p1 -i ../CVE-2015-2301.patch - patch -p1 -i ../CVE-2015-2305.patch - patch -p1 -i ../CVE-2015-2783.patch - patch -p1 -i ../CVE-2015-2787.patch - patch -p1 -i ../CVE-2015-3330.patch - patch -p1 -i ../CVE-2015-3329.patch - - msg "Applying suhosin patch" - patch -F3 -p1 -i ${srcdir}/suhosin-patch-${_suhosinver}.patch - - msg "Adjust paths" - patch -p0 -i ${srcdir}/php.ini.patch - patch -p0 -i ${srcdir}/php-fpm.conf.in.patch - # Just because our Apache 2.4 is configured with a threaded MPM by default does not mean we want to build a ZTS PHP. - # Let's supress this behaviour and build a SAPI that works fine with the prefork MPM. - sed '/APACHE_THREADED_MPM=/d' -i sapi/apache2handler/config.m4 -i configure - - # Allow php-tidy to compile with tidy-html5 - sed 's/buffio\.h/tidybuffio\.h/' -i ext/tidy/tidy.c - - msg "Enchant 2 fixes" - sed -i -e 's|include/enchant|include/enchant-2|' -e 's|-lenchant|-lenchant-2|' configure - - msg "ICU fixes" - sed -i '/U_NAMESPACE_END/a using namespace icu;' ext/intl/msgformat/msgformat_helpers.cpp + pushd "php-${pkgver}" + + 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 + + echo "[SED] sapi/fpm/Makefile.frag" + # 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@/${_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"); + for file_conf in "${_check_files[@]}"; do + if [[ ! -f $file_conf ]]; then + continue; + fi + echo "[SED] ${file_conf}" + 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#' \ + -e 's#^;*[ \t]*chdir =.*#;chdir = /srv/http#' \ + -i "${file_conf}" + done + + echo "[SED] php.ini-production" + sed -e 's#^;*[ \t]*extension_dir[\t ]*=.*/.*$#extension_dir = "___EXTENSIONDIR___"#' \ + -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 ((_phpbase <= 53)); then + PHP_AUTOCONF="/usr/bin/autoconf-2.13" ./buildconf --force + else + ./buildconf --force + fi + rm -f tests/output/stream_isatty_*.phpt + rm -f Zend/tests/arginfo_zpp_mismatch*.phpt + rm -f Zend/tests/bug79919.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} + patch -p1 -i "${srcdir}/make-tests.patch" + + 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() { - local _phpconfig="--srcdir=../${_pkgbase}-${pkgver} \ - --prefix=/usr \ - --sysconfdir=/etc/${pkgbase} \ - --localstatedir=/var \ - --libdir=/usr/lib/${pkgbase} \ - --datadir=/usr/share/${pkgbase} \ - --program-suffix=${pkgbase#php} \ - --with-layout=GNU \ - --with-config-file-path=/etc/${pkgbase} \ - --with-config-file-scan-dir=/etc/${pkgbase}/conf.d \ - --enable-inline-optimization \ - --disable-debug \ - --disable-rpath \ - --disable-static \ - --enable-shared \ - --mandir=/usr/share/man \ - --without-pear \ - " - - local _phpextensions="--enable-bcmath=shared \ - --enable-calendar=shared \ - --enable-dba=shared \ - --enable-exif=shared \ - --enable-ftp=shared \ - --enable-gd-native-ttf \ - --enable-intl=shared \ - --enable-json=shared \ - --enable-mbregex \ - --enable-mbstring \ - --enable-pdo \ - --enable-phar=shared \ - --enable-posix=shared \ - --enable-session \ - --enable-shmop=shared \ - --enable-soap=shared \ - --enable-sockets=shared \ - --enable-sqlite-utf8 \ - --enable-sysvmsg=shared \ - --enable-sysvsem=shared \ - --enable-sysvshm=shared \ - --enable-xml \ - --enable-zip=shared \ - --with-bz2=shared \ - --with-curl=shared \ - --with-enchant=shared,/usr \ - --with-freetype-dir=shared,/usr \ - --with-gd=shared \ - --with-gdbm=shared \ - --with-gettext=shared \ - --with-gmp=shared \ - --with-iconv=shared \ - --with-icu-dir=/usr \ - --with-imap-ssl=shared,/usr \ - --with-imap=shared,/usr \ - --with-kerberos=/usr \ - --with-jpeg-dir=shared,/usr \ - --with-ldap=shared \ - --with-ldap-sasl \ - --with-mcrypt=shared \ - --with-mhash \ - --with-mssql=shared \ - --with-mysql-sock=/run/mysqld/mysqld.sock \ - --with-mysql=shared,mysqlnd \ - --with-mysqli=shared,mysqlnd \ - --with-openssl=shared \ - --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-pgsql=shared \ - --with-png-dir=shared,/usr \ - --with-pspell=shared \ - --with-regex=php \ - --with-snmp=shared \ - --with-sqlite3=shared,/usr \ - --with-sqlite=shared \ - --with-tidy=shared \ - --with-unixODBC=shared,/usr \ - --with-xmlrpc=shared \ - --with-xsl=shared \ - --with-zlib \ - --without-db2 \ - --without-db3 \ - " - - export EXTENSION_DIR=/usr/lib/${pkgbase}/modules - export PEAR_INSTALLDIR=/usr/share/${pkgbase}/pear - export PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig - - cd ${srcdir}/${_pkgbase}-${pkgver} - - # -D_FORTIFY_SOURCE=2 will generate a warning, which will fail the configure script - unset CPPFLAGS - # To workaround c-client linking problem - export IMAP_SHARED_LIBADD="-lssl" - - # php - mkdir -p ${srcdir}/build-php - cd ${srcdir}/build-php - ln -sf ../${_pkgbase}-${pkgver}/configure - ./configure ${_phpconfig} \ - --disable-cgi \ - --with-readline \ - --enable-pcntl \ - ${_phpextensions} - sed -i '/^IMAP_SHARED_LIBADD =/ s#-lssl -lcrypto#-Wl,/usr/lib/libssl.so -Wl,/usr/lib/libcrypto.so#' Makefile - make - - # cgi and fcgi - # reuse the previous run; this will save us a lot of time - cp -Ta ${srcdir}/build-php ${srcdir}/build-cgi - cd ${srcdir}/build-cgi - ./configure ${_phpconfig} \ - --disable-cli \ - --enable-cgi \ - ${_phpextensions} - make - - # apache - cp -Ta ${srcdir}/build-php ${srcdir}/build-apache - cd ${srcdir}/build-apache - ./configure ${_phpconfig} \ - --disable-cli \ - --with-apxs2 \ - ${_phpextensions} - make - - # fpm - cp -Ta ${srcdir}/build-php ${srcdir}/build-fpm - cd ${srcdir}/build-fpm - ./configure ${_phpconfig} \ - --disable-cli \ - --enable-fpm \ - --with-fpm-user=http \ - --with-fpm-group=http \ - ${_phpextensions} - make - - # embed - cp -Ta ${srcdir}/build-php ${srcdir}/build-embed - cd ${srcdir}/build-embed - ./configure ${_phpconfig} \ - --disable-cli \ - --enable-embed=shared \ - ${_phpextensions} - make - - # pear - sed -i 's#@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d#@$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -p $(bindir)/php$(program_suffix) -d#' ${srcdir}/php-${pkgver}/pear/Makefile.frag - cp -Ta ${srcdir}/build-php ${srcdir}/build-pear - cd ${srcdir}/build-pear - ./configure ${_phpconfig} \ - --disable-cgi \ - --with-readline \ - --enable-pcntl \ - --with-pear \ - ${_phpextensions} - make + export EXTENSION_DIR="/usr/lib/${pkgbase}/modules" + if ((_build_openssl_v10_patch)); then + export PHP_OPENSSL_DIR="/usr/lib/openssl-1.0" + export PKG_CONFIG_PATH="/usr/lib/openssl-1.0/pkgconfig" + elif ((_build_forced_openssl_11)); then + export PHP_OPENSSL_DIR="/usr/lib/openssl-1.1" + export PKG_CONFIG_PATH="/usr/lib/openssl-1.1/pkgconfig" + fi + 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/${pkgbase}/icu${_pkgver_icu}/lib" + _phpextensions+=" --with-icu-dir=${_php5_icu_first} " + if [[ ! -d $_php5_icu_first ]]; then + mkdir -p "${_php5_icu_first}" + fi + pushd "${_build_icu_src_dir}" + ./configure --prefix="${_php5_icu_first}" \ + --sysconfdir="${_php5_icu_first}/etc" \ + --mandir="${_php5_icu_first}/share/man" \ + --sbindir="${_php5_icu_first}/bin" \ + --libdir="${_php5_icu_first}/lib" \ + --includedir="${_php5_icu_first}/include" \ + --disable-tests \ + --disable-debug + make -j$(nproc) + make install + ./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 -j$(nproc) + popd + fi + + if ((_build_ini_per_sapi || _build_per_sapi)); then + + # 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 + _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 + + # 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 \ + " + + # litespeed + _cflags="${CFLAGS}" + export CFLAGS="${CFLAGS} -Wno-error=format-security" + _build_sapi "litespeed" "\ + --sysconfdir=/${_build_sapi_ini_litespeed} \ + --with-config-file-path=/${_build_sapi_ini_litespeed} \ + --disable-all \ + --disable-cgi \ + --disable-cli \ + --disable-fpm \ + --disable-embed \ + --disable-phpdbg \ + ${_build_sapi_litespeed} \ + " + export CFLAGS="${_cflags}" + + # 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 + + # CLI + if ((_build_phpdbg)); then + _cli_addons+=" --enable-phpdbg " + fi + _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} \ + ${_build_sapi_litespeed} \ + " + fi + + # 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-cli" + # Check if sendmail was configured correctly (FS#47600) + export REPORT_EXIT_STATUS=1 + export NO_INTERACTION=1 + export SKIP_ONLINE_TESTS=1 + export SKIP_SLOW_TESTS=1 + export TESTS='tests Zend' + 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}" + case "${extension}" in + "json") + priority="${_priority_json}" + ;; + "xml") + priority="${_priority_xml}" + ;; + "openssl") + priority="${_priority_openssl}" + ;; + "mysqlnd") + priority="${_priority_mysqlnd}" + ;; + "pdo") + priority="${_priority_pdo}" + ;; + "opcache") + priority="${_priority_opcache}" + ;; + "dom") + priority="${_priority_dom}" + ;; + esac + local extension_type="extension" + case "${extension}" in + "opcache" | "xdebug") + extension_type="zend_extension" + ;; + "recode") + extension_type=";extension" + ;; + esac + + if [[ ! -d "${pkgdir}/${_build_conf_d}" ]]; then + mkdir -p "${pkgdir}/${_build_conf_d}" + fi + 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() { + 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 +} + +############################################################################### +# PHP: SAPI's +############################################################################### + +# Main package package_php53() { - pkgdesc='An HTML-embedded scripting language - Legacy 5.3 version' - depends=('pcre' 'libxml2' 'curl' 'libzip' 'openssl-1.0') - backup=("etc/${pkgbase}/php.ini") - provides=("${_pkgbase}=$pkgver") + # Binary names + 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 + popd + pushd "${pkgdir}/usr/lib/${pkgbase}/icu${_pkgver_icu}" + rm -rf bin include share + popd + fi + + # Install session dir + install -d -m1733 "${pkgdir}/var/lib/${pkgbase}/sessions" + + # 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 subpackages + rm -f {enchant,imap,intl,pspell,snmp,tidy,curl,ldap,bz2,bcmath,soap,zip,gmp,dba,opcache,json,gd,mcrypt,sodium,recode}.so + rm -f {pdo_dblib,mssql}.so + rm -f {dom,simplexml,xml,xmlreader,xmlwriter,xsl,wddx,xmlrpc}.so + rm -f {pgsql,pdo_pgsql}.so + rm -f {odbc,pdo_odbc}.so + rm -f {pdo_sqlite,sqlite3}.so + rm -f {pdo_firebird.so,interbase.so} + rm -f {mysqli,pdo_mysql,mysqlnd,mysql}.so + 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 + 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 + popd +} - cd ${srcdir}/build-php - make -j1 INSTALL_ROOT=${pkgdir} install +# Cli + phar +package_php53-cli() { + _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 - # install php.ini - install -D -m644 ${srcdir}/${_pkgbase}-${pkgver}/php.ini-production ${pkgdir}/etc/${pkgbase}/php.ini - install -d -m755 ${pkgdir}/etc/${pkgbase}/conf.d/ +# CGI +package_php53-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-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 | 54) + install -D -m755 sapi/cgi/php-cgi "${pkgdir}/usr/bin/${pkgbase}-cgi" + ;; + *) + make -j1 INSTALL_ROOT="${pkgdir}" install-cgi + ;; + esac + popd +} +# CGI end - # remove static modules - rm -f ${pkgdir}/usr/lib/${pkgbase}/modules/*.a - # remove modules provided by sub packages - rm -f ${pkgdir}/usr/lib/${pkgbase}/modules/{enchant,gd,imap,intl,ldap,mcrypt,mssql,odbc,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl,pdo_dblib}.so +# Apache +package_php53-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 ${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/lib${pkgbase}.so" + echo "AddHandler ${_build_php_script_name} .php" + echo "# End of Include List" + echo "Include conf/extra/${_apache_module_conf}" + + 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] ${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 - # remove empty directory - rmdir ${pkgdir}/usr/include/php/include +# FPM +package_php53-fpm() { + _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_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_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 - # move include directory - mv ${pkgdir}/usr/include/php ${pkgdir}/usr/include/${pkgbase} +# embed sapi +package_php53-embed() { + _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_ini_per_sapi || _build_per_sapi)); then + pushd "build-${_sapi}" + else + pushd "build-cli" + fi + 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_php53-phpdbg() { + _sapi="phpdbg" + options=('!emptydirs') + 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 + +# litespeed sapi +package_php53-litespeed() { + _sapi="litespeed" + pkgdesc="LiteSpeed SAPI for ${pkgbase}" + 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 + 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 + *) + install -D -m755 sapi/litespeed/php "${pkgdir}/usr/bin/ls${pkgbase}" + ;; + esac + popd +} +# litespeed sapi end - # fix phar symlink - rm ${pkgdir}/usr/bin/phar - ln -sf phar.${pkgbase/php/phar} ${pkgdir}/usr/bin/${pkgbase/php/phar} +############################################################################### +# PEAR + PECL +############################################################################### - # rename executables - mv ${pkgdir}/usr/bin/phar.{phar,${pkgbase/php/phar}} +# PEAR +package_php53-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 + for i in pear peardev pecl; do + _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 +} +# PEAR end + +# PECL +package_php53-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 - # fix paths in executables - sed -i "/^includedir=/c \includedir=/usr/include/${pkgbase}" ${pkgdir}/usr/bin/${pkgbase/php/phpize} - sed -i "/^include_dir=/c \include_dir=/usr/include/${pkgbase}" ${pkgdir}/usr/bin/${pkgbase/php/php-config} +############################################################################### +# PHP Modules: First need +############################################################################### - # make phpize use php-config53 - sed -i "/^\[ --with-php-config=/c \[ --with-php-config=PATH Path to php-config [${pkgbase/php/php-config}]], ${pkgbase/php/php-config}, no)" ${pkgdir}/usr/lib/${pkgbase}/build/phpize.m4 +# OpenSSL +package_php53-openssl() { + pkgdesc="OpenSSL module for ${pkgbase}" + depends=("${_ext_depends_openssl[@]}") + _install_module openssl } -package_php53-cgi() { - pkgdesc='CGI and FCGI SAPI for PHP' - depends=("${pkgbase}") - provides=("${_pkgbase}-cgi=$pkgver") +# Json +package_php53-json() { + pkgdesc="json module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module json +} - install -D -m755 ${srcdir}/build-cgi/sapi/cgi/php-cgi ${pkgdir}/usr/bin/${pkgbase}-cgi +# pdo +package_php53-pdo() { + pkgdesc="pdo module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module pdo } -package_php53-apache() { - pkgdesc='Apache SAPI for PHP' - depends=("${pkgbase}" 'apache') - provides=("${_pkgbase}-apache=$pkgver") - backup=("etc/httpd/conf/extra/${pkgbase}_module.conf") - install='php-apache.install' - install -D -m755 ${srcdir}/build-apache/libs/libphp5.so ${pkgdir}/usr/lib/httpd/modules/lib${pkgbase}.so - install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/${pkgbase}_module.conf +# mbstring +package_php53-mbstring() { + pkgdesc="mbstring module for ${pkgbase}" + depends=("${_ext_depends_mbstring[@]}") + _install_module mbstring } -package_php53-fpm() { - pkgdesc='FastCGI Process Manager for PHP' - depends=("${pkgbase}" 'systemd') - provides=("${_pkgbase}-fpm=$pkgver") - backup=("etc/${pkgbase}/php-fpm.conf") - install='php-fpm.install' - install -d -m755 ${pkgdir}/usr/bin - install -D -m755 ${srcdir}/build-fpm/sapi/fpm/php-fpm ${pkgdir}/usr/bin/${pkgbase}-fpm +# phar +package_php53-phar() { + pkgdesc="phar module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module phar +} - install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.8 ${pkgdir}/usr/share/man/man8/${pkgbase}-fpm.8 - install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.conf ${pkgdir}/etc/${pkgbase}/php-fpm.conf - install -d -m755 ${pkgdir}/etc/${pkgbase}/fpm.d - install -D -m644 ${srcdir}/php-fpm.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/${pkgbase}-fpm.conf - install -D -m644 ${srcdir}/php-fpm.service ${pkgdir}/usr/lib/systemd/system/${pkgbase}-fpm.service +############################################################################### +# PHP modules: XML +############################################################################### - install -d -m755 ${pkgdir}/etc/logrotate.d - install -D -m644 ${srcdir}/logrotate.d.php-fpm ${pkgdir}/etc/logrotate.d/${pkgbase}-fpm +# XML modules combined package +package_php53-xml() { + pkgdesc="xml modules for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'libxml2') + _install_module xml } -package_php53-embed() { - pkgdesc='Embedded PHP SAPI library' - depends=("${pkgbase}") - provides=("${_pkgbase}-embed=$pkgver") +package_php53-wddx() { + pkgdesc="wddx module for ${pkgbase}" + depends=("php${_phpbase}-xml${_suffix}=${pkgver}") + _install_module wddx +} - install -D -m755 ${srcdir}/build-embed/libs/libphp5.so ${pkgdir}/usr/lib/libphp53.so - install -D -m644 ${srcdir}/${_pkgbase}-${pkgver}/sapi/embed/php_embed.h ${pkgdir}/usr/include/${pkgbase}/sapi/embed/php_embed.h +package_php53-simplexml() { + pkgdesc="simplexml module for ${pkgbase}" + depends=("php${_phpbase}-xml${_suffix}=${pkgver}") + _install_module simplexml } -package_php53-dblib() { - pkgdesc='dblib module for PHP' - depends=("${pkgbase}") - provides=("${_pkgbase}-dblib=$pkgver") +package_php53-dom() { + pkgdesc="dom module for ${pkgbase}" + depends=("php${_phpbase}-xml${_suffix}=${pkgver}") + _install_module dom +} - install -D -m755 ${srcdir}/build-php/modules/pdo_dblib.so ${pkgdir}/usr/lib/${pkgbase}/modules/pdo_dblib.so +package_php53-xmlreader() { + pkgdesc="xmlreader module for ${pkgbase}" + depends=("php${_phpbase}-xml${_suffix}=${pkgver}") + _install_module xmlreader } -package_php53-pear() { - pkgdesc='PHP Extension and Application Repository' - depends=("${pkgbase}") - provides=("${_pkgbase}-pear=$pkgver") - backup=("etc/${pkgbase}/pear.conf") +package_php53-xmlwriter() { + pkgdesc="xmlwriter module for ${pkgbase}" + depends=("php${_phpbase}-xml${_suffix}=${pkgver}") + _install_module xmlwriter +} - cd ${srcdir}/build-pear - make -j1 install-pear INSTALL_ROOT=${pkgdir} - rm -rf ${pkgdir}{/usr/share/${pkgbase}/pear,}/.{channels,depdb,depdblock,filemap,lock,registry} +# Tidy +package_php53-tidy() { + pkgdesc="tidy module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'tidy') + _install_module tidy +} - mv ${pkgdir}/usr/bin/{pear,${pkgbase/php/pear}} - mv ${pkgdir}/usr/bin/{peardev,${pkgbase/php/peardev}} - mv ${pkgdir}/usr/bin/{pecl,${pkgbase/php/pecl}} +# XSL +package_php53-xsl() { + pkgdesc="xsl module for ${pkgbase}" + depends=("php${_phpbase}-xml${_suffix}=${pkgver}" "php${_phpbase}-dom${_suffix}=${pkgver}") + depends+=('libxslt') + _install_module xsl } -package_php53-enchant() { - pkgdesc='enchant module for PHP' - depends=("${pkgbase}" 'enchant') - provides=("${_pkgbase}-enchant=$pkgver") +############################################################################### +# PHP modules: Databases +############################################################################### + +# MySQL +package_php53-mysql() { + pkgdesc="MySQL modules for ${pkgbase}" + depends=("${_ext_depends_mysql[@]}") + _install_module mysqlnd + _install_module mysql + _install_module mysqli + _install_module pdo_mysql +} - install -D -m755 ${srcdir}/build-php/modules/enchant.so ${pkgdir}/usr/lib/${pkgbase}/modules/enchant.so +# pdo_sqlite + sqlite3 +package_php53-sqlite() { + pkgdesc="sqlite module for ${pkgbase}" + depends=("${_ext_depends_sqlite[@]}") + _install_module sqlite3 + _install_module pdo_sqlite } -package_php53-gd() { - pkgdesc='gd module for PHP' - depends=("${pkgbase}" 'libpng' 'libjpeg' 'freetype2') - provides=("${_pkgbase}-gd=$pkgver") +# ODBC +package_php53-odbc() { + pkgdesc="ODBC modules for ${pkgbase}" + depends=("${_ext_depends_odbc[@]}") + _install_module odbc + _install_module pdo_odbc +} - install -D -m755 ${srcdir}/build-php/modules/gd.so ${pkgdir}/usr/lib/${pkgbase}/modules/gd.so +# PostgreSQL +package_php53-pgsql() { + pkgdesc="PostgreSQL modules for ${pkgbase}" + depends=("${_ext_depends_pgsql[@]}") + _install_module pgsql + _install_module pdo_pgsql } -package_php53-imap() { - pkgdesc='imap module for PHP' - depends=("${pkgbase}" 'c-client') - provides=("${_pkgbase}-imap=$pkgver") +# interbase +package_php53-interbase() { + pkgdesc="interbase module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" "libfbclient") + _install_module interbase +} + +# firebird +package_php53-firebird() { + pkgdesc="pdo_firebird module for ${pkgbase}" + depends=("${_ext_depends_firebird[@]}") + _install_module pdo_firebird +} - install -D -m755 ${srcdir}/build-php/modules/imap.so ${pkgdir}/usr/lib/${pkgbase}/modules/imap.so +# pdo_dblib +package_php53-dblib() { + depends=("${pkgbase}=${pkgver}" 'freetds') + pkgdesc="pdo_dblib module for ${pkgbase}" + _install_module pdo_dblib } +# mssql +package_php53-mssql() { + depends=("${pkgbase}=${pkgver}" 'freetds') + pkgdesc="mssql module for ${pkgbase}" + _install_module mssql +} + +# Dba +package_php53-dba() { + pkgdesc="dba module for ${pkgbase}" + depends=("${_ext_depends_dba[@]}") + _install_module dba +} + +############################################################################### +# PHP Modules: internationalization, text, datetime +############################################################################### + +# Intl package_php53-intl() { - pkgdesc='intl module for PHP' - depends=("${pkgbase}" 'icu') - provides=("${_pkgbase}-intl=$pkgver") + pkgdesc="intl module for ${pkgbase}" + depends=("${_ext_depends_intl[@]}") + 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" + fi + _install_module intl +} - install -D -m755 ${srcdir}/build-php/modules/intl.so ${pkgdir}/usr/lib/${pkgbase}/modules/intl.so +# Recode +package_php53-recode() { + pkgdesc="recode module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'recode') + _install_module recode } -package_php53-ldap() { - pkgdesc='ldap module for PHP' - depends=("${pkgbase}" 'libldap') - provides=("${pkgbase}-ldap=$pkgver") +# gettext +package_php53-gettext() { + pkgdesc="gettext module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module gettext +} - install -D -m755 ${srcdir}/build-php/modules/ldap.so ${pkgdir}/usr/lib/${pkgbase}/modules/ldap.so +# iconv +package_php53-iconv() { + pkgdesc="iconv module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module iconv } -package_php53-mcrypt() { - pkgdesc='mcrypt module for PHP' - depends=("${pkgbase}" 'libmcrypt' 'libltdl') - provides=("${_pkgbase}-mcrypt=$pkgver") +# calendar +package_php53-calendar() { + pkgdesc="calendar module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module calendar +} + + +############################################################################### +# PHP Modules: multimedia +############################################################################### - install -D -m755 ${srcdir}/build-php/modules/mcrypt.so ${pkgdir}/usr/lib/${pkgbase}/modules/mcrypt.so +# GD +package_php53-gd() { + pkgdesc="gd module for ${pkgbase}" + depends=("${_ext_depends_gd[@]}") + _install_module gd } -package_php53-mssql() { - pkgdesc='mssql module for PHP' - depends=("${pkgbase}" 'freetds') - provides=("${_pkgbase}-mssql=$pkgver") +# exif +package_php53-exif() { + pkgdesc="exif module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module exif +} - install -D -m755 ${srcdir}/build-php/modules/mssql.so ${pkgdir}/usr/lib/${pkgbase}/modules/mssql.so +# fileinfo +package_php53-fileinfo() { + pkgdesc="fileinfo module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module fileinfo } -package_php53-odbc() { - pkgdesc='ODBC modules for PHP' - depends=("${pkgbase}" 'unixodbc') - provides=("${_pkgbase}-odbc=$pkgver") - install -D -m755 ${srcdir}/build-php/modules/odbc.so ${pkgdir}/usr/lib/${pkgbase}/modules/odbc.so - install -D -m755 ${srcdir}/build-php/modules/pdo_odbc.so ${pkgdir}/usr/lib/${pkgbase}/modules/pdo_odbc.so +############################################################################### +# PHP modules: math +############################################################################### + +# bcmath +package_php53-bcmath() { + pkgdesc="bcmath module for ${pkgbase}" + depends=("${pkgbase}") + _install_module bcmath } -package_php53-pgsql() { - pkgdesc='PostgreSQL modules for PHP' - depends=("${pkgbase}" 'postgresql-libs') - provides=("${_pkgbase}-pgsql=$pkgver") +# gmp +package_php53-gmp() { + pkgdesc="gmp module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'gmp') + _install_module gmp +} + +############################################################################### +# PHP modules: spell checking +############################################################################### - install -D -m755 ${srcdir}/build-php/modules/pgsql.so ${pkgdir}/usr/lib/${pkgbase}/modules/pgsql.so - install -D -m755 ${srcdir}/build-php/modules/pdo_pgsql.so ${pkgdir}/usr/lib/${pkgbase}/modules/pdo_pgsql.so +# Enchant +package_php53-enchant() { + pkgdesc="enchant module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'enchant' 'libvoikko' 'hspell' 'hunspell' 'nuspell' 'aspell') + _install_module enchant } +# Pspell package_php53-pspell() { - pkgdesc='pspell module for PHP' - depends=("${pkgbase}" 'aspell') - provides=("${_pkgbase}-pspell=$pkgver") + pkgdesc="pspell module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'aspell') + _install_module pspell +} - install -D -m755 ${srcdir}/build-php/modules/pspell.so ${pkgdir}/usr/lib/${pkgbase}/modules/pspell.so +############################################################################### +# PHP modules: compression +############################################################################### + +# bz2 +package_php53-bz2() { + pkgdesc="bz2 module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'bzip2') + _install_module bz2 } +# Zip +package_php53-zip() { + pkgdesc="zip module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'libzip') + _install_module zip +} + +############################################################################### +# PHP modules: network client/servers +############################################################################### + +# curl +package_php53-curl() { + pkgdesc="curl module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" "curl") + _install_module curl +} + +# SOAP +package_php53-soap() { + pkgdesc="soap module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'libxml2') + _install_module soap +} + +# FTP +package_php53-ftp() { + pkgdesc="FTP module for ${pkgbase}" + depends=("${_ext_depends_ftp[@]}") + _install_module ftp +} + +# ldap +package_php53-ldap() { + pkgdesc="ldap module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'libldap' 'libsasl') + _install_module ldap +} + +# SNMP package_php53-snmp() { - pkgdesc='snmp module for PHP' - depends=("${pkgbase}" 'net-snmp') - provides=("${_pkgbase}-snmp=$pkgver") + pkgdesc="snmp module for ${pkgbase}" + depends=("${_ext_depends_snmp[@]}") + _install_module snmp +} - install -D -m755 ${srcdir}/build-php/modules/snmp.so ${pkgdir}/usr/lib/${pkgbase}/modules/snmp.so +# XML-RPC +package_php53-xmlrpc() { + pkgdesc="xmlrpc module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'libxml2') + _install_module xmlrpc } -package_php53-sqlite() { - pkgdesc='sqlite module for PHP' - depends=("${pkgbase}" 'sqlite') - provides=("${_pkgbase}-sqlite=$pkgver") +# Imap +package_php53-imap() { + pkgdesc="imap module for ${pkgbase}" + depends=("${_ext_depends_imap[@]}") + _install_module imap +} - install -D -m755 ${srcdir}/build-php/modules/sqlite3.so ${pkgdir}/usr/lib/${pkgbase}/modules/sqlite3.so - install -D -m755 ${srcdir}/build-php/modules/pdo_sqlite.so ${pkgdir}/usr/lib/${pkgbase}/modules/pdo_sqlite.so +# sockets +package_php53-sockets() { + pkgdesc="sockets module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module sockets } -package_php53-tidy() { - pkgdesc='tidy module for PHP' - depends=("${pkgbase}" 'tidyhtml') - provides=("${_pkgbase}-tidy=$pkgver") +############################################################################### +# PHP Modules: cryptography +############################################################################### - install -D -m755 ${srcdir}/build-php/modules/tidy.so ${pkgdir}/usr/lib/${pkgbase}/modules/tidy.so +# Sodium +package_php53-sodium() { + pkgdesc="sodium (libsodium) module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" "libsodium") + _install_module sodium } -package_php53-xsl() { - pkgdesc='xsl module for PHP' - depends=("${pkgbase}" 'libxslt') - provides=("${_pkgbase}-xsl=$pkgver") +# Mcrypt +package_php53-mcrypt() { + pkgdesc="mcrypt module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'libmcrypt') + _install_module mcrypt +} + + +############################################################################### +# PHP Zend modules: opcache/jit +############################################################################### + +# Opcache +package_php53-opcache() { + pkgdesc="opcache zend module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module opcache +} + +############################################################################### +# PHP posix, pcntl, shmop and System V modules +############################################################################### + +# posix +package_php53-posix() { + pkgdesc="posix module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module posix +} + +# pcntl +package_php53-pcntl() { + pkgdesc="pcntl module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module pcntl +} + +# shmop +package_php53-shmop() { + pkgdesc="shmop module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module shmop +} - install -D -m755 ${srcdir}/build-php/modules/xsl.so ${pkgdir}/usr/lib/${pkgbase}/modules/xsl.so +# sysvmsg +package_php53-sysvmsg() { + pkgdesc="sysvmsg module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module sysvmsg } + +# sysvsem +package_php53-sysvsem() { + pkgdesc="sysvsem module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module sysvsem +} + +# sysvshm +package_php53-sysvshm() { + pkgdesc="sysvshm module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module sysvshm +} + +############################################################################### +# PHP Misc modules +############################################################################### + +# Ffi +package_php53-ffi() { + pkgdesc="ffi module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'libffi') + _install_module ffi +} + +# ctype +package_php53-ctype() { + pkgdesc="ctype module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module ctype +} + +# tokenizer +package_php53-tokenizer() { + pkgdesc="tokenizer module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}") + _install_module tokenizer +} + +# libedit/readline +package_php53-readline() { + pkgdesc="readline (libedit version) module for ${pkgbase}" + depends=("${pkgbase}=${pkgver}" 'libedit') + _install_module readline +} + + +sha256sums=('e6b8530d747000eebb0089249ec70a3b14add7b501337046700544883f62b17b' + '0b7e98dca9c996ec10cb9b3f6296bb7547c68797fd5f35006fdfd3e97700672d' + 'ba72fc64f77822755a469314160d5889d5298f4eb5758dd7939dac9b811afe52' + '6d0ad9becb5470ce8e5929d7d45660b0f32579038978496317544c5310281a91' + 'c4e1cf6972b2a9c7f2777a18497d83bf713cdbecabb65d3ff62ba441aebb0091' + '92f1b7b9d51b396679c17f35a2112423361b8da3c1b9de00aa94fd768ae296e6' + '5cac358527fa9f6cb8b7f22e34b86ef98453d8d3b45a83e745683fecc0fcf9a3' + '8a5e1a2a563c38f237b0ed735918ecf82c30edd3f7beae5d99be041585901d27' + 'e49744c78d6413ab6e93e3786d70c2d1cbdbb62e5bcfdb85c05efcf16fecfb96' + 'aecd8dff7022e956718407a5b98dec19acdceef08b0a58e7266b483bc3845de6' + 'd2f6f8e71c99247c798451a56d5b3e0817d404dfc41175b2e9735e38ecfaa6d6' + '72a94ccc694657b3d52ce9da537e3f9d4ac7aee4970e916c88f6a8af2bc5cc0e' + 'de279c546cfe5de88ae3dc7b169be963b6f367361821ca1b415b9b04973781a5' + 'd175f0c14fdb22855090c93f76e18f04320d7bf15afc057ffde947f9bb361242' + 'f5ae925036744a5e88cea2698879aea0498e1e23aee7801923d90f16be383908' + '12f4e3aeab72e7d24221c07b64106c496c2e300518682bd301351dc9fa6ab3cf' + '52c5a93fb03fa8f3f99438eb803b3182766ee04e0e6b76f00b0bc848d03ff6a6' + '3049b76460c65a70017ba2aac8f8c45725df2bbea458a96ec7164db63639e87f' + 'c9f3b0dff07a7e9688f60b92a2a15817bd7cd59a8c5278cae629d856be66de5c' + 'c9b3c4153596b605a41456e8242d98e474be6391d6fb4b6ce70a21c4c23b5203' + '7e59ff3e1669d55f2a26ccdd748bfed6bbfd85d5d9206c1241cfd4443994f42c' + '616ec8aa12070fb058be511abdae703a62d1c99387dd6d2a7bb47cb1b5bbda5f' + '576d301ad50cf71782773f970b418ec9a569e8e4fccb2ae982895f3553309794' + '558e780e93dfa861a366c49b4d156d8fc43f17898f001ae6033ec63c33d5d41c') |