From da5bc04aaa40ded396de6030ebc723c4299612a8 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Mon, 10 Aug 2015 16:59:36 +0000
Subject: php: update to 5.6.12

---
 abs/core/php/PKGBUILD              | 55 +++++++++++++++++++++++++++-----------
 abs/core/php/__changelog           |  2 ++
 abs/core/php/php-fpm.conf.in.patch | 18 ++++++-------
 abs/core/php/php.ini.patch         | 32 +++++++++++++---------
 4 files changed, 70 insertions(+), 37 deletions(-)

diff --git a/abs/core/php/PKGBUILD b/abs/core/php/PKGBUILD
index d20dc55..cccb505 100644
--- a/abs/core/php/PKGBUILD
+++ b/abs/core/php/PKGBUILD
@@ -11,6 +11,7 @@ pkgname=('php'
          'php-pear'
          'php-enchant'
          'php-gd'
+         'php-imap'
          'php-intl'
          'php-ldap'
          'php-mcrypt'
@@ -22,19 +23,22 @@ pkgname=('php'
          'php-sqlite'
          'php-tidy'
          'php-xsl')
-pkgver=5.6.3
-pkgrel=3
+pkgver=5.6.12
+pkgrel=2
 arch=('i686' 'x86_64')
 license=('PHP')
 url='http://www.php.net'
-makedepends=('apache' 'imap' 'postgresql-libs' 'libldap' 'postfix'
+makedepends=('apache' 'c-client' 'postgresql-libs' 'libldap' 'postfix'
              'sqlite' 'unixodbc' 'net-snmp' 'libzip' 'enchant' 'file' 'freetds'
              'libmcrypt' 'tidyhtml' 'aspell' 'libltdl' 'gd' 'icu'
              'curl' 'libxslt' 'openssl' 'db' 'gmp' 'systemd')
+checkdepends=('procps-ng')
 source=("http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.xz"
         "http://www.php.net/distributions/${pkgbase}-${pkgver}.tar.xz.asc"
         'php.ini.patch' 'apache.conf' 'php-fpm.conf.in.patch'
         'logrotate.d.php-fpm' 'php-fpm.service' 'php-fpm.tmpfiles')
+validpgpkeys=('6E4F6AB321FDC07F2C332E3AC2BF0BC433CFC8B3'
+              '0BD78B5F97500D450838F95DFE857D9A90D90EC1')
 
 prepare() {
 	cd ${srcdir}/${pkgbase}-${pkgver}
@@ -94,6 +98,7 @@ build() {
 		--with-icu-dir=/usr \
 		--with-imap-ssl \
 		--with-imap=shared \
+		--with-kerberos=/usr \
 		--with-jpeg-dir=/usr \
 		--with-vpx-dir=/usr \
 		--with-ldap=shared \
@@ -203,19 +208,28 @@ build() {
 	make
 }
 
-# check() {
-# 	cd ${srcdir}/build-php
-# 	export SNMP_TIMEOUT=1
-# 	export SNMP_RETRIES=0
-# 	export NO_INTERACTION=1
-# 	make test
-# 	echo
-# }
+check() {
+	# tests on i686 fail
+	[[ $CARCH == 'i686' ]] && return
+
+	cd ${srcdir}/build-php
+
+	export REPORT_EXIT_STATUS=1
+	export NO_INTERACTION=1
+	export SKIP_ONLINE_TESTS=1
+	export SKIP_SLOW_TESTS=1
+
+	sapi/cli/php -n \
+		${srcdir}/${pkgbase}-${pkgver}/run-tests.php -n -P \
+		${srcdir}/${pkgbase}-${pkgver}/{Zend,ext/{date,pcre,spl,standard},sapi/cli}
+
+	echo
+}
 
 package_php() {
 	pkgdesc='An HTML-embedded scripting language'
 	depends=('pcre' 'libxml2' 'curl' 'libzip' 'php-gd' 'php-mcrypt')
-	backup=('etc/php/php.ini')
+	#backup=('etc/php/php.ini')
     install='php.install'
 
 	cd ${srcdir}/build-php
@@ -228,9 +242,11 @@ package_php() {
 	# 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,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,ldap,mcrypt,mssql,odbc,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so
 	# remove empty directory
 	rmdir ${pkgdir}/usr/include/php/include
+	# fix broken link
+	ln -sf phar.phar ${pkgdir}/usr/bin/phar
 }
 
 package_php-cgi() {
@@ -303,6 +319,13 @@ package_php-gd() {
 	install -D -m755 ${srcdir}/build-php/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
+}
+
 package_php-intl() {
 	pkgdesc='intl module for PHP'
 	depends=('php' 'icu')
@@ -382,11 +405,11 @@ package_php-xsl() {
 
 	install -D -m755 ${srcdir}/build-php/modules/xsl.so ${pkgdir}/usr/lib/php/modules/xsl.so
 }
-md5sums=('7635f344145a4edd7dff6ecec795aaea'
+md5sums=('f2cc602602eb2b121779f2c4b8bacaba'
          'SKIP'
-         'b1088bdc55787f55019a2853e28dff84'
+         '943f882a55c0a6a7b3e5616c7dbbd7a8'
          'dec2cbaad64e3abf4f0ec70e1de4e8e9'
-         '6bc1fc4ceee039d21ff3b56aa845cc5a'
+         '16b5e2e4da59f15bea4c2db78a7bc8dc'
          '25bc67ad828e8147a817410b68d8016c'
          'cc2940f5312ba42e7aa1ddfab74b84c4'
          'c60343df74f8e1afb13b084d5c0e47ed')
diff --git a/abs/core/php/__changelog b/abs/core/php/__changelog
index 43aa7f6..69c2edd 100644
--- a/abs/core/php/__changelog
+++ b/abs/core/php/__changelog
@@ -1,8 +1,10 @@
 PKGBUILD: package_php: add deps 'php-gd' 'php-mcrypt' since we have them in php.ini
+PKGBUILD: package_php: comment out backup=('etc/php/php.ini')
 
 php.ini.patch: short_open_tags = On
 php.ini.patch: open_basedir  commented out
 php.ini.patch: error_log = syslog  uncommented
+php.ini.patch: max_input_vars = 3000  uncomment and change to 3000
 php.ini.patch:
 ==> check and make sure these are uncommented:
     ==> "extension=ftp.so"
diff --git a/abs/core/php/php-fpm.conf.in.patch b/abs/core/php/php-fpm.conf.in.patch
index 81eabf7..f9721a1 100644
--- a/abs/core/php/php-fpm.conf.in.patch
+++ b/abs/core/php/php-fpm.conf.in.patch
@@ -1,5 +1,5 @@
---- sapi/fpm/php-fpm.conf.in	2014-04-29 10:04:30.000000000 +0200
-+++ sapi/fpm/php-fpm.conf.in	2014-05-01 07:36:14.762839158 +0200
+--- 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)
@@ -18,8 +18,8 @@
  
  ; Error log file
  ; If it's set to "syslog", log is sent to syslogd instead of being written
-@@ -156,7 +156,8 @@
- ;                            specific port;
+@@ -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
@@ -28,7 +28,7 @@
  
  ; Set listen(2) backlog.
  ; Default Value: 65535 (-1 on FreeBSD and OpenBSD)
-@@ -167,9 +168,9 @@
+@@ -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
@@ -38,10 +38,10 @@
 +listen.owner = @php_fpm_user@
 +listen.group = @php_fpm_group@
 +listen.mode = 0660
-  
- ; List of ipv4 addresses of FastCGI clients which are allowed to connect.
- ; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
-@@ -466,7 +467,7 @@
+ ; 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
diff --git a/abs/core/php/php.ini.patch b/abs/core/php/php.ini.patch
index 920553e..719de92 100644
--- a/abs/core/php/php.ini.patch
+++ b/abs/core/php/php.ini.patch
@@ -1,5 +1,5 @@
---- php.ini-production.orig	2014-12-08 15:38:39.686053082 +0000
-+++ php.ini-production	2015-04-15 12:09:34.685705719 +0000
+--- php.ini-production.orig	2015-08-10 15:05:42.669490715 +0000
++++ php.ini-production	2015-08-10 16:19:56.874447768 +0000
 @@ -199,7 +199,7 @@
  ; Development Value: Off
  ; Production Value: Off
@@ -9,16 +9,25 @@
  
  ; Allow ASP-style <% %> tags.
  ; http://php.net/asp-tags
-@@ -296,7 +296,7 @@
- ; or per-virtualhost web server configuration file. This directive is
- ; *NOT* affected by whether Safe Mode is turned On or Off.
+@@ -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/pear/:/usr/share/webapps/
  
  ; This directive allows you to disable certain functions for security reasons.
- ; It receives a comma-delimited list of function names. This directive is
-@@ -574,7 +574,7 @@
+ ; It receives a comma-delimited list of function names.
+@@ -386,7 +386,7 @@
+ ;max_input_nesting_level = 64
+ 
+ ; How many GET/POST/COOKIE input variables may be accepted
+-; max_input_vars = 1000
++max_input_vars = 3000
+ 
+ ; Maximum amount of memory a script may consume (128MB)
+ ; http://php.net/memory-limit
+@@ -571,7 +571,7 @@
  ; Example:
  ;error_log = php_errors.log
  ; Log errors to syslog (Event Log on Windows).
@@ -27,7 +36,7 @@
  
  ;windows.show_crt_warning
  ; Default value: 0
-@@ -709,7 +709,7 @@
+@@ -708,7 +708,7 @@
  ;;;;;;;;;;;;;;;;;;;;;;;;;
  
  ; UNIX: "/path1:/path2"
@@ -36,7 +45,7 @@
  ;
  ; Windows: "\path1;\path2"
  ;include_path = ".;c:\php\includes"
-@@ -732,7 +732,7 @@
+@@ -731,7 +731,7 @@
  
  ; Directory in which the loadable extensions (modules) reside.
  ; http://php.net/extension-dir
@@ -45,7 +54,7 @@
  ; On windows:
  ; extension_dir = "ext"
  
-@@ -870,49 +870,48 @@
+@@ -869,48 +869,48 @@
  ; If you only provide the name of the extension, PHP will look for it in its
  ; default extension directory.
  ;
@@ -78,7 +87,6 @@
 -;extension=php_pdo_pgsql.dll
 -;extension=php_pdo_sqlite.dll
 -;extension=php_pgsql.dll
--;extension=php_pspell.dll
 -;extension=php_shmop.dll
 -
 -; The MIBS data available in the PHP distribution must be installed. 
@@ -114,7 +122,7 @@
 +;extension=odbc.so
 +;zend_extension=opcache.so
 +extension=openssl.so
-+extension=pdo_mysql.so
++;extension=pdo_mysql.so
 +;extension=pdo_odbc.so
 +;extension=pdo_pgsql.so
 +;extension=pdo_sqlite.so
-- 
cgit v0.12

