aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Mk/Uses/php.mk8
-rw-r--r--Mk/bsd.default-versions.mk2
-rw-r--r--archivers/php73-bz2/Makefile11
-rw-r--r--archivers/php73-phar/Makefile11
-rw-r--r--archivers/php73-phar/files/patch-config.m441
-rw-r--r--archivers/php73-phar/files/patch-phar.c11
-rw-r--r--archivers/php73-zip/Makefile11
-rw-r--r--archivers/php73-zlib/Makefile11
-rw-r--r--archivers/php73-zlib/files/patch-zlib.c10
-rw-r--r--converters/php73-iconv/Makefile11
-rw-r--r--converters/php73-mbstring/Makefile11
-rw-r--r--converters/php73-mbstring/files/patch-config.m451
-rw-r--r--converters/php73-recode/Makefile11
-rw-r--r--databases/php73-dba/Makefile11
-rw-r--r--databases/php73-dba/files/patch-config.m450
-rw-r--r--databases/php73-interbase/Makefile11
-rw-r--r--databases/php73-interbase/files/patch-interbase.c11
-rw-r--r--databases/php73-mysqli/Makefile11
-rw-r--r--databases/php73-mysqli/files/patch-mysqli.c11
-rw-r--r--databases/php73-mysqli/files/patch-php_mysqli_structs.h10
-rw-r--r--databases/php73-odbc/Makefile11
-rw-r--r--databases/php73-odbc/files/patch-config.m4111
-rw-r--r--databases/php73-pdo/Makefile11
-rw-r--r--databases/php73-pdo_dblib/Makefile11
-rw-r--r--databases/php73-pdo_firebird/Makefile11
-rw-r--r--databases/php73-pdo_mysql/Makefile11
-rw-r--r--databases/php73-pdo_odbc/Makefile11
-rw-r--r--databases/php73-pdo_pgsql/Makefile11
-rw-r--r--databases/php73-pdo_sqlite/Makefile11
-rw-r--r--databases/php73-pgsql/Makefile11
-rw-r--r--databases/php73-sqlite3/Makefile11
-rw-r--r--devel/php73-gettext/Makefile11
-rw-r--r--devel/php73-intl/Makefile16
-rw-r--r--devel/php73-json/Makefile11
-rw-r--r--devel/php73-pcntl/Makefile11
-rw-r--r--devel/php73-readline/Makefile11
-rw-r--r--devel/php73-readline/files/patch-config.m438
-rw-r--r--devel/php73-readline/files/patch-readline_cli.c13
-rw-r--r--devel/php73-shmop/Makefile11
-rw-r--r--devel/php73-sysvmsg/Makefile11
-rw-r--r--devel/php73-sysvsem/Makefile11
-rw-r--r--devel/php73-sysvshm/Makefile11
-rw-r--r--devel/php73-tokenizer/Makefile11
-rw-r--r--ftp/php73-curl/Makefile11
-rw-r--r--ftp/php73-ftp/Makefile15
-rw-r--r--graphics/php73-exif/Makefile11
-rw-r--r--graphics/php73-gd/Makefile13
-rw-r--r--graphics/php73-gd/files/patch-config.m428
-rw-r--r--graphics/php73-gd/files/patch-gd.c83
-rw-r--r--lang/php56/Makefile2
-rw-r--r--lang/php70/Makefile2
-rw-r--r--lang/php71/Makefile2
-rw-r--r--lang/php72/Makefile2
-rw-r--r--lang/php73-extensions/Makefile117
-rw-r--r--lang/php73-extensions/pkg-descr7
-rw-r--r--lang/php73/Makefile181
-rw-r--r--lang/php73/Makefile.ext574
-rw-r--r--lang/php73/distinfo3
-rw-r--r--lang/php73/files/patch-Makefile.global19
-rw-r--r--lang/php73/files/patch-acinclude.m468
-rw-r--r--lang/php73/files/patch-configure.in61
-rw-r--r--lang/php73/files/patch-sapi_apache2handler_config.m411
-rw-r--r--lang/php73/files/patch-sapi_fpm_config.m411
-rw-r--r--lang/php73/files/php-fpm.in69
-rw-r--r--lang/php73/pkg-descr8
-rw-r--r--lang/php73/pkg-message.mod19
-rw-r--r--lang/php73/pkg-plist265
-rw-r--r--lang/php73/pkg-plist.mod3
-rw-r--r--mail/php73-imap/Makefile11
-rw-r--r--mail/php73-imap/files/patch-config.m442
-rw-r--r--math/php73-bcmath/Makefile11
-rw-r--r--math/php73-gmp/Makefile11
-rw-r--r--misc/php73-calendar/Makefile11
-rw-r--r--net-mgmt/php73-snmp/Makefile11
-rw-r--r--net/php73-ldap/Makefile11
-rw-r--r--net/php73-soap/Makefile11
-rw-r--r--net/php73-sockets/Makefile11
-rw-r--r--net/php73-xmlrpc/Makefile11
-rw-r--r--net/php73-xmlrpc/files/patch-config.m423
-rw-r--r--security/php73-filter/Makefile11
-rw-r--r--security/php73-filter/files/patch-config.m410
-rw-r--r--security/php73-hash/Makefile13
-rw-r--r--security/php73-openssl/Makefile11
-rw-r--r--security/php73-sodium/Makefile11
-rw-r--r--security/php73-sodium/files/patch-config.m417
-rw-r--r--sysutils/php73-fileinfo/Makefile11
-rw-r--r--sysutils/php73-fileinfo/files/patch-config.m421
-rw-r--r--sysutils/php73-posix/Makefile11
-rw-r--r--sysutils/php73-posix/files/patch-posix.c38
-rw-r--r--textproc/php73-ctype/Makefile11
-rw-r--r--textproc/php73-dom/Makefile11
-rw-r--r--textproc/php73-enchant/Makefile11
-rw-r--r--textproc/php73-pspell/Makefile11
-rw-r--r--textproc/php73-simplexml/Makefile11
-rw-r--r--textproc/php73-simplexml/files/patch-config.m443
-rw-r--r--textproc/php73-wddx/Makefile11
-rw-r--r--textproc/php73-wddx/files/patch-config.m422
-rw-r--r--textproc/php73-wddx/files/patch-wddx.c40
-rw-r--r--textproc/php73-xml/Makefile11
-rw-r--r--textproc/php73-xml/files/patch-compat.c13
-rw-r--r--textproc/php73-xmlreader/Makefile11
-rw-r--r--textproc/php73-xmlwriter/Makefile11
-rw-r--r--textproc/php73-xsl/Makefile11
-rw-r--r--textproc/php73-xsl/files/patch-php_xsl.h11
-rw-r--r--www/mod_php73/Makefile15
-rw-r--r--www/php73-opcache/Makefile13
-rw-r--r--www/php73-opcache/files/patch-zend__file__cache.c14
-rw-r--r--www/php73-session/Makefile11
-rw-r--r--www/php73-tidy/Makefile11
109 files changed, 2901 insertions, 7 deletions
diff --git a/Mk/Uses/php.mk b/Mk/Uses/php.mk
index 776e6ff305a3..c952d8bd6a3a 100644
--- a/Mk/Uses/php.mk
+++ b/Mk/Uses/php.mk
@@ -96,7 +96,7 @@ DIST_SUBDIR= PECL
PHPBASE?= ${LOCALBASE}
-_ALL_PHP_VERSIONS= 56 70 71 72
+_ALL_PHP_VERSIONS= 56 70 71 72 73
# Make the already installed PHP the default one.
. if exists(${PHPBASE}/etc/php.conf)
@@ -160,7 +160,10 @@ PHP_VER= ${FLAVOR:S/^php//}
(${FLAVOR:Mphp[0-9][0-9]} && ${FLAVOR} != ${FLAVORS:[1]})
# When adding a version, please keep the comment in
# Mk/bsd.default-versions.mk in sync.
-. if ${PHP_VER} == 72
+. if ${PHP_VER} == 73
+PHP_EXT_DIR= 20180731
+PHP_EXT_INC= pcre spl
+. elif ${PHP_VER} == 72
PHP_EXT_DIR= 20170718
PHP_EXT_INC= pcre spl
. elif ${PHP_VER} == 71
@@ -357,6 +360,7 @@ _USE_PHP_VER56= ${_USE_PHP_ALL} mssql mysql sybase_ct
_USE_PHP_VER70= ${_USE_PHP_ALL}
_USE_PHP_VER71= ${_USE_PHP_ALL}
_USE_PHP_VER72= ${_USE_PHP_ALL} sodium
+_USE_PHP_VER73= ${_USE_PHP_ALL} sodium
bcmath_DEPENDS= math/php${PHP_VER}-bcmath
. if ${PHP_VER} >= 70
diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk
index d9df751be6d9..876322555ab6 100644
--- a/Mk/bsd.default-versions.mk
+++ b/Mk/bsd.default-versions.mk
@@ -76,7 +76,7 @@ PERL5_DEFAULT:= ${_PERL5_FROM_BIN:R}
.endif
# Possible values: 9.3, 9.4, 9.5, 9.6, 10
PGSQL_DEFAULT?= 9.5
-# Possible values: 5.6, 7.0, 7.1, 7.2
+# Possible values: 5.6, 7.0, 7.1, 7.2, 7.3
PHP_DEFAULT?= 7.1
# Possible values: 2.7, 3.4, 3.5, 3.6, 3.7
PYTHON_DEFAULT?= 2.7
diff --git a/archivers/php73-bz2/Makefile b/archivers/php73-bz2/Makefile
new file mode 100644
index 000000000000..85dd78d0ecdc
--- /dev/null
+++ b/archivers/php73-bz2/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -bz2
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php73-phar/Makefile b/archivers/php73-phar/Makefile
new file mode 100644
index 000000000000..b8a5ebd551a5
--- /dev/null
+++ b/archivers/php73-phar/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -phar
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php73-phar/files/patch-config.m4 b/archivers/php73-phar/files/patch-config.m4
new file mode 100644
index 000000000000..1aba3bd9a5a8
--- /dev/null
+++ b/archivers/php73-phar/files/patch-config.m4
@@ -0,0 +1,41 @@
+--- config.m4.orig 2016-06-21 19:56:50 UTC
++++ config.m4
+@@ -4,8 +4,38 @@ dnl config.m4 for extension phar
+ 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,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
++ 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/php73-phar/files/patch-phar.c b/archivers/php73-phar/files/patch-phar.c
new file mode 100644
index 000000000000..e7ae6cb3328d
--- /dev/null
+++ b/archivers/php73-phar/files/patch-phar.c
@@ -0,0 +1,11 @@
+--- phar.c.orig 2016-06-21 19:56:49 UTC
++++ phar.c
+@@ -3589,7 +3589,7 @@ static const zend_module_dep phar_deps[]
+ 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/php73-zip/Makefile b/archivers/php73-zip/Makefile
new file mode 100644
index 000000000000..62a9be798beb
--- /dev/null
+++ b/archivers/php73-zip/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -zip
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php73-zlib/Makefile b/archivers/php73-zlib/Makefile
new file mode 100644
index 000000000000..3eeb4b97afae
--- /dev/null
+++ b/archivers/php73-zlib/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -zlib
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php73-zlib/files/patch-zlib.c b/archivers/php73-zlib/files/patch-zlib.c
new file mode 100644
index 000000000000..be02c50d1df6
--- /dev/null
+++ b/archivers/php73-zlib/files/patch-zlib.c
@@ -0,0 +1,10 @@
+--- zlib.c.orig 2016-06-21 19:57:08 UTC
++++ zlib.c
+@@ -1480,6 +1480,7 @@ static PHP_MSHUTDOWN_FUNCTION(zlib)
+ /* {{{ PHP_RINIT_FUNCTION */
+ static PHP_RINIT_FUNCTION(zlib)
+ {
++ ZLIBG(output_compression) = 0;
+ ZLIBG(compression_coding) = 0;
+ if (!ZLIBG(handler_registered)) {
+ ZLIBG(output_compression) = ZLIBG(output_compression_default);
diff --git a/converters/php73-iconv/Makefile b/converters/php73-iconv/Makefile
new file mode 100644
index 000000000000..1057d51ca452
--- /dev/null
+++ b/converters/php73-iconv/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= converters
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -iconv
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/converters/php73-mbstring/Makefile b/converters/php73-mbstring/Makefile
new file mode 100644
index 000000000000..ea710348d706
--- /dev/null
+++ b/converters/php73-mbstring/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= converters
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -mbstring
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/converters/php73-mbstring/files/patch-config.m4 b/converters/php73-mbstring/files/patch-config.m4
new file mode 100644
index 000000000000..77777ccdb9db
--- /dev/null
+++ b/converters/php73-mbstring/files/patch-config.m4
@@ -0,0 +1,51 @@
+--- config.m4.orig 2018-09-25 09:08:02 UTC
++++ config.m4
+@@ -41,6 +41,30 @@ AC_DEFUN([PHP_MBSTRING_EXTENSION], [
+ 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"
+@@ -83,7 +107,6 @@ AC_DEFUN([PHP_MBSTRING_SETUP_MBREGEX], [
+ 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;
+@@ -334,6 +357,9 @@ PHP_ARG_WITH(onig, [for external oniguru
+ [ --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/php73-recode/Makefile b/converters/php73-recode/Makefile
new file mode 100644
index 000000000000..bc0fc8b30912
--- /dev/null
+++ b/converters/php73-recode/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= converters
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -recode
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-dba/Makefile b/databases/php73-dba/Makefile
new file mode 100644
index 000000000000..2134528db928
--- /dev/null
+++ b/databases/php73-dba/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -dba
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-dba/files/patch-config.m4 b/databases/php73-dba/files/patch-config.m4
new file mode 100644
index 000000000000..30f662138374
--- /dev/null
+++ b/databases/php73-dba/files/patch-config.m4
@@ -0,0 +1,50 @@
+--- config.m4.orig 2016-01-06 15:14:47 UTC
++++ config.m4
+@@ -324,6 +324,38 @@ if test "$PHP_DB4" != "no"; then
+ THIS_PREFIX=$i
+ THIS_INCLUDE=$i/include/db5.3/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
+@@ -366,7 +398,7 @@ if test "$PHP_DB4" != "no"; then
+ break
+ fi
+ done
+- PHP_DBA_DB_CHECK(4, db-5.3 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.3 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/php73-interbase/Makefile b/databases/php73-interbase/Makefile
new file mode 100644
index 000000000000..e5cf276a426b
--- /dev/null
+++ b/databases/php73-interbase/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -interbase
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-interbase/files/patch-interbase.c b/databases/php73-interbase/files/patch-interbase.c
new file mode 100644
index 000000000000..0f8791beb793
--- /dev/null
+++ b/databases/php73-interbase/files/patch-interbase.c
@@ -0,0 +1,11 @@
+--- interbase.c.orig 2016-12-16 10:59:02 UTC
++++ interbase.c
+@@ -940,7 +940,7 @@ static void _php_ibase_connect(INTERNAL_
+ xlink = (zend_resource*) le->ptr;
+ if ((!persistent && xlink->type == le_link) || xlink->type == le_plink) {
+ if (IBG(default_link)) {
+- zend_list_close(IBG(default_link));
++ zend_list_delete(IBG(default_link));
+ }
+ xlink->gc.refcount++;
+ xlink->gc.refcount++;
diff --git a/databases/php73-mysqli/Makefile b/databases/php73-mysqli/Makefile
new file mode 100644
index 000000000000..e4ce7cad93bc
--- /dev/null
+++ b/databases/php73-mysqli/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -mysqli
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-mysqli/files/patch-mysqli.c b/databases/php73-mysqli/files/patch-mysqli.c
new file mode 100644
index 000000000000..3d74731142b6
--- /dev/null
+++ b/databases/php73-mysqli/files/patch-mysqli.c
@@ -0,0 +1,11 @@
+--- mysqli.c.orig 2016-12-06 18:05:01 UTC
++++ mysqli.c
+@@ -703,7 +703,7 @@ PHP_MINIT_FUNCTION(mysqli)
+ #ifdef MYSQLND_STRING_TO_INT_CONVERSION
+ REGISTER_LONG_CONSTANT("MYSQLI_OPT_INT_AND_FLOAT_NATIVE", MYSQLND_OPT_INT_AND_FLOAT_NATIVE, CONST_CS | CONST_PERSISTENT);
+ #endif
+-#if MYSQL_VERSION_ID > 50110 || defined(MYSQLI_USE_MYSQLND)
++#if (MYSQL_VERSION_ID < 80000 && MYSQL_VERSION_ID > 50110) || defined(MYSQLI_USE_MYSQLND)
+ REGISTER_LONG_CONSTANT("MYSQLI_OPT_SSL_VERIFY_SERVER_CERT", MYSQL_OPT_SSL_VERIFY_SERVER_CERT, CONST_CS | CONST_PERSISTENT);
+ #endif
+
diff --git a/databases/php73-mysqli/files/patch-php_mysqli_structs.h b/databases/php73-mysqli/files/patch-php_mysqli_structs.h
new file mode 100644
index 000000000000..d0daeee9ee54
--- /dev/null
+++ b/databases/php73-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/php73-odbc/Makefile b/databases/php73-odbc/Makefile
new file mode 100644
index 000000000000..0aa422a85f4a
--- /dev/null
+++ b/databases/php73-odbc/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -odbc
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-odbc/files/patch-config.m4 b/databases/php73-odbc/files/patch-config.m4
new file mode 100644
index 000000000000..46e76eeaab8e
--- /dev/null
+++ b/databases/php73-odbc/files/patch-config.m4
@@ -0,0 +1,111 @@
+--- config.m4.orig 2018-09-25 09:07:57 UTC
++++ config.m4
+@@ -97,6 +97,9 @@ AC_DEFUN([PHP_ODBC_FIND_EMPRESS_BCS_LIBS
+ dnl
+ dnl configure options
+ dnl
++PHP_ARG_ENABLE(odbc,,
++[ --enable-odbc Enable ODBC support with selected driver])
++
+
+ PHP_ARG_WITH(odbcver,,
+ [ --with-odbcver[=HEX] Force support for the passed ODBC version. A hex number is expected, default 0x0350.
+@@ -104,7 +107,7 @@ PHP_ARG_WITH(odbcver,,
+
+ 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)
+
+ AC_MSG_CHECKING([for Adabas support])
+ if test "$PHP_ADABAS" != "no"; then
+@@ -133,7 +136,7 @@ fi
+
+ 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)
+
+ AC_MSG_CHECKING([for SAP DB support])
+ if test "$PHP_SAPDB" != "no"; then
+@@ -153,7 +156,7 @@ fi
+
+ 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)
+
+ AC_MSG_CHECKING(for Solid support)
+ if test "$PHP_SOLID" != "no"; then
+@@ -180,7 +183,7 @@ fi
+
+ 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)
+
+ AC_MSG_CHECKING(for IBM DB2 support)
+ if test "$PHP_IBM_DB2" != "no"; then
+@@ -220,7 +223,7 @@ fi
+ 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)
+
+ AC_MSG_CHECKING(for Empress support)
+ if test "$PHP_EMPRESS" != "no"; then
+@@ -245,7 +248,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ 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)
+
+ AC_MSG_CHECKING(for Empress local access support)
+ if test "$PHP_EMPRESS_BCS" != "no"; then
+@@ -292,7 +295,7 @@ PHP_ARG_WITH(custom-odbc,,
+ running this configure script:
+ CPPFLAGS=\"-DODBC_QNX -DSQLANY_BUG\"
+ LDFLAGS=-lunix
+- CUSTOM_ODBC_LIBS=\"-ldblib -lodbc\"])
++ CUSTOM_ODBC_LIBS=\"-ldblib -lodbc\"], no, no)
+
+ AC_MSG_CHECKING(for a custom ODBC support)
+ if test "$PHP_CUSTOM_ODBC" != "no"; then
+@@ -314,7 +317,7 @@ fi
+
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(iodbc,,
+-[ --with-iodbc[=DIR] Include iODBC support [/usr/local]])
++[ --with-iodbc[=DIR] Include iODBC support [/usr/local]], no, no)
+
+ AC_MSG_CHECKING(for iODBC support)
+ if test "$PHP_IODBC" != "no"; then
+@@ -352,7 +355,7 @@ fi
+
+ 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)
+
+ AC_MSG_CHECKING(for Easysoft ODBC-ODBC Bridge support)
+ if test "$PHP_ESOOB" != "no"; then
+@@ -374,7 +377,7 @@ fi
+
+ 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)
+
+ AC_MSG_CHECKING(for unixODBC support)
+ if test "$PHP_UNIXODBC" != "no"; then
+@@ -397,7 +400,7 @@ fi
+
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH(dbmaker,,
+-[ --with-dbmaker[=DIR] Include DBMaker support])
++[ --with-dbmaker[=DIR] Include DBMaker support], no, no)
+
+ AC_MSG_CHECKING(for DBMaker support)
+ if test "$PHP_DBMAKER" != "no"; then
diff --git a/databases/php73-pdo/Makefile b/databases/php73-pdo/Makefile
new file mode 100644
index 000000000000..548ec9d22726
--- /dev/null
+++ b/databases/php73-pdo/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -pdo
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-pdo_dblib/Makefile b/databases/php73-pdo_dblib/Makefile
new file mode 100644
index 000000000000..38830f21b36b
--- /dev/null
+++ b/databases/php73-pdo_dblib/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -pdo_dblib
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-pdo_firebird/Makefile b/databases/php73-pdo_firebird/Makefile
new file mode 100644
index 000000000000..5686955d8651
--- /dev/null
+++ b/databases/php73-pdo_firebird/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -pdo_firebird
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-pdo_mysql/Makefile b/databases/php73-pdo_mysql/Makefile
new file mode 100644
index 000000000000..002bcb949639
--- /dev/null
+++ b/databases/php73-pdo_mysql/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -pdo_mysql
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-pdo_odbc/Makefile b/databases/php73-pdo_odbc/Makefile
new file mode 100644
index 000000000000..6f55eb78bab4
--- /dev/null
+++ b/databases/php73-pdo_odbc/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -pdo_odbc
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-pdo_pgsql/Makefile b/databases/php73-pdo_pgsql/Makefile
new file mode 100644
index 000000000000..93edd9ab69de
--- /dev/null
+++ b/databases/php73-pdo_pgsql/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -pdo_pgsql
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-pdo_sqlite/Makefile b/databases/php73-pdo_sqlite/Makefile
new file mode 100644
index 000000000000..58b97deefa36
--- /dev/null
+++ b/databases/php73-pdo_sqlite/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -pdo_sqlite
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-pgsql/Makefile b/databases/php73-pgsql/Makefile
new file mode 100644
index 000000000000..e6274f57e7ca
--- /dev/null
+++ b/databases/php73-pgsql/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -pgsql
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php73-sqlite3/Makefile b/databases/php73-sqlite3/Makefile
new file mode 100644
index 000000000000..65cdefaee598
--- /dev/null
+++ b/databases/php73-sqlite3/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -sqlite3
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php73-gettext/Makefile b/devel/php73-gettext/Makefile
new file mode 100644
index 000000000000..8dcdb96eaeba
--- /dev/null
+++ b/devel/php73-gettext/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -gettext
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php73-intl/Makefile b/devel/php73-intl/Makefile
new file mode 100644
index 000000000000..a32aaf000627
--- /dev/null
+++ b/devel/php73-intl/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -intl
+
+USES= compiler:c++11-lib
+USE_CXXSTD= gnu++11
+
+CPPFLAGS+= -DU_USING_ICU_NAMESPACE=1
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php73-json/Makefile b/devel/php73-json/Makefile
new file mode 100644
index 000000000000..5c168b2de82e
--- /dev/null
+++ b/devel/php73-json/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -json
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php73-pcntl/Makefile b/devel/php73-pcntl/Makefile
new file mode 100644
index 000000000000..a29e48319a3f
--- /dev/null
+++ b/devel/php73-pcntl/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -pcntl
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php73-readline/Makefile b/devel/php73-readline/Makefile
new file mode 100644
index 000000000000..cdddc951026e
--- /dev/null
+++ b/devel/php73-readline/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -readline
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php73-readline/files/patch-config.m4 b/devel/php73-readline/files/patch-config.m4
new file mode 100644
index 000000000000..5edf376bf0e2
--- /dev/null
+++ b/devel/php73-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/php73-readline/files/patch-readline_cli.c b/devel/php73-readline/files/patch-readline_cli.c
new file mode 100644
index 000000000000..02f55974f9b0
--- /dev/null
+++ b/devel/php73-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/php73-shmop/Makefile b/devel/php73-shmop/Makefile
new file mode 100644
index 000000000000..a14edc3da90a
--- /dev/null
+++ b/devel/php73-shmop/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -shmop
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php73-sysvmsg/Makefile b/devel/php73-sysvmsg/Makefile
new file mode 100644
index 000000000000..e4eb809a7c5a
--- /dev/null
+++ b/devel/php73-sysvmsg/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -sysvmsg
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php73-sysvsem/Makefile b/devel/php73-sysvsem/Makefile
new file mode 100644
index 000000000000..7fcb8007366d
--- /dev/null
+++ b/devel/php73-sysvsem/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -sysvsem
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php73-sysvshm/Makefile b/devel/php73-sysvshm/Makefile
new file mode 100644
index 000000000000..631199fd9e45
--- /dev/null
+++ b/devel/php73-sysvshm/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -sysvshm
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php73-tokenizer/Makefile b/devel/php73-tokenizer/Makefile
new file mode 100644
index 000000000000..b25325975c28
--- /dev/null
+++ b/devel/php73-tokenizer/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -tokenizer
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/ftp/php73-curl/Makefile b/ftp/php73-curl/Makefile
new file mode 100644
index 000000000000..27b10dbc1482
--- /dev/null
+++ b/ftp/php73-curl/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= ftp
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -curl
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/ftp/php73-ftp/Makefile b/ftp/php73-ftp/Makefile
new file mode 100644
index 000000000000..6c08894fe3ad
--- /dev/null
+++ b/ftp/php73-ftp/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+CATEGORIES= ftp
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -ftp
+
+TEST_TARGET= test
+
+post-patch:
+ @${REINPLACE_CMD} s/HAVE_OPENSSL_EXT/__FreeBSD__/ \
+ ${WRKSRC}/ftp.* ${WRKSRC}/php_ftp.*
+
+.include "${MASTERDIR}/Makefile"
diff --git a/graphics/php73-exif/Makefile b/graphics/php73-exif/Makefile
new file mode 100644
index 000000000000..24c83f58f2b0
--- /dev/null
+++ b/graphics/php73-exif/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= graphics
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -exif
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/graphics/php73-gd/Makefile b/graphics/php73-gd/Makefile
new file mode 100644
index 000000000000..d9fd4a74d2e5
--- /dev/null
+++ b/graphics/php73-gd/Makefile
@@ -0,0 +1,13 @@
+# $FreeBSD$
+
+CATEGORIES= graphics
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -gd
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
+
+LIB_DEPENDS+= libgd.so:graphics/gd
diff --git a/graphics/php73-gd/files/patch-config.m4 b/graphics/php73-gd/files/patch-config.m4
new file mode 100644
index 000000000000..0d1cbd47e4a9
--- /dev/null
+++ b/graphics/php73-gd/files/patch-config.m4
@@ -0,0 +1,28 @@
+--- config.m4.orig 2018-09-25 09:07:58 UTC
++++ config.m4
+@@ -285,6 +285,7 @@ dnl enable the support in bundled GD lib
+
+ if test -n "$GD_XPM_DIR"; then
+ AC_DEFINE(HAVE_GD_XPM, 1, [ ])
++ AC_DEFINE(HAVE_XPM, 1, [ ])
+ GDLIB_CFLAGS="$GDLIB_CFLAGS -DHAVE_XPM"
+ fi
+
+@@ -347,7 +348,7 @@ if test "$PHP_GD" != "no"; then
+
+ if test "$GD_MODULE_TYPE" = "builtin"; then
+ PHP_ADD_BUILD_DIR($ext_builddir/libgd)
+- GDLIB_CFLAGS="-I$ext_srcdir/libgd $GDLIB_CFLAGS"
++ GDLIB_CFLAGS="-I../.. -I$ext_srcdir/libgd $GDLIB_CFLAGS"
+ GD_HEADER_DIRS="ext/gd/ ext/gd/libgd/"
+
+ PHP_TEST_BUILD(foobar, [], [
+@@ -355,7 +356,7 @@ if test "$PHP_GD" != "no"; then
+ ], [ $GD_SHARED_LIBADD ], [char foobar () {}])
+ else
+ GD_HEADER_DIRS="ext/gd/"
+- GDLIB_CFLAGS="-I$GD_INCLUDE $GDLIB_CFLAGS"
++ GDLIB_CFLAGS="-I../.. -I$ext_srcdir/libgd $GDLIB_CFLAGS"
+ PHP_ADD_INCLUDE($GD_INCLUDE)
+ PHP_CHECK_LIBRARY(gd, gdImageCreate, [], [
+ AC_MSG_ERROR([GD build test failed. Please check the config.log for details.])
diff --git a/graphics/php73-gd/files/patch-gd.c b/graphics/php73-gd/files/patch-gd.c
new file mode 100644
index 000000000000..0c9302041d2a
--- /dev/null
+++ b/graphics/php73-gd/files/patch-gd.c
@@ -0,0 +1,83 @@
+--- gd.c.orig 2018-09-25 09:07:58 UTC
++++ gd.c
+@@ -51,7 +51,7 @@
+ # include <Wingdi.h>
+ #endif
+
+-#ifdef HAVE_GD_XPM
++#if defined(HAVE_XPM) && defined(HAVE_GD_XPM)
+ # include <X11/xpm.h>
+ #endif
+
+@@ -75,7 +75,7 @@ static int le_gd, le_gd_font;
+ # endif
+ #endif
+
+-#if defined(HAVE_GD_XPM) && defined(HAVE_GD_BUNDLED)
++#if defined(HAVE_XPM) && defined(HAVE_GD_XPM) && defined(HAVE_GD_BUNDLED)
+ # include "X11/xpm.h"
+ #endif
+
+@@ -322,7 +322,7 @@ ZEND_BEGIN_ARG_INFO(arginfo_imagecreatef
+ ZEND_ARG_INFO(0, filename)
+ ZEND_END_ARG_INFO()
+
+-#if defined(HAVE_GD_XPM)
++#if defined(HAVE_XPM) && defined(HAVE_GD_XPM)
+ ZEND_BEGIN_ARG_INFO(arginfo_imagecreatefromxpm, 0)
+ ZEND_ARG_INFO(0, filename)
+ ZEND_END_ARG_INFO()
+@@ -931,7 +931,7 @@ static const zend_function_entry gd_func
+ #endif
+ PHP_FE(imagecreatefromwbmp, arginfo_imagecreatefromwbmp)
+ PHP_FE(imagecreatefromxbm, arginfo_imagecreatefromxbm)
+-#if defined(HAVE_GD_XPM)
++#if defined(HAVE_XPM) && defined(HAVE_GD_XPM)
+ PHP_FE(imagecreatefromxpm, arginfo_imagecreatefromxpm)
+ #endif
+ PHP_FE(imagecreatefromgd, arginfo_imagecreatefromgd)
+@@ -1296,7 +1296,7 @@ PHP_MINFO_FUNCTION(gd)
+ php_info_print_table_row(2, "libPNG Version", gdPngGetVersionString());
+ #endif
+ php_info_print_table_row(2, "WBMP Support", "enabled");
+-#if defined(HAVE_GD_XPM)
++#if defined(HAVE_XPM) && defined(HAVE_GD_XPM)
+ php_info_print_table_row(2, "XPM Support", "enabled");
+ {
+ char tmp[12];
+@@ -1351,7 +1351,7 @@ PHP_FUNCTION(gd_info)
+ add_assoc_bool(return_value, "PNG Support", 0);
+ #endif
+ add_assoc_bool(return_value, "WBMP Support", 1);
+-#if defined(HAVE_GD_XPM)
++#if defined(HAVE_XPM) && defined(HAVE_GD_XPM)
+ add_assoc_bool(return_value, "XPM Support", 1);
+ #else
+ add_assoc_bool(return_value, "XPM Support", 0);
+@@ -2178,7 +2178,7 @@ PHP_FUNCTION(imagetypes)
+ ret |= PHP_IMG_PNG;
+ #endif
+ ret |= PHP_IMG_WBMP;
+-#if defined(HAVE_GD_XPM)
++#if defined(HAVE_XPM) && defined(HAVE_GD_XPM)
+ ret |= PHP_IMG_XPM;
+ #endif
+ #ifdef HAVE_GD_WEBP
+@@ -2446,7 +2446,7 @@ static void _php_image_create_from(INTER
+ case PHP_GDIMG_TYPE_GD2PART:
+ im = (*func_p)(fp, srcx, srcy, width, height);
+ break;
+-#if defined(HAVE_GD_XPM)
++#if defined(HAVE_XPM) && defined(HAVE_GD_XPM)
+ case PHP_GDIMG_TYPE_XPM:
+ im = gdImageCreateFromXpm(file);
+ break;
+@@ -2528,7 +2528,7 @@ PHP_FUNCTION(imagecreatefromxbm)
+ }
+ /* }}} */
+
+-#if defined(HAVE_GD_XPM)
++#if defined(HAVE_XPM) && defined(HAVE_GD_XPM)
+ /* {{{ proto resource imagecreatefromxpm(string filename)
+ Create a new image from XPM file or URL */
+ PHP_FUNCTION(imagecreatefromxpm)
diff --git a/lang/php56/Makefile b/lang/php56/Makefile
index ea5e0e0f2f9b..4c440f296dd7 100644
--- a/lang/php56/Makefile
+++ b/lang/php56/Makefile
@@ -52,7 +52,7 @@ MAILHEAD_DESC= Enable mail header patch
LINKTHR_DESC= Link thread lib (for threaded extensions)
ZTS_DESC= Force Zend Thread Safety (ZTS) build
-CONFLICTS= php55-5* php70-*
+CONFLICTS= php55-5* php70-* php71-* php72-* php73-*
DESTDIRNAME= INSTALL_ROOT
diff --git a/lang/php70/Makefile b/lang/php70/Makefile
index b87033b37f94..6f3756514a2c 100644
--- a/lang/php70/Makefile
+++ b/lang/php70/Makefile
@@ -57,7 +57,7 @@ MAILHEAD_DESC= Enable mail header patch
LINKTHR_DESC= Link thread lib (for threaded extensions)
ZTS_DESC= Force Zend Thread Safety (ZTS) build
-CONFLICTS= php56-* php71-* php72-*
+CONFLICTS= php56-* php71-* php72-* php73-*
DESTDIRNAME= INSTALL_ROOT
diff --git a/lang/php71/Makefile b/lang/php71/Makefile
index 74c37db25cdb..ea6a7ccbcb5d 100644
--- a/lang/php71/Makefile
+++ b/lang/php71/Makefile
@@ -58,7 +58,7 @@ MAILHEAD_DESC= Enable mail header patch
LINKTHR_DESC= Link thread lib (for threaded extensions)
ZTS_DESC= Force Zend Thread Safety (ZTS) build
-CONFLICTS= php56-* php70-* php72-*
+CONFLICTS= php56-* php70-* php72-* php73-*
DESTDIRNAME= INSTALL_ROOT
diff --git a/lang/php72/Makefile b/lang/php72/Makefile
index cae76cbde941..4b0d3369ac62 100644
--- a/lang/php72/Makefile
+++ b/lang/php72/Makefile
@@ -58,7 +58,7 @@ PHPDBG_DESC= Interactive PHP debugger
LINKTHR_DESC= Link thread lib (for threaded extensions)
ZTS_DESC= Force Zend Thread Safety (ZTS) build
-CONFLICTS= php56-* php70-* php71-*
+CONFLICTS= php56-* php70-* php71-* php73-*
DESTDIRNAME= INSTALL_ROOT
diff --git a/lang/php73-extensions/Makefile b/lang/php73-extensions/Makefile
new file mode 100644
index 000000000000..7a8e4f13330c
--- /dev/null
+++ b/lang/php73-extensions/Makefile
@@ -0,0 +1,117 @@
+# $FreeBSD$
+
+PORTNAME= php73
+PORTVERSION= 1.0
+CATEGORIES= lang
+PKGNAMESUFFIX= -extensions
+
+MAINTAINER= tz@FreeBSD.org
+COMMENT= "meta-port" to install PHP extensions
+
+USES= metaport php
+PHP_VER= 73
+IGNORE_WITH_PHP= 56 70 71 72
+
+OPTIONS_DEFINE= BCMATH BZ2 CALENDAR CTYPE CURL DBA \
+ DOM ENCHANT EXIF FILEINFO FILTER FTP GD GETTEXT \
+ GMP HASH ICONV INTL IMAP INTERBASE JSON LDAP MBSTRING \
+ 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 SODIUM SQLITE3 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
+ENCHANT_DESC= Enchant spelling 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
+INTL_DESC= Internationalization(ICU)
+INTERBASE_DESC= Interbase 6 database support (Firebird)
+JSON_DESC= JavaScript Object Serialization support
+LDAP_DESC= OpenLDAP support
+MBSTRING_DESC= multibyte string 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
+SODIUM_DESC= Sodium encryption support
+SQLITE3_DESC= sqlite3 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
+
+.include <bsd.port.mk>
diff --git a/lang/php73-extensions/pkg-descr b/lang/php73-extensions/pkg-descr
new file mode 100644
index 000000000000..b6512e2ea90e
--- /dev/null
+++ b/lang/php73-extensions/pkg-descr
@@ -0,0 +1,7 @@
+This is a "meta-port" to install the extensions for PHP 7.1.
+
+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/php73/Makefile b/lang/php73/Makefile
new file mode 100644
index 000000000000..0f5ce7b03aca
--- /dev/null
+++ b/lang/php73/Makefile
@@ -0,0 +1,181 @@
+# $FreeBSD$
+
+PORTNAME= php73
+DISTVERSION= 7.3.0RC2
+PORTREVISION?= 0
+CATEGORIES?= lang devel www
+MASTER_SITES= https://downloads.php.net/~cmb/
+DISTNAME= php-${DISTVERSION}
+
+MAINTAINER= tz@FreeBSD.org
+COMMENT= PHP Scripting Language
+
+LICENSE= PHP301
+
+USES+= tar:xz cpe gnome
+CPE_PRODUCT= php
+NO_OPTIONS_SORT=yes
+
+.if !defined(PKGNAMESUFFIX)
+BUILD_DEPENDS= pcre2>=2.31:devel/pcre2
+LIB_DEPENDS= libargon2.so:security/libargon2
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+=--with-layout=GNU \
+ --with-config-file-scan-dir=${PREFIX}/etc/php \
+ --disable-all \
+ --enable-libxml \
+ --enable-mysqlnd \
+ --with-libxml-dir=${LOCALBASE} \
+ --with-pcre-regex=${LOCALBASE} \
+ --with-password-argon2=${LOCALBASE} \
+ --program-prefix=""
+USES+= autoreconf:build
+USE_GNOME= libxml2
+
+OPTIONS_DEFINE+=CLI CGI FPM EMBED PHPDBG DEBUG DTRACE IPV6 LINKTHR ZTS
+OPTIONS_DEFAULT=CLI CGI FPM EMBED LINKTHR DTRACE
+OPTIONS_EXCLUDE_DragonFly= DTRACE
+# ld(1) fails to link probes: Relocations in generic ELF (EM: 0)
+OPTIONS_EXCLUDE_aarch64= DTRACE
+# dt_modtext:opensolaris/ib/libdtrace/common/dt_link.c: arm not impemented
+OPTIONS_EXCLUDE_armv6= DTRACE
+OPTIONS_EXCLUDE_armv7= DTRACE
+# Bug 197128: No ASM code for MIPS/MIPS64, disable FPM
+OPTIONS_EXCLUDE_mips= DTRACE FPM
+OPTIONS_EXCLUDE_mips64= DTRACE FPM
+OPTIONS_EXCLUDE_sparc64= DTRACE
+OPTIONS_SUB= yes
+
+CLI_DESC= Build CLI version
+CGI_DESC= Build CGI version
+FPM_DESC= Build FPM version
+EMBED_DESC= Build embedded library
+PHPDBG_DESC= Interactive PHP debugger
+LINKTHR_DESC= Link thread lib (for threaded extensions)
+ZTS_DESC= Force Zend Thread Safety (ZTS) build
+
+CONFLICTS= php56-* php70-* php71-* php72-*
+
+DESTDIRNAME= INSTALL_ROOT
+
+.include <bsd.port.pre.mk>
+
+.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}
+.endif
+
+.if defined(PKGNAMEPREFIX)
+USES+= apache:2.2+
+.include "${PORTSDIR}/Mk/Uses/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= libphp7
+SHORTMODNAME= php7
+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
+
+CONFIGURE_ENV+= ac_cv_decimal_fp_supported="no" \
+ lt_cv_path_SED="sed"
+
+.if ${PORT_OPTIONS:MLINKTHR}
+LIBS+= -lpthread
+.endif
+
+.if ${PORT_OPTIONS:MDEBUG}
+CONFIGURE_ARGS+=--enable-debug
+.endif
+
+.if ${PORT_OPTIONS:MZTS}
+CONFIGURE_ARGS+=--enable-maintainer-zts
+CONFIGURE_ENV+= pthreads_working="yes"
+.endif
+
+.if ${PORT_OPTIONS:MDTRACE}
+CONFIGURE_ARGS+=--enable-dtrace
+PLIST_SUB+= DTRACE=""
+.else
+PLIST_SUB+= DTRACE="@comment "
+.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
+
+pre-configure:
+ @(cd ${WRKSRC} && ${SETENV} MAKE=${MAKE_CMD} ./buildconf --force)
+
+.if !defined(PKGNAMEPREFIX)
+post-build:
+ @${ECHO_CMD} "PHP_VER=73" > ${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
+ @${ECHO_CMD} -n "PHP_EXT_DIR=" >> ${WRKDIR}/php.conf
+ @${SH} ${WRKSRC}/scripts/php-config --extension-dir | ${SED} -ne 's,^${PREFIX}/lib/php/,,p' >> ${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/php73/Makefile.ext b/lang/php73/Makefile.ext
new file mode 100644
index 000000000000..1339e70453c7
--- /dev/null
+++ b/lang/php73/Makefile.ext
@@ -0,0 +1,574 @@
+# $FreeBSD$
+
+COMMENT= The ${PHP_MODNAME} shared extension for php
+
+USES+= php:ext,noflavors
+PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
+PHP_VER= 73
+IGNORE_WITH_PHP= 56 70 71 72
+
+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/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: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 LMDB
+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
+LMDB_DESC= LMDB database 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} == "enchant"
+LIB_DEPENDS+= libenchant.so:textproc/enchant
+CONFIGURE_ARGS+=--with-enchant=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "exif"
+CONFIGURE_ARGS+=--enable-exif
+.endif
+
+.if ${PHP_MODNAME} == "fileinfo"
+BUILD_DEPENDS= pcre2>=2.31:devel/pcre2
+CONFIGURE_ARGS+=--enable-fileinfo \
+ --with-pcre-dir=${LOCALBASE}
+
+PHP_HEADER_DIRS= libmagic
+.endif
+
+.if ${PHP_MODNAME} == "filter"
+BUILD_DEPENDS= pcre2>=2.31:devel/pcre2
+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
+USES+= ssl
+.endif
+
+.if ${PHP_MODNAME} == "gd"
+LIB_DEPENDS= libfreetype.so:print/freetype2 \
+ libpng.so:graphics/png
+USES+= jpeg
+
+CONFIGURE_ARGS+=--with-gd=${LOCALBASE} \
+ --with-freetype-dir=${LOCALBASE} \
+ --with-jpeg-dir=${LOCALBASE} \
+ --with-png-dir=${LOCALBASE} \
+ --with-zlib-dir=/usr
+
+EXTRACT_AFTER_ARGS=--no-same-owner --no-same-permissions --exclude libgd \
+ php-${DISTVERSION}/ext/gd
+
+OPTIONS_DEFINE=TRUETYPE JIS WEBP X11
+OPTIONS_DEFAULT=TRUETYPE
+
+TRUETYPE_DESC= Enable TrueType string function
+JIS_DESC= Enable JIS-mapped Japanese font support
+WEBP_DESC= Enable WebP image format support
+X11_DESC= Enable XPM support
+
+.endif
+
+.if ${PHP_MODNAME} == "gettext"
+CONFIGURE_ARGS+=--with-gettext=${LOCALBASE}
+
+USES+= gettext
+.endif
+
+.if ${PHP_MODNAME} == "gmp"
+LIB_DEPENDS+= libgmp.so: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"
+BUILD_DEPENDS= pcre2>=2.31:devel/pcre2
+OPTIONS_DEFINE= PANDA
+PANDA_DESC= Uses the forked panda-cclient instead of the original cclient
+
+CONFIGURE_ARGS+=--with-imap=${LOCALBASE} \
+ --with-pcre-dir=${LOCALBASE} \
+ --with-imap-ssl=${OPENSSLBASE}
+
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USES+= ssl
+.endif
+
+.if ${PHP_MODNAME} == "interbase"
+CONFIGURE_ARGS+=--with-interbase=${LOCALBASE}
+
+USES+= firebird
+.endif
+
+.if ${PHP_MODNAME} == "intl"
+CONFIGURE_ARGS+=--with-intl=${LOCALBASE}
+LIB_DEPENDS= libicui18n.so:devel/icu
+.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} == "mysqli"
+OPTIONS_DEFINE= MYSQLND
+OPTIONS_DEFAULT=MYSQLND
+
+MYSQLND_DESC= Use MySQL Native Driver
+.endif
+
+.if ${PHP_MODNAME} == "odbc"
+LIB_DEPENDS+= libodbc.so:databases/unixODBC
+
+CONFIGURE_ARGS+=--enable-odbc \
+ --with-unixODBC=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "openssl"
+CONFIGURE_ARGS+=--with-openssl=${OPENSSLBASE}
+
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USES+= ssl
+.endif
+
+.if ${PHP_MODNAME} == "opcache"
+# This is needed by Zend extensions, keep before everything.
+PHP_MOD_PRIO= 10
+BUILD_DEPENDS= pcre2>=2.31:devel/pcre2
+CONFIGURE_ARGS+=--enable-opcache
+USES+= localbase
+.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:build
+
+OPTIONS_DEFINE= MSSQL
+
+MSSQL_DESC= Enable Microsoft SQL Server support
+.endif
+
+.if ${PHP_MODNAME} == "pdo_firebird"
+CONFIGURE_ARGS+=--with-pdo-firebird=${LOCALBASE}
+
+USES+= firebird
+USE_PHP= pdo:build
+.endif
+
+.if ${PHP_MODNAME} == "pdo_odbc"
+LIB_DEPENDS+= libodbc.so:databases/unixODBC
+CONFIGURE_ARGS+=--with-pdo-odbc=unixODBC,${LOCALBASE}
+
+USE_PHP= pdo:build
+.endif
+
+.if ${PHP_MODNAME} == "pdo_mysql"
+OPTIONS_DEFINE= MYSQLND
+OPTIONS_DEFAULT=MYSQLND
+
+MYSQLND_DESC= Use MySQL Native Driver
+
+USE_PHP= pdo:build
+.endif
+
+.if ${PHP_MODNAME} == "pdo_pgsql"
+USES+= pgsql
+
+CONFIGURE_ARGS+=--with-pdo-pgsql=${LOCALBASE}
+
+USE_PHP= pdo:build
+.endif
+
+.if ${PHP_MODNAME} == "pdo_sqlite"
+USES+= sqlite
+CONFIGURE_ARGS+=--with-pdo-sqlite=${LOCALBASE}
+
+USE_PHP= pdo:build
+.endif
+
+.if ${PHP_MODNAME} == "pgsql"
+BUILD_DEPENDS= pcre2>=2.31:devel/pcre2
+USES+= pgsql
+
+CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "phar"
+BUILD_DEPENDS= pcre2>=2.31:devel/pcre2
+CONFIGURE_ARGS+=--enable-phar \
+ --with-pcre-dir=${LOCALBASE}
+
+USE_PHP= hash:build
+.endif
+
+.if ${PHP_MODNAME} == "posix"
+CONFIGURE_ARGS+=--enable-posix
+.endif
+
+.if ${PHP_MODNAME} == "pspell"
+LIB_DEPENDS+= libaspell.so:textproc/aspell
+
+CONFIGURE_ARGS+=--with-pspell=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "readline"
+CONFIGURE_ARGS+=--with-readline=/usr
+USES+= readline
+.endif
+
+.if ${PHP_MODNAME} == "recode"
+LIB_DEPENDS+= librecode.so:converters/recode
+
+CONFIGURE_ARGS+=--with-recode=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "session"
+CONFIGURE_ARGS+=--enable-session
+PHP_MOD_PRIO= 18
+.endif
+
+.if ${PHP_MODNAME} == "shmop"
+CONFIGURE_ARGS+=--enable-shmop
+.endif
+
+.if ${PHP_MODNAME} == "simplexml"
+BUILD_DEPENDS= pcre2>=2.31:devel/pcre2
+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:net-mgmt/net-snmp
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USES+= ssl
+.endif
+
+.if ${PHP_MODNAME} == "soap"
+CONFIGURE_ARGS+=--enable-soap \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "sockets"
+CONFIGURE_ARGS+=--enable-sockets
+.endif
+
+.if ${PHP_MODNAME} == "sodium"
+CONFIGURE_ARGS+= --with-sodium=${LOCALBASE}
+LIB_DEPENDS+= libsodium.so:security/libsodium
+.endif
+
+.if ${PHP_MODNAME} == "sqlite3"
+USES+= sqlite
+CONFIGURE_ARGS+=--with-sqlite3=${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: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:build session:build
+.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:build
+.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:build
+.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:build xml:build
+.endif
+
+.if ${PHP_MODNAME} == "zip"
+BUILD_DEPENDS= pcre2>=2.31:devel/pcre2
+LIB_DEPENDS+= libzip.so: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.options.mk>
+
+.if ${PHP_MODNAME} == "dba"
+. if empty(PORT_OPTIONS:MCDB)
+CONFIGURE_ARGS+=--without-cdb
+. endif
+. if ${PORT_OPTIONS:MDB4}
+CONFIGURE_ARGS+=--with-db4=${LOCALBASE}
+
+USES+= bdb
+WITH_BDB_HIGHEST= yes
+. endif
+. if ${PORT_OPTIONS:MGDBM}
+LIB_DEPENDS+= libgdbm.so:databases/gdbm
+
+CONFIGURE_ARGS+=--with-gdbm=${LOCALBASE}
+. endif
+. if ${PORT_OPTIONS:MQDBM}
+LIB_DEPENDS+= libqdbm.so:databases/qdbm
+
+CONFIGURE_ARGS+=--with-qdbm=${LOCALBASE}
+. endif
+. if ${PORT_OPTIONS:MTOKYO}
+LIB_DEPENDS+= libtokyocabinet.so: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
+
+. if ${PORT_OPTIONS:MLMDB}
+LIB_DEPENDS+= liblmdb.so:databases/lmdb
+CONFIGURE_ARGS+= --with-lmdb=${LOCALBASE}
+.endif
+.endif
+
+.if ${PHP_MODNAME} == "mysqli"
+. if ${PORT_OPTIONS:MMYSQLND}
+CONFIGURE_ARGS+=--with-mysqli=mysqlnd
+. else
+CONFIGURE_ARGS+=--with-mysqli=${LOCALBASE}/bin/mysql_config
+USES+= mysql
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "pdo_mysql"
+. if ${PORT_OPTIONS:MMYSQLND}
+CONFIGURE_ARGS+=--with-pdo-mysql=mysqlnd
+. else
+CONFIGURE_ARGS+=--with-pdo-mysql=${LOCALBASE} \
+ --with-zlib-dir=/usr
+USES+= mysql
+. endif
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if ${PHP_MODNAME} == "gd"
+. 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:MWEBP}
+LIB_DEPENDS+= libwebp.so:graphics/webp
+
+CONFIGURE_ARGS+=--with-webp-dir=${LOCALBASE}
+. endif
+. if ${PORT_OPTIONS:MX11}
+USE_XORG= xpm
+
+CONFIGURE_ARGS+=--with-xpm-dir=${LOCALBASE}
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "imap"
+. if ${PORT_OPTIONS:MPANDA}
+LIB_DEPENDS+= libc-client4.so.10:mail/panda-cclient
+. else
+LIB_DEPENDS+= libc-client4.so.9:mail/cclient
+. endif
+.endif
+
+.if ${PHP_MODNAME} == "mbstring"
+. if ${PORT_OPTIONS:MREGEX}
+LIB_DEPENDS+= libonig.so:devel/oniguruma
+CONFIGURE_ARGS+=--with-onig=${LOCALBASE}
+. else
+CONFIGURE_ARGS+=--disable-mbregex
+. 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:databases/freetds
+. else
+LIB_DEPENDS+= libct.so:databases/freetds
+. 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/php73/distinfo b/lang/php73/distinfo
new file mode 100644
index 000000000000..3fe9ce7451d9
--- /dev/null
+++ b/lang/php73/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1538038650
+SHA256 (php-7.3.0RC2.tar.xz) = f52692cb4f5144365a72c6ff698101035a27bceebf2d5a307ad82dd43ee9d751
+SIZE (php-7.3.0RC2.tar.xz) = 11924624
diff --git a/lang/php73/files/patch-Makefile.global b/lang/php73/files/patch-Makefile.global
new file mode 100644
index 000000000000..dda63ac4508e
--- /dev/null
+++ b/lang/php73/files/patch-Makefile.global
@@ -0,0 +1,19 @@
+--- Makefile.global.orig 2016-08-17 19:50:48 UTC
++++ Makefile.global
+@@ -89,14 +89,14 @@ test: all
+ @if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
+ INI_FILE=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \
+ if test "$$INI_FILE"; then \
+- $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
++ $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_FILE" > $(top_builddir)/tmp-php.ini || :; \
+ else \
+ echo > $(top_builddir)/tmp-php.ini; \
+ fi; \
+ INI_SCANNED_PATH=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r '$$a = explode(",\n", trim(php_ini_scanned_files())); echo $$a[0];' 2> /dev/null`; \
+ if test "$$INI_SCANNED_PATH"; then \
+ INI_SCANNED_PATH=`$(top_srcdir)/build/shtool path -d $$INI_SCANNED_PATH`; \
+- $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_SCANNED_PATH"/*.ini >> $(top_builddir)/tmp-php.ini; \
++ $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI_SCANNED_PATH"/*.ini >> $(top_builddir)/tmp-php.ini || :; \
+ fi; \
+ TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
+ TEST_PHP_SRCDIR=$(top_srcdir) \
diff --git a/lang/php73/files/patch-acinclude.m4 b/lang/php73/files/patch-acinclude.m4
new file mode 100644
index 000000000000..ffa61dd99264
--- /dev/null
+++ b/lang/php73/files/patch-acinclude.m4
@@ -0,0 +1,68 @@
+--- acinclude.m4.orig 2018-08-14 11:39:24 UTC
++++ acinclude.m4
+@@ -971,15 +971,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($ext_dir,$2,$ac_extra,)
+- EXT_STATIC="$EXT_STATIC $1;$ext_dir"
+- ;;
+- *[)]
+- PHP_ADD_SOURCES($ext_dir,$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;$ext_dir"
+ fi
+ PHP_ADD_BUILD_DIR($ext_builddir)
+@@ -1029,12 +1023,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
+ ])
+
+@@ -2934,8 +2922,7 @@ dnl in GNU Make which causes the .d file
+ $abs_srcdir/$ac_provsrc:;
+
+ $ac_bdir[$]ac_hdrobj: $abs_srcdir/$ac_provsrc
+- CFLAGS="\$(CFLAGS_CLEAN)" dtrace -h -C -s $ac_srcdir[$]ac_provsrc -o \$[]@.bak && \$(SED) -e 's,PHP_,DTRACE_,g' \$[]@.bak > \$[]@
+-
++ CFLAGS="\$(CFLAGS_CLEAN)" dtrace -xnolibs -h -C -s $ac_srcdir[$]ac_provsrc -o \$[]@.bak && \$(SED) -e 's,PHP_,DTRACE_,g' \$[]@.bak > \$[]@
+ \$(PHP_DTRACE_OBJS): $ac_bdir[$]ac_hdrobj
+
+ EOF
+@@ -2954,12 +2941,12 @@ dnl Always attempt to create both PIC an
+ $ac_bdir[$]ac_provsrc.lo: \$(PHP_DTRACE_OBJS)
+ echo "[#] Generated by Makefile for libtool" > \$[]@
+ @test -d "$dtrace_lib_dir" || mkdir $dtrace_lib_dir
+- if CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $dtrace_d_obj -s $abs_srcdir/$ac_provsrc $dtrace_lib_objs 2> /dev/null && test -f "$dtrace_d_obj"; then [\\]
++ if CFLAGS="\$(CFLAGS_CLEAN)" dtrace -xnolibs -G -o $dtrace_d_obj -s $abs_srcdir/$ac_provsrc $dtrace_lib_objs 2> /dev/null && test -f "$dtrace_d_obj"; then [\\]
+ echo "pic_object=['].libs/$dtrace_prov_name[']" >> \$[]@ [;\\]
+ else [\\]
+ echo "pic_object='none'" >> \$[]@ [;\\]
+ fi
+- if CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $ac_bdir[$]ac_provsrc.o -s $abs_srcdir/$ac_provsrc $dtrace_nolib_objs 2> /dev/null && test -f "$ac_bdir[$]ac_provsrc.o"; then [\\]
++ if CFLAGS="\$(CFLAGS_CLEAN)" dtrace -xnolibs -G -o $ac_bdir[$]ac_provsrc.o -s $abs_srcdir/$ac_provsrc $dtrace_nolib_objs 2> /dev/null && test -f "$ac_bdir[$]ac_provsrc.o"; then [\\]
+ echo "non_pic_object=[']$dtrace_prov_name[']" >> \$[]@ [;\\]
+ else [\\]
+ echo "non_pic_object='none'" >> \$[]@ [;\\]
+@@ -2971,7 +2958,7 @@ EOF
+ *)
+ cat>>Makefile.objects<<EOF
+ $ac_bdir[$]ac_provsrc.o: \$(PHP_DTRACE_OBJS)
+- CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o \$[]@ -s $abs_srcdir/$ac_provsrc $dtrace_objs
++ CFLAGS="\$(CFLAGS_CLEAN)" dtrace -xnolibs -G -o \$[]@ -s $abs_srcdir/$ac_provsrc $dtrace_objs
+
+ EOF
+ ;;
diff --git a/lang/php73/files/patch-configure.in b/lang/php73/files/patch-configure.in
new file mode 100644
index 000000000000..539cfd1d4997
--- /dev/null
+++ b/lang/php73/files/patch-configure.in
@@ -0,0 +1,61 @@
+--- configure.ac.orig 2018-01-02 22:35:55 UTC
++++ configure.ac
+@@ -102,6 +102,7 @@ int zend_sprintf(char *buffer, const char *format, ...
+
+ #undef PTHREADS
+
++#include <ext/php_config.h>
+ #endif /* PHP_CONFIG_H */
+ ])
+
+@@ -339,7 +340,6 @@ sinclude(TSRM/tsrm.m4)
+ dnl .
+ dnl -------------------------------------------------------------------------
+
+-PTHREADS_CHECK
+ PHP_HELP_SEPARATOR([SAPI modules:])
+ PHP_SHLIB_SUFFIX_NAMES
+ PHP_BUILD_PROGRAM
+@@ -370,15 +370,9 @@ else
+ 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.
+@@ -682,7 +676,7 @@ nanosleep \
+ )
+
+ 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
+@@ -1235,7 +1229,7 @@ EXPANDED_SYSCONFDIR=`eval echo $sysconfdir`
+ 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
+@@ -1434,7 +1428,7 @@ PHP_SUBST(all_targets)
+ 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, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
+
diff --git a/lang/php73/files/patch-sapi_apache2handler_config.m4 b/lang/php73/files/patch-sapi_apache2handler_config.m4
new file mode 100644
index 000000000000..5b0cfb9d4591
--- /dev/null
+++ b/lang/php73/files/patch-sapi_apache2handler_config.m4
@@ -0,0 +1,11 @@
+--- sapi/apache2handler/config.m4.orig 2018-08-14 11:39:14 UTC
++++ sapi/apache2handler/config.m4
+@@ -65,7 +65,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 php7"
diff --git a/lang/php73/files/patch-sapi_fpm_config.m4 b/lang/php73/files/patch-sapi_fpm_config.m4
new file mode 100644
index 000000000000..e88c204384ae
--- /dev/null
+++ b/lang/php73/files/patch-sapi_fpm_config.m4
@@ -0,0 +1,11 @@
+--- sapi/fpm/config.m4.orig 2018-08-14 11:39:14 UTC
++++ sapi/fpm/config.m4
+@@ -319,7 +319,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_TCP_INFO], 1, [do we have TCP_INFO?])
+ fi
+
diff --git a/lang/php73/files/php-fpm.in b/lang/php73/files/php-fpm.in
new file mode 100644
index 000000000000..1c9d7f5c81ba
--- /dev/null
+++ b/lang/php73/files/php-fpm.in
@@ -0,0 +1,69 @@
+#!/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
+
+start_precmd="php_fpm_prestart"
+restart_precmd="php_fpm_checkconfig"
+reload_precmd="php_fpm_checkconfig"
+configtest_cmd="php_fpm_checkconfig"
+
+load_rc_config "$name"
+
+: ${php_fpm_enable="NO"}
+: ${php_fpm_umask=""}
+
+extra_commands="reload configtest 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
+}
+
+php_fpm_checkconfig()
+{
+ echo "Performing sanity check on php-fpm configuration:"
+ eval ${command} -t
+}
+
+php_fpm_prestart()
+{
+ php_fpm_checkconfig
+ checkconfig=$?
+ if [ $checkconfig -ne 0 ]; then
+ return $checkconfig
+ fi
+
+ if [ ! -z "$php_fpm_umask" ]; then
+ echo "Setting umask to: ${php_fpm_umask}"
+ umask $php_fpm_umask
+ fi
+}
+
+run_rc_command "$1"
diff --git a/lang/php73/pkg-descr b/lang/php73/pkg-descr
new file mode 100644
index 000000000000..a53cdb1bde68
--- /dev/null
+++ b/lang/php73/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/php73/pkg-message.mod b/lang/php73/pkg-message.mod
new file mode 100644
index 000000000000..f96750445f66
--- /dev/null
+++ b/lang/php73/pkg-message.mod
@@ -0,0 +1,19 @@
+***************************************************************
+
+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>
+
+*********************************************************************
+
+If you are building PHP-based ports in poudriere(8) with ZTS enabled,
+add WITH_MPM=event to /etc/make.conf to prevent build failures.
+
+*********************************************************************
diff --git a/lang/php73/pkg-plist b/lang/php73/pkg-plist
new file mode 100644
index 000000000000..d9ec9069903a
--- /dev/null
+++ b/lang/php73/pkg-plist
@@ -0,0 +1,265 @@
+%%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%%@sample etc/php-fpm.conf.default etc/php-fpm.conf
+%%FPM%%@sample etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.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_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_alloc_sizes.h
+include/php/Zend/zend_arena.h
+include/php/Zend/zend_ast.h
+include/php/Zend/zend_bitset.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_cpuinfo.h
+include/php/Zend/zend_dtrace.h
+%%DTRACE%%include/php/Zend/zend_dtrace_gen.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_inheritance.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_long.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_portability.h
+include/php/Zend/zend_ptr_stack.h
+include/php/Zend/zend_range_check.h
+include/php/Zend/zend_signal.h
+include/php/Zend/zend_smart_str.h
+include/php/Zend/zend_smart_str_public.h
+include/php/Zend/zend_smart_string.h
+include/php/Zend/zend_smart_string_public.h
+include/php/Zend/zend_sort.h
+include/php/Zend/zend_stack.h
+include/php/Zend/zend_stream.h
+include/php/Zend/zend_string.h
+include/php/Zend/zend_strtod.h
+include/php/Zend/zend_strtod_int.h
+include/php/Zend/zend_ts_hash.h
+include/php/Zend/zend_type_info.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_handlers.h
+include/php/Zend/zend_vm_opcodes.h
+include/php/Zend/zend_vm_trace_handlers.h
+include/php/Zend/zend_vm_trace_map.h
+include/php/ext/date/lib/timelib.h
+include/php/ext/date/lib/timelib_config.h
+include/php/ext/date/php_date.h
+include/php/ext/libxml/php_libxml.h
+include/php/ext/mysqlnd/config-win.h
+include/php/ext/mysqlnd/mysql_float_to_double.h
+include/php/ext/mysqlnd/mysqlnd.h
+include/php/ext/mysqlnd/mysqlnd_alloc.h
+include/php/ext/mysqlnd/mysqlnd_auth.h
+include/php/ext/mysqlnd/mysqlnd_block_alloc.h
+include/php/ext/mysqlnd/mysqlnd_charset.h
+include/php/ext/mysqlnd/mysqlnd_commands.h
+include/php/ext/mysqlnd/mysqlnd_connection.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_plugin.h
+include/php/ext/mysqlnd/mysqlnd_portability.h
+include/php/ext/mysqlnd/mysqlnd_priv.h
+include/php/ext/mysqlnd/mysqlnd_protocol_frame_codec.h
+include/php/ext/mysqlnd/mysqlnd_ps.h
+include/php/ext/mysqlnd/mysqlnd_read_buffer.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_vio.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/hrtime.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_mt_rand.h
+include/php/ext/standard/php_net.h
+include/php/ext/standard/php_password.h
+include/php/ext/standard/php_rand.h
+include/php/ext/standard/php_random.h
+include/php/ext/standard/php_smart_string.h
+include/php/ext/standard/php_smart_string_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
+@postexec touch %D/include/php/ext/php_config.h
+@postunexec [ -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/fastcgi.h
+include/php/main/fopen_wrappers.h
+include/php/main/http_status_codes.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_stream_plain_wrapper.h
+include/php/main/streams/php_stream_transport.h
+include/php/main/streams/php_stream_userspace.h
+include/php/main/streams/php_streams_int.h
+%%CLI%%include/php/sapi/cli/cli.h
+%%EMBED%%include/php/sapi/embed/php_embed.h
+%%EMBED%%lib/libphp7.so
+lib/php/build/Makefile.global
+lib/php/build/acinclude.m4
+lib/php/build/ax_check_compile_flag.m4
+lib/php/build/ax_gcc_func_attribute.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
diff --git a/lang/php73/pkg-plist.mod b/lang/php73/pkg-plist.mod
new file mode 100644
index 000000000000..8939be6d3d5e
--- /dev/null
+++ b/lang/php73/pkg-plist.mod
@@ -0,0 +1,3 @@
+%%APACHEMODDIR%%/%%AP_MODULE%%
+@postexec %D/sbin/apxs -e -a -n %%AP_NAME%% %f
+@preunexec %D/sbin/apxs -e -A -n %%AP_NAME%% %f
diff --git a/mail/php73-imap/Makefile b/mail/php73-imap/Makefile
new file mode 100644
index 000000000000..adfe95ecf964
--- /dev/null
+++ b/mail/php73-imap/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= mail
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -imap
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/mail/php73-imap/files/patch-config.m4 b/mail/php73-imap/files/patch-config.m4
new file mode 100644
index 000000000000..ab7120b2c8c8
--- /dev/null
+++ b/mail/php73-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/php73-bcmath/Makefile b/math/php73-bcmath/Makefile
new file mode 100644
index 000000000000..6ebd9c85c57b
--- /dev/null
+++ b/math/php73-bcmath/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= math
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -bcmath
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/math/php73-gmp/Makefile b/math/php73-gmp/Makefile
new file mode 100644
index 000000000000..ffa1be550fd0
--- /dev/null
+++ b/math/php73-gmp/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= math
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -gmp
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/misc/php73-calendar/Makefile b/misc/php73-calendar/Makefile
new file mode 100644
index 000000000000..c91deffc68a3
--- /dev/null
+++ b/misc/php73-calendar/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= misc
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -calendar
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net-mgmt/php73-snmp/Makefile b/net-mgmt/php73-snmp/Makefile
new file mode 100644
index 000000000000..0ad11d39dc90
--- /dev/null
+++ b/net-mgmt/php73-snmp/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= net-mgmt
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -snmp
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net/php73-ldap/Makefile b/net/php73-ldap/Makefile
new file mode 100644
index 000000000000..dd821b57570a
--- /dev/null
+++ b/net/php73-ldap/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= net
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -ldap
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net/php73-soap/Makefile b/net/php73-soap/Makefile
new file mode 100644
index 000000000000..8037336de830
--- /dev/null
+++ b/net/php73-soap/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= net
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -soap
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net/php73-sockets/Makefile b/net/php73-sockets/Makefile
new file mode 100644
index 000000000000..7cf6f91a1acc
--- /dev/null
+++ b/net/php73-sockets/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= net
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -sockets
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net/php73-xmlrpc/Makefile b/net/php73-xmlrpc/Makefile
new file mode 100644
index 000000000000..25003aac3cdb
--- /dev/null
+++ b/net/php73-xmlrpc/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= net
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -xmlrpc
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net/php73-xmlrpc/files/patch-config.m4 b/net/php73-xmlrpc/files/patch-config.m4
new file mode 100644
index 000000000000..d2dc85f26a48
--- /dev/null
+++ b/net/php73-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/php73-filter/Makefile b/security/php73-filter/Makefile
new file mode 100644
index 000000000000..c14ce980bcae
--- /dev/null
+++ b/security/php73-filter/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= security
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -filter
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/security/php73-filter/files/patch-config.m4 b/security/php73-filter/files/patch-config.m4
new file mode 100644
index 000000000000..ab64c6c9d5ad
--- /dev/null
+++ b/security/php73-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/php73-hash/Makefile b/security/php73-hash/Makefile
new file mode 100644
index 000000000000..a91f81c34cf1
--- /dev/null
+++ b/security/php73-hash/Makefile
@@ -0,0 +1,13 @@
+# $FreeBSD$
+
+CATEGORIES= security
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -hash
+
+TEST_TARGET= test
+
+BROKEN_mips64= fails to compile: KeccakHash.h: No such file or directory
+
+.include "${MASTERDIR}/Makefile"
diff --git a/security/php73-openssl/Makefile b/security/php73-openssl/Makefile
new file mode 100644
index 000000000000..4071e6c65105
--- /dev/null
+++ b/security/php73-openssl/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= security
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -openssl
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/security/php73-sodium/Makefile b/security/php73-sodium/Makefile
new file mode 100644
index 000000000000..6b7aa6565b37
--- /dev/null
+++ b/security/php73-sodium/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= security
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -sodium
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/security/php73-sodium/files/patch-config.m4 b/security/php73-sodium/files/patch-config.m4
new file mode 100644
index 000000000000..9d328698a487
--- /dev/null
+++ b/security/php73-sodium/files/patch-config.m4
@@ -0,0 +1,17 @@
+--- config.m4.orig 2017-11-03 18:32:08 UTC
++++ config.m4
+@@ -50,14 +50,6 @@ if test "$PHP_SODIUM" != "no"; then
+ PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $LIBSODIUM_DIR/$PHP_LIBDIR, SODIUM_SHARED_LIBADD)
+ fi
+
+- PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
+- [
+- AC_DEFINE(HAVE_LIBSODIUMLIB,1,[ ])
+- ],[
+- AC_MSG_ERROR([wrong libsodium lib version (< 1.0.8) or lib not found])
+- ],[
+- ])
+-
+ PHP_SUBST(SODIUM_SHARED_LIBADD)
+
+ PHP_NEW_EXTENSION(sodium, libsodium.c, $ext_shared)
diff --git a/sysutils/php73-fileinfo/Makefile b/sysutils/php73-fileinfo/Makefile
new file mode 100644
index 000000000000..82f12f2cf0f1
--- /dev/null
+++ b/sysutils/php73-fileinfo/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= sysutils
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -fileinfo
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/sysutils/php73-fileinfo/files/patch-config.m4 b/sysutils/php73-fileinfo/files/patch-config.m4
new file mode 100644
index 000000000000..1348023ccf64
--- /dev/null
+++ b/sysutils/php73-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/php73-posix/Makefile b/sysutils/php73-posix/Makefile
new file mode 100644
index 000000000000..756b75d42b48
--- /dev/null
+++ b/sysutils/php73-posix/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= sysutils
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -posix
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/sysutils/php73-posix/files/patch-posix.c b/sysutils/php73-posix/files/patch-posix.c
new file mode 100644
index 000000000000..d2365b249569
--- /dev/null
+++ b/sysutils/php73-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/php73-ctype/Makefile b/textproc/php73-ctype/Makefile
new file mode 100644
index 000000000000..cdf5365da224
--- /dev/null
+++ b/textproc/php73-ctype/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -ctype
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php73-dom/Makefile b/textproc/php73-dom/Makefile
new file mode 100644
index 000000000000..de994d53586e
--- /dev/null
+++ b/textproc/php73-dom/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -dom
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php73-enchant/Makefile b/textproc/php73-enchant/Makefile
new file mode 100644
index 000000000000..cd35343214a6
--- /dev/null
+++ b/textproc/php73-enchant/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -enchant
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php73-pspell/Makefile b/textproc/php73-pspell/Makefile
new file mode 100644
index 000000000000..820666d1a5dd
--- /dev/null
+++ b/textproc/php73-pspell/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -pspell
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php73-simplexml/Makefile b/textproc/php73-simplexml/Makefile
new file mode 100644
index 000000000000..51af25294a5b
--- /dev/null
+++ b/textproc/php73-simplexml/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -simplexml
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php73-simplexml/files/patch-config.m4 b/textproc/php73-simplexml/files/patch-config.m4
new file mode 100644
index 000000000000..6dd1ab631c39
--- /dev/null
+++ b/textproc/php73-simplexml/files/patch-config.m4
@@ -0,0 +1,43 @@
+--- config.m4.orig 2018-09-25 09:08:02 UTC
++++ config.m4
+@@ -3,6 +3,9 @@ dnl config.m4 for extension simplexml
+ 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)
+@@ -10,6 +13,30 @@ fi
+
+ 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/php73-wddx/Makefile b/textproc/php73-wddx/Makefile
new file mode 100644
index 000000000000..4809b7fdbc26
--- /dev/null
+++ b/textproc/php73-wddx/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -wddx
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php73-wddx/files/patch-config.m4 b/textproc/php73-wddx/files/patch-config.m4
new file mode 100644
index 000000000000..08787003b8f9
--- /dev/null
+++ b/textproc/php73-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/php73-wddx/files/patch-wddx.c b/textproc/php73-wddx/files/patch-wddx.c
new file mode 100644
index 000000000000..a8a6a79fe47f
--- /dev/null
+++ b/textproc/php73-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/php73-xml/Makefile b/textproc/php73-xml/Makefile
new file mode 100644
index 000000000000..4b787bc5d157
--- /dev/null
+++ b/textproc/php73-xml/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -xml
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php73-xml/files/patch-compat.c b/textproc/php73-xml/files/patch-compat.c
new file mode 100644
index 000000000000..02125961b20c
--- /dev/null
+++ b/textproc/php73-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/php73-xmlreader/Makefile b/textproc/php73-xmlreader/Makefile
new file mode 100644
index 000000000000..c5d137b1fc18
--- /dev/null
+++ b/textproc/php73-xmlreader/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -xmlreader
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php73-xmlwriter/Makefile b/textproc/php73-xmlwriter/Makefile
new file mode 100644
index 000000000000..cb7cce272023
--- /dev/null
+++ b/textproc/php73-xmlwriter/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -xmlwriter
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php73-xsl/Makefile b/textproc/php73-xsl/Makefile
new file mode 100644
index 000000000000..9c43a2fca5f6
--- /dev/null
+++ b/textproc/php73-xsl/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -xsl
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/php73-xsl/files/patch-php_xsl.h b/textproc/php73-xsl/files/patch-php_xsl.h
new file mode 100644
index 000000000000..9777187f8748
--- /dev/null
+++ b/textproc/php73-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/mod_php73/Makefile b/www/mod_php73/Makefile
new file mode 100644
index 000000000000..a0b7560bc315
--- /dev/null
+++ b/www/mod_php73/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+CATEGORIES= www devel
+PKGNAMEPREFIX= mod_
+
+MAINTAINER= ports@FreeBSD.org
+
+PHP_PORT= lang/php73
+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/php73-opcache/Makefile b/www/php73-opcache/Makefile
new file mode 100644
index 000000000000..bd4aa1cf5891
--- /dev/null
+++ b/www/php73-opcache/Makefile
@@ -0,0 +1,13 @@
+# $FreeBSD$
+
+CATEGORIES= www
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -opcache
+
+TEST_TARGET= test
+
+USES= php:zend,noflavors
+
+.include "${MASTERDIR}/Makefile"
diff --git a/www/php73-opcache/files/patch-zend__file__cache.c b/www/php73-opcache/files/patch-zend__file__cache.c
new file mode 100644
index 000000000000..937290216eef
--- /dev/null
+++ b/www/php73-opcache/files/patch-zend__file__cache.c
@@ -0,0 +1,14 @@
+--- zend_file_cache.c.orig 2017-07-05 13:48:27 UTC
++++ zend_file_cache.c
+@@ -24,9 +24,10 @@
+
+ #include "php.h"
+
++#include "ZendAccelerator.h"
++
+ #ifdef HAVE_OPCACHE_FILE_CACHE
+
+-#include "ZendAccelerator.h"
+ #include "zend_file_cache.h"
+ #include "zend_shared_alloc.h"
+ #include "zend_accelerator_util_funcs.h"
diff --git a/www/php73-session/Makefile b/www/php73-session/Makefile
new file mode 100644
index 000000000000..b4bf59c30257
--- /dev/null
+++ b/www/php73-session/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= www
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -session
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
diff --git a/www/php73-tidy/Makefile b/www/php73-tidy/Makefile
new file mode 100644
index 000000000000..101623cb7897
--- /dev/null
+++ b/www/php73-tidy/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= www
+
+MASTERDIR= ${.CURDIR}/../../lang/php73
+
+PKGNAMESUFFIX= -tidy
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"