summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Mk/bsd.php.mk6
-rw-r--r--archivers/Makefile4
-rw-r--r--archivers/php56-bz2/Makefile10
-rw-r--r--archivers/php56-phar/Makefile10
-rw-r--r--archivers/php56-phar/files/patch-config.m441
-rw-r--r--archivers/php56-phar/files/patch-phar.c11
-rw-r--r--archivers/php56-zip/Makefile10
-rw-r--r--archivers/php56-zlib/Makefile10
-rw-r--r--archivers/php56-zlib/files/patch-zlib.c10
-rw-r--r--converters/Makefile3
-rw-r--r--converters/php56-iconv/Makefile10
-rw-r--r--converters/php56-mbstring/Makefile10
-rw-r--r--converters/php56-mbstring/files/patch-config.m451
-rw-r--r--converters/php56-recode/Makefile10
-rw-r--r--databases/Makefile16
-rw-r--r--databases/php56-dba/Makefile10
-rw-r--r--databases/php56-dba/files/patch-config.m450
-rw-r--r--databases/php56-interbase/Makefile10
-rw-r--r--databases/php56-mssql/Makefile10
-rw-r--r--databases/php56-mysql/Makefile10
-rw-r--r--databases/php56-mysqli/Makefile10
-rw-r--r--databases/php56-mysqli/files/patch-php_mysqli_structs.h10
-rw-r--r--databases/php56-odbc/Makefile10
-rw-r--r--databases/php56-odbc/files/patch-config.m4124
-rw-r--r--databases/php56-pdo/Makefile10
-rw-r--r--databases/php56-pdo_dblib/Makefile10
-rw-r--r--databases/php56-pdo_firebird/Makefile10
-rw-r--r--databases/php56-pdo_mysql/Makefile10
-rw-r--r--databases/php56-pdo_odbc/Makefile10
-rw-r--r--databases/php56-pdo_pgsql/Makefile10
-rw-r--r--databases/php56-pdo_sqlite/Makefile11
-rw-r--r--databases/php56-pgsql/Makefile10
-rw-r--r--databases/php56-pgsql/files/patch-pgsql.c11
-rw-r--r--databases/php56-sqlite3/Makefile11
-rw-r--r--databases/php56-sybase_ct/Makefile10
-rw-r--r--devel/Makefile9
-rw-r--r--devel/php56-gettext/Makefile10
-rw-r--r--devel/php56-gettext/files/patch-config.m417
-rw-r--r--devel/php56-json/Makefile10
-rw-r--r--devel/php56-pcntl/Makefile10
-rw-r--r--devel/php56-readline/Makefile10
-rw-r--r--devel/php56-readline/files/patch-config.m438
-rw-r--r--devel/php56-readline/files/patch-readline_cli.c13
-rw-r--r--devel/php56-shmop/Makefile10
-rw-r--r--devel/php56-sysvmsg/Makefile10
-rw-r--r--devel/php56-sysvsem/Makefile10
-rw-r--r--devel/php56-sysvshm/Makefile10
-rw-r--r--devel/php56-tokenizer/Makefile10
-rw-r--r--ftp/Makefile2
-rw-r--r--ftp/php56-curl/Makefile10
-rw-r--r--ftp/php56-ftp/Makefile14
-rw-r--r--graphics/Makefile2
-rw-r--r--graphics/php56-exif/Makefile10
-rw-r--r--graphics/php56-gd/Makefile10
-rw-r--r--graphics/php56-gd/files/patch-config.m411
-rw-r--r--lang/Makefile2
-rw-r--r--lang/php5/Makefile2
-rw-r--r--lang/php55/Makefile2
-rw-r--r--lang/php56-extensions/Makefile129
-rw-r--r--lang/php56-extensions/pkg-descr7
-rw-r--r--lang/php56/Makefile213
-rw-r--r--lang/php56/Makefile.ext596
-rw-r--r--lang/php56/distinfo4
-rw-r--r--lang/php56/files/extra-patch-php-fpm-ipv6215
-rw-r--r--lang/php56/files/patch-TSRM_threads.m411
-rw-r--r--lang/php56/files/patch-Zend__zend.h11
-rw-r--r--lang/php56/files/patch-Zend_zend_list.c38
-rw-r--r--lang/php56/files/patch-Zend_zend_list.h24
-rw-r--r--lang/php56/files/patch-acinclude.m445
-rw-r--r--lang/php56/files/patch-configure.in53
-rw-r--r--lang/php56/files/patch-ext_standard_image.c50
-rw-r--r--lang/php56/files/patch-ext_zlib_config0.m411
-rw-r--r--lang/php56/files/patch-main__php_config.h.in12
-rw-r--r--lang/php56/files/patch-sapi_apache2filter_config.m411
-rw-r--r--lang/php56/files/patch-sapi_apache2handler_config.m411
-rw-r--r--lang/php56/files/patch-sapi_fpm_Makefile.frag12
-rw-r--r--lang/php56/files/patch-sapi_fpm_config.m420
-rw-r--r--lang/php56/files/patch-sapi_fpm_php-fpm.conf.in11
-rw-r--r--lang/php56/files/php-fpm.in43
-rw-r--r--lang/php56/pkg-descr8
-rw-r--r--lang/php56/pkg-message.mod14
-rw-r--r--lang/php56/pkg-plist268
-rw-r--r--lang/php56/pkg-plist.mod3
-rw-r--r--mail/Makefile1
-rw-r--r--mail/php56-imap/Makefile10
-rw-r--r--mail/php56-imap/files/patch-config.m442
-rw-r--r--math/Makefile2
-rw-r--r--math/php56-bcmath/Makefile10
-rw-r--r--math/php56-gmp/Makefile10
-rw-r--r--misc/Makefile1
-rw-r--r--misc/php56-calendar/Makefile10
-rw-r--r--net-mgmt/Makefile1
-rw-r--r--net-mgmt/php56-snmp/Makefile10
-rw-r--r--net/Makefile4
-rw-r--r--net/php56-ldap/Makefile10
-rw-r--r--net/php56-soap/Makefile10
-rw-r--r--net/php56-soap/files/patch-soap.c56
-rw-r--r--net/php56-sockets/Makefile10
-rw-r--r--net/php56-xmlrpc/Makefile10
-rw-r--r--net/php56-xmlrpc/files/patch-config.m423
-rw-r--r--security/Makefile4
-rw-r--r--security/php56-filter/Makefile10
-rw-r--r--security/php56-filter/files/patch-config.m410
-rw-r--r--security/php56-hash/Makefile10
-rw-r--r--security/php56-mcrypt/Makefile10
-rw-r--r--security/php56-openssl/Makefile10
-rw-r--r--sysutils/Makefile2
-rw-r--r--sysutils/php56-fileinfo/Makefile10
-rw-r--r--sysutils/php56-fileinfo/files/patch-config.m421
-rw-r--r--sysutils/php56-posix/Makefile10
-rw-r--r--sysutils/php56-posix/files/patch-posix.c38
-rw-r--r--textproc/Makefile9
-rw-r--r--textproc/php56-ctype/Makefile10
-rw-r--r--textproc/php56-dom/Makefile10
-rw-r--r--textproc/php56-pspell/Makefile11
-rw-r--r--textproc/php56-simplexml/Makefile10
-rw-r--r--textproc/php56-simplexml/files/patch-config.m443
-rw-r--r--textproc/php56-wddx/Makefile10
-rw-r--r--textproc/php56-wddx/files/patch-config.m422
-rw-r--r--textproc/php56-wddx/files/patch-wddx.c40
-rw-r--r--textproc/php56-xml/Makefile10
-rw-r--r--textproc/php56-xml/files/patch-compat.c13
-rw-r--r--textproc/php56-xmlreader/Makefile10
-rw-r--r--textproc/php56-xmlwriter/Makefile10
-rw-r--r--textproc/php56-xsl/Makefile10
-rw-r--r--textproc/php56-xsl/files/patch-php_xsl.h11
-rw-r--r--www/Makefile4
-rw-r--r--www/mod_php56/Makefile16
-rw-r--r--www/php56-opcache/Makefile12
-rw-r--r--www/php56-session/Makefile10
-rw-r--r--www/php56-tidy/Makefile10
131 files changed, 3254 insertions, 3 deletions
diff --git a/Mk/bsd.php.mk b/Mk/bsd.php.mk
index 6b316b2a6026..060017aac80c 100644
--- a/Mk/bsd.php.mk
+++ b/Mk/bsd.php.mk
@@ -57,6 +57,9 @@ PHP_VER?= ${DEFAULT_PHP_VER}
.if ${PHP_VER} == 53
PHP_EXT_DIR= 20090626
PHP_EXT_INC= pcre spl
+.elif ${PHP_VER} == 56
+PHP_EXT_DIR= 20131226
+PHP_EXT_INC= pcre spl
.elif ${PHP_VER} == 55
PHP_EXT_DIR= 20121212
PHP_EXT_INC= pcre spl
@@ -280,6 +283,7 @@ _USE_PHP_ALL= apc bcmath bitset bz2 calendar ctype curl dba dom \
_USE_PHP_VER5= ${_USE_PHP_ALL} phar sqlite3
_USE_PHP_VER53= ${_USE_PHP_ALL} phar sqlite sqlite3
_USE_PHP_VER55= ${_USE_PHP_ALL} phar sqlite3
+_USE_PHP_VER56= ${_USE_PHP_ALL} phar sqlite3
apc_DEPENDS= www/pecl-APC
bcmath_DEPENDS= math/php${PHP_VER}-bcmath
@@ -316,7 +320,7 @@ mysqli_DEPENDS= databases/php${PHP_VER}-mysqli
ncurses_DEPENDS=devel/php${PHP_VER}-ncurses
odbc_DEPENDS= databases/php${PHP_VER}-odbc
oci8_DEPENDS= databases/php${PHP_VER}-oci8
-.if ${PHP_VER} == 55
+.if ${PHP_VER} == 55 || ${PHP_VER} == 56
opcache_DEPENDS= www/php${PHP_VER}-opcache
.else
opcache_DEPENDS= www/pecl-zendopcache
diff --git a/archivers/Makefile b/archivers/Makefile
index be50eee5c837..7b79596fa88e 100644
--- a/archivers/Makefile
+++ b/archivers/Makefile
@@ -150,6 +150,10 @@
SUBDIR += php55-phar
SUBDIR += php55-zip
SUBDIR += php55-zlib
+ SUBDIR += php56-bz2
+ SUBDIR += php56-phar
+ SUBDIR += php56-zip
+ SUBDIR += php56-zlib
SUBDIR += pigz
SUBDIR += pixz
SUBDIR += plzip
diff --git a/archivers/php56-bz2/Makefile b/archivers/php56-bz2/Makefile
new file mode 100644
index 000000000000..d65f1696013b
--- /dev/null
+++ b/archivers/php56-bz2/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -bz2
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php56-phar/Makefile b/archivers/php56-phar/Makefile
new file mode 100644
index 000000000000..325bea2c411e
--- /dev/null
+++ b/archivers/php56-phar/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -phar
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php56-phar/files/patch-config.m4 b/archivers/php56-phar/files/patch-config.m4
new file mode 100644
index 000000000000..1a981bfefdc1
--- /dev/null
+++ b/archivers/php56-phar/files/patch-config.m4
@@ -0,0 +1,41 @@
+--- config.m4.orig 2011-11-25 15:31:20.000000000 +0100
++++ config.m4 2011-11-25 15:47:45.000000000 +0100
+@@ -4,8 +4,38 @@
+ PHP_ARG_ENABLE(phar, for phar archive support,
+ [ --disable-phar Disable phar support], yes)
+
++PHP_ARG_WITH(pcre-dir, pcre install prefix,
++[ --with-pcre-dir PHAR: pcre install prefix], no, no)
++
++
+ if test "$PHP_PHAR" != "no"; then
++
++ dnl This is PECL build, check if bundled PCRE library is used
++ old_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS=$INCLUDES
++ AC_EGREP_CPP(yes,[
++#include <main/php_config.h>
++#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
++yes
++#endif
++ ],[
++ PHP_PCRE_REGEX=yes
++ ],[
++ AC_EGREP_CPP(yes,[
++#include <main/php_config.h>
++#if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
++yes
++#endif
++ ],[
++ PHP_PCRE_REGEX=pecl
++ PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
++ ],[
++ PHP_PCRE_REGEX=no
++ ])
++ ])
++
+ PHP_NEW_EXTENSION(phar, util.c tar.c zip.c stream.c func_interceptors.c dirstream.c phar.c phar_object.c phar_path_check.c, $ext_shared)
++ PHP_HASH=yes
+ AC_MSG_CHECKING([for phar openssl support])
+ if test "$PHP_HASH_SHARED" != "yes"; then
+ if test "$PHP_HASH" != "no"; then
diff --git a/archivers/php56-phar/files/patch-phar.c b/archivers/php56-phar/files/patch-phar.c
new file mode 100644
index 000000000000..231ec40a8423
--- /dev/null
+++ b/archivers/php56-phar/files/patch-phar.c
@@ -0,0 +1,11 @@
+--- phar.c.orig 2011-11-25 15:38:44.000000000 +0100
++++ phar.c 2011-11-25 15:39:01.000000000 +0100
+@@ -3716,7 +3716,7 @@
+ ZEND_MOD_OPTIONAL("openssl")
+ ZEND_MOD_OPTIONAL("zlib")
+ ZEND_MOD_OPTIONAL("standard")
+-#if defined(HAVE_HASH) && !defined(COMPILE_DL_HASH)
++#if defined(HAVE_HASH)
+ ZEND_MOD_REQUIRED("hash")
+ #endif
+ #if HAVE_SPL
diff --git a/archivers/php56-zip/Makefile b/archivers/php56-zip/Makefile
new file mode 100644
index 000000000000..cc86586ec95f
--- /dev/null
+++ b/archivers/php56-zip/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -zip
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php56-zlib/Makefile b/archivers/php56-zlib/Makefile
new file mode 100644
index 000000000000..e9ba04011193
--- /dev/null
+++ b/archivers/php56-zlib/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -zlib
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php56-zlib/files/patch-zlib.c b/archivers/php56-zlib/files/patch-zlib.c
new file mode 100644
index 000000000000..0e88fee9c5bf
--- /dev/null
+++ b/archivers/php56-zlib/files/patch-zlib.c
@@ -0,0 +1,10 @@
+--- zlib.c.orig 2012-07-09 15:25:31.000000000 +0200
++++ zlib.c 2012-07-09 15:26:07.000000000 +0200
+@@ -957,6 +957,7 @@
+ /* {{{ PHP_RINIT_FUNCTION */
+ static PHP_RINIT_FUNCTION(zlib)
+ {
++ ZLIBG(output_compression) = 0;
+ ZLIBG(compression_coding) = 0;
+
+ php_zlib_output_compression_start(TSRMLS_C);
diff --git a/converters/Makefile b/converters/Makefile
index 9370aa9aad75..ab504061d18d 100644
--- a/converters/Makefile
+++ b/converters/Makefile
@@ -134,6 +134,9 @@
SUBDIR += php55-iconv
SUBDIR += php55-mbstring
SUBDIR += php55-recode
+ SUBDIR += php56-iconv
+ SUBDIR += php56-mbstring
+ SUBDIR += php56-recode
SUBDIR += psiconv
SUBDIR += py-bencode
SUBDIR += py-bsdconv
diff --git a/converters/php56-iconv/Makefile b/converters/php56-iconv/Makefile
new file mode 100644
index 000000000000..8aa0617cb215
--- /dev/null
+++ b/converters/php56-iconv/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= converters
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -iconv
+
+.include "${MASTERDIR}/Makefile"
diff --git a/converters/php56-mbstring/Makefile b/converters/php56-mbstring/Makefile
new file mode 100644
index 000000000000..4d11593b0ba6
--- /dev/null
+++ b/converters/php56-mbstring/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= converters
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -mbstring
+
+.include "${MASTERDIR}/Makefile"
diff --git a/converters/php56-mbstring/files/patch-config.m4 b/converters/php56-mbstring/files/patch-config.m4
new file mode 100644
index 000000000000..026798f26a5a
--- /dev/null
+++ b/converters/php56-mbstring/files/patch-config.m4
@@ -0,0 +1,51 @@
+--- config.m4.orig 2009-11-25 02:30:06.000000000 +0100
++++ config.m4 2010-04-12 09:59:54.000000000 +0200
+@@ -43,6 +43,30 @@
+ PHP_ADD_INCLUDE([$ext_builddir/$dir])
+ done
+
++ dnl This is PECL build, check if bundled PCRE library is used
++ old_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS=$INCLUDES
++ AC_EGREP_CPP(yes,[
++#include <main/php_config.h>
++#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
++yes
++#endif
++ ],[
++ PHP_PCRE_REGEX=yes
++ ],[
++ AC_EGREP_CPP(yes,[
++#include <main/php_config.h>
++#if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
++yes
++#endif
++ ],[
++ PHP_PCRE_REGEX=pecl
++ PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
++ ],[
++ PHP_PCRE_REGEX=no
++ ])
++ ])
++
+ if test "$ext_shared" = "no"; then
+ PHP_ADD_SOURCES(PHP_EXT_DIR(mbstring), $PHP_MBSTRING_BASE_SOURCES)
+ out="php_config.h"
+@@ -80,7 +104,6 @@
+ int foo(int x, ...) {
+ va_list va;
+ va_start(va, x);
+- va_arg(va, int);
+ va_arg(va, char *);
+ va_arg(va, double);
+ return 0;
+@@ -347,6 +370,9 @@
+ [ --with-onig[=DIR] MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix.
+ If DIR is not set, the bundled oniguruma will be used], no, no)
+
++PHP_ARG_WITH(pcre-dir, pcre install prefix,
++[ --with-pcre-dir MBSTRING: pcre install prefix], no, no)
++
+ if test "$PHP_MBSTRING" != "no"; then
+ AC_DEFINE([HAVE_MBSTRING],1,[whether to have multibyte string support])
+
diff --git a/converters/php56-recode/Makefile b/converters/php56-recode/Makefile
new file mode 100644
index 000000000000..f3358a590ad7
--- /dev/null
+++ b/converters/php56-recode/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= converters
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -recode
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/Makefile b/databases/Makefile
index 272a2e8f2116..4395e1167c95 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -614,6 +614,22 @@
SUBDIR += php55-redis
SUBDIR += php55-sqlite3
SUBDIR += php55-sybase_ct
+ SUBDIR += php56-dba
+ SUBDIR += php56-interbase
+ SUBDIR += php56-mssql
+ SUBDIR += php56-mysql
+ SUBDIR += php56-mysqli
+ SUBDIR += php56-odbc
+ SUBDIR += php56-pdo
+ SUBDIR += php56-pdo_dblib
+ SUBDIR += php56-pdo_firebird
+ SUBDIR += php56-pdo_mysql
+ SUBDIR += php56-pdo_odbc
+ SUBDIR += php56-pdo_pgsql
+ SUBDIR += php56-pdo_sqlite
+ SUBDIR += php56-pgsql
+ SUBDIR += php56-sqlite3
+ SUBDIR += php56-sybase_ct
SUBDIR += phpminiadmin
SUBDIR += phpmyadmin
SUBDIR += phppgadmin
diff --git a/databases/php56-dba/Makefile b/databases/php56-dba/Makefile
new file mode 100644
index 000000000000..ec617c162add
--- /dev/null
+++ b/databases/php56-dba/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -dba
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-dba/files/patch-config.m4 b/databases/php56-dba/files/patch-config.m4
new file mode 100644
index 000000000000..1df828460e05
--- /dev/null
+++ b/databases/php56-dba/files/patch-config.m4
@@ -0,0 +1,50 @@
+--- config.m4.orig 2012-11-21 06:12:20.000000000 +0100
++++ config.m4 2012-12-12 10:18:42.000000000 +0100
+@@ -320,6 +320,38 @@
+ THIS_PREFIX=$i
+ THIS_INCLUDE=$i/db4/db.h
+ break
++ elif test -f "$i/include/db5/db.h"; then
++ THIS_PREFIX=$i
++ THIS_INCLUDE=$i/include/db5/db.h
++ break
++ elif test -f "$i/include/db48/db.h"; then
++ THIS_PREFIX=$i
++ THIS_INCLUDE=$i/include/db48/db.h
++ break
++ elif test -f "$i/include/db47/db.h"; then
++ THIS_PREFIX=$i
++ THIS_INCLUDE=$i/include/db47/db.h
++ break
++ elif test -f "$i/include/db46/db.h"; then
++ THIS_PREFIX=$i
++ THIS_INCLUDE=$i/include/db46/db.h
++ break
++ elif test -f "$i/include/db44/db.h"; then
++ THIS_PREFIX=$i
++ THIS_INCLUDE=$i/include/db44/db.h
++ break
++ elif test -f "$i/include/db43/db.h"; then
++ THIS_PREFIX=$i
++ THIS_INCLUDE=$i/include/db43/db.h
++ break
++ elif test -f "$i/include/db42/db.h"; then
++ THIS_PREFIX=$i
++ THIS_INCLUDE=$i/include/db42/db.h
++ break
++ elif test -f "$i/include/db41/db.h"; then
++ THIS_PREFIX=$i
++ THIS_INCLUDE=$i/include/db41/db.h
++ break
+ elif test -f "$i/include/db5.1/db.h"; then
+ THIS_PREFIX=$i
+ THIS_INCLUDE=$i/include/db5.1/db.h
+@@ -362,7 +394,7 @@
+ break
+ fi
+ done
+- PHP_DBA_DB_CHECK(4, db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
++ PHP_DBA_DB_CHECK(4, db-5 db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
+ fi
+ PHP_DBA_STD_RESULT(db4,Berkeley DB4)
+
diff --git a/databases/php56-interbase/Makefile b/databases/php56-interbase/Makefile
new file mode 100644
index 000000000000..894e1d5df5a0
--- /dev/null
+++ b/databases/php56-interbase/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -interbase
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-mssql/Makefile b/databases/php56-mssql/Makefile
new file mode 100644
index 000000000000..0e4995975e41
--- /dev/null
+++ b/databases/php56-mssql/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -mssql
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-mysql/Makefile b/databases/php56-mysql/Makefile
new file mode 100644
index 000000000000..a32da0666e1b
--- /dev/null
+++ b/databases/php56-mysql/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -mysql
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-mysqli/Makefile b/databases/php56-mysqli/Makefile
new file mode 100644
index 000000000000..8dd62aca30da
--- /dev/null
+++ b/databases/php56-mysqli/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -mysqli
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-mysqli/files/patch-php_mysqli_structs.h b/databases/php56-mysqli/files/patch-php_mysqli_structs.h
new file mode 100644
index 000000000000..d0daeee9ee54
--- /dev/null
+++ b/databases/php56-mysqli/files/patch-php_mysqli_structs.h
@@ -0,0 +1,10 @@
+--- php_mysqli_structs.h.orig 2010-07-26 15:52:54.000000000 +0200
++++ php_mysqli_structs.h 2010-07-26 15:53:14.000000000 +0200
+@@ -54,6 +54,7 @@
+ #define WE_HAD_MBSTATE_T
+ #endif
+
++#define HAVE_ULONG 1
+ #include <my_global.h>
+
+ #if !defined(HAVE_MBRLEN) && defined(WE_HAD_MBRLEN)
diff --git a/databases/php56-odbc/Makefile b/databases/php56-odbc/Makefile
new file mode 100644
index 000000000000..df644ab87af6
--- /dev/null
+++ b/databases/php56-odbc/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -odbc
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-odbc/files/patch-config.m4 b/databases/php56-odbc/files/patch-config.m4
new file mode 100644
index 000000000000..d8e2798d4c36
--- /dev/null
+++ b/databases/php56-odbc/files/patch-config.m4
@@ -0,0 +1,124 @@
+--- config.m4.orig 2014-08-27 13:31:35.000000000 +0000
++++ config.m4 2014-09-04 12:44:43.855274203 +0000
+@@ -99,9 +99,12 @@
+ dnl
+ dnl configure options
+ dnl
++PHP_ARG_ENABLE(odbc,,
++[ --enable-odbc Enable ODBC support with selected driver])
++
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(adabas,,
+-[ --with-adabas[=DIR] Include Adabas D support [/usr/local]])
++[ --with-adabas[=DIR] Include Adabas D support [/usr/local]], no, no)
+
+ if test "$PHP_ADABAS" != "no"; then
+ AC_MSG_CHECKING([for Adabas support])
+@@ -128,7 +131,7 @@
+
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(sapdb,,
+-[ --with-sapdb[=DIR] Include SAP DB support [/usr/local]])
++[ --with-sapdb[=DIR] Include SAP DB support [/usr/local]], no, no)
+
+ if test "$PHP_SAPDB" != "no"; then
+ AC_MSG_CHECKING([for SAP DB support])
+@@ -146,7 +149,7 @@
+
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(solid,,
+-[ --with-solid[=DIR] Include Solid support [/usr/local/solid]])
++[ --with-solid[=DIR] Include Solid support [/usr/local/solid]], no, no)
+
+ if test "$PHP_SOLID" != "no"; then
+ AC_MSG_CHECKING(for Solid support)
+@@ -171,7 +174,7 @@
+
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(ibm-db2,,
+-[ --with-ibm-db2[=DIR] Include IBM DB2 support [/home/db2inst1/sqllib]])
++[ --with-ibm-db2[=DIR] Include IBM DB2 support [/home/db2inst1/sqllib]], no, no)
+
+ if test "$PHP_IBM_DB2" != "no"; then
+ AC_MSG_CHECKING(for IBM DB2 support)
+@@ -208,7 +211,7 @@
+
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(ODBCRouter,,
+-[ --with-ODBCRouter[=DIR] Include ODBCRouter.com support [/usr]])
++[ --with-ODBCRouter[=DIR] Include ODBCRouter.com support [/usr]], no, no)
+
+ if test "$PHP_ODBCROUTER" != "no"; then
+ AC_MSG_CHECKING(for ODBCRouter.com support)
+@@ -229,7 +232,7 @@
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(empress,,
+ [ --with-empress[=DIR] Include Empress support [\$EMPRESSPATH]
+- (Empress Version >= 8.60 required)])
++ (Empress Version >= 8.60 required)], no, no)
+
+ if test "$PHP_EMPRESS" != "no"; then
+ AC_MSG_CHECKING(for Empress support)
+@@ -253,7 +256,7 @@
+ PHP_ARG_WITH(empress-bcs,,
+ [ --with-empress-bcs[=DIR]
+ Include Empress Local Access support [\$EMPRESSPATH]
+- (Empress Version >= 8.60 required)])
++ (Empress Version >= 8.60 required)], no, no)
+
+ if test "$PHP_EMPRESS_BCS" != "no"; then
+ AC_MSG_CHECKING(for Empress local access support)
+@@ -291,7 +294,7 @@
+
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(birdstep,,
+-[ --with-birdstep[=DIR] Include Birdstep support [/usr/local/birdstep]])
++[ --with-birdstep[=DIR] Include Birdstep support [/usr/local/birdstep]], no, no)
+
+ if test "$PHP_BIRDSTEP" != "no"; then
+ AC_MSG_CHECKING(for Birdstep support)
+@@ -345,7 +348,7 @@
+ running this configure script:
+ CPPFLAGS=\"-DODBC_QNX -DSQLANY_BUG\"
+ LDFLAGS=-lunix
+- CUSTOM_ODBC_LIBS=\"-ldblib -lodbc\"])
++ CUSTOM_ODBC_LIBS=\"-ldblib -lodbc\"], no, no)
+
+ if test "$PHP_CUSTOM_ODBC" != "no"; then
+ AC_MSG_CHECKING(for a custom ODBC support)
+@@ -365,7 +368,7 @@
+
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(iodbc,,
+-[ --with-iodbc[=DIR] Include iODBC support])
++[ --with-iodbc[=DIR] Include iODBC support], no, no)
+
+ if test "$PHP_IODBC" != "no"; then
+ AC_MSG_CHECKING(for iODBC support)
+@@ -401,7 +404,7 @@
+
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(esoob,,
+-[ --with-esoob[=DIR] Include Easysoft OOB support [/usr/local/easysoft/oob/client]])
++[ --with-esoob[=DIR] Include Easysoft OOB support [/usr/local/easysoft/oob/client]], no, no)
+
+ if test "$PHP_ESOOB" != "no"; then
+ AC_MSG_CHECKING(for Easysoft ODBC-ODBC Bridge support)
+@@ -421,7 +424,7 @@
+
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(unixODBC,,
+-[ --with-unixODBC[=DIR] Include unixODBC support [/usr/local]])
++[ --with-unixODBC[=DIR] Include unixODBC support [/usr/local]], no, no)
+
+ if test "$PHP_UNIXODBC" != "no"; then
+ AC_MSG_CHECKING(for unixODBC support)
+@@ -442,7 +445,7 @@
+
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(dbmaker,,
+-[ --with-dbmaker[=DIR] Include DBMaker support])
++[ --with-dbmaker[=DIR] Include DBMaker support], no, no)
+
+ if test "$PHP_DBMAKER" != "no"; then
+ AC_MSG_CHECKING(for DBMaker support)
diff --git a/databases/php56-pdo/Makefile b/databases/php56-pdo/Makefile
new file mode 100644
index 000000000000..744b440c3b41
--- /dev/null
+++ b/databases/php56-pdo/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -pdo
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-pdo_dblib/Makefile b/databases/php56-pdo_dblib/Makefile
new file mode 100644
index 000000000000..7d65bb8797f9
--- /dev/null
+++ b/databases/php56-pdo_dblib/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -pdo_dblib
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-pdo_firebird/Makefile b/databases/php56-pdo_firebird/Makefile
new file mode 100644
index 000000000000..d9d727bc9043
--- /dev/null
+++ b/databases/php56-pdo_firebird/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -pdo_firebird
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-pdo_mysql/Makefile b/databases/php56-pdo_mysql/Makefile
new file mode 100644
index 000000000000..5e61107e7511
--- /dev/null
+++ b/databases/php56-pdo_mysql/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -pdo_mysql
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-pdo_odbc/Makefile b/databases/php56-pdo_odbc/Makefile
new file mode 100644
index 000000000000..f88191238e5f
--- /dev/null
+++ b/databases/php56-pdo_odbc/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -pdo_odbc
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-pdo_pgsql/Makefile b/databases/php56-pdo_pgsql/Makefile
new file mode 100644
index 000000000000..e8c263a154ba
--- /dev/null
+++ b/databases/php56-pdo_pgsql/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -pdo_pgsql
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-pdo_sqlite/Makefile b/databases/php56-pdo_sqlite/Makefile
new file mode 100644
index 000000000000..cf6f3cc9e4c8
--- /dev/null
+++ b/databases/php56-pdo_sqlite/Makefile
@@ -0,0 +1,11 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+PORTREVISION= 1
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -pdo_sqlite
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-pgsql/Makefile b/databases/php56-pgsql/Makefile
new file mode 100644
index 000000000000..3664f9d0e982
--- /dev/null
+++ b/databases/php56-pgsql/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -pgsql
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-pgsql/files/patch-pgsql.c b/databases/php56-pgsql/files/patch-pgsql.c
new file mode 100644
index 000000000000..667bb89ded7c
--- /dev/null
+++ b/databases/php56-pgsql/files/patch-pgsql.c
@@ -0,0 +1,11 @@
+--- pgsql.c.orig 2010-01-03 10:23:27.000000000 +0100
++++ pgsql.c 2010-03-08 11:00:26.000000000 +0100
+@@ -728,7 +731,7 @@
+ static int le_link, le_plink, le_result, le_lofp, le_string;
+
+ /* {{{ _php_pgsql_trim_message */
+-static char * _php_pgsql_trim_message(const char *message, int *len)
++static char * _php_pgsql_trim_message(const char *message, size_t *len)
+ {
+ register int i = strlen(message)-1;
+
diff --git a/databases/php56-sqlite3/Makefile b/databases/php56-sqlite3/Makefile
new file mode 100644
index 000000000000..00b59a490f0d
--- /dev/null
+++ b/databases/php56-sqlite3/Makefile
@@ -0,0 +1,11 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+PORTREVISION= 1
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -sqlite3
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php56-sybase_ct/Makefile b/databases/php56-sybase_ct/Makefile
new file mode 100644
index 000000000000..1a3071676011
--- /dev/null
+++ b/databases/php56-sybase_ct/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -sybase_ct
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/Makefile b/devel/Makefile
index 1496498080f2..794389210864 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -3444,6 +3444,15 @@
SUBDIR += php55-sysvsem
SUBDIR += php55-sysvshm
SUBDIR += php55-tokenizer
+ SUBDIR += php56-gettext
+ SUBDIR += php56-json
+ SUBDIR += php56-pcntl
+ SUBDIR += php56-readline
+ SUBDIR += php56-shmop
+ SUBDIR += php56-sysvmsg
+ SUBDIR += php56-sysvsem
+ SUBDIR += php56-sysvshm
+ SUBDIR += php56-tokenizer
SUBDIR += phpbt
SUBDIR += phpsh
SUBDIR += phptags
diff --git a/devel/php56-gettext/Makefile b/devel/php56-gettext/Makefile
new file mode 100644
index 000000000000..81c6411df45c
--- /dev/null
+++ b/devel/php56-gettext/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -gettext
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php56-gettext/files/patch-config.m4 b/devel/php56-gettext/files/patch-config.m4
new file mode 100644
index 000000000000..2b497d366574
--- /dev/null
+++ b/devel/php56-gettext/files/patch-config.m4
@@ -0,0 +1,17 @@
+--- config.m4.orig Tue Jul 27 23:58:02 2004
++++ config.m4 Tue Jul 27 23:59:44 2004
+@@ -30,7 +30,6 @@
+ AC_MSG_ERROR(Unable to find required gettext library)
+ ])
+ )
+- LDFLAGS=$O_LDFLAGS
+
+ AC_DEFINE(HAVE_LIBINTL,1,[ ])
+ PHP_NEW_EXTENSION(gettext, gettext.c, $ext_shared)
+@@ -46,5 +45,6 @@
+ AC_CHECK_LIB($GETTEXT_CHECK_IN_LIB, dngettext, [AC_DEFINE(HAVE_DNGETTEXT, 1, [ ])])
+ AC_CHECK_LIB($GETTEXT_CHECK_IN_LIB, dcngettext, [AC_DEFINE(HAVE_DCNGETTEXT, 1, [ ])])
+ AC_CHECK_LIB($GETTEXT_CHECK_IN_LIB, bind_textdomain_codeset, [AC_DEFINE(HAVE_BIND_TEXTDOMAIN_CODESET, 1, [ ])])
++ LDFLAGS=$O_LDFLAGS
+
+ fi
diff --git a/devel/php56-json/Makefile b/devel/php56-json/Makefile
new file mode 100644
index 000000000000..3a93d4b7b0b0
--- /dev/null
+++ b/devel/php56-json/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -json
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php56-pcntl/Makefile b/devel/php56-pcntl/Makefile
new file mode 100644
index 000000000000..5039ad10a1be
--- /dev/null
+++ b/devel/php56-pcntl/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -pcntl
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php56-readline/Makefile b/devel/php56-readline/Makefile
new file mode 100644
index 000000000000..f60893571692
--- /dev/null
+++ b/devel/php56-readline/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -readline
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php56-readline/files/patch-config.m4 b/devel/php56-readline/files/patch-config.m4
new file mode 100644
index 000000000000..5edf376bf0e2
--- /dev/null
+++ b/devel/php56-readline/files/patch-config.m4
@@ -0,0 +1,38 @@
+--- config.m4.orig 2013-08-20 06:46:43.000000000 +0200
++++ config.m4 2013-08-27 16:01:29.000000000 +0200
+@@ -5,13 +5,8 @@
+ PHP_ARG_WITH(libedit,for libedit readline replacement,
+ [ --with-libedit[=DIR] Include libedit readline replacement (CLI/CGI only)])
+
+-if test "$PHP_LIBEDIT" = "no"; then
+ PHP_ARG_WITH(readline,for readline support,
+ [ --with-readline[=DIR] Include readline support (CLI/CGI only)])
+-else
+- dnl "register" the --with-readline option to preven invalid "unknown configure option" warning
+- php_with_readline=no
+-fi
+
+ if test "$PHP_READLINE" && test "$PHP_READLINE" != "no"; then
+ for i in $PHP_READLINE /usr/local /usr; do
+@@ -67,6 +62,13 @@
+ -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
+ ])
+
++ PHP_CHECK_LIBRARY(readline, rl_completion_matches,
++ [
++ AC_DEFINE(HAVE_RL_COMPLETION_MATCHES, 1, [ ])
++ ],[],[
++ -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
++ ])
++
+ AC_DEFINE(HAVE_LIBREADLINE, 1, [ ])
+
+ elif test "$PHP_LIBEDIT" != "no"; then
+@@ -118,7 +120,6 @@
+ fi
+
+ if test "$PHP_READLINE" != "no" || test "$PHP_LIBEDIT" != "no"; then
+- AC_CHECK_FUNCS([rl_completion_matches])
+ PHP_NEW_EXTENSION(readline, readline.c readline_cli.c, $ext_shared, cli)
+ PHP_SUBST(READLINE_SHARED_LIBADD)
+ fi
diff --git a/devel/php56-readline/files/patch-readline_cli.c b/devel/php56-readline/files/patch-readline_cli.c
new file mode 100644
index 000000000000..02f55974f9b0
--- /dev/null
+++ b/devel/php56-readline/files/patch-readline_cli.c
@@ -0,0 +1,13 @@
+--- readline_cli.c.orig 2012-03-02 16:40:26.000000000 +0100
++++ readline_cli.c 2012-03-02 16:40:43.000000000 +0100
+@@ -19,6 +19,10 @@
+
+ /* $Id: readline_cli.c 321634 2012-01-01 13:15:04Z felipe $ */
+
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
+ #include "php.h"
+
+ #ifndef HAVE_RL_COMPLETION_MATCHES
diff --git a/devel/php56-shmop/Makefile b/devel/php56-shmop/Makefile
new file mode 100644
index 000000000000..f0e90e8b7d67
--- /dev/null
+++ b/devel/php56-shmop/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -shmop
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php56-sysvmsg/Makefile b/devel/php56-sysvmsg/Makefile
new file mode 100644
index 000000000000..2b2c27c0282e
--- /dev/null
+++ b/devel/php56-sysvmsg/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -sysvmsg
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php56-sysvsem/Makefile b/devel/php56-sysvsem/Makefile
new file mode 100644
index 000000000000..06cdd72bd3d9
--- /dev/null
+++ b/devel/php56-sysvsem/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -sysvsem
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php56-sysvshm/Makefile b/devel/php56-sysvshm/Makefile
new file mode 100644
index 000000000000..fa8d46132875
--- /dev/null
+++ b/devel/php56-sysvshm/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -sysvshm
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php56-tokenizer/Makefile b/devel/php56-tokenizer/Makefile
new file mode 100644
index 000000000000..9d48e6757f7d
--- /dev/null
+++ b/devel/php56-tokenizer/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -tokenizer
+
+.include "${MASTERDIR}/Makefile"
diff --git a/ftp/Makefile b/ftp/Makefile
index 12575512917a..58f0b28dcfca 100644
--- a/ftp/Makefile
+++ b/ftp/Makefile
@@ -68,6 +68,8 @@
SUBDIR += php53-ftp
SUBDIR += php55-curl
SUBDIR += php55-ftp
+ SUBDIR += php56-curl
+ SUBDIR += php56-ftp
SUBDIR += phpwebftp
SUBDIR += plasma-applet-ftpmonitor
SUBDIR += proftpd
diff --git a/ftp/php56-curl/Makefile b/ftp/php56-curl/Makefile
new file mode 100644
index 000000000000..ec356c2b0428
--- /dev/null
+++ b/ftp/php56-curl/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= ftp
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -curl
+
+.include "${MASTERDIR}/Makefile"
diff --git a/ftp/php56-ftp/Makefile b/ftp/php56-ftp/Makefile
new file mode 100644
index 000000000000..e0f3d951182e
--- /dev/null
+++ b/ftp/php56-ftp/Makefile
@@ -0,0 +1,14 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= ftp
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -ftp
+
+post-patch:
+ @${REINPLACE_CMD} s/HAVE_OPENSSL_EXT/__FreeBSD__/ \
+ ${WRKSRC}/ftp.* ${WRKSRC}/php_ftp.*
+
+.include "${MASTERDIR}/Makefile"
diff --git a/graphics/Makefile b/graphics/Makefile
index 8ec761b2622d..0d4ec260f563 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -759,6 +759,8 @@
SUBDIR += php53-gd
SUBDIR += php55-exif
SUBDIR += php55-gd
+ SUBDIR += php56-exif
+ SUBDIR += php56-gd
SUBDIR += phplot
SUBDIR += picpuz
SUBDIR += picturebook
diff --git a/graphics/php56-exif/Makefile b/graphics/php56-exif/Makefile
new file mode 100644
index 000000000000..13a6387c6997
--- /dev/null
+++ b/graphics/php56-exif/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= graphics
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -exif
+
+.include "${MASTERDIR}/Makefile"
diff --git a/graphics/php56-gd/Makefile b/graphics/php56-gd/Makefile
new file mode 100644
index 000000000000..4746215748f7
--- /dev/null
+++ b/graphics/php56-gd/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= graphics
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -gd
+
+.include "${MASTERDIR}/Makefile"
diff --git a/graphics/php56-gd/files/patch-config.m4 b/graphics/php56-gd/files/patch-config.m4
new file mode 100644
index 000000000000..468b69287246
--- /dev/null
+++ b/graphics/php56-gd/files/patch-config.m4
@@ -0,0 +1,11 @@
+--- config.m4.orig 2013-12-11 00:31:06.000000000 +0100
++++ config.m4 2013-12-24 21:11:19.000000000 +0100
+@@ -233,7 +233,7 @@
+ ],[
+ AC_MSG_ERROR([Problem with libt1.(a|so). Please check config.log for more information.])
+ ],[
+- -L$GD_T1_DIR/$PHP_LIBDIR
++ -L$GD_T1_DIR/$PHP_LIBDIR -lm
+ ])
+ fi
+ ])
diff --git a/lang/Makefile b/lang/Makefile
index f971d0fe57a2..9fc8577267ec 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -231,6 +231,8 @@
SUBDIR += php53-extensions
SUBDIR += php55
SUBDIR += php55-extensions
+ SUBDIR += php56
+ SUBDIR += php56-extensions
SUBDIR += php_doc
SUBDIR += picoc
SUBDIR += pike78
diff --git a/lang/php5/Makefile b/lang/php5/Makefile
index 655767ddbbe9..310d603932ca 100644
--- a/lang/php5/Makefile
+++ b/lang/php5/Makefile
@@ -54,7 +54,7 @@ MAILHEAD_DESC= Enable mail header patch
LINKTHR_DESC= Link thread lib (for threaded extensions)
ZTS_DESC= Force Zend Thread Safety (ZTS) build
-CONFLICTS= php53-5* php55-5*
+CONFLICTS= php53-5* php55-5* php56-5*
DESTDIRNAME= INSTALL_ROOT
diff --git a/lang/php55/Makefile b/lang/php55/Makefile
index 79a8b2a359fe..14da62b3f120 100644
--- a/lang/php55/Makefile
+++ b/lang/php55/Makefile
@@ -54,7 +54,7 @@ MAILHEAD_DESC= Enable mail header patch
LINKTHR_DESC= Link thread lib (for threaded extensions)
ZTS_DESC= Force Zend Thread Safety (ZTS) build
-CONFLICTS= php53-5* php54-5* php5-5*
+CONFLICTS= php53-5* php54-5* php56-5* php5-5*
DESTDIRNAME= INSTALL_ROOT
diff --git a/lang/php56-extensions/Makefile b/lang/php56-extensions/Makefile
new file mode 100644
index 000000000000..ea15020dbf80
--- /dev/null
+++ b/lang/php56-extensions/Makefile
@@ -0,0 +1,129 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= php56
+PORTVERSION= 1.0
+CATEGORIES= lang
+MASTER_SITES= # none
+PKGNAMESUFFIX= -extensions
+DISTFILES= # none
+EXTRACT_ONLY= # none
+
+MAINTAINER= ale@FreeBSD.org
+COMMENT= "meta-port" to install PHP extensions
+
+USE_PHP= yes
+PHP_DEFAULT= 5.6
+IGNORE_WITH_PHP=53 54 55 5
+USE_PHP_BUILD= yes
+
+NO_BUILD= yes
+NO_MTREE= yes
+
+OPTIONS_DEFINE= BCMATH BZ2 CALENDAR CTYPE CURL DBA \
+ DOM EXIF FILEINFO FILTER FTP GD GETTEXT \
+ GMP HASH ICONV IMAP INTERBASE JSON LDAP MBSTRING MCRYPT \
+ MSSQL MYSQL MYSQLI \
+ ODBC OPCACHE OPENSSL PCNTL PDF PDO PDO_DBLIB PDO_FIREBIRD \
+ PDO_MYSQL PDO_ODBC PDO_PGSQL PDO_SQLITE PGSQL PHAR POSIX \
+ PSPELL READLINE RECODE SESSION SHMOP SIMPLEXML SNMP SOAP \
+ SOCKETS SQLITE3 SYBASE_CT SYSVMSG SYSVSEM SYSVSHM \
+ TIDY TOKENIZER WDDX XML XMLREADER XMLRPC XMLWRITER XSL \
+ ZIP ZLIB
+
+BCMATH_DESC= bc style precision math functions
+BZ2_DESC= bzip2 library support
+CALENDAR_DESC= calendar conversion support
+CTYPE_DESC= ctype functions
+CURL_DESC= CURL support
+DBA_DESC= dba support
+DOM_DESC= DOM support
+EXIF_DESC= EXIF support
+FILEINFO_DESC= fileinfo support
+FILTER_DESC= input filter support
+FTP_DESC= FTP support
+GD_DESC= GD library support
+GETTEXT_DESC= gettext library support
+GMP_DESC= GNU MP support
+HASH_DESC= HASH Message Digest Framework
+ICONV_DESC= iconv support
+IMAP_DESC= IMAP support
+INTERBASE_DESC= Interbase 6 database support (Firebird)
+JSON_DESC= JavaScript Object Serialization support
+LDAP_DESC= OpenLDAP support
+MBSTRING_DESC= multibyte string support
+MCRYPT_DESC= Encryption support
+MSSQL_DESC= MS-SQL database support
+MYSQL_DESC= MySQL database support
+MYSQLI_DESC= MySQLi database support
+ODBC_DESC= ODBC support
+OPCACHE_DESC= OPcache support
+OPENSSL_DESC= OpenSSL support
+PCNTL_DESC= pcntl support (CLI only)
+PDF_DESC= PDFlib support (implies GD)
+PDO_DESC= PHP Data Objects Interface (PDO)
+PDO_DBLIB_DESC= PDO DBLIB-DB driver
+PDO_FIREBIRD_DESC= PDO Firebird driver
+PDO_MYSQL_DESC= PDO MySQL driver
+PDO_ODBC_DESC= PDO ODBC driver
+PDO_PGSQL_DESC= PDO PostgreSQL driver
+PDO_SQLITE_DESC= PDO sqlite driver
+PGSQL_DESC= PostgreSQL database support
+PHAR_DESC= phar support
+POSIX_DESC= POSIX-like functions
+PSPELL_DESC= pspell support
+READLINE_DESC= readline support (CLI only)
+RECODE_DESC= recode support
+SESSION_DESC= session support
+SHMOP_DESC= shmop support
+SIMPLEXML_DESC= simplexml support
+SNMP_DESC= SNMP support
+SOAP_DESC= SOAP support
+SOCKETS_DESC= sockets support
+SQLITE3_DESC= sqlite3 support
+SYBASE_CT_DESC= Sybase database support
+SYSVMSG_DESC= System V message support
+SYSVSEM_DESC= System V semaphore support
+SYSVSHM_DESC= System V shared memory support
+TIDY_DESC= TIDY support
+TOKENIZER_DESC= tokenizer support
+WDDX_DESC= WDDX support (implies XML)
+XML_DESC= XML support
+XMLREADER_DESC= XMLReader support
+XMLRPC_DESC= XMLRPC-EPI support
+XMLWRITER_DESC= XMLWriter support
+XSL_DESC= XSL support (Implies DOM)
+ZIP_DESC= ZIP support
+ZLIB_DESC= ZLIB support
+
+OPTIONS_DEFAULT= CTYPE \
+ DOM \
+ FILTER \
+ HASH \
+ ICONV \
+ JSON \
+ OPCACHE \
+ PDO \
+ PDO_SQLITE \
+ PHAR \
+ POSIX \
+ SESSION \
+ SIMPLEXML \
+ SQLITE3 \
+ TOKENIZER \
+ XML \
+ XMLREADER \
+ XMLWRITER
+
+.include <bsd.port.options.mk>
+
+.for opt in ${OPTIONS_DEFINE}
+. if ${PORT_OPTIONS:M${opt}}
+USE_PHP+= ${opt:tl}
+. endif
+.endfor
+
+do-install: build
+ @${DO_NADA}
+
+.include <bsd.port.mk>
diff --git a/lang/php56-extensions/pkg-descr b/lang/php56-extensions/pkg-descr
new file mode 100644
index 000000000000..56c6df1fc300
--- /dev/null
+++ b/lang/php56-extensions/pkg-descr
@@ -0,0 +1,7 @@
+This is a "meta-port" to install the extensions for PHP 5.5.
+
+Defaults to:
+ctype, dom, filter, hash, iconv, json, pdo, pdo_sqlite, phar, posix,
+session, simplexml, sqlite3, tokenizer, xml, xmlreader and xmlwriter.
+
+WWW: http://www.php.net/
diff --git a/lang/php56/Makefile b/lang/php56/Makefile
new file mode 100644
index 000000000000..ed091d846278
--- /dev/null
+++ b/lang/php56/Makefile
@@ -0,0 +1,213 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= php56
+PORTVERSION= 5.6.0
+PORTREVISION?= 0
+CATEGORIES?= lang devel www
+MASTER_SITES= ${MASTER_SITE_PHP}
+MASTER_SITE_SUBDIR= distributions
+DISTNAME= php-${PORTVERSION}
+
+MAINTAINER= ale@FreeBSD.org
+COMMENT= PHP Scripting Language
+
+LICENSE= PHP301
+
+LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
+
+USES= tar:bzip2 cpe
+NO_OPTIONS_SORT=yes
+.if !defined(PKGNAMESUFFIX)
+USE_AUTOTOOLS= autoconf
+
+LIB_DEPENDS= libpcre.so:${PORTSDIR}/devel/pcre
+
+CPE_PRODUCT= php
+
+CONFIGURE_ARGS+=--with-layout=GNU \
+ --localstatedir=/var \
+ --with-config-file-scan-dir=${PREFIX}/etc/php \
+ --disable-all \
+ --enable-libxml \
+ --enable-mysqlnd \
+ --with-libxml-dir=${LOCALBASE} \
+ --with-pcre-regex=${LOCALBASE} \
+ --with-zlib-dir=/usr \
+ --program-prefix=""
+
+USE_GNOME= libxml2
+
+OPTIONS_DEFINE+=CLI CGI FPM FPM_IPV6 EMBED PHPDBG DEBUG DTRACE IPV6 MAILHEAD LINKTHR ZTS
+OPTIONS_DEFAULT=CLI CGI FPM IPV6 LINKTHR
+OPTIONS_SUB= yes
+
+CLI_DESC= Build CLI version
+CGI_DESC= Build CGI version
+FPM_DESC= Build FPM version
+FPM_IPV6_DESC= Enable ipv6 patch for FPM
+EMBED_DESC= Build embedded library
+DEBUG_DESC= Enable debug
+DTRACE_DESC= Enable DTrace support
+IPV6_DESC= Enable ipv6 support
+MAILHEAD_DESC= Enable mail header patch
+LINKTHR_DESC= Link thread lib (for threaded extensions)
+ZTS_DESC= Force Zend Thread Safety (ZTS) build
+
+CONFLICTS= php53-5* php54-5* php55-5* php5-5*
+
+DESTDIRNAME= INSTALL_ROOT
+
+.include <bsd.port.pre.mk>
+
+PATCH_DIST_STRIP= -p1
+
+PATCH_SITES+= ${MASTER_SITE_LOCAL}
+PATCH_SITE_SUBDIR= ale
+
+.if ${PORT_OPTIONS:MMAILHEAD}
+PATCHFILES+= php-5.5.x-mail-header.patch:mail
+PATCH_SITES+= http://choon.net/opensource/php/:mail
+.endif
+
+.if ${PORT_OPTIONS:MCLI}
+PHP_SAPI+= cli
+.else
+CONFIGURE_ARGS+=--disable-cli
+.endif
+
+.if ${PORT_OPTIONS:MCGI}
+PHP_SAPI+= cgi
+.else
+CONFIGURE_ARGS+=--disable-cgi
+.endif
+
+.if ${PORT_OPTIONS:MFPM}
+PHP_SAPI+= fpm
+USE_RC_SUBR+= php-fpm
+CONFIGURE_ARGS+=--enable-fpm \
+ --with-fpm-user=${WWWOWN} \
+ --with-fpm-group=${WWWGRP}
+.if ${PORT_OPTIONS:MIPV6} && ${PORT_OPTIONS:MFPM_IPV6}
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-php-fpm-ipv6:-p1
+.endif
+.endif
+
+.if defined(PKGNAMEPREFIX)
+USE_PHP= yes
+PHP_DEFAULT= 5.6
+IGNORE_WITH_PHP=53 54 5
+USE_APACHE= 22+
+.include "${PORTSDIR}/Mk/bsd.apache.mk"
+.if ${PORT_OPTIONS:MAP2FILTER}
+CONFIGURE_ARGS+=--with-apxs2filter=${APXS}
+.else
+CONFIGURE_ARGS+=--with-apxs2=${APXS}
+.endif
+PLIST= ${PKGDIR}/pkg-plist.mod
+PKGMESSAGE= ${PKGDIR}/pkg-message.mod
+MODULENAME= libphp5
+SHORTMODNAME= php5
+WARNING= "!!! If you have a threaded Apache, you must build ${PHP_PORT} with ZTS support to enable thread-safety in extensions !!!"
+.endif
+
+.if ${PORT_OPTIONS:MEMBED}
+PHP_SAPI+= embed
+CONFIGURE_ARGS+=--enable-embed
+.endif
+
+.if ${PORT_OPTIONS:MPHPDBG}
+PHP_SAPI+= phpdbg
+CONFIGURE_ARGS+=--enable-phpdbg
+.if ${PORT_OPTIONS:MDEBUG}
+CONFIGURE_ARGS+=--enable-phpdbg-debug
+.endif
+.endif
+
+.if ${PORT_OPTIONS:MCLI} || ${PORT_OPTIONS:MEMBED}
+PLIST_SUB+= SAPI_INC=""
+.else
+PLIST_SUB+= SAPI_INC="@comment "
+.endif
+
+.if !defined(WITH_REGEX_TYPE) || ${WITH_REGEX_TYPE} == "php"
+CONFIGURE_ARGS+=--with-regex=php
+.elif defined(WITH_REGEX_TYPE) && ${WITH_REGEX_TYPE} == "system"
+CONFIGURE_ARGS+=--with-regex=system
+.endif
+
+.if !defined(WITH_ZEND_VM) || ${WITH_ZEND_VM} == "CALL"
+CONFIGURE_ARGS+=--with-zend-vm=CALL
+.elif defined(WITH_ZEND_VM) && ${WITH_ZEND_VM} == "SWITCH"
+CONFIGURE_ARGS+=--with-zend-vm=SWITCH
+.elif defined(WITH_ZEND_VM) && ${WITH_ZEND_VM} == "GOTO"
+CONFIGURE_ARGS+=--with-zend-vm=GOTO
+.endif
+
+CONFIGURE_ENV+= ac_cv_pthreads_lib="" \
+ ac_cv_pthreads_cflags="" \
+ pthreads_working="yes" \
+ lt_cv_path_SED="sed"
+
+.if ${PORT_OPTIONS:MLINKTHR}
+LIBS+= ${PTHREAD_LIBS}
+.endif
+
+.if ${PORT_OPTIONS:MDEBUG}
+CONFIGURE_ARGS+=--enable-debug
+.endif
+
+.if ${PORT_OPTIONS:MZTS}
+CONFIGURE_ARGS+=--enable-maintainer-zts
+.endif
+
+.if ${PORT_OPTIONS:MDTRACE}
+.if ${OSVERSION} < 900000
+IGNORE= cannot be built with DTrace support on FreeBSD < 9.x
+.endif
+CONFIGURE_ARGS+=--enable-dtrace
+.endif
+
+.if empty(PORT_OPTIONS:MIPV6)
+CONFIGURE_ARGS+=--disable-ipv6
+.endif
+
+post-patch:
+ @${TOUCH} ${WRKSRC}/ext/php_config.h
+ @${REINPLACE_CMD} "s|^\(extension_dir\)|; \1|" ${WRKSRC}/php.ini-*
+.if ${PORT_OPTIONS:MFPM}
+ @${REINPLACE_CMD} -e "s|^;\(pid\)|\1|;s|^;\(pm\.[a-z_]*_servers\)|\1|" \
+ ${WRKSRC}/sapi/fpm/php-fpm.conf.in
+.endif
+
+# Work around issues with newer (>=2.64) autoconf
+pre-configure:
+ @${REINPLACE_CMD} -E 's:^((m4_)?divert)[(]([0-9]*)[)]:\1(600\3):' \
+ ${WRKSRC}/configure.in `${FIND} ${WRKSRC} -name '*.m4'`
+ @${RM} ${WRKSRC}/configure
+ @${CAT} ${WRKSRC}/acinclude.m4 ${WRKSRC}/build/libtool.m4 > ${WRKSRC}/aclocal.m4
+
+.if !defined(PKGNAMEPREFIX)
+post-build:
+ @${ECHO_CMD} "PHP_VER=56" > ${WRKDIR}/php.conf
+ @${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
+ @${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${WRKDIR}/php.conf
+ @${ECHO_CMD} "PHP_EXT_INC=pcre spl" >> ${WRKDIR}/php.conf
+
+test: build
+ @(cd ${WRKSRC} && ${MAKE} test)
+
+post-install:
+ @${INSTALL_DATA} ${WRKSRC}/php.ini-development ${WRKSRC}/php.ini-production \
+ ${WRKDIR}/php.conf ${STAGEDIR}/${PREFIX}/etc
+.else
+do-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
+ ${INSTALL_LIB} ${WRKSRC}/libs/${MODULENAME}.so \
+ ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
+.endif
+
+.else
+.include "${MASTERDIR}/Makefile.ext"
+.endif
+.include <bsd.port.post.mk>
diff --git a/lang/php56/Makefile.ext b/lang/php56/Makefile.ext
new file mode 100644
index 000000000000..24b03b8e0c55
--- /dev/null
+++ b/lang/php56/Makefile.ext
@@ -0,0 +1,596 @@
+COMMENT= The ${PHP_MODNAME} shared extension for php
+
+USE_PHP= yes
+USE_PHPEXT= yes
+PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
+PHP_DEFAULT= 5.6
+IGNORE_WITH_PHP=52 53 54 55 5
+
+EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
+WRKSRC= ${WRKDIR}/${EXTSUBDIR}
+PATCHDIR= ${.CURDIR}/files
+PLIST= ${NONEXISTENT}
+
+EXTRACT_AFTER_ARGS?= ${EXTSUBDIR}
+
+.if ${PHP_MODNAME} == "bcmath"
+CONFIGURE_ARGS+=--enable-bcmath
+
+PHP_HEADER_DIRS=libbcmath libbcmath/src
+.endif
+
+.if ${PHP_MODNAME} == "bz2"
+CONFIGURE_ARGS+=--with-bz2=/usr
+.endif
+
+.if ${PHP_MODNAME} == "calendar"
+CONFIGURE_ARGS+=--enable-calendar
+.endif
+
+.if ${PHP_MODNAME} == "ctype"
+CONFIGURE_ARGS+=--enable-ctype
+.endif
+
+.if ${PHP_MODNAME} == "curl"
+LIB_DEPENDS+= libcurl.so:${PORTSDIR}/ftp/curl
+
+CONFIGURE_ARGS+=--with-curl=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "dba"
+CONFIGURE_ARGS+=--enable-dba
+
+OPTIONS_DEFINE= CDB DB4 GDBM QDBM TOKYO INIFILE FLATFILE
+OPTIONS_DEFAULT=CDB INIFILE FLATFILE
+
+CDB_DESC= cdb database support
+DB4_DESC= Berkeley DB4 support
+GDBM_DESC= GDBM database support
+QDBM_DESC= QDBM database support
+TOKYO_DESC= Tokyo Cabinet database support
+INIFILE_DESC= INI file support
+FLATFILE_DESC= flatfile support
+
+PHP_HEADER_DIRS= libcdb libflatfile libinifile
+.endif
+
+.if ${PHP_MODNAME} == "dom"
+CONFIGURE_ARGS+=--enable-dom \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "exif"
+CONFIGURE_ARGS+=--enable-exif
+.endif
+
+.if ${PHP_MODNAME} == "fileinfo"
+CONFIGURE_ARGS+=--enable-fileinfo \
+ --with-pcre-dir=${LOCALBASE}
+
+PHP_HEADER_DIRS= libmagic
+.endif
+
+.if ${PHP_MODNAME} == "filter"
+CONFIGURE_ARGS+=--enable-filter \
+ --with-pcre-dir=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "ftp"
+CONFIGURE_ARGS+=--enable-ftp \
+ --with-openssl-dir=${OPENSSLBASE}
+
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USE_OPENSSL= yes
+.endif
+
+.if ${PHP_MODNAME} == "gd"
+LIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2 \
+ libpng15.so:${PORTSDIR}/graphics/png \
+ libjpeg.so:${PORTSDIR}/graphics/jpeg
+
+CONFIGURE_ARGS+=--with-gd \
+ --with-freetype-dir=${LOCALBASE} \
+ --with-jpeg-dir=${LOCALBASE} \
+ --with-png-dir=${LOCALBASE} \
+ --with-zlib-dir=/usr
+
+OPTIONS_DEFINE= T1LIB TRUETYPE JIS X11 VPX
+OPTIONS_DEFAULT=T1LIB TRUETYPE X11
+
+T1LIB_DESC= Include T1lib support
+TRUETYPE_DESC= Enable TrueType string function
+JIS_DESC= Enable JIS-mapped Japanese font support
+X11_DESC= Enable XPM support
+VPX_DESC= Enable VP8 codec support
+
+PHP_HEADER_DIRS=libgd
+.endif
+
+.if ${PHP_MODNAME} == "gettext"
+CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
+
+USES+= gettext
+.endif
+
+.if ${PHP_MODNAME} == "gmp"
+LIB_DEPENDS+= libgmp.so:${PORTSDIR}/math/gmp
+
+CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "hash"
+CONFIGURE_ARGS+=--enable-hash \
+ --with-mhash
+.endif
+
+.if ${PHP_MODNAME} == "iconv"
+CONFIGURE_ARGS+=--with-iconv=${LOCALBASE}
+
+USES+= iconv:translit
+.endif
+
+.if ${PHP_MODNAME} == "imap"
+LIB_DEPENDS+= libc-client4.so:${PORTSDIR}/mail/cclient
+
+CONFIGURE_ARGS+=--with-imap=${LOCALBASE} \
+ --with-pcre-dir=${LOCALBASE}
+.if !defined(WITHOUT_SSL)
+CONFIGURE_ARGS+=--with-imap-ssl=${OPENSSLBASE}
+
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USE_OPENSSL= yes
+.endif
+.endif
+
+.if ${PHP_MODNAME} == "interbase"
+CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}
+
+USE_FIREBIRD= yes
+.endif
+
+.if ${PHP_MODNAME} == "json"
+CONFIGURE_ARGS+=--enable-json
+.endif
+
+.if ${PHP_MODNAME} == "ldap"
+CONFIGURE_ARGS+=--with-ldap=${LOCALBASE}
+
+USE_OPENLDAP= yes
+
+. ifdef(WANT_OPENLDAP_SASL)
+CONFIGURE_ARGS+=--with-ldap-sasl=${LOCALBASE}
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "mbstring"
+
+CONFIGURE_ARGS+=--enable-mbstring \
+ --with-pcre-dir=${LOCALBASE}
+
+OPTIONS_DEFINE= REGEX
+OPTIONS_DEFAULT=REGEX
+
+REGEX_DESC= Enable multibyte regex support
+
+PHP_HEADER_DIRS=libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls
+.endif
+
+.if ${PHP_MODNAME} == "mcrypt"
+LIB_DEPENDS+= libmcrypt.so:${PORTSDIR}/security/libmcrypt
+
+CONFIGURE_ARGS+=--with-mcrypt=${LOCALBASE}
+
+USE_AUTOTOOLS= libltdl
+.endif
+
+.if ${PHP_MODNAME} == "mssql"
+LIB_DEPENDS+= libsybdb.so:${PORTSDIR}/databases/freetds-msdblib
+
+CONFIGURE_ARGS+=--with-mssql=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "mysql"
+OPTIONS_DEFINE= MYSQLND
+OPTIONS_DEFAULT=MYSQLND
+
+MYSQLND_DESC= Use MySQL Native Driver
+.endif
+
+.if ${PHP_MODNAME} == "mysqli"
+OPTIONS_DEFINE= MYSQLND
+OPTIONS_DEFAULT=MYSQLND
+
+MYSQLND_DESC= Use MySQL Native Driver
+.endif
+
+.if ${PHP_MODNAME} == "odbc"
+LIB_DEPENDS+= libodbc.so:${PORTSDIR}/databases/unixODBC
+
+CONFIGURE_ARGS+=--enable-odbc \
+ --with-unixODBC=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "openssl"
+CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE}
+
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USE_OPENSSL= yes
+.endif
+
+.if ${PHP_MODNAME} == "opcache"
+CONFIGURE_ARGS+=--enable-opcache
+.endif
+
+.if ${PHP_MODNAME} == "pcntl"
+CONFIGURE_ARGS+=--enable-pcntl
+.endif
+
+.if ${PHP_MODNAME} == "pdo"
+CONFIGURE_ARGS+=--enable-pdo
+.endif
+
+.if ${PHP_MODNAME} == "pdo_dblib"
+CONFIGURE_ARGS+=--with-pdo-dblib=${LOCALBASE}
+
+USE_PHP= pdo
+USE_PHP_BUILD= yes
+
+OPTIONS_DEFINE= MSSQL
+
+MSSQL_DESC= Enable Microsoft SQL Server support
+.endif
+
+.if ${PHP_MODNAME} == "pdo_firebird"
+CONFIGURE_ARGS+=--with-pdo-firebird=${LOCALBASE}
+
+USE_PHP= pdo
+USE_PHP_BUILD= yes
+
+USE_FIREBIRD= yes
+.endif
+
+.if ${PHP_MODNAME} == "pdo_mysql"
+OPTIONS_DEFINE= MYSQLND
+OPTIONS_DEFAULT=MYSQLND
+
+MYSQLND_DESC= Use MySQL Native Driver
+
+USE_PHP= pdo
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "pdo_odbc"
+LIB_DEPENDS+= libodbc.so:${PORTSDIR}/databases/unixODBC
+CONFIGURE_ARGS+=--with-pdo-odbc=unixODBC,${LOCALBASE}
+
+USE_PHP= pdo
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "pdo_pgsql"
+USE_PGSQL= yes
+
+CONFIGURE_ARGS+=--with-pdo-pgsql=${LOCALBASE}
+
+USE_PHP= pdo
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "pdo_sqlite"
+USE_SQLITE= yes
+CONFIGURE_ARGS+=--with-pdo-sqlite=${LOCALBASE}
+
+USE_PHP= pdo
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "pgsql"
+USE_PGSQL= yes
+
+CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "phar"
+CONFIGURE_ARGS+=--enable-phar \
+ --with-pcre-dir=${LOCALBASE}
+
+USE_PHP= hash
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "posix"
+CONFIGURE_ARGS+=--enable-posix
+.endif
+
+.if ${PHP_MODNAME} == "pspell"
+LIB_DEPENDS+= libaspell.so:${PORTSDIR}/textproc/aspell
+
+CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
+
+# Ugly hack to load session before psell to avoid crashes
+USE_PHP= session
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "readline"
+CONFIGURE_ARGS+=--with-readline=/usr
+USES+= readline
+.endif
+
+.if ${PHP_MODNAME} == "recode"
+LIB_DEPENDS+= librecode.so:${PORTSDIR}/converters/recode
+
+CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "session"
+CONFIGURE_ARGS+=--enable-session
+.endif
+
+.if ${PHP_MODNAME} == "shmop"
+CONFIGURE_ARGS+=--enable-shmop
+.endif
+
+.if ${PHP_MODNAME} == "simplexml"
+CONFIGURE_ARGS+=--enable-simplexml \
+ --with-pcre-dir=${LOCALBASE} \
+ --with-libxml-dir=${LOCALBASE}
+
+USES+= pkgconfig
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "snmp"
+CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} \
+ --with-openssl-dir=${OPENSSLBASE}
+
+CONFIGURE_ENV+= ac_cv_buggy_snprint_value="no"
+
+LIB_DEPENDS+= libnetsnmp.so:${PORTSDIR}/net-mgmt/net-snmp
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USE_OPENSSL= yes
+.endif
+
+.if ${PHP_MODNAME} == "soap"
+CONFIGURE_ARGS+=--enable-soap \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+
+USE_PHP= session
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "sockets"
+CONFIGURE_ARGS+=--enable-sockets
+.endif
+
+.if ${PHP_MODNAME} == "sqlite3"
+USE_SQLITE= yes
+CONFIGURE_ARGS+=--with-sqlite3=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "sybase_ct"
+LIB_DEPENDS+= libct.so:${PORTSDIR}/databases/freetds
+
+CONFIGURE_ARGS+=--with-sybase-ct=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "sysvmsg"
+CONFIGURE_ARGS+=--enable-sysvmsg
+.endif
+
+.if ${PHP_MODNAME} == "sysvsem"
+CONFIGURE_ARGS+=--enable-sysvsem
+.endif
+
+.if ${PHP_MODNAME} == "sysvshm"
+CONFIGURE_ARGS+=--enable-sysvshm
+.endif
+
+.if ${PHP_MODNAME} == "tidy"
+CONFIGURE_ARGS+=--with-tidy=${LOCALBASE}
+
+LIB_DEPENDS+= libtidy.so:${PORTSDIR}/www/tidy-lib
+.endif
+
+.if ${PHP_MODNAME} == "tokenizer"
+CONFIGURE_ARGS+=--enable-tokenizer
+.endif
+
+.if ${PHP_MODNAME} == "wddx"
+CONFIGURE_ARGS+=--enable-wddx \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+
+USE_PHP= xml session
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "xml"
+CONFIGURE_ARGS+=--enable-xml \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "xmlreader"
+CONFIGURE_ARGS+=--enable-xmlreader \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+
+USE_PHP= dom
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "xmlrpc"
+CONFIGURE_ARGS+=--with-xmlrpc \
+ --with-libxml-dir=${LOCALBASE} \
+ --with-iconv-dir=${LOCALBASE}
+
+USES+= iconv:translit
+USE_GNOME= libxml2
+
+PHP_HEADER_DIRS=libxmlrpc
+
+USE_PHP= xml
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "xmlwriter"
+CONFIGURE_ARGS+=--enable-xmlwriter \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "xsl"
+CONFIGURE_ARGS+=--with-xsl=${LOCALBASE}
+
+USE_GNOME= libxslt
+USE_PHP= dom xml
+USE_PHP_BUILD= yes
+.endif
+
+.if ${PHP_MODNAME} == "zip"
+LIB_DEPENDS+= libzip.so:${PORTSDIR}/archivers/libzip
+
+CONFIGURE_ARGS+=--enable-zip \
+ --with-zlib-dir=/usr \
+ --with-pcre-dir=${LOCALBASE} \
+ --with-libzip=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "zlib"
+CONFIGURE_ARGS+=--with-zlib=/usr
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if ${PHP_MODNAME} == "dba"
+. if empty(PORT_OPTIONS:MCDB)
+CONFIGURE_ARGS+=--without-cdb
+. endif
+. if ${PORT_OPTIONS:MDB4}
+CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
+
+USE_BDB= 40+
+WITH_BDB_HIGHEST= yes
+. endif
+. if ${PORT_OPTIONS:MGDBM}
+LIB_DEPENDS+= libgdbm.so:${PORTSDIR}/databases/gdbm
+
+CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
+. endif
+. if ${PORT_OPTIONS:MQDBM}
+LIB_DEPENDS+= libqdbm.so:${PORTSDIR}/databases/qdbm
+
+CONFIGURE_ARGS+=--with-qdbm=${LOCALBASE}
+. endif
+. if ${PORT_OPTIONS:MTOKYO}
+LIB_DEPENDS+= libtokyocabinet.so:${PORTSDIR}/databases/tokyocabinet
+
+CONFIGURE_ARGS+=--with-tcadb=${LOCALBASE}
+. endif
+. if empty(PORT_OPTIONS:MINIFILE)
+CONFIGURE_ARGS+=--disable-inifile
+. endif
+. if empty(PORT_OPTIONS:MFLATFILE)
+CONFIGURE_ARGS+=--disable-flatfile
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "gd"
+. if ${PORT_OPTIONS:MT1LIB}
+LIB_DEPENDS+= libt1.so:${PORTSDIR}/devel/t1lib
+
+CONFIGURE_ARGS+=--with-t1lib=${LOCALBASE}
+. endif
+. if ${PORT_OPTIONS:MTRUETYPE}
+CONFIGURE_ARGS+=--enable-gd-native-ttf
+. endif
+. if ${PORT_OPTIONS:MJIS}
+CONFIGURE_ARGS+=--enable-gd-jis-conv
+. endif
+. if ${PORT_OPTIONS:MX11}
+USE_XORG= xpm
+
+CONFIGURE_ARGS+=--with-xpm-dir=${LOCALBASE}
+. endif
+. if ${PORT_OPTIONS:MVPX}
+LIB_DEPENDS+= libvpx.so:${PORTSDIR}/multimedia/libvpx
+
+CONFIGURE_ARGS+=--with-vpx-dir=${LOCALBASE}
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "mbstring"
+. if ${PORT_OPTIONS:MREGEX}
+LIB_DEPENDS+= libonig.so:${PORTSDIR}/devel/oniguruma4
+CONFIGURE_ARGS+=--with-onig=${LOCALBASE}
+. else
+CONFIGURE_ARGS+=--disable-mbregex
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "mysql"
+. if ${PORT_OPTIONS:MMYSQLND}
+CONFIGURE_ARGS+=--with-mysql=mysqlnd
+. else
+CONFIGURE_ARGS+=--with-mysql=${LOCALBASE} \
+ --with-zlib-dir=/usr
+
+USE_MYSQL= yes
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "mysqli"
+. if ${PORT_OPTIONS:MMYSQLND}
+CONFIGURE_ARGS+=--with-mysqli=mysqlnd
+. else
+CONFIGURE_ARGS+=--with-mysqli=${LOCALBASE}/bin/mysql_config
+
+USE_MYSQL= yes
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "openssl" || ${PHP_MODNAME} == "sqlite3"
+post-extract:
+ @${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
+.endif
+
+.if ${PHP_MODNAME} == "pdo_dblib"
+. if ${PORT_OPTIONS:MMSSQL}
+LIB_DEPENDS+= libsybdb.so:${PORTSDIR}/databases/freetds-msdblib
+. else
+LIB_DEPENDS+= libct.so:${PORTSDIR}/databases/freetds
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "pdo_mysql"
+. if ${PORT_OPTIONS:MMYSQLND}
+CONFIGURE_ARGS+=--with-pdo-mysql=mysqlnd
+
+USE_PHP+= mysql
+. else
+CONFIGURE_ARGS+=--with-pdo-mysql=${LOCALBASE} \
+ --with-zlib-dir=/usr
+
+USE_MYSQL= yes
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "xml"
+post-extract:
+ @${MKDIR} ${WRKSRC}/ext/xml
+ @${CP} ${WRKSRC}/expat_compat.h ${WRKSRC}/ext/xml
+.endif
+
+.if ${PHP_MODNAME} == "zlib"
+post-extract:
+ @${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
+.endif
diff --git a/lang/php56/distinfo b/lang/php56/distinfo
new file mode 100644
index 000000000000..f81d933a7e77
--- /dev/null
+++ b/lang/php56/distinfo
@@ -0,0 +1,4 @@
+SHA256 (php-5.6.0.tar.bz2) = 097af1be34fc73965e6f8401fd10e73eb56e1969ed4ffd691fb7e91606d0fc09
+SIZE (php-5.6.0.tar.bz2) = 13547979
+SHA256 (php-5.5.x-mail-header.patch) = b0b5a7c961b2052eb14d9528e76155cbeaa881fb9b4a49f452f9dab07b6fb1c4
+SIZE (php-5.5.x-mail-header.patch) = 3379
diff --git a/lang/php56/files/extra-patch-php-fpm-ipv6 b/lang/php56/files/extra-patch-php-fpm-ipv6
new file mode 100644
index 000000000000..ac00a11867f9
--- /dev/null
+++ b/lang/php56/files/extra-patch-php-fpm-ipv6
@@ -0,0 +1,215 @@
+diff --git a/sapi/fpm/fpm/fpm_sockets.c b/sapi/fpm/fpm/fpm_sockets.c
+index e056565..da14d63 100644
+--- a/sapi/fpm/fpm/fpm_sockets.c
++++ b/sapi/fpm/fpm/fpm_sockets.c
+@@ -39,29 +39,6 @@ struct listening_socket_s {
+
+ static struct fpm_array_s sockets_list;
+
+-static int fpm_sockets_resolve_af_inet(char *node, char *service, struct sockaddr_in *addr) /* {{{ */
+-{
+- struct addrinfo *res;
+- struct addrinfo hints;
+- int ret;
+-
+- memset(&hints, 0, sizeof(hints));
+- hints.ai_family = AF_INET;
+- ret = getaddrinfo(node, service, &hints, &res);
+-
+- if (ret != 0) {
+- zlog(ZLOG_ERROR, "can't resolve hostname '%s%s%s': getaddrinfo said: %s%s%s\n",
+- node, service ? ":" : "", service ? service : "",
+- gai_strerror(ret), ret == EAI_SYSTEM ? ", system error: " : "", ret == EAI_SYSTEM ? strerror(errno) : "");
+- return -1;
+- }
+-
+- *addr = *(struct sockaddr_in *) res->ai_addr;
+- freeaddrinfo(res);
+- return 0;
+-}
+-/* }}} */
+-
+ enum { FPM_GET_USE_SOCKET = 1, FPM_STORE_SOCKET = 2, FPM_STORE_USE_SOCKET = 3 };
+
+ static void fpm_sockets_cleanup(int which, void *arg) /* {{{ */
+@@ -98,14 +75,23 @@ static void fpm_sockets_cleanup(int which, void *arg) /* {{{ */
+ }
+ /* }}} */
+
++static void *fpm_get_in_addr(struct sockaddr *sa) /* {{{ */
++{
++ if (sa->sa_family == AF_INET) {
++ return &(((struct sockaddr_in*)sa)->sin_addr);
++ }
++
++ return &(((struct sockaddr_in6*)sa)->sin6_addr);
++}
++/* }}} */
++
+ static int fpm_sockets_hash_op(int sock, struct sockaddr *sa, char *key, int type, int op) /* {{{ */
+ {
+ if (key == NULL) {
+ switch (type) {
+ case FPM_AF_INET : {
+- struct sockaddr_in *sa_in = (struct sockaddr_in *) sa;
+- key = alloca(sizeof("xxx.xxx.xxx.xxx:ppppp"));
+- sprintf(key, "%u.%u.%u.%u:%u", IPQUAD(&sa_in->sin_addr), (unsigned int) ntohs(sa_in->sin_port));
++ key = alloca(INET6_ADDRSTRLEN);
++ inet_ntop(sa->sa_family, fpm_get_in_addr(sa), key, sizeof key);
+ break;
+ }
+
+@@ -254,11 +240,14 @@ enum fpm_address_domain fpm_sockets_domain_from_address(char *address) /* {{{ */
+
+ static int fpm_socket_af_inet_listening_socket(struct fpm_worker_pool_s *wp) /* {{{ */
+ {
+- struct sockaddr_in sa_in;
++ struct addrinfo hints, *servinfo, *p;
+ char *dup_address = strdup(wp->config->listen_address);
+- char *port_str = strchr(dup_address, ':');
++ char *port_str = strrchr(dup_address, ':');
+ char *addr = NULL;
++ int addr_len;
+ int port = 0;
++ int sock;
++ int status;
+
+ if (port_str) { /* this is host:port pair */
+ *port_str++ = '\0';
+@@ -274,23 +263,35 @@ static int fpm_socket_af_inet_listening_socket(struct fpm_worker_pool_s *wp) /*
+ return -1;
+ }
+
+- memset(&sa_in, 0, sizeof(sa_in));
+-
+- if (addr) {
+- sa_in.sin_addr.s_addr = inet_addr(addr);
+- if (sa_in.sin_addr.s_addr == INADDR_NONE) { /* do resolve */
+- if (0 > fpm_sockets_resolve_af_inet(addr, NULL, &sa_in)) {
+- return -1;
+- }
+- zlog(ZLOG_NOTICE, "address '%s' resolved as %u.%u.%u.%u", addr, IPQUAD(&sa_in.sin_addr));
++ // strip brackets from address for getaddrinfo
++ if (addr != NULL) {
++ addr_len = strlen(addr);
++ if (addr[0] == '[' && addr[addr_len - 1] == ']') {
++ addr[addr_len - 1] = '\0';
++ addr++;
+ }
+- } else {
+- sa_in.sin_addr.s_addr = htonl(INADDR_ANY);
+ }
+- sa_in.sin_family = AF_INET;
+- sa_in.sin_port = htons(port);
++
++ memset(&hints, 0, sizeof hints);
++ hints.ai_family = AF_UNSPEC;
++ hints.ai_socktype = SOCK_STREAM;
++
++ if ((status = getaddrinfo(addr, port_str, &hints, &servinfo)) != 0) {
++ zlog(ZLOG_ERROR, "getaddrinfo: %s\n", gai_strerror(status));
++ return -1;
++ }
++
+ free(dup_address);
+- return fpm_sockets_get_listening_socket(wp, (struct sockaddr *) &sa_in, sizeof(struct sockaddr_in));
++
++ for (p = servinfo; p != NULL; p = p->ai_next) {
++ if ((sock = fpm_sockets_get_listening_socket(wp, p->ai_addr, p->ai_addrlen)) != -1) {
++ break;
++ }
++ }
++
++ freeaddrinfo(servinfo);
++
++ return sock;
+ }
+ /* }}} */
+
+diff --git a/sapi/fpm/fpm/fpm_sockets.h b/sapi/fpm/fpm/fpm_sockets.h
+index 121c016..446c78e 100644
+--- a/sapi/fpm/fpm/fpm_sockets.h
++++ b/sapi/fpm/fpm/fpm_sockets.h
+@@ -45,10 +45,4 @@ static inline int fd_set_blocked(int fd, int blocked) /* {{{ */
+ }
+ /* }}} */
+
+-#define IPQUAD(sin_addr) \
+- (unsigned int) ((unsigned char *) &(sin_addr)->s_addr)[0], \
+- (unsigned int) ((unsigned char *) &(sin_addr)->s_addr)[1], \
+- (unsigned int) ((unsigned char *) &(sin_addr)->s_addr)[2], \
+- (unsigned int) ((unsigned char *) &(sin_addr)->s_addr)[3]
+-
+ #endif
+diff --git a/sapi/fpm/php-fpm.conf.in b/sapi/fpm/php-fpm.conf.in
+index ab03736..8e242aa 100644
+--- a/sapi/fpm/php-fpm.conf.in
++++ b/sapi/fpm/php-fpm.conf.in
+@@ -152,6 +152,8 @@ group = @php_fpm_group@
+ ; Valid syntaxes are:
+ ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
+ ; a specific port;
++; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
++; a specific port;
+ ; 'port' - to listen on a TCP socket to all addresses on a
+ ; specific port;
+ ; '/path/to/unix/socket' - to listen on a unix socket.
+diff --git a/sapi/fpm/tests/003.phpt b/sapi/fpm/tests/003.phpt
+new file mode 100644
+index 0000000..389cb24
+--- /dev/null
++++ b/sapi/fpm/tests/003.phpt
+@@ -0,0 +1,53 @@
++--TEST--
++FPM: Test IPv6 support
++--SKIPIF--
++<?php include "skipif.inc"; ?>
++--FILE--
++<?php
++
++include "include.inc";
++
++$logfile = dirname(__FILE__).'/php-fpm.log.tmp';
++
++$cfg = <<<EOT
++[global]
++error_log = $logfile
++[unconfined]
++listen = [::1]:9000
++pm = dynamic
++pm.max_children = 5
++pm.start_servers = 2
++pm.min_spare_servers = 1
++pm.max_spare_servers = 3
++EOT;
++
++$fpm = run_fpm($cfg, $tail);
++if (is_resource($fpm)) {
++ var_dump(fgets($tail));
++ var_dump(fgets($tail));
++ $i = 0;
++ while (($i++ < 30) && !($fp = fsockopen('[::1]', 9000))) {
++ usleep(10000);
++ }
++ if ($fp) {
++ echo "Done\n";
++ fclose($fp);
++ }
++ proc_terminate($fpm);
++ stream_get_contents($tail);
++ fclose($tail);
++ proc_close($fpm);
++}
++
++?>
++--EXPECTF--
++string(%d) "[%d-%s-%d %d:%d:%d] NOTICE: fpm is running, pid %d
++"
++string(%d) "[%d-%s-%d %d:%d:%d] NOTICE: ready to handle connections
++"
++Done
++--CLEAN--
++<?php
++ $logfile = dirname(__FILE__).'/php-fpm.log.tmp';
++ @unlink($logfile);
++?>
diff --git a/lang/php56/files/patch-TSRM_threads.m4 b/lang/php56/files/patch-TSRM_threads.m4
new file mode 100644
index 000000000000..299350f078b6
--- /dev/null
+++ b/lang/php56/files/patch-TSRM_threads.m4
@@ -0,0 +1,11 @@
+--- TSRM/threads.m4.orig 2013-12-10 23:31:06.000000000 +0000
++++ TSRM/threads.m4 2013-12-13 21:50:24.898258559 +0000
+@@ -79,7 +79,7 @@ int main() {
+ pthread_mutexattr_t mattr;
+ int data = 1;
+ pthread_mutexattr_init(&mattr);
+- return pthread_create(&thd, NULL, thread_routine, &data);
++ return 0;
+ } ], [
+ pthreads_working=yes
+ ], [
diff --git a/lang/php56/files/patch-Zend__zend.h b/lang/php56/files/patch-Zend__zend.h
new file mode 100644
index 000000000000..2bfe580a3848
--- /dev/null
+++ b/lang/php56/files/patch-Zend__zend.h
@@ -0,0 +1,11 @@
+--- Zend/zend.h.orig 2014-08-27 13:31:35.000000000 +0000
++++ Zend/zend.h 2014-09-04 07:33:27.289480865 +0000
+@@ -193,7 +193,7 @@
+ #endif
+ #define restrict __restrict__
+
+-#if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2)) && !(defined(ZTS) && defined(NETWARE)) && !(defined(ZTS) && defined(HPUX)) && !defined(DARWIN)
++#if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2)) && !(defined(ZTS) && defined(NETWARE)) && !(defined(ZTS) && defined(HPUX)) && !defined(DARWIN) && !(defined(ZTS) && defined(__FreeBSD__))
+ # define ZEND_ALLOCA_MAX_SIZE (32 * 1024)
+ # define ALLOCA_FLAG(name) \
+ zend_bool name;
diff --git a/lang/php56/files/patch-Zend_zend_list.c b/lang/php56/files/patch-Zend_zend_list.c
new file mode 100644
index 000000000000..4275e78a40c8
--- /dev/null
+++ b/lang/php56/files/patch-Zend_zend_list.c
@@ -0,0 +1,38 @@
+--- Zend/zend_list.c.orig 2013-12-10 23:31:06.000000000 +0000
++++ Zend/zend_list.c 2013-12-13 21:50:25.016258358 +0000
+@@ -47,7 +47,7 @@ ZEND_API int zend_list_insert(void *ptr,
+ return index;
+ }
+
+-ZEND_API int _zend_list_delete(int id TSRMLS_DC)
++ZEND_API int _zend_list_delete(ulong id TSRMLS_DC)
+ {
+ zend_rsrc_list_entry *le;
+
+@@ -64,7 +64,7 @@ ZEND_API int _zend_list_delete(int id TS
+ }
+
+
+-ZEND_API void *_zend_list_find(int id, int *type TSRMLS_DC)
++ZEND_API void *_zend_list_find(ulong id, int *type TSRMLS_DC)
+ {
+ zend_rsrc_list_entry *le;
+
+@@ -77,7 +77,7 @@ ZEND_API void *_zend_list_find(int id, i
+ }
+ }
+
+-ZEND_API int _zend_list_addref(int id TSRMLS_DC)
++ZEND_API int _zend_list_addref(ulong id TSRMLS_DC)
+ {
+ zend_rsrc_list_entry *le;
+
+@@ -348,7 +348,7 @@ void zend_destroy_rsrc_list_dtors(void)
+ }
+
+
+-const char *zend_rsrc_list_get_rsrc_type(int resource TSRMLS_DC)
++const char *zend_rsrc_list_get_rsrc_type(ulong resource TSRMLS_DC)
+ {
+ zend_rsrc_list_dtors_entry *lde;
+ int rsrc_type;
diff --git a/lang/php56/files/patch-Zend_zend_list.h b/lang/php56/files/patch-Zend_zend_list.h
new file mode 100644
index 000000000000..0ab7450f4de9
--- /dev/null
+++ b/lang/php56/files/patch-Zend_zend_list.h
@@ -0,0 +1,24 @@
+--- Zend/zend_list.h.orig 2013-12-10 23:31:06.000000000 +0000
++++ Zend/zend_list.h 2013-12-13 21:50:25.087258407 +0000
+@@ -71,9 +71,9 @@ int zend_init_rsrc_list_dtors(void);
+ void zend_destroy_rsrc_list_dtors(void);
+
+ ZEND_API int zend_list_insert(void *ptr, int type TSRMLS_DC);
+-ZEND_API int _zend_list_addref(int id TSRMLS_DC);
+-ZEND_API int _zend_list_delete(int id TSRMLS_DC);
+-ZEND_API void *_zend_list_find(int id, int *type TSRMLS_DC);
++ZEND_API int _zend_list_addref(ulong id TSRMLS_DC);
++ZEND_API int _zend_list_delete(ulong id TSRMLS_DC);
++ZEND_API void *_zend_list_find(ulong id, int *type TSRMLS_DC);
+
+ #define zend_list_addref(id) _zend_list_addref(id TSRMLS_CC)
+ #define zend_list_delete(id) _zend_list_delete(id TSRMLS_CC)
+@@ -82,7 +82,7 @@ ZEND_API void *_zend_list_find(int id, i
+ ZEND_API int zend_register_resource(zval *rsrc_result, void *rsrc_pointer, int rsrc_type TSRMLS_DC);
+ ZEND_API void *zend_fetch_resource(zval **passed_id TSRMLS_DC, int default_id, const char *resource_type_name, int *found_resource_type, int num_resource_types, ...);
+
+-ZEND_API const char *zend_rsrc_list_get_rsrc_type(int resource TSRMLS_DC);
++ZEND_API const char *zend_rsrc_list_get_rsrc_type(ulong resource TSRMLS_DC);
+ ZEND_API int zend_fetch_list_dtor_id(char *type_name);
+
+ extern ZEND_API int le_index_ptr; /* list entry type for index pointers */
diff --git a/lang/php56/files/patch-acinclude.m4 b/lang/php56/files/patch-acinclude.m4
new file mode 100644
index 000000000000..836eb4053db4
--- /dev/null
+++ b/lang/php56/files/patch-acinclude.m4
@@ -0,0 +1,45 @@
+--- acinclude.m4.orig 2013-12-10 23:31:06.000000000 +0000
++++ acinclude.m4 2013-12-13 21:50:25.113258550 +0000
+@@ -984,15 +984,9 @@ dnl ------------------------------------
+ if test "$3" != "shared" && test "$3" != "yes" && test "$4" = "cli"; then
+ dnl ---------------------------------------------- CLI static module
+ [PHP_]translit($1,a-z_-,A-Z__)[_SHARED]=no
+- case "$PHP_SAPI" in
+- cgi|embed[)]
+- PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,)
+- EXT_STATIC="$EXT_STATIC $1"
+- ;;
+- *[)]
+ PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,cli)
+- ;;
+- esac
++ PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,cgi)
++ PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,fpm)
+ EXT_CLI_STATIC="$EXT_CLI_STATIC $1"
+ fi
+ PHP_ADD_BUILD_DIR($ext_builddir)
+@@ -1042,12 +1036,6 @@ You either need to build $1 shared or bu
+ build to be successful.
+ ])
+ fi
+- if test "x$is_it_enabled" = "xno" && test "x$3" != "xtrue"; then
+- AC_MSG_ERROR([
+-You've configured extension $1, which depends on extension $2,
+-but you've either not enabled $2, or have disabled it.
+-])
+- fi
+ dnl Some systems require that we link $2 to $1 when building
+ ])
+
+@@ -2320,9 +2308,9 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
+ test -z "$PHP_IMAP_SSL" && PHP_IMAP_SSL=no
+
+ dnl Fallbacks for different configure options
+- if test "$PHP_OPENSSL" != "no"; then
++ if test -n "$PHP_OPENSSL" && test "$PHP_OPENSSL" != "no"; then
+ PHP_OPENSSL_DIR=$PHP_OPENSSL
+- elif test "$PHP_IMAP_SSL" != "no"; then
++ elif test -n "$PHP_IMAP_SSL" && test "$PHP_IMAP_SSL" != "no"; then
+ PHP_OPENSSL_DIR=$PHP_IMAP_SSL
+ fi
+
diff --git a/lang/php56/files/patch-configure.in b/lang/php56/files/patch-configure.in
new file mode 100644
index 000000000000..f30e9d392594
--- /dev/null
+++ b/lang/php56/files/patch-configure.in
@@ -0,0 +1,53 @@
+--- configure.in.orig 2014-04-01 12:32:03.000000000 +0000
++++ configure.in 2014-04-09 07:56:27.824397653 +0000
+@@ -370,7 +370,6 @@
+ dnl .
+ dnl -------------------------------------------------------------------------
+
+-PTHREADS_CHECK
+ PHP_HELP_SEPARATOR([SAPI modules:])
+ PHP_SHLIB_SUFFIX_NAMES
+ PHP_BUILD_PROGRAM
+@@ -401,15 +400,9 @@
+ AC_MSG_RESULT([none])
+ fi
+
+-dnl Exit early
+-if test -z "$PHP_INSTALLED_SAPIS"; then
+- AC_MSG_ERROR([Nothing to build.])
+-fi
+-
+ dnl force ZTS
+ if test "$enable_maintainer_zts" = "yes"; then
+ PTHREADS_ASSIGN_VARS
+- PTHREADS_FLAGS
+ fi
+
+ dnl Starting system checks.
+@@ -688,7 +681,7 @@
+ )
+
+ dnl Some systems (like OpenSolaris) do not have nanosleep in libc
+-PHP_CHECK_FUNC_LIB(nanosleep, rt)
++PHP_CHECK_FUNC(nanosleep, rt)
+
+ dnl Check for getaddrinfo, should be a better way, but...
+ dnl Also check for working getaddrinfo
+@@ -1225,7 +1218,7 @@
+ EXPANDED_DATADIR=$datadir
+ EXPANDED_PHP_CONFIG_FILE_PATH=`eval echo "$PHP_CONFIG_FILE_PATH"`
+ EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=`eval echo "$PHP_CONFIG_FILE_SCAN_DIR"`
+-INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR
++INCLUDE_PATH=.:${prefix}/share/pear
+
+ exec_prefix=$old_exec_prefix
+ libdir=$old_libdir
+@@ -1435,7 +1428,7 @@
+ PHP_SUBST(install_targets)
+ PHP_SUBST(install_binary_targets)
+
+-PHP_INSTALL_HEADERS([Zend/ TSRM/ include/ main/ main/streams/])
++PHP_INSTALL_HEADERS([Zend/ TSRM/ main/ main/streams/])
+
+ PHP_ADD_SOURCES(TSRM, TSRM.c tsrm_strtok_r.c tsrm_virtual_cwd.c)
+
diff --git a/lang/php56/files/patch-ext_standard_image.c b/lang/php56/files/patch-ext_standard_image.c
new file mode 100644
index 000000000000..02c0907afc61
--- /dev/null
+++ b/lang/php56/files/patch-ext_standard_image.c
@@ -0,0 +1,50 @@
+--- ext/standard/image.c.orig 2013-12-10 23:31:06.000000000 +0000
++++ ext/standard/image.c 2013-12-13 21:50:25.301258244 +0000
+@@ -31,9 +31,7 @@
+ #endif
+ #include "php_image.h"
+
+-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
+ #include "zlib.h"
+-#endif
+
+ /* file type markers */
+ PHPAPI const char php_sig_gif[3] = {'G', 'I', 'F'};
+@@ -81,9 +79,7 @@ PHP_MINIT_FUNCTION(imagetypes)
+ REGISTER_LONG_CONSTANT("IMAGETYPE_JP2", IMAGE_FILETYPE_JP2, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMAGETYPE_JPX", IMAGE_FILETYPE_JPX, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMAGETYPE_JB2", IMAGE_FILETYPE_JB2, CONST_CS | CONST_PERSISTENT);
+-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
+ REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_CS | CONST_PERSISTENT);
+-#endif
+ REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMAGETYPE_WBMP", IMAGE_FILETYPE_WBMP, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG2000",IMAGE_FILETYPE_JPC, CONST_CS | CONST_PERSISTENT); /* keep alias */
+@@ -188,7 +184,6 @@ static unsigned long int php_swf_get_bit
+ }
+ /* }}} */
+
+-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
+ /* {{{ php_handle_swc
+ */
+ static struct gfxinfo *php_handle_swc(php_stream * stream TSRMLS_DC)
+@@ -259,7 +254,6 @@ static struct gfxinfo *php_handle_swc(ph
+ return result;
+ }
+ /* }}} */
+-#endif
+
+ /* {{{ php_handle_swf
+ */
+@@ -1318,11 +1312,7 @@ static void php_getimagesize_from_stream
+ result = php_handle_swf(stream TSRMLS_CC);
+ break;
+ case IMAGE_FILETYPE_SWC:
+-#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
+ result = php_handle_swc(stream TSRMLS_CC);
+-#else
+- php_error_docref(NULL TSRMLS_CC, E_NOTICE, "The image is a compressed SWF file, but you do not have a static version of the zlib extension enabled");
+-#endif
+ break;
+ case IMAGE_FILETYPE_PSD:
+ result = php_handle_psd(stream TSRMLS_CC);
diff --git a/lang/php56/files/patch-ext_zlib_config0.m4 b/lang/php56/files/patch-ext_zlib_config0.m4
new file mode 100644
index 000000000000..f0d9c99af2fd
--- /dev/null
+++ b/lang/php56/files/patch-ext_zlib_config0.m4
@@ -0,0 +1,11 @@
+--- ext/zlib/config0.m4.orig 2013-12-10 23:31:06.000000000 +0000
++++ ext/zlib/config0.m4 2013-12-13 21:50:25.378258611 +0000
+@@ -8,7 +8,7 @@ PHP_ARG_WITH(zlib,for ZLIB support,
+ PHP_ARG_WITH(zlib-dir,if the location of ZLIB install directory is defined,
+ [ --with-zlib-dir=<DIR> Define the location of zlib install directory], no, no)
+
+-if test "$PHP_ZLIB" != "no" || test "$PHP_ZLIB_DIR" != "no"; then
++if test "$PHP_ZLIB" != "no"; then
+ PHP_NEW_EXTENSION(zlib, zlib.c zlib_fopen_wrapper.c zlib_filter.c, $ext_shared)
+ PHP_SUBST(ZLIB_SHARED_LIBADD)
+
diff --git a/lang/php56/files/patch-main__php_config.h.in b/lang/php56/files/patch-main__php_config.h.in
new file mode 100644
index 000000000000..36cc08c6e92b
--- /dev/null
+++ b/lang/php56/files/patch-main__php_config.h.in
@@ -0,0 +1,12 @@
+--- main/php_config.h.in.orig 2013-12-10 23:50:50.000000000 +0000
++++ main/php_config.h.in 2013-12-13 21:50:25.396258363 +0000
+@@ -2342,6 +2342,9 @@
+ /* Define if processor uses big-endian word */
+ #undef WORDS_BIGENDIAN
+
++/* Include external shared modules configurations */
++#include "ext/php_config.h"
++
+ /* Whether sprintf is broken */
+ #undef ZEND_BROKEN_SPRINTF
+
diff --git a/lang/php56/files/patch-sapi_apache2filter_config.m4 b/lang/php56/files/patch-sapi_apache2filter_config.m4
new file mode 100644
index 000000000000..0741340c5d52
--- /dev/null
+++ b/lang/php56/files/patch-sapi_apache2filter_config.m4
@@ -0,0 +1,11 @@
+--- sapi/apache2filter/config.m4.orig 2013-12-10 23:31:06.000000000 +0000
++++ sapi/apache2filter/config.m4 2013-12-13 21:50:25.481258052 +0000
+@@ -68,7 +68,7 @@ if test "$PHP_APXS2FILTER" != "no"; then
+ fi
+
+ APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
+- if test -z `$APXS -q SYSCONFDIR`; then
++ if true; then
+ INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
+ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
+ -i -n php5"
diff --git a/lang/php56/files/patch-sapi_apache2handler_config.m4 b/lang/php56/files/patch-sapi_apache2handler_config.m4
new file mode 100644
index 000000000000..42e50def5df3
--- /dev/null
+++ b/lang/php56/files/patch-sapi_apache2handler_config.m4
@@ -0,0 +1,11 @@
+--- sapi/apache2handler/config.m4.orig 2013-12-10 23:31:06.000000000 +0000
++++ sapi/apache2handler/config.m4 2013-12-13 21:50:25.488258534 +0000
+@@ -67,7 +67,7 @@ if test "$PHP_APXS2" != "no"; then
+ fi
+
+ APXS_LIBEXECDIR='$(INSTALL_ROOT)'`$APXS -q LIBEXECDIR`
+- if test -z `$APXS -q SYSCONFDIR`; then
++ if true; then
+ INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \
+ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \
+ -i -n php5"
diff --git a/lang/php56/files/patch-sapi_fpm_Makefile.frag b/lang/php56/files/patch-sapi_fpm_Makefile.frag
new file mode 100644
index 000000000000..3d0ff1979f9e
--- /dev/null
+++ b/lang/php56/files/patch-sapi_fpm_Makefile.frag
@@ -0,0 +1,12 @@
+--- sapi/fpm/Makefile.frag.orig 2013-12-10 23:31:06.000000000 +0000
++++ sapi/fpm/Makefile.frag 2013-12-13 21:50:25.575258563 +0000
+@@ -18,6 +18,6 @@ install-fpm: $(SAPI_FPM_PATH)
+ @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man8
+ @$(INSTALL_DATA) sapi/fpm/php-fpm.8 $(INSTALL_ROOT)$(mandir)/man8/php-fpm$(program_suffix).8
+
+- @echo "Installing PHP FPM status page: $(INSTALL_ROOT)$(datadir)/fpm/"
+- @$(mkinstalldirs) $(INSTALL_ROOT)$(datadir)/fpm
+- @$(INSTALL_DATA) sapi/fpm/status.html $(INSTALL_ROOT)$(datadir)/fpm/status.html
++ @echo "Installing PHP FPM status page: $(INSTALL_ROOT)$(datadir)/php/fpm/"
++ @$(mkinstalldirs) $(INSTALL_ROOT)$(datadir)/php/fpm
++ @$(INSTALL_DATA) sapi/fpm/status.html $(INSTALL_ROOT)$(datadir)/php/fpm/status.html
diff --git a/lang/php56/files/patch-sapi_fpm_config.m4 b/lang/php56/files/patch-sapi_fpm_config.m4
new file mode 100644
index 000000000000..c8d7a8747fbe
--- /dev/null
+++ b/lang/php56/files/patch-sapi_fpm_config.m4
@@ -0,0 +1,20 @@
+--- sapi/fpm/config.m4.orig 2013-12-10 23:31:06.000000000 +0000
++++ sapi/fpm/config.m4 2013-12-13 21:50:25.662258580 +0000
+@@ -317,7 +317,7 @@ AC_DEFUN([AC_FPM_LQ],
+
+ AC_MSG_CHECKING([for TCP_INFO])
+
+- AC_TRY_COMPILE([ #include <netinet/tcp.h> ], [struct tcp_info ti; int x = TCP_INFO;], [
++ AC_TRY_COMPILE([ #include <netinet/tcp.h> ], [struct tcp_info ti; ti.tcpi_sacked = 0; int x = TCP_INFO;], [
+ have_lq=tcp_info
+ AC_MSG_RESULT([yes])
+ ], [
+@@ -338,7 +338,7 @@ AC_DEFUN([AC_FPM_LQ],
+ AC_MSG_RESULT([no])
+ ])
+
+- if test "$have_lq" = "tcp_info"; then
++ if test "$have_lq" = "so_listenq"; then
+ AC_DEFINE([HAVE_LQ_SO_LISTENQ], 1, [do we have SO_LISTENQxxx?])
+ fi
+ fi
diff --git a/lang/php56/files/patch-sapi_fpm_php-fpm.conf.in b/lang/php56/files/patch-sapi_fpm_php-fpm.conf.in
new file mode 100644
index 000000000000..f80dcb9ff714
--- /dev/null
+++ b/lang/php56/files/patch-sapi_fpm_php-fpm.conf.in
@@ -0,0 +1,11 @@
+--- sapi/fpm/php-fpm.conf.in.orig 2013-12-10 23:31:06.000000000 +0000
++++ sapi/fpm/php-fpm.conf.in 2013-12-13 21:50:25.757258451 +0000
+@@ -341,7 +341,7 @@ pm.max_spare_servers = 3
+ ; last request memory: 0
+ ;
+ ; Note: There is a real-time FPM status monitoring sample web page available
+-; It's available in: @EXPANDED_DATADIR@/fpm/status.html
++; It's available in: @EXPANDED_DATADIR@/php/fpm/status.html
+ ;
+ ; Note: The value must start with a leading slash (/). The value can be
+ ; anything, but it may not be a good idea to use the .php extension or it
diff --git a/lang/php56/files/php-fpm.in b/lang/php56/files/php-fpm.in
new file mode 100644
index 000000000000..55e2ac992408
--- /dev/null
+++ b/lang/php56/files/php-fpm.in
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: php-fpm
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+#
+# Add the following line to /etc/rc.conf to enable php-fpm:
+# php_fpm_enable="YES"
+#
+
+. /etc/rc.subr
+
+name="php_fpm"
+rcvar=php_fpm_enable
+
+load_rc_config "$name"
+
+: ${php_fpm_enable="NO"}
+
+extra_commands="reload logrotate"
+
+command="%%PREFIX%%/sbin/php-fpm"
+pidfile="/var/run/php-fpm.pid"
+sig_stop="QUIT"
+sig_reload="USR2"
+logrotate_cmd="php_fpm_logrotate"
+
+required_files="%%PREFIX%%/etc/php-fpm.conf"
+
+php_fpm_logrotate() {
+ if [ -z "$rc_pid" ]; then
+ _run_rc_notrunning
+ return 1
+ fi
+ echo "Rotating logs $name."
+ kill -USR1 $rc_pid
+}
+
+run_rc_command "$1"
diff --git a/lang/php56/pkg-descr b/lang/php56/pkg-descr
new file mode 100644
index 000000000000..a53cdb1bde68
--- /dev/null
+++ b/lang/php56/pkg-descr
@@ -0,0 +1,8 @@
+PHP, which stands for "PHP: Hypertext Preprocessor" is a widely-used Open
+Source general-purpose scripting language that is especially suited for
+Web development and can be embedded into HTML. Its syntax draws upon C,
+Java, and Perl, and is easy to learn. The main goal of the language is to
+allow web developers to write dynamically generated webpages quickly, but
+you can do much more with PHP.
+
+WWW: http://www.php.net/
diff --git a/lang/php56/pkg-message.mod b/lang/php56/pkg-message.mod
new file mode 100644
index 000000000000..f60f33ce2266
--- /dev/null
+++ b/lang/php56/pkg-message.mod
@@ -0,0 +1,14 @@
+***************************************************************
+
+Make sure index.php is part of your DirectoryIndex.
+
+You should add the following to your Apache configuration file:
+
+<FilesMatch "\.php$">
+ SetHandler application/x-httpd-php
+</FilesMatch>
+<FilesMatch "\.phps$">
+ SetHandler application/x-httpd-php-source
+</FilesMatch>
+
+***************************************************************
diff --git a/lang/php56/pkg-plist b/lang/php56/pkg-plist
new file mode 100644
index 000000000000..7d19bdb15a6e
--- /dev/null
+++ b/lang/php56/pkg-plist
@@ -0,0 +1,268 @@
+%%CLI%%bin/php
+%%CGI%%bin/php-cgi
+bin/php-config
+%%PHPDBG%%bin/phpdbg
+bin/phpize
+%%FPM%%sbin/php-fpm
+etc/php.conf
+etc/php.ini-development
+etc/php.ini-production
+%%FPM%%@unexec if cmp -s %D/etc/php-fpm.conf %D/etc/php-fpm.conf.default; then rm -f %D/etc/php-fpm.conf; fi
+%%FPM%%etc/php-fpm.conf.default
+%%FPM%%@exec cp -n %D/%F %B/php-fpm.conf
+include/php/TSRM/TSRM.h
+include/php/TSRM/readdir.h
+include/php/TSRM/tsrm_config.h
+include/php/TSRM/tsrm_config.w32.h
+include/php/TSRM/tsrm_config_common.h
+include/php/TSRM/tsrm_nw.h
+include/php/TSRM/tsrm_strtok_r.h
+include/php/TSRM/tsrm_win32.h
+include/php/Zend/zend.h
+include/php/Zend/zend_API.h
+include/php/Zend/zend_alloc.h
+include/php/Zend/zend_ast.h
+include/php/Zend/zend_build.h
+include/php/Zend/zend_builtin_functions.h
+include/php/Zend/zend_closures.h
+include/php/Zend/zend_compile.h
+include/php/Zend/zend_config.h
+include/php/Zend/zend_config.nw.h
+include/php/Zend/zend_config.w32.h
+include/php/Zend/zend_constants.h
+include/php/Zend/zend_dtrace.h
+include/php/Zend/zend_dynamic_array.h
+include/php/Zend/zend_errors.h
+include/php/Zend/zend_exceptions.h
+include/php/Zend/zend_execute.h
+include/php/Zend/zend_extensions.h
+include/php/Zend/zend_float.h
+include/php/Zend/zend_gc.h
+include/php/Zend/zend_generators.h
+include/php/Zend/zend_globals.h
+include/php/Zend/zend_globals_macros.h
+include/php/Zend/zend_hash.h
+include/php/Zend/zend_highlight.h
+include/php/Zend/zend_indent.h
+include/php/Zend/zend_ini.h
+include/php/Zend/zend_ini_parser.h
+include/php/Zend/zend_ini_scanner.h
+include/php/Zend/zend_ini_scanner_defs.h
+include/php/Zend/zend_interfaces.h
+include/php/Zend/zend_istdiostream.h
+include/php/Zend/zend_iterators.h
+include/php/Zend/zend_language_parser.h
+include/php/Zend/zend_language_scanner.h
+include/php/Zend/zend_language_scanner_defs.h
+include/php/Zend/zend_list.h
+include/php/Zend/zend_llist.h
+include/php/Zend/zend_modules.h
+include/php/Zend/zend_multibyte.h
+include/php/Zend/zend_multiply.h
+include/php/Zend/zend_object_handlers.h
+include/php/Zend/zend_objects.h
+include/php/Zend/zend_objects_API.h
+include/php/Zend/zend_operators.h
+include/php/Zend/zend_ptr_stack.h
+include/php/Zend/zend_qsort.h
+include/php/Zend/zend_signal.h
+include/php/Zend/zend_stack.h
+include/php/Zend/zend_static_allocator.h
+include/php/Zend/zend_stream.h
+include/php/Zend/zend_string.h
+include/php/Zend/zend_strtod.h
+include/php/Zend/zend_ts_hash.h
+include/php/Zend/zend_types.h
+include/php/Zend/zend_variables.h
+include/php/Zend/zend_virtual_cwd.h
+include/php/Zend/zend_vm.h
+include/php/Zend/zend_vm_def.h
+include/php/Zend/zend_vm_execute.h
+include/php/Zend/zend_vm_opcodes.h
+include/php/ext/date/lib/timelib.h
+include/php/ext/date/lib/timelib_config.h
+include/php/ext/date/lib/timelib_structs.h
+include/php/ext/date/php_date.h
+include/php/ext/ereg/php_ereg.h
+include/php/ext/ereg/php_regex.h
+include/php/ext/ereg/regex/cclass.h
+include/php/ext/ereg/regex/cname.h
+include/php/ext/ereg/regex/regex.h
+include/php/ext/ereg/regex/regex2.h
+include/php/ext/ereg/regex/utils.h
+include/php/ext/libxml/php_libxml.h
+include/php/ext/mysqlnd/config-win.h
+include/php/ext/mysqlnd/mysqlnd.h
+include/php/ext/mysqlnd/mysqlnd_alloc.h
+include/php/ext/mysqlnd/mysqlnd_block_alloc.h
+include/php/ext/mysqlnd/mysqlnd_charset.h
+include/php/ext/mysqlnd/mysqlnd_debug.h
+include/php/ext/mysqlnd/mysqlnd_enum_n_def.h
+include/php/ext/mysqlnd/mysqlnd_ext_plugin.h
+include/php/ext/mysqlnd/mysqlnd_libmysql_compat.h
+include/php/ext/mysqlnd/mysqlnd_net.h
+include/php/ext/mysqlnd/mysqlnd_portability.h
+include/php/ext/mysqlnd/mysqlnd_priv.h
+include/php/ext/mysqlnd/mysqlnd_result.h
+include/php/ext/mysqlnd/mysqlnd_result_meta.h
+include/php/ext/mysqlnd/mysqlnd_reverse_api.h
+include/php/ext/mysqlnd/mysqlnd_statistics.h
+include/php/ext/mysqlnd/mysqlnd_structs.h
+include/php/ext/mysqlnd/mysqlnd_wireprotocol.h
+include/php/ext/mysqlnd/php_mysqlnd.h
+include/php/ext/pcre/php_pcre.h
+include/php/ext/spl/php_spl.h
+include/php/ext/spl/spl_array.h
+include/php/ext/spl/spl_directory.h
+include/php/ext/spl/spl_dllist.h
+include/php/ext/spl/spl_engine.h
+include/php/ext/spl/spl_exceptions.h
+include/php/ext/spl/spl_fixedarray.h
+include/php/ext/spl/spl_functions.h
+include/php/ext/spl/spl_heap.h
+include/php/ext/spl/spl_iterators.h
+include/php/ext/spl/spl_observer.h
+include/php/ext/standard/base64.h
+include/php/ext/standard/basic_functions.h
+include/php/ext/standard/crc32.h
+include/php/ext/standard/credits.h
+include/php/ext/standard/credits_ext.h
+include/php/ext/standard/credits_sapi.h
+include/php/ext/standard/crypt_blowfish.h
+include/php/ext/standard/crypt_freesec.h
+include/php/ext/standard/css.h
+include/php/ext/standard/cyr_convert.h
+include/php/ext/standard/datetime.h
+include/php/ext/standard/dl.h
+include/php/ext/standard/exec.h
+include/php/ext/standard/file.h
+include/php/ext/standard/flock_compat.h
+include/php/ext/standard/fsock.h
+include/php/ext/standard/head.h
+include/php/ext/standard/html.h
+include/php/ext/standard/html_tables.h
+include/php/ext/standard/info.h
+include/php/ext/standard/md5.h
+include/php/ext/standard/microtime.h
+include/php/ext/standard/pack.h
+include/php/ext/standard/pageinfo.h
+include/php/ext/standard/php_array.h
+include/php/ext/standard/php_assert.h
+include/php/ext/standard/php_browscap.h
+include/php/ext/standard/php_crypt.h
+include/php/ext/standard/php_crypt_r.h
+include/php/ext/standard/php_dir.h
+include/php/ext/standard/php_dns.h
+include/php/ext/standard/php_ext_syslog.h
+include/php/ext/standard/php_filestat.h
+include/php/ext/standard/php_fopen_wrappers.h
+include/php/ext/standard/php_ftok.h
+include/php/ext/standard/php_http.h
+include/php/ext/standard/php_image.h
+include/php/ext/standard/php_incomplete_class.h
+include/php/ext/standard/php_iptc.h
+include/php/ext/standard/php_lcg.h
+include/php/ext/standard/php_link.h
+include/php/ext/standard/php_mail.h
+include/php/ext/standard/php_math.h
+include/php/ext/standard/php_metaphone.h
+include/php/ext/standard/php_password.h
+include/php/ext/standard/php_rand.h
+include/php/ext/standard/php_smart_str.h
+include/php/ext/standard/php_smart_str_public.h
+include/php/ext/standard/php_standard.h
+include/php/ext/standard/php_string.h
+include/php/ext/standard/php_type.h
+include/php/ext/standard/php_uuencode.h
+include/php/ext/standard/php_var.h
+include/php/ext/standard/php_versioning.h
+include/php/ext/standard/proc_open.h
+include/php/ext/standard/quot_print.h
+include/php/ext/standard/scanf.h
+include/php/ext/standard/sha1.h
+include/php/ext/standard/streamsfuncs.h
+include/php/ext/standard/uniqid.h
+include/php/ext/standard/url.h
+include/php/ext/standard/url_scanner_ex.h
+include/php/ext/standard/winver.h
+@exec touch %D/include/php/ext/php_config.h
+@unexec [ -s %D/include/php/ext/php_config.h ] || rm %D/include/php/ext/php_config.h
+include/php/main/SAPI.h
+include/php/main/build-defs.h
+include/php/main/fopen_wrappers.h
+include/php/main/php.h
+include/php/main/php_compat.h
+include/php/main/php_config.h
+include/php/main/php_content_types.h
+include/php/main/php_getopt.h
+include/php/main/php_globals.h
+include/php/main/php_ini.h
+include/php/main/php_main.h
+include/php/main/php_memory_streams.h
+include/php/main/php_network.h
+include/php/main/php_open_temporary_file.h
+include/php/main/php_output.h
+include/php/main/php_reentrancy.h
+include/php/main/php_scandir.h
+include/php/main/php_stdint.h
+include/php/main/php_streams.h
+include/php/main/php_syslog.h
+include/php/main/php_ticks.h
+include/php/main/php_variables.h
+include/php/main/php_version.h
+include/php/main/rfc1867.h
+include/php/main/snprintf.h
+include/php/main/spprintf.h
+include/php/main/streams/php_stream_context.h
+include/php/main/streams/php_stream_filter_api.h
+include/php/main/streams/php_stream_glob_wrapper.h
+include/php/main/streams/php_stream_mmap.h
+include/php/main/streams/php_streams_int.h
+include/php/main/streams/php_stream_transport.h
+include/php/main/streams/php_stream_userspace.h
+include/php/main/streams/php_stream_plain_wrapper.h
+%%CLI%%include/php/sapi/cli/cli.h
+%%EMBED%%include/php/sapi/embed/php_embed.h
+include/php/main/win32_internal_function_disabled.h
+include/php/main/win95nt.h
+%%EMBED%%lib/libphp5.so
+lib/php/build/Makefile.global
+lib/php/build/acinclude.m4
+lib/php/build/config.guess
+lib/php/build/config.sub
+lib/php/build/libtool.m4
+lib/php/build/ltmain.sh
+lib/php/build/mkdep.awk
+lib/php/build/phpize.m4
+lib/php/build/run-tests.php
+lib/php/build/scan_makefile_in.awk
+lib/php/build/shtool
+%%CGI%%man/man1/php-cgi.1.gz
+man/man1/php-config.1.gz
+%%CLI%%man/man1/php.1.gz
+%%PHPDBG%%man/man1/phpdbg.1.gz
+man/man1/phpize.1.gz
+%%FPM%%man/man8/php-fpm.8.gz
+%%FPM%%share/php/fpm/status.html
+@dirrm include/php/TSRM
+@dirrm include/php/Zend
+@dirrm include/php/ext/date/lib
+@dirrm include/php/ext/date
+@dirrm include/php/ext/ereg/regex
+@dirrm include/php/ext/ereg
+@dirrm include/php/ext/libxml
+@dirrm include/php/ext/mysqlnd
+@dirrm include/php/ext/pcre
+@dirrm include/php/ext/spl
+@dirrm include/php/ext/standard
+@dirrmtry include/php/ext
+@dirrm include/php/main/streams
+@dirrm include/php/main
+%%CLI%%@dirrm include/php/sapi/cli
+%%EMBED%%@dirrm include/php/sapi/embed
+%%SAPI_INC%%@dirrm include/php/sapi
+@dirrmtry include/php
+@dirrm lib/php/build
+@dirrmtry lib/php
+%%FPM%%@dirrm share/php/fpm
+%%FPM%%@dirrm share/php
diff --git a/lang/php56/pkg-plist.mod b/lang/php56/pkg-plist.mod
new file mode 100644
index 000000000000..a12fa984d65f
--- /dev/null
+++ b/lang/php56/pkg-plist.mod
@@ -0,0 +1,3 @@
+%%APACHEMODDIR%%/%%AP_MODULE%%
+@exec %D/sbin/apxs -e -a -n %%AP_NAME%% %f
+@unexec %D/sbin/apxs -e -A -n %%AP_NAME%% %f
diff --git a/mail/Makefile b/mail/Makefile
index e57c0830b3a6..3b1e21f9b845 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -452,6 +452,7 @@
SUBDIR += php5-imap
SUBDIR += php53-imap
SUBDIR += php55-imap
+ SUBDIR += php56-imap
SUBDIR += phplist
SUBDIR += phpmailer
SUBDIR += phpmailer2
diff --git a/mail/php56-imap/Makefile b/mail/php56-imap/Makefile
new file mode 100644
index 000000000000..fb2e5394f3e0
--- /dev/null
+++ b/mail/php56-imap/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= mail
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -imap
+
+.include "${MASTERDIR}/Makefile"
diff --git a/mail/php56-imap/files/patch-config.m4 b/mail/php56-imap/files/patch-config.m4
new file mode 100644
index 000000000000..ab7120b2c8c8
--- /dev/null
+++ b/mail/php56-imap/files/patch-config.m4
@@ -0,0 +1,42 @@
+--- config.m4.orig 2010-02-07 14:06:54.000000000 +0100
++++ config.m4 2010-03-08 11:56:24.000000000 +0100
+@@ -103,6 +103,8 @@
+ PHP_ARG_WITH(imap-ssl,for IMAP SSL support,
+ [ --with-imap-ssl[=DIR] IMAP: Include SSL support. DIR is the OpenSSL install prefix], no, no)
+
++PHP_ARG_WITH(pcre-dir, pcre install prefix,
++[ --with-pcre-dir IMAP: pcre install prefix], no, no)
+
+ if test "$PHP_IMAP" != "no"; then
+ PHP_SUBST(IMAP_SHARED_LIBADD)
+@@ -119,6 +121,30 @@
+ fi
+ done
+
++ dnl This is PECL build, check if bundled PCRE library is used
++ old_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS=$INCLUDES
++ AC_EGREP_CPP(yes,[
++#include <main/php_config.h>
++#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
++yes
++#endif
++ ],[
++ PHP_PCRE_REGEX=yes
++ ],[
++ AC_EGREP_CPP(yes,[
++#include <main/php_config.h>
++#if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
++yes
++#endif
++ ],[
++ PHP_PCRE_REGEX=pecl
++ PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
++ ],[
++ PHP_PCRE_REGEX=no
++ ])
++ ])
++
+ dnl Check for c-client version 2004
+ AC_EGREP_HEADER(mail_fetch_overview_sequence, $IMAP_INC_DIR/mail.h, [
+ AC_DEFINE(HAVE_IMAP2004,1,[ ])
diff --git a/math/Makefile b/math/Makefile
index c4762e903943..abee70f3639a 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -520,6 +520,8 @@
SUBDIR += php53-gmp
SUBDIR += php55-bcmath
SUBDIR += php55-gmp
+ SUBDIR += php56-bcmath
+ SUBDIR += php56-gmp
SUBDIR += physcalc
SUBDIR += picosat
SUBDIR += plman
diff --git a/math/php56-bcmath/Makefile b/math/php56-bcmath/Makefile
new file mode 100644
index 000000000000..2aed659fa7c3
--- /dev/null
+++ b/math/php56-bcmath/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= math
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -bcmath
+
+.include "${MASTERDIR}/Makefile"
diff --git a/math/php56-gmp/Makefile b/math/php56-gmp/Makefile
new file mode 100644
index 000000000000..6950f80f0203
--- /dev/null
+++ b/math/php56-gmp/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= math
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -gmp
+
+.include "${MASTERDIR}/Makefile"
diff --git a/misc/Makefile b/misc/Makefile
index c59ae59f2b75..7243b390f1e9 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -351,6 +351,7 @@
SUBDIR += php5-calendar
SUBDIR += php53-calendar
SUBDIR += php55-calendar
+ SUBDIR += php56-calendar
SUBDIR += phraze
SUBDIR += pinfo
SUBDIR += pipe
diff --git a/misc/php56-calendar/Makefile b/misc/php56-calendar/Makefile
new file mode 100644
index 000000000000..939eaa89c77d
--- /dev/null
+++ b/misc/php56-calendar/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= misc
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -calendar
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net-mgmt/Makefile b/net-mgmt/Makefile
index 473c2e960ad0..68c07ddb05a3 100644
--- a/net-mgmt/Makefile
+++ b/net-mgmt/Makefile
@@ -246,6 +246,7 @@
SUBDIR += php5-snmp
SUBDIR += php53-snmp
SUBDIR += php55-snmp
+ SUBDIR += php56-snmp
SUBDIR += phpip
SUBDIR += phpipam
SUBDIR += phpweathermap
diff --git a/net-mgmt/php56-snmp/Makefile b/net-mgmt/php56-snmp/Makefile
new file mode 100644
index 000000000000..0c19efed1357
--- /dev/null
+++ b/net-mgmt/php56-snmp/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= net-mgmt
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -snmp
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net/Makefile b/net/Makefile
index 5a69f3f79625..77564c139c81 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -831,6 +831,10 @@
SUBDIR += php55-soap
SUBDIR += php55-sockets
SUBDIR += php55-xmlrpc
+ SUBDIR += php56-ldap
+ SUBDIR += php56-soap
+ SUBDIR += php56-sockets
+ SUBDIR += php56-xmlrpc
SUBDIR += phpldapadmin
SUBDIR += pimdd
SUBDIR += pipsecd
diff --git a/net/php56-ldap/Makefile b/net/php56-ldap/Makefile
new file mode 100644
index 000000000000..6cb9fe54829a
--- /dev/null
+++ b/net/php56-ldap/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= net
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -ldap
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net/php56-soap/Makefile b/net/php56-soap/Makefile
new file mode 100644
index 000000000000..2f9c1925e81d
--- /dev/null
+++ b/net/php56-soap/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= net
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -soap
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net/php56-soap/files/patch-soap.c b/net/php56-soap/files/patch-soap.c
new file mode 100644
index 000000000000..b81d1b8cac02
--- /dev/null
+++ b/net/php56-soap/files/patch-soap.c
@@ -0,0 +1,56 @@
+--- soap.c.orig 2012-03-02 15:46:04.000000000 +0100
++++ soap.c 2012-03-02 15:45:38.000000000 +0100
+@@ -23,7 +23,7 @@
+ #include "config.h"
+ #endif
+ #include "php_soap.h"
+-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
++#if HAVE_PHP_SESSION
+ #include "ext/session/php_session.h"
+ #endif
+ #include "zend_exceptions.h"
+@@ -1639,7 +1639,7 @@
+ soap_obj = service->soap_object;
+ function_table = &((Z_OBJCE_P(soap_obj))->function_table);
+ } else if (service->type == SOAP_CLASS) {
+-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
++#if HAVE_PHP_SESSION
+ /* If persistent then set soap_obj from from the previous created session (if available) */
+ if (service->soap_class.persistance == SOAP_PERSISTENCE_SESSION) {
+ zval **tmp_soap;
+@@ -1722,7 +1722,7 @@
+ }
+ efree(class_name);
+ }
+-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
++#if HAVE_PHP_SESSION
+ /* If session then update session hash with new object */
+ if (service->soap_class.persistance == SOAP_PERSISTENCE_SESSION) {
+ zval **tmp_soap_pp;
+@@ -1820,7 +1820,7 @@
+ if (service->type == SOAP_CLASS || service->type == SOAP_OBJECT) {
+ call_status = call_user_function(NULL, &soap_obj, &function_name, retval, num_params, params TSRMLS_CC);
+ if (service->type == SOAP_CLASS) {
+-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
++#if HAVE_PHP_SESSION
+ if (service->soap_class.persistance != SOAP_PERSISTENCE_SESSION) {
+ zval_ptr_dtor(&soap_obj);
+ soap_obj = NULL;
+@@ -1845,7 +1845,7 @@
+ soap_server_fault_ex(function, EG(exception), NULL TSRMLS_CC);
+ }
+ if (service->type == SOAP_CLASS) {
+-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
++#if HAVE_PHP_SESSION
+ if (soap_obj && service->soap_class.persistance != SOAP_PERSISTENCE_SESSION) {
+ #else
+ if (soap_obj) {
+@@ -1887,7 +1887,7 @@
+ soap_server_fault_ex(function, EG(exception), NULL TSRMLS_CC);
+ }
+ if (service->type == SOAP_CLASS) {
+-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
++#if HAVE_PHP_SESSION
+ if (soap_obj && service->soap_class.persistance != SOAP_PERSISTENCE_SESSION) {
+ #else
+ if (soap_obj) {
diff --git a/net/php56-sockets/Makefile b/net/php56-sockets/Makefile
new file mode 100644
index 000000000000..ecac83f4eebb
--- /dev/null
+++ b/net/php56-sockets/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= net
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -sockets
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net/php56-xmlrpc/Makefile b/net/php56-xmlrpc/Makefile
new file mode 100644
index 000000000000..a7f11fdd8b87
--- /dev/null
+++ b/net/php56-xmlrpc/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= net
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -xmlrpc
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net/php56-xmlrpc/files/patch-config.m4 b/net/php56-xmlrpc/files/patch-config.m4
new file mode 100644
index 000000000000..d2dc85f26a48
--- /dev/null
+++ b/net/php56-xmlrpc/files/patch-config.m4
@@ -0,0 +1,23 @@
+--- config.m4.orig 2014-04-29 08:04:30.000000000 +0000
++++ config.m4 2014-05-15 08:04:00.883004682 +0000
+@@ -61,11 +61,9 @@ if test "$PHP_XMLRPC" != "no"; then
+ fi
+ fi
+
+- dnl if iconv is shared or missing then we should build iconv ourselves
+- if test "$PHP_ICONV_SHARED" = "yes" || test "$PHP_ICONV" = "no"; then
+-
+ if test "$PHP_ICONV_DIR" != "no"; then
+ PHP_ICONV=$PHP_ICONV_DIR
++ PHP_ADD_INCLUDE($PHP_ICONV_DIR/include)
+ fi
+
+ if test -z "$PHP_ICONV" || test "$PHP_ICONV" = "no"; then
+@@ -75,7 +73,6 @@ if test "$PHP_XMLRPC" != "no"; then
+ PHP_SETUP_ICONV(XMLRPC_SHARED_LIBADD, [], [
+ AC_MSG_ERROR([iconv not found, in order to build xmlrpc you need the iconv library])
+ ])
+- fi
+ fi
+
+ if test "$PHP_XMLRPC" = "yes"; then
diff --git a/security/Makefile b/security/Makefile
index 283feaf2507d..da87b69c52f3 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -695,6 +695,10 @@
SUBDIR += php55-hash
SUBDIR += php55-mcrypt
SUBDIR += php55-openssl
+ SUBDIR += php56-filter
+ SUBDIR += php56-hash
+ SUBDIR += php56-mcrypt
+ SUBDIR += php56-openssl
SUBDIR += phpdeadlock
SUBDIR += phpsecinfo
SUBDIR += pidentd
diff --git a/security/php56-filter/Makefile b/security/php56-filter/Makefile
new file mode 100644
index 000000000000..f15158b0dadf
--- /dev/null
+++ b/security/php56-filter/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= security
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -filter
+
+.include "${MASTERDIR}/Makefile"
diff --git a/security/php56-filter/files/patch-config.m4 b/security/php56-filter/files/patch-config.m4
new file mode 100644
index 000000000000..ab64c6c9d5ad
--- /dev/null
+++ b/security/php56-filter/files/patch-config.m4
@@ -0,0 +1,10 @@
+--- config.m4.orig 2009-03-06 08:25:45.000000000 +0100
++++ config.m4 2009-03-06 08:28:10.000000000 +0100
+@@ -32,6 +32,7 @@
+ #endif
+ ],[
+ PHP_PCRE_REGEX=pecl
++ PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
+ ],[
+ PHP_PCRE_REGEX=no
+ ])
diff --git a/security/php56-hash/Makefile b/security/php56-hash/Makefile
new file mode 100644
index 000000000000..e5e83e776f1d
--- /dev/null
+++ b/security/php56-hash/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= security
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -hash
+
+.include "${MASTERDIR}/Makefile"
diff --git a/security/php56-mcrypt/Makefile b/security/php56-mcrypt/Makefile
new file mode 100644
index 000000000000..babb042a389f
--- /dev/null
+++ b/security/php56-mcrypt/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= security
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -mcrypt
+
+.include "${MASTERDIR}/Makefile"
diff --git a/security/php56-openssl/Makefile b/security/php56-openssl/Makefile
new file mode 100644
index 000000000000..66530318ade6
--- /dev/null
+++ b/security/php56-openssl/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= security
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -openssl
+
+.include "${MASTERDIR}/Makefile"
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 19da80bd74c6..13cc15836c8a 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -673,6 +673,8 @@
SUBDIR += php53-posix
SUBDIR += php55-fileinfo
SUBDIR += php55-posix
+ SUBDIR += php56-fileinfo
+ SUBDIR += php56-posix
SUBDIR += pidof
SUBDIR += pipemeter
SUBDIR += plasma-applet-apcups
diff --git a/sysutils/php56-fileinfo/Makefile b/sysutils/php56-fileinfo/Makefile
new file mode 100644
index 000000000000..77372f0bdbf7
--- /dev/null
+++ b/sysutils/php56-fileinfo/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= sysutils
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -fileinfo
+
+.include "${MASTERDIR}/Makefile"
diff --git a/sysutils/php56-fileinfo/files/patch-config.m4 b/sysutils/php56-fileinfo/files/patch-config.m4
new file mode 100644
index 000000000000..1348023ccf64
--- /dev/null
+++ b/sysutils/php56-fileinfo/files/patch-config.m4
@@ -0,0 +1,21 @@
+--- config.m4.orig 2010-09-07 15:45:30.000000000 +0200
++++ config.m4 2010-09-07 15:46:50.000000000 +0200
+@@ -4,6 +4,9 @@
+ PHP_ARG_ENABLE(fileinfo, for fileinfo support,
+ [ --disable-fileinfo Disable fileinfo support], yes)
+
++PHP_ARG_WITH(pcre-dir, pcre install prefix,
++[ --with-pcre-dir FILEINFO: pcre install prefix], no, no)
++
+ if test "$PHP_FILEINFO" != "no"; then
+
+ libmagic_sources=" \
+@@ -13,6 +16,8 @@
+ libmagic/is_tar.c libmagic/magic.c libmagic/print.c \
+ libmagic/readcdf.c libmagic/readelf.c libmagic/softmagic.c"
+
++ PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
++
+ PHP_NEW_EXTENSION(fileinfo, fileinfo.c $libmagic_sources, $ext_shared,,-I@ext_srcdir@/libmagic)
+ PHP_ADD_BUILD_DIR($ext_builddir/libmagic)
+
diff --git a/sysutils/php56-posix/Makefile b/sysutils/php56-posix/Makefile
new file mode 100644
index 000000000000..da38a7e1ba66
--- /dev/null
+++ b/sysutils/php56-posix/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= sysutils
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -posix
+
+.include "${MASTERDIR}/Makefile"
diff --git a/sysutils/php56-posix/files/patch-posix.c b/sysutils/php56-posix/files/patch-posix.c
new file mode 100644
index 000000000000..d2365b249569
--- /dev/null
+++ b/sysutils/php56-posix/files/patch-posix.c
@@ -0,0 +1,38 @@
+--- posix.c.orig Fri Feb 23 00:40:39 2007
++++ posix.c Sun May 13 17:52:27 2007
+@@ -838,7 +838,7 @@
+ #if defined(ZTS) && defined(HAVE_GETGRNAM_R) && defined(_SC_GETGR_R_SIZE_MAX)
+ buflen = sysconf(_SC_GETGR_R_SIZE_MAX);
+ if (buflen < 1) {
+- RETURN_FALSE;
++ buflen = 1024;
+ }
+ buf = emalloc(buflen);
+ g = &gbuf;
+@@ -888,7 +888,7 @@
+
+ grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX);
+ if (grbuflen < 1) {
+- RETURN_FALSE;
++ grbuflen = 1024;
+ }
+
+ grbuf = emalloc(grbuflen);
+@@ -955,7 +955,7 @@
+ #if defined(ZTS) && defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWNAM_R)
+ buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+ if (buflen < 1) {
+- RETURN_FALSE;
++ buflen = 1024;
+ }
+ buf = emalloc(buflen);
+ pw = &pwbuf;
+@@ -1004,7 +1004,7 @@
+ #if defined(ZTS) && defined(_SC_GETPW_R_SIZE_MAX) && defined(HAVE_GETPWUID_R)
+ pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+ if (pwbuflen < 1) {
+- RETURN_FALSE;
++ pwbuflen = 1024;
+ }
+ pwbuf = emalloc(pwbuflen);
+
diff --git a/textproc/Makefile b/textproc/Makefile
index fed74a6ce539..39232c269da7 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1121,6 +1121,15 @@
SUBDIR += php55-xmlreader
SUBDIR += php55-xmlwriter
SUBDIR += php55-xsl
+ SUBDIR += php56-ctype
+ SUBDIR += php56-dom
+ SUBDIR += php56-pspell
+ SUBDIR += php56-simplexml
+ SUBDIR += php56-wddx
+ SUBDIR += php56-xml
+ SUBDIR += php56-xmlreader
+ SUBDIR += php56-xmlwriter
+ SUBDIR += php56-xsl
SUBDIR += plover
SUBDIR += po4a
SUBDIR += pocketreader
diff --git a/textproc/php56-ctype/Makefile b/textproc/php56-ctype/Makefile
new file mode 100644
index 000000000000..202a932d42a9
--- /dev/null
+++ b/textproc/php56-ctype/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -ctype
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php56-dom/Makefile b/textproc/php56-dom/Makefile
new file mode 100644
index 000000000000..5c0f7edf8317
--- /dev/null
+++ b/textproc/php56-dom/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -dom
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php56-pspell/Makefile b/textproc/php56-pspell/Makefile
new file mode 100644
index 000000000000..bb0af287b21c
--- /dev/null
+++ b/textproc/php56-pspell/Makefile
@@ -0,0 +1,11 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+PORTREVISION= 1
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -pspell
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php56-simplexml/Makefile b/textproc/php56-simplexml/Makefile
new file mode 100644
index 000000000000..e716e47b5ebf
--- /dev/null
+++ b/textproc/php56-simplexml/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -simplexml
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php56-simplexml/files/patch-config.m4 b/textproc/php56-simplexml/files/patch-config.m4
new file mode 100644
index 000000000000..4eeef697dc87
--- /dev/null
+++ b/textproc/php56-simplexml/files/patch-config.m4
@@ -0,0 +1,43 @@
+--- config.m4.orig 2014-05-14 10:14:22.929420181 +0000
++++ config.m4 2014-05-14 10:15:36.967414693 +0000
+@@ -4,6 +4,9 @@
+ PHP_ARG_ENABLE(simplexml, whether to enable SimpleXML support,
+ [ --disable-simplexml Disable SimpleXML support], yes)
+
++PHP_ARG_WITH(pcre-dir, pcre install prefix,
++[ --with-pcre-dir SimpleXML: pcre install prefix], no, no)
++
+ if test -z "$PHP_LIBXML_DIR"; then
+ PHP_ARG_WITH(libxml-dir, libxml2 install dir,
+ [ --with-libxml-dir=DIR SimpleXML: libxml2 install prefix], no, no)
+@@ -11,6 +14,30 @@
+
+ if test "$PHP_SIMPLEXML" != "no"; then
+
++ dnl This is PECL build, check if bundled PCRE library is used
++ old_CPPFLAGS=$CPPFLAGS
++ CPPFLAGS=$INCLUDES
++ AC_EGREP_CPP(yes,[
++#include <main/php_config.h>
++#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
++yes
++#endif
++ ],[
++ PHP_PCRE_REGEX=yes
++ ],[
++ AC_EGREP_CPP(yes,[
++#include <main/php_config.h>
++#if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
++yes
++#endif
++ ],[
++ PHP_PCRE_REGEX=pecl
++ PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
++ ],[
++ PHP_PCRE_REGEX=no
++ ])
++ ])
++
+ if test "$PHP_LIBXML" = "no"; then
+ AC_MSG_ERROR([SimpleXML extension requires LIBXML extension, add --enable-libxml])
+ fi
diff --git a/textproc/php56-wddx/Makefile b/textproc/php56-wddx/Makefile
new file mode 100644
index 000000000000..2c42b1e2fbc7
--- /dev/null
+++ b/textproc/php56-wddx/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -wddx
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php56-wddx/files/patch-config.m4 b/textproc/php56-wddx/files/patch-config.m4
new file mode 100644
index 000000000000..08787003b8f9
--- /dev/null
+++ b/textproc/php56-wddx/files/patch-config.m4
@@ -0,0 +1,22 @@
+--- config.m4.orig Mon Jul 26 09:05:10 2004
++++ config.m4 Mon Jul 26 09:07:46 2004
+@@ -5,6 +5,9 @@
+ PHP_ARG_ENABLE(wddx,whether to enable WDDX support,
+ [ --enable-wddx Enable WDDX support.])
+
++PHP_ARG_WITH(libxml-dir, libxml2 install dir,
++[ --with-libxml-dir=<DIR> WDDX: libxml2 install prefix], no, no)
++
+ if test "$PHP_WDDX" != "no"; then
+ if test "$ext_shared" != "yes" && test "$enable_xml" = "no"; then
+ AC_MSG_WARN(Activating XML)
+@@ -12,4 +15,9 @@
+ fi
+ AC_DEFINE(HAVE_WDDX, 1, [ ])
+ PHP_NEW_EXTENSION(wddx, wddx.c, $ext_shared)
++
++ PHP_SETUP_LIBXML(WDDX_SHARED_LIBADD, [
++ ], [
++ AC_MSG_ERROR([xml2-config not found. Please check your libxml2 installation.])
++ ])
+ fi
diff --git a/textproc/php56-wddx/files/patch-wddx.c b/textproc/php56-wddx/files/patch-wddx.c
new file mode 100644
index 000000000000..a8a6a79fe47f
--- /dev/null
+++ b/textproc/php56-wddx/files/patch-wddx.c
@@ -0,0 +1,40 @@
+--- wddx.c.orig Sun Jan 1 13:50:16 2006
++++ wddx.c Mon Jan 16 12:56:21 2006
+@@ -18,6 +18,10 @@
+
+ /* $Id: wddx.c,v 1.119.2.8 2006/01/01 12:50:16 sniper Exp $ */
+
++#ifdef HAVE_CONFIG_H
++# include "config.h"
++#endif
++
+ #include "php.h"
+
+ #if HAVE_WDDX
+@@ -223,7 +227,7 @@
+
+ #include "ext/session/php_session.h"
+
+-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
++#if HAVE_PHP_SESSION
+ /* {{{ PS_SERIALIZER_ENCODE_FUNC
+ */
+ PS_SERIALIZER_ENCODE_FUNC(wddx)
+@@ -302,7 +306,7 @@
+ {
+ le_wddx = zend_register_list_destructors_ex(release_wddx_packet_rsrc, NULL, "wddx", module_number);
+
+-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
++#if HAVE_PHP_SESSION
+ php_session_register_serializer("wddx",
+ PS_SERIALIZER_ENCODE_NAME(wddx),
+ PS_SERIALIZER_DECODE_NAME(wddx));
+@@ -317,7 +321,7 @@
+ PHP_MINFO_FUNCTION(wddx)
+ {
+ php_info_print_table_start();
+-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
++#if HAVE_PHP_SESSION
+ php_info_print_table_header(2, "WDDX Support", "enabled" );
+ php_info_print_table_row(2, "WDDX Session Serializer", "enabled" );
+ #else
diff --git a/textproc/php56-xml/Makefile b/textproc/php56-xml/Makefile
new file mode 100644
index 000000000000..d014fbc25630
--- /dev/null
+++ b/textproc/php56-xml/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -xml
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php56-xml/files/patch-compat.c b/textproc/php56-xml/files/patch-compat.c
new file mode 100644
index 000000000000..02125961b20c
--- /dev/null
+++ b/textproc/php56-xml/files/patch-compat.c
@@ -0,0 +1,13 @@
+--- compat.c.orig Tue Jul 20 10:55:02 2004
++++ compat.c Tue Jul 20 10:55:55 2004
+@@ -16,6 +16,10 @@
+ +----------------------------------------------------------------------+
+ */
+
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
+ #include "php.h"
+ #if defined(HAVE_LIBXML) && defined(HAVE_XML) && !defined(HAVE_LIBEXPAT)
+ #include "expat_compat.h"
diff --git a/textproc/php56-xmlreader/Makefile b/textproc/php56-xmlreader/Makefile
new file mode 100644
index 000000000000..4882aaf99af9
--- /dev/null
+++ b/textproc/php56-xmlreader/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -xmlreader
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php56-xmlwriter/Makefile b/textproc/php56-xmlwriter/Makefile
new file mode 100644
index 000000000000..564f238bf45c
--- /dev/null
+++ b/textproc/php56-xmlwriter/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -xmlwriter
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php56-xsl/Makefile b/textproc/php56-xsl/Makefile
new file mode 100644
index 000000000000..68b5e5fb468d
--- /dev/null
+++ b/textproc/php56-xsl/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -xsl
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php56-xsl/files/patch-php_xsl.h b/textproc/php56-xsl/files/patch-php_xsl.h
new file mode 100644
index 000000000000..9777187f8748
--- /dev/null
+++ b/textproc/php56-xsl/files/patch-php_xsl.h
@@ -0,0 +1,11 @@
+--- php_xsl.h.orig Sun Jan 1 13:50:17 2006
++++ php_xsl.h Tue Jan 17 16:23:10 2006
+@@ -43,7 +43,7 @@
+ #include <libexslt/exsltconfig.h>
+ #endif
+
+-#include "../dom/xml_common.h"
++#include "ext/dom/xml_common.h"
+ #include "xsl_fe.h"
+
+ #include <libxslt/extensions.h>
diff --git a/www/Makefile b/www/Makefile
index d1ad66b010d5..0704fdb1bba0 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -480,6 +480,7 @@
SUBDIR += mod_perl2
SUBDIR += mod_php5
SUBDIR += mod_php55
+ SUBDIR += mod_php56
SUBDIR += mod_proctitle
SUBDIR += mod_proxy_html
SUBDIR += mod_proxy_uwsgi
@@ -1401,6 +1402,9 @@
SUBDIR += php55-opcache
SUBDIR += php55-session
SUBDIR += php55-tidy
+ SUBDIR += php56-opcache
+ SUBDIR += php56-session
+ SUBDIR += php56-tidy
SUBDIR += phpbb
SUBDIR += phpbb3
SUBDIR += phpgroupware
diff --git a/www/mod_php56/Makefile b/www/mod_php56/Makefile
new file mode 100644
index 000000000000..7438bd681762
--- /dev/null
+++ b/www/mod_php56/Makefile
@@ -0,0 +1,16 @@
+# Created by: marcus@FreeBSD.org
+# $FreeBSD$
+
+CATEGORIES= www devel
+PKGNAMEPREFIX= mod_
+
+MAINTAINER= ale@FreeBSD.org
+
+PHP_PORT= lang/php56
+MASTERDIR= ${.CURDIR}/../../${PHP_PORT}
+
+OPTIONS_DEFINE= AP2FILTER
+AP2FILTER_DESC= Use Apache 2.x filter interface (experimental)
+OPTIONS_EXCLUDE= CGI CLI FPM EMBED
+
+.include "${MASTERDIR}/Makefile"
diff --git a/www/php56-opcache/Makefile b/www/php56-opcache/Makefile
new file mode 100644
index 000000000000..563247fbd78c
--- /dev/null
+++ b/www/php56-opcache/Makefile
@@ -0,0 +1,12 @@
+# Created by: Martin Matuska <mm@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= www
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -opcache
+
+USE_ZENDEXT= yes
+
+.include "${MASTERDIR}/Makefile"
diff --git a/www/php56-session/Makefile b/www/php56-session/Makefile
new file mode 100644
index 000000000000..a8c4fc1105fc
--- /dev/null
+++ b/www/php56-session/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= www
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -session
+
+.include "${MASTERDIR}/Makefile"
diff --git a/www/php56-tidy/Makefile b/www/php56-tidy/Makefile
new file mode 100644
index 000000000000..872746370284
--- /dev/null
+++ b/www/php56-tidy/Makefile
@@ -0,0 +1,10 @@
+# Created by: Alex Dupre <ale@FreeBSD.org>
+# $FreeBSD$
+
+CATEGORIES= www
+
+MASTERDIR= ${.CURDIR}/../../lang/php56
+
+PKGNAMESUFFIX= -tidy
+
+.include "${MASTERDIR}/Makefile"