From 9420b77ba2cb6bc03a6f55b14fe1a475e317151f Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Fri, 13 Apr 2018 21:02:40 +0000
Subject: php: update to 7.2.4

---
 abs/core/php/PKGBUILD              | 292 +++++++++++++++----------------------
 abs/core/php/__changelog           |   7 +-
 abs/core/php/apache.conf           |   4 +-
 abs/core/php/apache.patch          |  20 +++
 abs/core/php/enchant-2.patch       |  84 +++++++++++
 abs/core/php/linhes.ini            |   2 +-
 abs/core/php/logrotate.d.php-fpm   |   8 -
 abs/core/php/php-fpm.conf.in.patch |  52 -------
 abs/core/php/php-fpm.install       |   9 --
 abs/core/php/php-fpm.service       |   6 +-
 abs/core/php/php.ini.patch         | 168 ++++++++-------------
 11 files changed, 291 insertions(+), 361 deletions(-)
 create mode 100644 abs/core/php/apache.patch
 create mode 100644 abs/core/php/enchant-2.patch
 delete mode 100644 abs/core/php/logrotate.d.php-fpm
 delete mode 100644 abs/core/php/php-fpm.conf.in.patch
 delete mode 100644 abs/core/php/php-fpm.install

diff --git a/abs/core/php/PKGBUILD b/abs/core/php/PKGBUILD
index e73312c..67a725a 100644
--- a/abs/core/php/PKGBUILD
+++ b/abs/core/php/PKGBUILD
@@ -8,14 +8,12 @@ pkgname=('php'
          'php-fpm'
          'php-embed'
          'php-phpdbg'
-         'php-pear'
+         'php-dblib'
          'php-enchant'
          'php-gd'
          'php-imap'
          'php-intl'
-         'php-ldap'
-         'php-mcrypt'
-         'php-mssql'
+         'php-sodium'
          'php-odbc'
          'php-pgsql'
          'php-pspell'
@@ -23,63 +21,56 @@ pkgname=('php'
          'php-sqlite'
          'php-tidy'
          'php-xsl')
-pkgver=5.6.30
+pkgver=7.2.4
 pkgrel=1
-arch=('i686' 'x86_64')
+arch=('x86_64')
 license=('PHP')
 url='http://www.php.net'
-makedepends=('apache' 'c-client' 'postgresql-libs' 'libldap' 'postfix'
-             'sqlite' 'unixodbc' 'net-snmp' 'libzip' 'enchant' 'file' 'freetds'
-             'libmcrypt' 'tidy' 'aspell' 'libltdl' 'gd' 'icu'
-             'curl' 'libxslt' 'openssl' 'db' 'gmp' 'systemd')
-source=("http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.xz"
-        "http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.xz.asc"
-        'php.ini.patch' 'linhes.ini' 'apache.conf' 'php-fpm.conf.in.patch'
-        'logrotate.d.php-fpm' 'php-fpm.service' 'php-fpm.tmpfiles')
-validpgpkeys=('6E4F6AB321FDC07F2C332E3AC2BF0BC433CFC8B3'
-              '0BD78B5F97500D450838F95DFE857D9A90D90EC1')
+makedepends=('apache' 'aspell' 'c-client' 'db' 'enchant' 'gd' 'gmp' 'icu' 'libsodium' 'libxslt' 'libzip' 'net-snmp'
+             'postgresql-libs' 'sqlite' 'systemd' 'tidy' 'unixodbc' 'curl' 'libtool' 'postfix' 'freetds' 'pcre')
+checkdepends=('procps-ng')
+source=("https://php.net/distributions/${pkgbase}-${pkgver}.tar.xz"{,.asc}
+        'apache.patch' 'apache.conf' 'php-fpm.patch' 'php-fpm.tmpfiles' 'php.ini.patch' 'linhes.ini' 'enchant-2.patch')
+validpgpkeys=('B1B44D8F021E4E2D6021E995DC9FF8D3EE5AF27F'
+              '1729F83938DA44E27BA0F4D3DBDB397470D12172')
 
 prepare() {
 	cd ${srcdir}/${pkgbase}-${pkgver}
 
+	patch -p0 -i ${srcdir}/apache.patch
+	patch -p0 -i ${srcdir}/php-fpm.patch
 	patch -p0 -i ${srcdir}/php.ini.patch
-	patch -p0 -i ${srcdir}/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
+	patch -p1 -i ../enchant-2.patch
 
-    # Allow php-tidy to compile with tidy-html5
-    sed 's/buffio\.h/tidybuffio\.h/' -i ext/tidy/tidy.c
+	rm tests/output/stream_isatty_*.phpt
 }
 
 build() {
+	# http://site.icu-project.org/download/61#TOC-Migration-Issues
+	CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1'
+
 	local _phpconfig="--srcdir=../${pkgbase}-${pkgver} \
 		--config-cache \
 		--prefix=/usr \
-		--sysconfdir=/etc/${pkgbase} \
+		--sbindir=/usr/bin \
+		--sysconfdir=/etc/php \
 		--localstatedir=/var \
-        --libdir=/usr/lib/${pkgbase} \
-        --datarootdir=/usr/share/${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 \
+		--with-config-file-path=/etc/php \
+		--with-config-file-scan-dir=/etc/php/conf.d \
 		--disable-rpath \
+		--mandir=/usr/share/man \
 		--without-pear \
 		"
 
-	local _phpextensions="--enable-bcmath=shared \
+	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-mbstring \
-		--enable-opcache \
-		--enable-phar=shared \
-		--enable-posix=shared \
 		--enable-shmop=shared \
 		--enable-soap=shared \
 		--enable-sockets=shared \
@@ -91,314 +82,261 @@ build() {
 		--with-curl=shared \
 		--with-db4=/usr \
 		--with-enchant=shared,/usr \
-		--with-fpm-systemd \
 		--with-freetype-dir=/usr \
-		--with-xpm-dir=/usr \
 		--with-gd=shared,/usr \
 		--with-gdbm \
 		--with-gettext=shared \
 		--with-gmp=shared \
 		--with-iconv=shared \
-		--with-icu-dir=/usr \
 		--with-imap-ssl \
 		--with-imap=shared \
 		--with-kerberos=/usr \
-		--with-jpeg-dir=/usr \
-		--with-vpx-dir=no \
 		--with-ldap=shared \
 		--with-ldap-sasl \
 		--with-libzip \
-		--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-openssl \
+		--with-password-argon2 \
 		--with-pcre-regex=/usr \
-        --with-pdo-dblib=shared,/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=/usr \
 		--with-pspell=shared \
+		--with-readline \
 		--with-snmp=shared \
+		--with-sodium=shared \
 		--with-sqlite3=shared,/usr \
 		--with-tidy=shared \
 		--with-unixODBC=shared,/usr \
 		--with-xmlrpc=shared \
 		--with-xsl=shared \
 		--with-zlib \
+		--enable-pcntl \
 		"
 
-    export EXTENSION_DIR=/usr/lib/${pkgbase}/modules
-    export PEAR_INSTALLDIR=/usr/share/${pkgbase}/pear
+	EXTENSION_DIR=/usr/lib/php/modules
+	export EXTENSION_DIR
 
-	cd ${srcdir}/${pkgbase}-${pkgver}
-
-	# php
-	mkdir -p ${srcdir}/build-php
-	cd ${srcdir}/build-php
-	ln -sf ../${pkgbase}-${pkgver}/configure
+	mkdir ${srcdir}/build
+	cd ${srcdir}/build
+	ln -s ../${pkgbase}-${pkgver}/configure
 	./configure ${_phpconfig} \
-		--disable-cgi \
-		--with-readline \
-		--enable-pcntl \
-		${_phpextensions}
-	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-systemd \
+		--with-fpm-acl \
 		--with-fpm-user=http \
 		--with-fpm-group=http \
+		--enable-embed=shared \
 		${_phpextensions}
 	make
 
-	# embed
-	cp -Ta ${srcdir}/build-php ${srcdir}/build-embed
-	cd ${srcdir}/build-embed
+	# apache
+	# reuse the previous run; this will save us a lot of time
+	cp -a ${srcdir}/build ${srcdir}/build-apache
+	cd ${srcdir}/build-apache
 	./configure ${_phpconfig} \
-		--disable-cli \
-		--enable-embed=shared \
+		--with-apxs2 \
 		${_phpextensions}
 	make
 
 	# phpdbg
-	cp -Ta ${srcdir}/build-php ${srcdir}/build-phpdbg
+	cp -a ${srcdir}/build ${srcdir}/build-phpdbg
 	cd ${srcdir}/build-phpdbg
 	./configure ${_phpconfig} \
-		--disable-cli \
-		--disable-cgi \
-		--with-readline \
 		--enable-phpdbg \
 		${_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
+check() {
+	cd ${srcdir}/${pkgbase}-${pkgver}
+
+	# Check if sendmail was configured correctly (FS#47600)
+	${srcdir}/build/sapi/cli/php -n -r 'echo ini_get("sendmail_path");' | grep -q '/usr/bin/sendmail'
+
+	export REPORT_EXIT_STATUS=1
+	export NO_INTERACTION=1
+	export SKIP_ONLINE_TESTS=1
+	export SKIP_SLOW_TESTS=1
+
+	${srcdir}/build/sapi/cli/php -n run-tests.php -n -P {tests,Zend}
 }
 
 package_php() {
-	pkgdesc='An HTML-embedded scripting language'
-	depends=('pcre' 'libxml2' 'curl' 'libzip' 'php-gd' 'php-mcrypt')
+	pkgdesc='A general-purpose scripting language that is especially suited to web development'
+	depends=('libxml2' 'curl' 'libzip' 'pcre' 'argon2' 'php-gd')
+	replaces=('php-ldap')
+	conflicts=('php-ldap')
+	provides=("php-ldap=${pkgver}")
 	#backup=('etc/php/php.ini')
     install='php.install'
 
-	cd ${srcdir}/build-php
-	make -j1 INSTALL_ROOT=${pkgdir} install
-
-	# install php.ini
+	cd ${srcdir}/build
+	make -j1 INSTALL_ROOT=${pkgdir} install-{modules,cli,build,headers,programs,pharcmd}
 	install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/php.ini-production ${pkgdir}/etc/php/php.ini
 	install -d -m755 ${pkgdir}/etc/php/conf.d/
-	install -D -m644 ${srcdir}/linhes.ini ${pkgdir}/etc/php/conf.d/linhes.ini
+    install -D -m644 ${srcdir}/linhes.ini ${pkgdir}/etc/php/conf.d/linhes.ini
 
 	# remove static modules
 	rm -f ${pkgdir}/usr/lib/php/modules/*.a
 	# remove modules provided by sub packages
-	rm -f ${pkgdir}/usr/lib/php/modules/{enchant,gd,imap,intl,ldap,mcrypt,mssql,odbc,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
-
+	rm -f ${pkgdir}/usr/lib/php/modules/{enchant,gd,imap,intl,sodium,odbc,pdo_dblib,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
 	# remove empty directory
 	rmdir ${pkgdir}/usr/include/php/include
-
 }
 
 package_php-cgi() {
 	pkgdesc='CGI and FCGI SAPI for PHP'
 	depends=('php')
 
-	install -D -m755 ${srcdir}/build-cgi/sapi/cgi/php-cgi ${pkgdir}/usr/bin/php-cgi
+	cd ${srcdir}/build
+	make -j1 INSTALL_ROOT=${pkgdir} install-cgi
 }
 
 package_php-apache() {
 	pkgdesc='Apache SAPI for PHP'
 	depends=('php' 'apache')
-	backup=('etc/httpd/conf/extra/php5_module.conf')
-    install='php-apache.install'
+	backup=('etc/httpd/conf/extra/php7_module.conf')
 
-	install -D -m755 ${srcdir}/build-apache/libs/libphp5.so ${pkgdir}/usr/lib/httpd/modules/libphp5.so
-	install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/php5_module.conf
+	install -D -m755 ${srcdir}/build-apache/libs/libphp7.so ${pkgdir}/usr/lib/httpd/modules/libphp7.so
+	install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/php7_module.conf
 }
 
 package_php-fpm() {
 	pkgdesc='FastCGI Process Manager for PHP'
 	depends=('php' 'systemd')
-	backup=('etc/php/php-fpm.conf')
-	install='php-fpm.install'
-
-	install -D -m755 ${srcdir}/build-fpm/sapi/fpm/php-fpm ${pkgdir}/usr/bin/php-fpm
-	install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.8 ${pkgdir}/usr/share/man/man8/php-fpm.8
-	install -D -m644 ${srcdir}/build-fpm/sapi/fpm/php-fpm.conf ${pkgdir}/etc/php/php-fpm.conf
-	install -D -m644 ${srcdir}/logrotate.d.php-fpm ${pkgdir}/etc/logrotate.d/php-fpm
-	install -d -m755 ${pkgdir}/etc/php/fpm.d
+	backup=('etc/php/php-fpm.conf' 'etc/php/php-fpm.d/www.conf')
+	options=('!emptydirs')
+
+	cd ${srcdir}/build
+	make -j1 INSTALL_ROOT=${pkgdir} install-fpm
+	install -D -m644 sapi/fpm/php-fpm.service ${pkgdir}/usr/lib/systemd/system/php-fpm.service
 	install -D -m644 ${srcdir}/php-fpm.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/php-fpm.conf
-	install -D -m644 ${srcdir}/php-fpm.service ${pkgdir}/usr/lib/systemd/system/php-fpm.service
 }
 
 package_php-embed() {
 	pkgdesc='Embedded PHP SAPI library'
-	depends=('php')
+	depends=('php' 'libsystemd')
+	options=('!emptydirs')
 
-	install -D -m755 ${srcdir}/build-embed/libs/libphp5.so ${pkgdir}/usr/lib/libphp5.so
-	install -D -m644 ${srcdir}/${pkgbase}-${pkgver}/sapi/embed/php_embed.h ${pkgdir}/usr/include/php/sapi/embed/php_embed.h
+	cd ${srcdir}/build
+	make -j1 INSTALL_ROOT=${pkgdir} PHP_SAPI=embed install-sapi
 }
 
 package_php-phpdbg() {
 	pkgdesc='Interactive PHP debugger'
 	depends=('php')
+	options=('!emptydirs')
 
-	install -D -m755 ${srcdir}/build-phpdbg/sapi/phpdbg/phpdbg ${pkgdir}/usr/bin/phpdbg
+	cd ${srcdir}/build-phpdbg
+	make -j1 INSTALL_ROOT=${pkgdir} install-phpdbg
 }
 
-package_php-pear() {
-	pkgdesc='PHP Extension and Application Repository'
-	depends=('php')
-	backup=('etc/php/pear.conf')
+package_php-dblib() {
+	pkgdesc='dblib module for PHP'
+	depends=('php' 'freetds')
 
-	cd ${srcdir}/build-pear
-	make install-pear INSTALL_ROOT=${pkgdir}
-	rm -rf ${pkgdir}/usr/share/pear/.{channels,depdb,depdblock,filemap,lock,registry}
+	install -D -m755 ${srcdir}/build/modules/pdo_dblib.so ${pkgdir}/usr/lib/php/modules/pdo_dblib.so
 }
 
 package_php-enchant() {
 	pkgdesc='enchant module for PHP'
 	depends=('php' 'enchant')
 
-	install -D -m755 ${srcdir}/build-php/modules/enchant.so ${pkgdir}/usr/lib/php/modules/enchant.so
+	install -D -m755 ${srcdir}/build/modules/enchant.so ${pkgdir}/usr/lib/php/modules/enchant.so
 }
 
 package_php-gd() {
 	pkgdesc='gd module for PHP'
 	depends=('php' 'gd')
 
-	install -D -m755 ${srcdir}/build-php/modules/gd.so ${pkgdir}/usr/lib/php/modules/gd.so
+	install -D -m755 ${srcdir}/build/modules/gd.so ${pkgdir}/usr/lib/php/modules/gd.so
 }
 
 package_php-imap() {
 	pkgdesc='imap module for PHP'
 	depends=('php' 'c-client')
 
-	install -D -m755 ${srcdir}/build-php/modules/imap.so ${pkgdir}/usr/lib/php/modules/imap.so
+	install -D -m755 ${srcdir}/build/modules/imap.so ${pkgdir}/usr/lib/php/modules/imap.so
 }
 
 package_php-intl() {
 	pkgdesc='intl module for PHP'
 	depends=('php' 'icu')
 
-	install -D -m755 ${srcdir}/build-php/modules/intl.so ${pkgdir}/usr/lib/php/modules/intl.so
+	install -D -m755 ${srcdir}/build/modules/intl.so ${pkgdir}/usr/lib/php/modules/intl.so
 }
 
-package_php-ldap() {
-	pkgdesc='ldap module for PHP'
-	depends=('php' 'libldap')
-
-	install -D -m755 ${srcdir}/build-php/modules/ldap.so ${pkgdir}/usr/lib/php/modules/ldap.so
-}
-
-package_php-mcrypt() {
-	pkgdesc='mcrypt module for PHP'
-	depends=('php' 'libmcrypt' 'libltdl')
-
-	install -D -m755 ${srcdir}/build-php/modules/mcrypt.so ${pkgdir}/usr/lib/php/modules/mcrypt.so
-}
-
-package_php-mssql() {
-	pkgdesc='mssql module for PHP'
-	depends=('php' 'freetds')
+package_php-sodium() {
+	pkgdesc='sodium module for PHP'
+	depends=('php' 'libsodium')
 
-	install -D -m755 ${srcdir}/build-php/modules/mssql.so ${pkgdir}/usr/lib/php/modules/mssql.so
+	install -D -m755 ${srcdir}/build/modules/sodium.so ${pkgdir}/usr/lib/php/modules/sodium.so
 }
 
 package_php-odbc() {
 	pkgdesc='ODBC modules for PHP'
 	depends=('php' 'unixodbc')
 
-	install -D -m755 ${srcdir}/build-php/modules/odbc.so ${pkgdir}/usr/lib/php/modules/odbc.so
-	install -D -m755 ${srcdir}/build-php/modules/pdo_odbc.so ${pkgdir}/usr/lib/php/modules/pdo_odbc.so
+	install -D -m755 ${srcdir}/build/modules/odbc.so ${pkgdir}/usr/lib/php/modules/odbc.so
+	install -D -m755 ${srcdir}/build/modules/pdo_odbc.so ${pkgdir}/usr/lib/php/modules/pdo_odbc.so
 }
 
 package_php-pgsql() {
 	pkgdesc='PostgreSQL modules for PHP'
 	depends=('php' 'postgresql-libs')
 
-	install -D -m755 ${srcdir}/build-php/modules/pgsql.so ${pkgdir}/usr/lib/php/modules/pgsql.so
-	install -D -m755 ${srcdir}/build-php/modules/pdo_pgsql.so ${pkgdir}/usr/lib/php/modules/pdo_pgsql.so
+	install -D -m755 ${srcdir}/build/modules/pgsql.so ${pkgdir}/usr/lib/php/modules/pgsql.so
+	install -D -m755 ${srcdir}/build/modules/pdo_pgsql.so ${pkgdir}/usr/lib/php/modules/pdo_pgsql.so
 }
 
 package_php-pspell() {
 	pkgdesc='pspell module for PHP'
 	depends=('php' 'aspell')
 
-	install -D -m755 ${srcdir}/build-php/modules/pspell.so ${pkgdir}/usr/lib/php/modules/pspell.so
+	install -D -m755 ${srcdir}/build/modules/pspell.so ${pkgdir}/usr/lib/php/modules/pspell.so
 }
 
 package_php-snmp() {
 	pkgdesc='snmp module for PHP'
 	depends=('php' 'net-snmp')
 
-	install -D -m755 ${srcdir}/build-php/modules/snmp.so ${pkgdir}/usr/lib/php/modules/snmp.so
+	install -D -m755 ${srcdir}/build/modules/snmp.so ${pkgdir}/usr/lib/php/modules/snmp.so
 }
 
 package_php-sqlite() {
 	pkgdesc='sqlite module for PHP'
 	depends=('php' 'sqlite')
 
-	install -D -m755 ${srcdir}/build-php/modules/sqlite3.so ${pkgdir}/usr/lib/php/modules/sqlite3.so
-	install -D -m755 ${srcdir}/build-php/modules/pdo_sqlite.so ${pkgdir}/usr/lib/php/modules/pdo_sqlite.so
+	install -D -m755 ${srcdir}/build/modules/sqlite3.so ${pkgdir}/usr/lib/php/modules/sqlite3.so
+	install -D -m755 ${srcdir}/build/modules/pdo_sqlite.so ${pkgdir}/usr/lib/php/modules/pdo_sqlite.so
 }
 
 package_php-tidy() {
 	pkgdesc='tidy module for PHP'
 	depends=('php' 'tidy')
 
-	install -D -m755 ${srcdir}/build-php/modules/tidy.so ${pkgdir}/usr/lib/php/modules/tidy.so
+	install -D -m755 ${srcdir}/build/modules/tidy.so ${pkgdir}/usr/lib/php/modules/tidy.so
 }
 
 package_php-xsl() {
 	pkgdesc='xsl module for PHP'
 	depends=('php' 'libxslt')
 
-	install -D -m755 ${srcdir}/build-php/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so
+	install -D -m755 ${srcdir}/build/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so
 }
-md5sums=('68753955a8964ae49064c6424f81eb3e'
+md5sums=('8266120cf6500a96f1ba335d9ef1e01b'
          'SKIP'
-         '8da5e525fcbea84adf54ba2da15e25f0'
-         '4ecf586ef1597aa5eb977573954b5d21'
-         'dec2cbaad64e3abf4f0ec70e1de4e8e9'
-         '16b5e2e4da59f15bea4c2db78a7bc8dc'
-         '25bc67ad828e8147a817410b68d8016c'
-         'cc2940f5312ba42e7aa1ddfab74b84c4'
-         'c60343df74f8e1afb13b084d5c0e47ed')
+         '13cda50a6a420d04ddc26935ded3164e'
+         '0677a10d2e721472d6fccb470356b322'
+         '6505b11a92265cd6563119f8a2e047aa'
+         'c60343df74f8e1afb13b084d5c0e47ed'
+         'e034326b07074eaabf45b43c30f8d5fa'
+         'c25450566a6d88427c02d1647984d3c7'
+         'e3883dce91ed21e23a3d7ae9fa80216d')
diff --git a/abs/core/php/__changelog b/abs/core/php/__changelog
index 7419a02..603981d 100644
--- a/abs/core/php/__changelog
+++ b/abs/core/php/__changelog
@@ -1,8 +1,7 @@
-PKGBUILD: package_php: add deps 'php-gd' 'php-mcrypt' since we have them in linhes.ini
+PKGBUILD: package_php: add deps 'php-gd' since we have them in linhes.ini
 PKGBUILD: package_php: comment out backup=('etc/php/php.ini')
-PKGBUILD: change dep tidyhtml to tidy
-PKGBUILD: add linhes.ini and put it in /etc/php/conf.d/
-php.ini.patch: open_basedir  commented out
+PKGBUILD: package_php: add linhes.ini and put it in /etc/php/conf.d/
+          install -D -m644 ${srcdir}/linhes.ini ${pkgdir}/etc/php/conf.d/linhes.ini
 
 PKGBUILD: add php.install:
 post_upgrade & post_install
diff --git a/abs/core/php/apache.conf b/abs/core/php/apache.conf
index c3ca0aa..b516b5e 100644
--- a/abs/core/php/apache.conf
+++ b/abs/core/php/apache.conf
@@ -1,7 +1,7 @@
-# Required modules: dir_module, php5_module
+# Required modules: dir_module, php7_module
 
 <IfModule dir_module>
-	<IfModule php5_module>
+	<IfModule php7_module>
 		DirectoryIndex index.php index.html
 		<FilesMatch "\.php$">
 			SetHandler application/x-httpd-php
diff --git a/abs/core/php/apache.patch b/abs/core/php/apache.patch
new file mode 100644
index 0000000..81b2cd8
--- /dev/null
+++ b/abs/core/php/apache.patch
@@ -0,0 +1,20 @@
+--- sapi/apache2handler/config.m4.orig
++++ sapi/apache2handler/config.m4
+@@ -122,7 +122,6 @@
+       PHP_BUILD_THREAD_SAFE
+     fi
+   else
+-    APACHE_THREADED_MPM=`$APXS_HTTPD -V | grep 'threaded:.*yes'`
+     if test -n "$APACHE_THREADED_MPM"; then
+       PHP_BUILD_THREAD_SAFE
+     fi
+--- configure.orig
++++ configure
+@@ -7018,7 +7018,6 @@
+ 
+     fi
+   else
+-    APACHE_THREADED_MPM=`$APXS_HTTPD -V | grep 'threaded:.*yes'`
+     if test -n "$APACHE_THREADED_MPM"; then
+ 
+   enable_maintainer_zts=yes
diff --git a/abs/core/php/enchant-2.patch b/abs/core/php/enchant-2.patch
new file mode 100644
index 0000000..93c0ce5
--- /dev/null
+++ b/abs/core/php/enchant-2.patch
@@ -0,0 +1,84 @@
+--- php-7.1.13/ext/enchant/config.m4.orig	2018-01-03 02:32:29.000000000 +0000
++++ php-7.1.13/ext/enchant/config.m4	2018-01-21 22:10:03.788875780 +0000
+@@ -14,9 +14,9 @@
+ 	    ENCHANT_SEARCH_DIRS="/usr/local /usr"
+ 	fi
+ 	for i in $ENCHANT_SEARCH_DIRS; do
+-		if test -f $i/include/enchant/enchant.h; then
++		if test -f $i/include/enchant-2/enchant.h; then
+ 			ENCHANT_DIR=$i
+-			ENCHANT_INCDIR=$i/include/enchant
++			ENCHANT_INCDIR=$i/include/enchant-2
+ 		elif test -f $i/include/enchant.h; then
+ 			ENCHANT_DIR=$i
+ 			ENCHANT_INCDIR=$i/include
+@@ -31,7 +31,7 @@
+ 
+ 	AC_DEFINE(HAVE_ENCHANT,1,[ ])
+ 	PHP_SUBST(ENCHANT_SHARED_LIBADD)
+-	PHP_ADD_LIBRARY_WITH_PATH(enchant, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD)
++	PHP_ADD_LIBRARY_WITH_PATH(enchant-2, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD)
+ 	PHP_ADD_INCLUDE($ENCHANT_INCDIR)
+ 	PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param,
+ 	[
+--- php-7.1.13/configure.orig	2018-01-21 22:03:51.494656374 +0000
++++ php-7.1.13/configure	2018-01-21 22:12:35.932571143 +0000
+@@ -29838,9 +29838,9 @@
+ 	    ENCHANT_SEARCH_DIRS="/usr/local /usr"
+ 	fi
+ 	for i in $ENCHANT_SEARCH_DIRS; do
+-		if test -f $i/include/enchant/enchant.h; then
++		if test -f $i/include/enchant-2/enchant.h; then
+ 			ENCHANT_DIR=$i
+-			ENCHANT_INCDIR=$i/include/enchant
++			ENCHANT_INCDIR=$i/include/enchant-2
+ 		elif test -f $i/include/enchant.h; then
+ 			ENCHANT_DIR=$i
+ 			ENCHANT_INCDIR=$i/include
+@@ -29862,7 +29862,7 @@
+ 
+ 
+   if test "$ext_shared" = "yes"; then
+-    ENCHANT_SHARED_LIBADD="-lenchant $ENCHANT_SHARED_LIBADD"
++    ENCHANT_SHARED_LIBADD="-lenchant-2 $ENCHANT_SHARED_LIBADD"
+     if test -n "$ENCHANT_LIBDIR"; then
+ 
+   if test "$ENCHANT_LIBDIR" != "/usr/$PHP_LIBDIR" && test "$ENCHANT_LIBDIR" != "/usr/lib"; then
+--- php-7.2.1/ext/enchant/enchant.c.orig	2018-01-02 22:36:05.000000000 +0000
++++ php-7.2.1/ext/enchant/enchant.c	2018-01-21 22:34:50.205791491 +0000
+@@ -741,7 +741,7 @@
+ 			for (i = 0; i < n_sugg; i++) {
+ 				add_next_index_string(sugg, suggs[i]);
+ 			}
+-			enchant_dict_free_suggestions(pdict->pdict, suggs);
++			enchant_dict_free_string_list(pdict->pdict, suggs);
+ 		}
+ 
+ 
+@@ -798,7 +798,7 @@
+ 			add_next_index_string(return_value, suggs[i]);
+ 		}
+ 
+-		enchant_dict_free_suggestions(pdict->pdict, suggs);
++		enchant_dict_free_string_list(pdict->pdict, suggs);
+ 	}
+ }
+ /* }}} */
+@@ -818,7 +818,7 @@
+ 
+ 	PHP_ENCHANT_GET_DICT;
+ 
+-	enchant_dict_add_to_personal(pdict->pdict, word, wordlen);
++	enchant_dict_add(pdict->pdict, word, wordlen);
+ }
+ /* }}} */
+ 
+@@ -856,7 +856,7 @@
+ 
+ 	PHP_ENCHANT_GET_DICT;
+ 
+-	RETURN_BOOL(enchant_dict_is_in_session(pdict->pdict, word, wordlen));
++	RETURN_BOOL(enchant_dict_is_added(pdict->pdict, word, wordlen));
+ }
+ /* }}} */
+ 
diff --git a/abs/core/php/linhes.ini b/abs/core/php/linhes.ini
index a85a5ef..8883064 100644
--- a/abs/core/php/linhes.ini
+++ b/abs/core/php/linhes.ini
@@ -12,7 +12,7 @@
 error_log = syslog
 
 ; How many GET/POST/COOKIE input variables may be accepted
-max_input_vars = 3000
+max_input_vars = 6000
 
 ; This directive determines whether or not PHP will recognize code between
 ; <? and ?> tags as PHP source which should be processed as such. It is
diff --git a/abs/core/php/logrotate.d.php-fpm b/abs/core/php/logrotate.d.php-fpm
deleted file mode 100644
index 2146ddd..0000000
--- a/abs/core/php/logrotate.d.php-fpm
+++ /dev/null
@@ -1,8 +0,0 @@
-/var/log/php-fpm.log {
-	missingok
-	notifempty
-	delaycompress
-	postrotate
-		/bin/kill -SIGUSR1 `cat /run/php-fpm/php-fpm.pid 2>/dev/null` 2>/dev/null || true
-	endscript
-}
diff --git a/abs/core/php/php-fpm.conf.in.patch b/abs/core/php/php-fpm.conf.in.patch
deleted file mode 100644
index f9721a1..0000000
--- a/abs/core/php/php-fpm.conf.in.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- sapi/fpm/php-fpm.conf.in	2015-01-21 01:40:37.000000000 +0100
-+++ sapi/fpm/php-fpm.conf.in	2015-01-22 16:22:09.076969777 +0100
-@@ -12,7 +12,7 @@
- ; Relative path can also be used. They will be prefixed by:
- ;  - the global prefix if it's been set (-p argument)
- ;  - @prefix@ otherwise
--;include=etc/fpm.d/*.conf
-+;include=/etc/php/fpm.d/*.conf
- 
- ;;;;;;;;;;;;;;;;;;
- ; Global Options ;
-@@ -22,7 +22,7 @@
- ; Pid file
- ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@
- ; Default Value: none
--;pid = run/php-fpm.pid
-+pid = /run/php-fpm/php-fpm.pid
- 
- ; Error log file
- ; If it's set to "syslog", log is sent to syslogd instead of being written
-@@ -161,7 +161,8 @@
- ;                            (IPv6 and IPv4-mapped) on a specific port;
- ;   '/path/to/unix/socket' - to listen on a unix socket.
- ; Note: This value is mandatory.
--listen = 127.0.0.1:9000
-+;listen = 127.0.0.1:9000
-+listen = /run/php-fpm/php-fpm.sock
- 
- ; Set listen(2) backlog.
- ; Default Value: 65535 (-1 on FreeBSD and OpenBSD)
-@@ -172,9 +173,9 @@
- ; BSD-derived systems allow connections regardless of permissions. 
- ; Default Values: user and group are set as the running user
- ;                 mode is set to 0660
--;listen.owner = @php_fpm_user@
--;listen.group = @php_fpm_group@
--;listen.mode = 0660
-+listen.owner = @php_fpm_user@
-+listen.group = @php_fpm_group@
-+listen.mode = 0660
- ; When POSIX Access Control Lists are supported you can set them using
- ; these options, value is a comma separated list of user/group names.
- ; When set, listen.owner and listen.group are ignored
-@@ -476,7 +477,7 @@
- ; Chdir to this directory at the start.
- ; Note: relative path can be used.
- ; Default Value: current directory or / when chroot
--;chdir = /var/www
-+;chdir = /srv/http
-  
- ; Redirect worker stdout and stderr into main error log. If not set, stdout and
- ; stderr will be redirected to /dev/null according to FastCGI specs.
diff --git a/abs/core/php/php-fpm.install b/abs/core/php/php-fpm.install
deleted file mode 100644
index 3572a76..0000000
--- a/abs/core/php/php-fpm.install
+++ /dev/null
@@ -1,9 +0,0 @@
-post_install() {
-	if [[ ! -d run/php-fpm ]]; then
-		usr/bin/systemd-tmpfiles --create php-fpm.conf
-	fi
-}
-
-post_upgrade() {
-	post_install
-}
diff --git a/abs/core/php/php-fpm.service b/abs/core/php/php-fpm.service
index 6e2faaf..8afb974 100644
--- a/abs/core/php/php-fpm.service
+++ b/abs/core/php/php-fpm.service
@@ -1,12 +1,12 @@
 [Unit]
-Description=The PHP FastCGI Process Manager
+Description=The PHP 5.6 FastCGI Process Manager
 After=syslog.target network.target
 
 [Service]
 Type=notify
-PIDFile=/run/php-fpm/php-fpm.pid
+PIDFile=/run/php56-fpm/php-fpm.pid
 PrivateTmp=true
-ExecStart=/usr/bin/php-fpm --nodaemonize --pid /run/php-fpm/php-fpm.pid
+ExecStart=/usr/bin/php56-fpm --nodaemonize --pid /run/php56-fpm/php-fpm.pid
 ExecReload=/bin/kill -USR2 $MAINPID
 
 [Install]
diff --git a/abs/core/php/php.ini.patch b/abs/core/php/php.ini.patch
index 9a904f9..e0248fc 100644
--- a/abs/core/php/php.ini.patch
+++ b/abs/core/php/php.ini.patch
@@ -1,24 +1,6 @@
---- php.ini-production	2015-01-21 01:40:37.000000000 +0100
-+++ php.ini-production	2015-01-22 16:23:17.311890258 +0100
-@@ -295,7 +295,7 @@
- ; and below.  This directive makes most sense if used in a per-directory
- ; or per-virtualhost web server configuration file.
- ; http://php.net/open-basedir
--;open_basedir =
-+;open_basedir = /srv/http/:/home/:/tmp/:/usr/share/php/pear/:/usr/share/webapps/
- 
- ; This directive allows you to disable certain functions for security reasons.
- ; It receives a comma-delimited list of function names.
-@@ -708,7 +708,7 @@
- ;;;;;;;;;;;;;;;;;;;;;;;;;
- 
- ; UNIX: "/path1:/path2"
--;include_path = ".:/php/includes"
-+include_path = ".:/usr/share/php/pear"
- ;
- ; Windows: "\path1;\path2"
- ;include_path = ".;c:\php\includes"
-@@ -731,7 +731,7 @@
+--- php.ini-production.orig
++++ php.ini-production
+@@ -734,7 +734,7 @@
  
  ; Directory in which the loadable extensions (modules) reside.
  ; http://php.net/extension-dir
@@ -27,94 +9,70 @@
  ; On windows:
  ; extension_dir = "ext"
  
-@@ -869,48 +869,48 @@
- ; If you only provide the name of the extension, PHP will look for it in its
- ; default extension directory.
+@@ -883,47 +883,44 @@
+ ; deprecated in a future PHP major version. So, when it is possible, please
+ ; move to the new ('extension=<ext>) syntax.
  ;
--; Windows Extensions
--; Note that ODBC support is built in, so no dll is needed for it.
--; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
--; extension folders as well as the separate PECL DLL download (PHP 5).
--; Be sure to appropriately set the extension_dir directive.
+-; Notes for Windows environments :
+-;
+-; - ODBC support is built in, so no dll is needed for it.
+-; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
+-;   extension folders as well as the separate PECL DLL download (PHP 5+).
+-;   Be sure to appropriately set the extension_dir directive.
 -;
--;extension=php_bz2.dll
--;extension=php_curl.dll
--;extension=php_fileinfo.dll
--;extension=php_gd2.dll
--;extension=php_gettext.dll
--;extension=php_gmp.dll
--;extension=php_intl.dll
--;extension=php_imap.dll
--;extension=php_interbase.dll
--;extension=php_ldap.dll
--;extension=php_mbstring.dll
--;extension=php_exif.dll      ; Must be after mbstring as it depends on it
--;extension=php_mysql.dll
--;extension=php_mysqli.dll
--;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
--;extension=php_openssl.dll
--;extension=php_pdo_firebird.dll
--;extension=php_pdo_mysql.dll
--;extension=php_pdo_oci.dll
--;extension=php_pdo_odbc.dll
--;extension=php_pdo_pgsql.dll
--;extension=php_pdo_sqlite.dll
--;extension=php_pgsql.dll
--;extension=php_shmop.dll
++;extension=bcmath
+ ;extension=bz2
+-;extension=curl
+-;extension=fileinfo
+-;extension=gd2
++;extension=calendar
++extension=curl
++;extension=dba
++;extension=enchant
++;extension=exif
++;extension=ftp
++;extension=gd
+ ;extension=gettext
+ ;extension=gmp
+-;extension=intl
++;extension=iconv
+ ;extension=imap
+-;extension=interbase
++;extension=intl
++;extension=sodium
+ ;extension=ldap
+-;extension=mbstring
+-;extension=exif      ; Must be after mbstring as it depends on it
+ ;extension=mysqli
+-;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
+-;extension=openssl
+-;extension=pdo_firebird
++;extension=odbc
++;zend_extension=opcache
++;extension=pdo_dblib
+ ;extension=pdo_mysql
+-;extension=pdo_oci
+ ;extension=pdo_odbc
+ ;extension=pdo_pgsql
+ ;extension=pdo_sqlite
+ ;extension=pgsql
++;extension=pspell
+ ;extension=shmop
 -
--; The MIBS data available in the PHP distribution must be installed. 
--; See http://www.php.net/manual/en/snmp.installation.php 
--;extension=php_snmp.dll
+-; The MIBS data available in the PHP distribution must be installed.
+-; See http://www.php.net/manual/en/snmp.installation.php
+ ;extension=snmp
 -
--;extension=php_soap.dll
--;extension=php_sockets.dll
--;extension=php_sqlite3.dll
--;extension=php_sybase_ct.dll
--;extension=php_tidy.dll
--;extension=php_xmlrpc.dll
--;extension=php_xsl.dll
-+;extension=bcmath.so
-+;extension=bz2.so
-+;extension=calendar.so
-+extension=curl.so
-+;extension=dba.so
-+;extension=enchant.so
-+;extension=exif.so
-+;extension=ftp.so
-+;extension=gd.so
-+;extension=gettext.so
-+;extension=gmp.so
-+;extension=iconv.so
-+;extension=imap.so
-+;extension=intl.so
-+;extension=ldap.so
-+;extension=mcrypt.so
-+;extension=mssql.so
-+;extension=mysql.so
-+;extension=mysqli.so
-+;extension=odbc.so
-+;zend_extension=opcache.so
-+;extension=openssl.so
-+;extension=pdo_mysql.so
-+;extension=pdo_odbc.so
-+;extension=pdo_pgsql.so
-+;extension=pdo_sqlite.so
-+;extension=pgsql.so
-+;extension=phar.so
-+;extension=posix.so
-+;extension=pspell.so
-+;extension=shmop.so
-+;extension=snmp.so
-+;extension=soap.so
-+;extension=sockets.so
-+;extension=sqlite3.so
-+;extension=sysvmsg.so
-+;extension=sysvsem.so
-+;extension=sysvshm.so
-+;extension=tidy.so
-+;extension=xmlrpc.so
-+;extension=xsl.so
-+;extension=zip.so
+ ;extension=soap
+ ;extension=sockets
+ ;extension=sqlite3
++;extension=sysvmsg
++;extension=sysvsem
++;extension=sysvshm
+ ;extension=tidy
+ ;extension=xmlrpc
+ ;extension=xsl
++extension=zip
  
  ;;;;;;;;;;;;;;;;;;;
  ; Module Settings ;
-- 
cgit v0.12

