Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F133696756
D21349.id62343.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
101 KB
Referenced Files
None
Subscribers
None
D21349.id62343.diff
View Options
Index: head/Mk/Uses/php.mk
===================================================================
--- head/Mk/Uses/php.mk
+++ head/Mk/Uses/php.mk
@@ -110,7 +110,7 @@
PHPBASE?= ${LOCALBASE}
-_ALL_PHP_VERSIONS= 71 72 73
+_ALL_PHP_VERSIONS= 71 72 73 74
# Make the already installed PHP the default one.
. if exists(${PHPBASE}/etc/php.conf)
@@ -174,7 +174,10 @@
(${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} == 73
+. if ${PHP_VER} == 74
+PHP_EXT_DIR= 20190902
+PHP_EXT_INC= hash pcre spl
+. elif ${PHP_VER} == 73
PHP_EXT_DIR= 20180731
PHP_EXT_INC= pcre spl
. elif ${PHP_VER} == 72
@@ -367,17 +370,18 @@
# non-version specific components
_USE_PHP_ALL= bcmath bitset bz2 calendar ctype curl dba dom \
enchant exif fileinfo filter ftp gd gettext gmp \
- hash iconv igbinary imap interbase intl json ldap mbstring mcrypt \
+ hash iconv igbinary imap intl json ldap mbstring mcrypt \
memcache memcached mysqli odbc opcache \
openssl pcntl pcre pdf pdo pdo_dblib pdo_firebird pdo_mysql \
pdo_odbc pdo_pgsql pdo_sqlite phar pgsql posix \
- pspell radius readline recode redis session shmop simplexml snmp soap\
+ pspell radius readline redis session shmop simplexml snmp soap\
sockets spl sqlite3 sysvmsg sysvsem sysvshm \
- tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zip zlib
+ tidy tokenizer xml xmlreader xmlrpc xmlwriter xsl zip zlib
# version specific components
-_USE_PHP_VER71= ${_USE_PHP_ALL}
-_USE_PHP_VER72= ${_USE_PHP_ALL} sodium
-_USE_PHP_VER73= ${_USE_PHP_ALL} sodium
+_USE_PHP_VER71= ${_USE_PHP_ALL} interbase recode wddx
+_USE_PHP_VER72= ${_USE_PHP_ALL} interbase recode sodium wddx
+_USE_PHP_VER73= ${_USE_PHP_ALL} interbase recode sodium wddx
+_USE_PHP_VER74= ${_USE_PHP_ALL} ffi sodium
bcmath_DEPENDS= math/php${PHP_VER}-bcmath
bitset_DEPENDS= math/pecl-bitset@${PHP_FLAVOR}
@@ -390,6 +394,7 @@
dom_DEPENDS= textproc/php${PHP_VER}-dom
enchant_DEPENDS= textproc/php${PHP_VER}-enchant
exif_DEPENDS= graphics/php${PHP_VER}-exif
+ffi_DEPENDS= devel/php${PHP_VER}-ffi
fileinfo_DEPENDS= sysutils/php${PHP_VER}-fileinfo
filter_DEPENDS= security/php${PHP_VER}-filter
ftp_DEPENDS= ftp/php${PHP_VER}-ftp
Index: head/Mk/bsd.default-versions.mk
===================================================================
--- head/Mk/bsd.default-versions.mk
+++ head/Mk/bsd.default-versions.mk
@@ -82,7 +82,7 @@
.endif
# Possible values: 9.4, 9.5, 9.6, 10, 11, 12
PGSQL_DEFAULT?= 11
-# Possible values: 7.1, 7.2, 7.3
+# Possible values: 7.1, 7.2, 7.3, 7.4
PHP_DEFAULT?= 7.2
# Possible values: 2.7, 3.5, 3.6, 3.7
PYTHON_DEFAULT?= 3.6
Index: head/archivers/Makefile
===================================================================
--- head/archivers/Makefile
+++ head/archivers/Makefile
@@ -163,6 +163,10 @@
SUBDIR += php73-phar
SUBDIR += php73-zip
SUBDIR += php73-zlib
+ SUBDIR += php74-bz2
+ SUBDIR += php74-phar
+ SUBDIR += php74-zip
+ SUBDIR += php74-zlib
SUBDIR += pigz
SUBDIR += pixz
SUBDIR += plzip
Index: head/archivers/php74-bz2/Makefile
===================================================================
--- head/archivers/php74-bz2/Makefile
+++ head/archivers/php74-bz2/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -bz2
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/archivers/php74-phar/Makefile
===================================================================
--- head/archivers/php74-phar/Makefile
+++ head/archivers/php74-phar/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -phar
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/archivers/php74-phar/files/patch-config.m4
===================================================================
--- head/archivers/php74-phar/files/patch-config.m4
+++ head/archivers/php74-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
Index: head/archivers/php74-phar/files/patch-phar.c
===================================================================
--- head/archivers/php74-phar/files/patch-phar.c
+++ head/archivers/php74-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
Index: head/archivers/php74-zip/Makefile
===================================================================
--- head/archivers/php74-zip/Makefile
+++ head/archivers/php74-zip/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -zip
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/archivers/php74-zlib/Makefile
===================================================================
--- head/archivers/php74-zlib/Makefile
+++ head/archivers/php74-zlib/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -zlib
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/archivers/php74-zlib/files/patch-zlib.c
===================================================================
--- head/archivers/php74-zlib/files/patch-zlib.c
+++ head/archivers/php74-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);
Index: head/converters/Makefile
===================================================================
--- head/converters/Makefile
+++ head/converters/Makefile
@@ -148,6 +148,8 @@
SUBDIR += php73-iconv
SUBDIR += php73-mbstring
SUBDIR += php73-recode
+ SUBDIR += php74-iconv
+ SUBDIR += php74-mbstring
SUBDIR += psiconv
SUBDIR += py-bcode
SUBDIR += py-bencode.py
Index: head/converters/php74-iconv/Makefile
===================================================================
--- head/converters/php74-iconv/Makefile
+++ head/converters/php74-iconv/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= converters
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -iconv
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/converters/php74-mbstring/Makefile
===================================================================
--- head/converters/php74-mbstring/Makefile
+++ head/converters/php74-mbstring/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= converters
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -mbstring
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/converters/php74-mbstring/files/patch-config.m4
===================================================================
--- head/converters/php74-mbstring/files/patch-config.m4
+++ head/converters/php74-mbstring/files/patch-config.m4
@@ -0,0 +1,44 @@
+--- config.m4.orig 2019-08-06 06:54:10 UTC
++++ config.m4
+@@ -37,6 +37,31 @@ AC_DEFUN([PHP_MBSTRING_EXTENSION], [
+
+ out="php_config.h"
+
++ 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" && test -f "$ext_builddir/config.h.in"; then
+ out="$abs_builddir/config.h"
+ fi
+@@ -200,6 +225,9 @@ PHP_ARG_ENABLE([mbregex],
+ [yes],
+ [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])
+
Index: head/databases/Makefile
===================================================================
--- head/databases/Makefile
+++ head/databases/Makefile
@@ -657,6 +657,18 @@
SUBDIR += php73-pdo_sqlite
SUBDIR += php73-pgsql
SUBDIR += php73-sqlite3
+ SUBDIR += php74-dba
+ SUBDIR += php74-mysqli
+ SUBDIR += php74-odbc
+ SUBDIR += php74-pdo
+ SUBDIR += php74-pdo_dblib
+ SUBDIR += php74-pdo_firebird
+ SUBDIR += php74-pdo_mysql
+ SUBDIR += php74-pdo_odbc
+ SUBDIR += php74-pdo_pgsql
+ SUBDIR += php74-pdo_sqlite
+ SUBDIR += php74-pgsql
+ SUBDIR += php74-sqlite3
SUBDIR += phpliteadmin
SUBDIR += phpminiadmin
SUBDIR += phpmyadmin
Index: head/databases/php74-dba/Makefile
===================================================================
--- head/databases/php74-dba/Makefile
+++ head/databases/php74-dba/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -dba
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/databases/php74-dba/files/patch-config.m4
===================================================================
--- head/databases/php74-dba/files/patch-config.m4
+++ head/databases/php74-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)
+
Index: head/databases/php74-mysqli/Makefile
===================================================================
--- head/databases/php74-mysqli/Makefile
+++ head/databases/php74-mysqli/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -mysqli
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/databases/php74-mysqli/files/patch-mysqli.c
===================================================================
--- head/databases/php74-mysqli/files/patch-mysqli.c
+++ head/databases/php74-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
+
Index: head/databases/php74-mysqli/files/patch-php_mysqli_structs.h
===================================================================
--- head/databases/php74-mysqli/files/patch-php_mysqli_structs.h
+++ head/databases/php74-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)
Index: head/databases/php74-odbc/Makefile
===================================================================
--- head/databases/php74-odbc/Makefile
+++ head/databases/php74-odbc/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -odbc
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/databases/php74-odbc/files/patch-config.m4
===================================================================
--- head/databases/php74-odbc/files/patch-config.m4
+++ head/databases/php74-odbc/files/patch-config.m4
@@ -0,0 +1,111 @@
+--- config.m4.orig 2019-08-06 06:54:18 UTC
++++ config.m4
+@@ -91,6 +91,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],,
+ [AS_HELP_STRING([[--with-odbcver[=HEX]]],
+@@ -102,7 +105,7 @@ PHP_ARG_WITH([odbcver],,
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([adabas],,
+ [AS_HELP_STRING([[--with-adabas[=DIR]]],
+- [Include Adabas D support [/usr/local]])])
++ [Include Adabas D support [/usr/local]])], [no], [no])
+
+ AC_MSG_CHECKING([for Adabas support])
+ if test "$PHP_ADABAS" != "no"; then
+@@ -132,7 +135,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([sapdb],,
+ [AS_HELP_STRING([[--with-sapdb[=DIR]]],
+- [Include SAP DB support [/usr/local]])])
++ [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],,
+ [AS_HELP_STRING([[--with-solid[=DIR]]],
+- [Include Solid support [/usr/local/solid]])])
++ [Include Solid support [/usr/local/solid]])], [no], [no])
+
+ AC_MSG_CHECKING(for Solid support)
+ if test "$PHP_SOLID" != "no"; then
+@@ -181,7 +184,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([ibm-db2],,
+ [AS_HELP_STRING([[--with-ibm-db2[=DIR]]],
+- [Include IBM DB2 support [/home/db2inst1/sqllib]])])
++ [Include IBM DB2 support [/home/db2inst1/sqllib]])], [no], [no])
+
+ AC_MSG_CHECKING(for IBM DB2 support)
+ if test "$PHP_IBM_DB2" != "no"; then
+@@ -222,7 +225,7 @@ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([empress],,
+ [AS_HELP_STRING([[--with-empress[=DIR]]],
+ [Include Empress support $EMPRESSPATH (Empress Version >= 8.60
+- required)])])
++ required)])], [no], [no])
+
+ AC_MSG_CHECKING(for Empress support)
+ if test "$PHP_EMPRESS" != "no"; then
+@@ -248,7 +251,7 @@ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([empress-bcs],,
+ [AS_HELP_STRING([[--with-empress-bcs[=DIR]]],
+ [Include Empress Local Access support $EMPRESSPATH (Empress Version >=
+- 8.60 required)])])
++ 8.60 required)])], [no], [no])
+
+ AC_MSG_CHECKING(for Empress local access support)
+ if test "$PHP_EMPRESS_BCS" != "no"; then
+@@ -294,7 +297,7 @@ PHP_ARG_WITH([custom-odbc],,
+ your include dirs. For example, you should define following for Sybase SQL
+ Anywhere 5.5.00 on QNX, prior to 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
+@@ -317,7 +320,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([iodbc],,
+ [AS_HELP_STRING([--with-iodbc],
+- [Include iODBC support])])
++ [Include iODBC support])], [no], [no])
+
+ AC_MSG_CHECKING(whether to build with iODBC support)
+ if test "$PHP_IODBC" != "no"; then
+@@ -335,7 +338,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([esoob],,
+ [AS_HELP_STRING([[--with-esoob[=DIR]]],
+- [Include Easysoft OOB support [/usr/local/easysoft/oob/client]])])
++ [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
+@@ -358,7 +361,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([unixODBC],,
+ [AS_HELP_STRING([--with-unixODBC],
+- [Include unixODBC support])])
++ [Include unixODBC support])], [no], [no])
+
+ AC_MSG_CHECKING(whether to build with unixODBC support)
+ if test "$PHP_UNIXODBC" != "no"; then
+@@ -386,7 +389,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([dbmaker],,
+ [AS_HELP_STRING([[--with-dbmaker[=DIR]]],
+- [Include DBMaker support])])
++ [Include DBMaker support])], [no], [no])
+
+ AC_MSG_CHECKING(for DBMaker support)
+ if test "$PHP_DBMAKER" != "no"; then
Index: head/databases/php74-pdo/Makefile
===================================================================
--- head/databases/php74-pdo/Makefile
+++ head/databases/php74-pdo/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -pdo
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/databases/php74-pdo_dblib/Makefile
===================================================================
--- head/databases/php74-pdo_dblib/Makefile
+++ head/databases/php74-pdo_dblib/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -pdo_dblib
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/databases/php74-pdo_firebird/Makefile
===================================================================
--- head/databases/php74-pdo_firebird/Makefile
+++ head/databases/php74-pdo_firebird/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -pdo_firebird
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/databases/php74-pdo_mysql/Makefile
===================================================================
--- head/databases/php74-pdo_mysql/Makefile
+++ head/databases/php74-pdo_mysql/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -pdo_mysql
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/databases/php74-pdo_odbc/Makefile
===================================================================
--- head/databases/php74-pdo_odbc/Makefile
+++ head/databases/php74-pdo_odbc/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -pdo_odbc
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/databases/php74-pdo_pgsql/Makefile
===================================================================
--- head/databases/php74-pdo_pgsql/Makefile
+++ head/databases/php74-pdo_pgsql/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -pdo_pgsql
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/databases/php74-pdo_sqlite/Makefile
===================================================================
--- head/databases/php74-pdo_sqlite/Makefile
+++ head/databases/php74-pdo_sqlite/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -pdo_sqlite
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/databases/php74-pgsql/Makefile
===================================================================
--- head/databases/php74-pgsql/Makefile
+++ head/databases/php74-pgsql/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -pgsql
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/databases/php74-sqlite3/Makefile
===================================================================
--- head/databases/php74-sqlite3/Makefile
+++ head/databases/php74-sqlite3/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= databases
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -sqlite3
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/devel/Makefile
===================================================================
--- head/devel/Makefile
+++ head/devel/Makefile
@@ -3935,6 +3935,17 @@
SUBDIR += php73-sysvsem
SUBDIR += php73-sysvshm
SUBDIR += php73-tokenizer
+ SUBDIR += php74-gettext
+ SUBDIR += php74-ffi
+ SUBDIR += php74-intl
+ SUBDIR += php74-json
+ SUBDIR += php74-pcntl
+ SUBDIR += php74-readline
+ SUBDIR += php74-shmop
+ SUBDIR += php74-sysvmsg
+ SUBDIR += php74-sysvsem
+ SUBDIR += php74-sysvshm
+ SUBDIR += php74-tokenizer
SUBDIR += phpbt
SUBDIR += phpsh
SUBDIR += phpunit6
Index: head/devel/php74-gettext/Makefile
===================================================================
--- head/devel/php74-gettext/Makefile
+++ head/devel/php74-gettext/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -gettext
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/devel/php74-intl/Makefile
===================================================================
--- head/devel/php74-intl/Makefile
+++ head/devel/php74-intl/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -intl
+
+USES= compiler:c++11-lib
+USE_CXXSTD= gnu++11
+
+CPPFLAGS+= -DU_USING_ICU_NAMESPACE=1
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/devel/php74-json/Makefile
===================================================================
--- head/devel/php74-json/Makefile
+++ head/devel/php74-json/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -json
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/devel/php74-pcntl/Makefile
===================================================================
--- head/devel/php74-pcntl/Makefile
+++ head/devel/php74-pcntl/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -pcntl
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/devel/php74-readline/Makefile
===================================================================
--- head/devel/php74-readline/Makefile
+++ head/devel/php74-readline/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -readline
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/devel/php74-readline/files/patch-config.m4
===================================================================
--- head/devel/php74-readline/files/patch-config.m4
+++ head/devel/php74-readline/files/patch-config.m4
@@ -0,0 +1,33 @@
+--- config.m4.orig 2019-08-06 06:54:14 UTC
++++ config.m4
+@@ -3,16 +3,10 @@ PHP_ARG_WITH([libedit],
+ [AS_HELP_STRING([--with-libedit],
+ [Include libedit readline replacement (CLI/CGI only)])])
+
+-if test "$PHP_LIBEDIT" = "no"; then
+ PHP_ARG_WITH([readline],
+ [for readline support],
+ [AS_HELP_STRING([[--with-readline[=DIR]]],
+ [Include readline support (CLI/CGI only)])])
+-else
+- dnl "register" the --with-readline option to prevent invalid "unknown
+- dnl 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
+@@ -78,6 +72,13 @@ if test "$PHP_READLINE" && test "$PHP_RE
+ AC_DEFINE(HAVE_HISTORY_LIST, 1, [ ])
+ AC_DEFINE(HAVE_LIBREADLINE, 1, [ ])
+
++ PHP_CHECK_LIBRARY(readline, rl_completion_matches,
++ [
++ AC_DEFINE(HAVE_RL_COMPLETION_MATCHES, 1, [ ])
++ ],[],[
++ -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
++ ])
++
+ elif test "$PHP_LIBEDIT" != "no"; then
+ if test "$PHP_LIBEDIT" != "yes"; then
+ AC_MSG_WARN([libedit directory ignored, rely on pkg-config])
Index: head/devel/php74-readline/files/patch-readline_cli.c
===================================================================
--- head/devel/php74-readline/files/patch-readline_cli.c
+++ head/devel/php74-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
Index: head/devel/php74-shmop/Makefile
===================================================================
--- head/devel/php74-shmop/Makefile
+++ head/devel/php74-shmop/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -shmop
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/devel/php74-sysvmsg/Makefile
===================================================================
--- head/devel/php74-sysvmsg/Makefile
+++ head/devel/php74-sysvmsg/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -sysvmsg
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/devel/php74-sysvsem/Makefile
===================================================================
--- head/devel/php74-sysvsem/Makefile
+++ head/devel/php74-sysvsem/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -sysvsem
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/devel/php74-sysvshm/Makefile
===================================================================
--- head/devel/php74-sysvshm/Makefile
+++ head/devel/php74-sysvshm/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -sysvshm
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/devel/php74-tokenizer/Makefile
===================================================================
--- head/devel/php74-tokenizer/Makefile
+++ head/devel/php74-tokenizer/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= devel
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -tokenizer
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/ftp/Makefile
===================================================================
--- head/ftp/Makefile
+++ head/ftp/Makefile
@@ -67,6 +67,8 @@
SUBDIR += php72-ftp
SUBDIR += php73-curl
SUBDIR += php73-ftp
+ SUBDIR += php74-curl
+ SUBDIR += php74-ftp
SUBDIR += phpwebftp
SUBDIR += proftpd
SUBDIR += proftpd-mod_vroot
Index: head/ftp/php74-curl/Makefile
===================================================================
--- head/ftp/php74-curl/Makefile
+++ head/ftp/php74-curl/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= ftp
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -curl
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/ftp/php74-ftp/Makefile
===================================================================
--- head/ftp/php74-ftp/Makefile
+++ head/ftp/php74-ftp/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+CATEGORIES= ftp
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -ftp
+
+TEST_TARGET= test
+
+post-patch:
+ @${REINPLACE_CMD} s/HAVE_OPENSSL_EXT/__FreeBSD__/ \
+ ${WRKSRC}/ftp.* ${WRKSRC}/php_ftp.*
+
+.include "${MASTERDIR}/Makefile"
Index: head/graphics/Makefile
===================================================================
--- head/graphics/Makefile
+++ head/graphics/Makefile
@@ -763,6 +763,8 @@
SUBDIR += php72-gd
SUBDIR += php73-exif
SUBDIR += php73-gd
+ SUBDIR += php74-exif
+ SUBDIR += php74-gd
SUBDIR += phplot
SUBDIR += picpuz
SUBDIR += piddle
Index: head/graphics/php74-exif/Makefile
===================================================================
--- head/graphics/php74-exif/Makefile
+++ head/graphics/php74-exif/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= graphics
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -exif
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/graphics/php74-gd/Makefile
===================================================================
--- head/graphics/php74-gd/Makefile
+++ head/graphics/php74-gd/Makefile
@@ -0,0 +1,13 @@
+# $FreeBSD$
+
+CATEGORIES= graphics
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -gd
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
+
+LIB_DEPENDS+= libgd.so:graphics/gd
Index: head/graphics/php74-gd/files/patch-config.m4
===================================================================
--- head/graphics/php74-gd/files/patch-config.m4
+++ head/graphics/php74-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.])
Index: head/graphics/php74-gd/files/patch-gd.c
===================================================================
--- head/graphics/php74-gd/files/patch-gd.c
+++ head/graphics/php74-gd/files/patch-gd.c
@@ -0,0 +1,74 @@
+--- gd.c.orig 2019-08-06 06:54:09 UTC
++++ gd.c
+@@ -73,7 +73,7 @@ static int le_gd, le_gd_font;
+ # include FT_FREETYPE_H
+ #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()
+@@ -935,7 +935,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)
+@@ -1312,7 +1312,7 @@ PHP_MINFO_FUNCTION(gd)
+ #endif
+ #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");
+ #if defined(HAVE_GD_BUNDLED)
+ {
+@@ -1371,7 +1371,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);
+@@ -2213,7 +2213,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
+@@ -2487,7 +2487,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;
+@@ -2569,7 +2569,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)
Index: head/lang/Makefile
===================================================================
--- head/lang/Makefile
+++ head/lang/Makefile
@@ -285,6 +285,8 @@
SUBDIR += php72-extensions
SUBDIR += php73
SUBDIR += php73-extensions
+ SUBDIR += php74
+ SUBDIR += php74-extensions
SUBDIR += picoc
SUBDIR += plexil
SUBDIR += pocl
Index: head/lang/php74-extensions/Makefile
===================================================================
--- head/lang/php74-extensions/Makefile
+++ head/lang/php74-extensions/Makefile
@@ -0,0 +1,112 @@
+# $FreeBSD$
+
+PORTNAME= php74
+PORTVERSION= 1.0
+CATEGORIES= lang
+PKGNAMESUFFIX= -extensions
+
+MAINTAINER= tz@FreeBSD.org
+COMMENT= "meta-port" to install PHP extensions
+
+USES= metaport php
+PHP_VER= 74
+IGNORE_WITH_PHP= 71 72 73
+
+OPTIONS_DEFINE= BCMATH BZ2 CALENDAR CTYPE CURL DBA \
+ DOM ENCHANT EXIF FILEINFO FILTER FTP GD GETTEXT \
+ GMP ICONV INTL IMAP 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 SESSION SHMOP SIMPLEXML SNMP SOAP \
+ SOCKETS SODIUM SQLITE3 SYSVMSG SYSVSEM SYSVSHM \
+ TIDY TOKENIZER 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
+ICONV_DESC= iconv support
+IMAP_DESC= IMAP support
+INTL_DESC= Internationalization(ICU)
+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)
+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
+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 \
+ 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>
Index: head/lang/php74-extensions/pkg-descr
===================================================================
--- head/lang/php74-extensions/pkg-descr
+++ head/lang/php74-extensions/pkg-descr
@@ -0,0 +1,7 @@
+This is a "meta-port" to install the extensions for PHP 7.4.
+
+Defaults to:
+ctype, dom, filter, iconv, json, opcache, pdo, pdo_sqlite, phar, posix,
+session, simplexml, sqlite3, tokenizer, xml, xmlreader and xmlwriter.
+
+WWW: http://www.php.net/
Index: head/lang/php74/Makefile
===================================================================
--- head/lang/php74/Makefile
+++ head/lang/php74/Makefile
@@ -0,0 +1,188 @@
+# $FreeBSD$
+
+PORTNAME= php74
+DISTVERSION= 7.4.0RC1
+PORTREVISION?= 0
+CATEGORIES?= lang devel www
+MASTER_SITES= https://downloads.php.net/~derick/
+DISTNAME= php-${DISTVERSION}
+
+MAINTAINER= tz@FreeBSD.org
+COMMENT= PHP Scripting Language
+
+LICENSE= PHP301
+
+USES+= tar:xz cpe gnome pkgconfig
+CPE_PRODUCT= php
+NO_OPTIONS_SORT=yes
+
+.if !defined(PKGNAMESUFFIX)
+LIB_DEPENDS= libpcre2-8.so:devel/pcre2 \
+ libargon2.so:security/libargon2
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+=--with-layout=GNU \
+ --with-config-file-scan-dir=${PREFIX}/etc/php \
+ --disable-all \
+ --with-libxml \
+ --with-password-argon2=${LOCALBASE} \
+ --program-prefix=""
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include"
+USES+= autoreconf:build
+USE_GNOME= libxml2
+
+# PR230207 Allow relocations against read-only segments (override lld default)
+LDFLAGS_i386= -Wl,-z,notext
+
+OPTIONS_DEFINE+=CLI CGI FPM EMBED PHPDBG DEBUG DTRACE IPV6 MYSQLND LINKTHR ZTS
+OPTIONS_DEFAULT=CLI CGI FPM EMBED MYSQLND LINKTHR DTRACE
+OPTIONS_EXCLUDE_DragonFly= DTRACE
+# ld(1) fails to link probes: Relocations in generic ELF (EM: 0)
+OPTIONS_EXCLUDE_aarch64= DTRACE
+OPTIONS_EXCLUDE_powerpc= 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
+MYSQLND_DESC= Build with MySQL Native Driver
+LINKTHR_DESC= Link thread lib (for threaded extensions)
+ZTS_DESC= Force Zend Thread Safety (ZTS) build
+
+CONFLICTS= php71-* php72-* php73-*
+
+DESTDIRNAME= INSTALL_ROOT
+
+.include <bsd.port.pre.mk>
+
+.if ${PORT_OPTIONS:MMYSQLND}
+CONFIGURE_ARGS+=--enable-mysqlnd
+.endif
+
+.if ${PORT_OPTIONS:MCLI}
+PHP_SAPI+= cli
+.else
+CONFIGURE_ARGS+=--disable-cli
+.endif
+
+.if ${PORT_OPTIONS:MCGI}
+PHP_SAPI+= cgi
+.else
+CONFIGURE_ARGS+=--disable-cgi
+.endif
+
+.if ${PORT_OPTIONS:MFPM}
+PHP_SAPI+= fpm
+USE_RC_SUBR+= php-fpm
+CONFIGURE_ARGS+=--enable-fpm \
+ --with-fpm-user=${WWWOWN} \
+ --with-fpm-group=${WWWGRP}
+.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=74" > ${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>
Index: head/lang/php74/Makefile.ext
===================================================================
--- head/lang/php74/Makefile.ext
+++ head/lang/php74/Makefile.ext
@@ -0,0 +1,549 @@
+# $FreeBSD$
+
+COMMENT= The ${PHP_MODNAME} shared extension for php
+
+USES+= php:ext,noflavors
+PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
+PHP_VER= 74
+IGNORE_WITH_PHP= 71 72 73
+
+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}
+USES+= pkgconfig
+.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}
+
+USES+= pkgconfig
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "enchant"
+LIB_DEPENDS+= libenchant.so:textproc/enchant
+CONFIGURE_ARGS+=--with-enchant=${LOCALBASE}
+USES+= pkgconfig
+.endif
+
+.if ${PHP_MODNAME} == "exif"
+CONFIGURE_ARGS+=--enable-exif
+.endif
+
+.if ${PHP_MODNAME} == "ffi"
+LIB_DEPENDS= libffi.so:devel/libffi
+CONFIGURE_ARGS+=--enable-ffi
+.endif
+
+.if ${PHP_MODNAME} == "fileinfo"
+CONFIGURE_ARGS+=--enable-fileinfo \
+ --with-pcre-dir=${LOCALBASE}
+
+PHP_HEADER_DIRS= libmagic
+.endif
+
+.if ${PHP_MODNAME} == "filter"
+CONFIGURE_ARGS+=--enable-filter \
+ --with-pcre-dir=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "ftp"
+CONFIGURE_ARGS+=--enable-ftp \
+ --with-openssl-dir=${OPENSSLBASE}
+
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USES+= ssl pkgconfig
+.endif
+
+.if ${PHP_MODNAME} == "gd"
+LIB_DEPENDS= libfreetype.so:print/freetype2 \
+ libpng.so:graphics/png
+USES+= jpeg
+
+CONFIGURE_ARGS+=--enable-gd \
+ --with-external-gd
+
+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} == "iconv"
+CONFIGURE_ARGS+=--with-iconv=${LOCALBASE}
+
+USES+= iconv:translit
+.endif
+
+.if ${PHP_MODNAME} == "imap"
+PHP_MOD_PRIO= 30
+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}
+
+CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \
+ OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \
+ PHP_OPENSSL=yes
+
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USES+= ssl
+.endif
+
+.if ${PHP_MODNAME} == "intl"
+CONFIGURE_ARGS+=--with-intl=${LOCALBASE}
+LIB_DEPENDS= libicui18n.so:devel/icu
+USES+= pkgconfig
+.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"
+USES+= ssl
+CONFIGURE_ARGS+= --with-openssl
+CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \
+ OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto"
+.endif
+
+.if ${PHP_MODNAME} == "opcache"
+# This is needed by Zend extensions, keep before everything.
+PHP_MOD_PRIO= 10
+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+= localbase sqlite
+CONFIGURE_ARGS+=--with-pdo-sqlite=${LOCALBASE}
+
+USE_PHP= pdo:build
+.endif
+
+.if ${PHP_MODNAME} == "pgsql"
+USES+= pgsql
+
+CONFIGURE_ARGS+=--with-pgsql=${LOCALBASE}
+.endif
+
+.if ${PHP_MODNAME} == "phar"
+CONFIGURE_ARGS+=--enable-phar \
+ --with-pcre-dir=${LOCALBASE}
+.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} == "session"
+CONFIGURE_ARGS+=--enable-session
+PHP_MOD_PRIO= 18
+.endif
+
+.if ${PHP_MODNAME} == "shmop"
+CONFIGURE_ARGS+=--enable-shmop
+.endif
+
+.if ${PHP_MODNAME} == "simplexml"
+CONFIGURE_ARGS+=--enable-simplexml \
+ --with-pcre-dir=${LOCALBASE} \
+ --with-libxml-dir=${LOCALBASE}
+
+USES+= pkgconfig
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "snmp"
+CONFIGURE_ARGS+=--with-snmp=${LOCALBASE} \
+ --with-openssl-dir=${OPENSSLBASE}
+
+CONFIGURE_ENV+= ac_cv_buggy_snprint_value="no"
+
+LIB_DEPENDS+= libnetsnmp.so:net-mgmt/net-snmp
+LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
+USES+= ssl
+.endif
+
+.if ${PHP_MODNAME} == "soap"
+CONFIGURE_ARGS+=--enable-soap \
+ --with-libxml-dir=${LOCALBASE}
+
+USES+= pkgconfig
+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+= localbase pkgconfig 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} == "xml"
+CONFIGURE_ARGS+=--enable-xml \
+ --with-libxml-dir=${LOCALBASE}
+
+USES+= pkgconfig
+USE_GNOME= libxml2
+.endif
+
+.if ${PHP_MODNAME} == "xmlreader"
+CONFIGURE_ARGS+=--enable-xmlreader \
+ --with-libxml-dir=${LOCALBASE}
+
+USE_GNOME= libxml2
+.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}
+
+USES+= pkgconfig
+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"
+LIB_DEPENDS+= libzip.so:archivers/libzip
+
+CONFIGURE_ARGS+=--enable-zip \
+ --with-zlib-dir=/usr \
+ --with-pcre-dir=${LOCALBASE} \
+ --with-libzip=${LOCALBASE}
+USES+= pkgconfig
+.endif
+
+.if ${PHP_MODNAME} == "zlib"
+CONFIGURE_ARGS+=--with-zlib=/usr
+USES+= pkgconfig
+.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:MJIS}
+CONFIGURE_ARGS+=--enable-gd-jis-conv
+. endif
+. if ${PORT_OPTIONS:MWEBP}
+LIB_DEPENDS+= libwebp.so:graphics/webp
+
+CONFIGURE_ARGS+=--with-webp
+. endif
+. if ${PORT_OPTIONS:MX11}
+USE_XORG= xpm
+
+CONFIGURE_ARGS+=--with-xpm
+. 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
Index: head/lang/php74/distinfo
===================================================================
--- head/lang/php74/distinfo
+++ head/lang/php74/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1568926164
+SHA256 (php-7.4.0RC1.tar.xz) = 9e3d158ad070968ad9d9e796a7acf88c3cfe0e0382e991e6dee05a18049d4a62
+SIZE (php-7.4.0RC1.tar.xz) = 10212396
Index: head/lang/php74/files/patch-Makefile.global
===================================================================
--- head/lang/php74/files/patch-Makefile.global
+++ head/lang/php74/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) \
Index: head/lang/php74/files/patch-acinclude.m4
===================================================================
--- head/lang/php74/files/patch-acinclude.m4
+++ head/lang/php74/files/patch-acinclude.m4
@@ -0,0 +1,68 @@
+--- acinclude.m4.orig 2018-12-04 16:12:30 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|phpdbg[)]
+- 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
+ ])
+
+@@ -2970,8 +2958,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
+@@ -2990,12 +2977,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'" >> \$[]@ [;\\]
+@@ -3007,7 +2994,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
+ ;;
Index: head/lang/php74/files/patch-configure.in
===================================================================
--- head/lang/php74/files/patch-configure.in
+++ head/lang/php74/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)
+
Index: head/lang/php74/files/patch-sapi_apache2handler_config.m4
===================================================================
--- head/lang/php74/files/patch-sapi_apache2handler_config.m4
+++ head/lang/php74/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"
Index: head/lang/php74/files/patch-sapi_fpm_config.m4
===================================================================
--- head/lang/php74/files/patch-sapi_fpm_config.m4
+++ head/lang/php74/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
+
Index: head/lang/php74/files/patch-sapi_fpm_www.conf.in
===================================================================
--- head/lang/php74/files/patch-sapi_fpm_www.conf.in
+++ head/lang/php74/files/patch-sapi_fpm_www.conf.in
@@ -0,0 +1,17 @@
+--- sapi/fpm/www.conf.in.orig 2019-01-26 15:54:27 UTC
++++ sapi/fpm/www.conf.in
+@@ -27,10 +27,14 @@ group = @php_fpm_group@
+ ; Valid syntaxes are:
+ ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
+ ; a specific port;
++; '0.0.0.0:port' - to listen on a TCP socket to all IPv4 addresses on
++; a specific port;
+ ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
+ ; a specific port;
+ ; 'port' - to listen on a TCP socket to all addresses
+ ; (IPv6 and IPv4-mapped) on a specific port;
++; Note: IPv4-mapped addresses are disabled by-default in
++; FreeBSD for security reasons;
+ ; '/path/to/unix/socket' - to listen on a unix socket.
+ ; Note: This value is mandatory.
+ listen = 127.0.0.1:9000
Index: head/lang/php74/files/php-fpm.in
===================================================================
--- head/lang/php74/files/php-fpm.in
+++ head/lang/php74/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"
Index: head/lang/php74/pkg-descr
===================================================================
--- head/lang/php74/pkg-descr
+++ head/lang/php74/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: https://www.php.net/
Index: head/lang/php74/pkg-message.mod
===================================================================
--- head/lang/php74/pkg-message.mod
+++ head/lang/php74/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) or Synth with ZTS enabled,
+add WITH_MPM=event to /etc/make.conf to prevent build failures.
+
+******************************************************************************
Index: head/lang/php74/pkg-plist
===================================================================
--- head/lang/php74/pkg-plist
+++ head/lang/php74/pkg-plist
@@ -0,0 +1,280 @@
+%%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/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.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_map_ptr.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/Zend/zend_weakrefs.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/hash/php_hash.h
+include/php/ext/hash/php_hash_adler32.h
+include/php/ext/hash/php_hash_crc32.h
+include/php/ext/hash/php_hash_fnv.h
+include/php/ext/hash/php_hash_gost.h
+include/php/ext/hash/php_hash_haval.h
+include/php/ext/hash/php_hash_joaat.h
+include/php/ext/hash/php_hash_md.h
+include/php/ext/hash/php_hash_ripemd.h
+include/php/ext/hash/php_hash_sha.h
+include/php/ext/hash/php_hash_sha3.h
+include/php/ext/hash/php_hash_snefru.h
+include/php/ext/hash/php_hash_tiger.h
+include/php/ext/hash/php_hash_whirlpool.h
+%%MYSQLND%%include/php/ext/mysqlnd/config-win.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysql_float_to_double.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_alloc.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_auth.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_block_alloc.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_charset.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_commands.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_connection.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_debug.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_enum_n_def.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_ext_plugin.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_libmysql_compat.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_plugin.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_portability.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_priv.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_protocol_frame_codec.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_ps.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_read_buffer.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_result.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_result_meta.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_reverse_api.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_statistics.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_structs.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_wireprotocol.h
+%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_vio.h
+%%MYSQLND%%include/php/ext/mysqlnd/php_mysqlnd.h
+include/php/ext/pcre/pcre2lib/config.h
+include/php/ext/pcre/pcre2lib/pcre2.h
+include/php/ext/pcre/pcre2lib/pcre2_internal.h
+include/php/ext/pcre/pcre2lib/pcre2_intmodedep.h
+include/php/ext/pcre/pcre2lib/pcre2_ucp.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/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/php.m4
+lib/php/build/php_cxx_compile_stdcxx.m4
+lib/php/build/phpize.m4
+lib/php/build/pkg.m4
+lib/php/build/run-tests.php
+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
Index: head/lang/php74/pkg-plist.mod
===================================================================
--- head/lang/php74/pkg-plist.mod
+++ head/lang/php74/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
Index: head/mail/Makefile
===================================================================
--- head/mail/Makefile
+++ head/mail/Makefile
@@ -483,6 +483,7 @@
SUBDIR += php71-imap
SUBDIR += php72-imap
SUBDIR += php73-imap
+ SUBDIR += php74-imap
SUBDIR += phplist
SUBDIR += phpmailer
SUBDIR += phpmailer6
Index: head/mail/php74-imap/Makefile
===================================================================
--- head/mail/php74-imap/Makefile
+++ head/mail/php74-imap/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= mail
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -imap
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/mail/php74-imap/files/patch-config.m4
===================================================================
--- head/mail/php74-imap/files/patch-config.m4
+++ head/mail/php74-imap/files/patch-config.m4
@@ -0,0 +1,47 @@
+--- config.m4.orig 2019-08-20 14:09:27 UTC
++++ config.m4
+@@ -105,6 +105,13 @@ PHP_ARG_WITH([imap-ssl],
+ [no],
+ [no])
+
++PHP_ARG_WITH([pcre-dir],
++ [pcre install prefix],
++ [AS_HELP_STRING([[--with-pcre-dir]],
++ [IMAP: pcre install prefix])],
++ [no],
++ [no])
++
+ if test "$PHP_IMAP" != "no"; then
+ PHP_SUBST(IMAP_SHARED_LIBADD)
+ PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
+@@ -120,6 +127,30 @@ if test "$PHP_IMAP" != "no"; then
+ 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,[ ])
Index: head/math/Makefile
===================================================================
--- head/math/Makefile
+++ head/math/Makefile
@@ -648,6 +648,8 @@
SUBDIR += php72-gmp
SUBDIR += php73-bcmath
SUBDIR += php73-gmp
+ SUBDIR += php74-bcmath
+ SUBDIR += php74-gmp
SUBDIR += physcalc
SUBDIR += picosat
SUBDIR += piranha
Index: head/math/php74-bcmath/Makefile
===================================================================
--- head/math/php74-bcmath/Makefile
+++ head/math/php74-bcmath/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= math
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -bcmath
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/math/php74-gmp/Makefile
===================================================================
--- head/math/php74-gmp/Makefile
+++ head/math/php74-gmp/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= math
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -gmp
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/misc/Makefile
===================================================================
--- head/misc/Makefile
+++ head/misc/Makefile
@@ -363,6 +363,7 @@
SUBDIR += php71-calendar
SUBDIR += php72-calendar
SUBDIR += php73-calendar
+ SUBDIR += php74-calendar
SUBDIR += phraze
SUBDIR += pinfo
SUBDIR += pipe
Index: head/misc/php74-calendar/Makefile
===================================================================
--- head/misc/php74-calendar/Makefile
+++ head/misc/php74-calendar/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= misc
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -calendar
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/net-mgmt/Makefile
===================================================================
--- head/net-mgmt/Makefile
+++ head/net-mgmt/Makefile
@@ -291,6 +291,7 @@
SUBDIR += php71-snmp
SUBDIR += php72-snmp
SUBDIR += php73-snmp
+ SUBDIR += php74-snmp
SUBDIR += phpipam
SUBDIR += phpweathermap
SUBDIR += pixilate
Index: head/net-mgmt/php74-snmp/Makefile
===================================================================
--- head/net-mgmt/php74-snmp/Makefile
+++ head/net-mgmt/php74-snmp/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= net-mgmt
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -snmp
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/net/Makefile
===================================================================
--- head/net/Makefile
+++ head/net/Makefile
@@ -975,6 +975,10 @@
SUBDIR += php73-soap
SUBDIR += php73-sockets
SUBDIR += php73-xmlrpc
+ SUBDIR += php74-ldap
+ SUBDIR += php74-soap
+ SUBDIR += php74-sockets
+ SUBDIR += php74-xmlrpc
SUBDIR += phpldapadmin
SUBDIR += pim6-tools
SUBDIR += pim6dd
Index: head/net/php74-ldap/Makefile
===================================================================
--- head/net/php74-ldap/Makefile
+++ head/net/php74-ldap/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= net
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -ldap
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/net/php74-soap/Makefile
===================================================================
--- head/net/php74-soap/Makefile
+++ head/net/php74-soap/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= net
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -soap
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/net/php74-sockets/Makefile
===================================================================
--- head/net/php74-sockets/Makefile
+++ head/net/php74-sockets/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= net
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -sockets
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/net/php74-xmlrpc/Makefile
===================================================================
--- head/net/php74-xmlrpc/Makefile
+++ head/net/php74-xmlrpc/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= net
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -xmlrpc
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/net/php74-xmlrpc/files/patch-config.m4
===================================================================
--- head/net/php74-xmlrpc/files/patch-config.m4
+++ head/net/php74-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
Index: head/security/Makefile
===================================================================
--- head/security/Makefile
+++ head/security/Makefile
@@ -805,6 +805,9 @@
SUBDIR += php73-hash
SUBDIR += php73-openssl
SUBDIR += php73-sodium
+ SUBDIR += php74-filter
+ SUBDIR += php74-openssl
+ SUBDIR += php74-sodium
SUBDIR += phpsecinfo
SUBDIR += picosha2
SUBDIR += pidentd
Index: head/security/php74-filter/Makefile
===================================================================
--- head/security/php74-filter/Makefile
+++ head/security/php74-filter/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= security
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -filter
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/security/php74-filter/files/patch-config.m4
===================================================================
--- head/security/php74-filter/files/patch-config.m4
+++ head/security/php74-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
+ ])
Index: head/security/php74-hash/Makefile
===================================================================
--- head/security/php74-hash/Makefile
+++ head/security/php74-hash/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= security
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -hash
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/security/php74-openssl/Makefile
===================================================================
--- head/security/php74-openssl/Makefile
+++ head/security/php74-openssl/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= security
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -openssl
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/security/php74-sodium/Makefile
===================================================================
--- head/security/php74-sodium/Makefile
+++ head/security/php74-sodium/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= security
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -sodium
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/security/php74-sodium/files/patch-config.m4
===================================================================
--- head/security/php74-sodium/files/patch-config.m4
+++ head/security/php74-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)
Index: head/sysutils/Makefile
===================================================================
--- head/sysutils/Makefile
+++ head/sysutils/Makefile
@@ -892,6 +892,8 @@
SUBDIR += php72-posix
SUBDIR += php73-fileinfo
SUBDIR += php73-posix
+ SUBDIR += php74-fileinfo
+ SUBDIR += php74-posix
SUBDIR += phpfpm_exporter
SUBDIR += phybs
SUBDIR += pick
Index: head/sysutils/php74-fileinfo/Makefile
===================================================================
--- head/sysutils/php74-fileinfo/Makefile
+++ head/sysutils/php74-fileinfo/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= sysutils
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -fileinfo
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/sysutils/php74-fileinfo/files/patch-config.m4
===================================================================
--- head/sysutils/php74-fileinfo/files/patch-config.m4
+++ head/sysutils/php74-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)
+
Index: head/sysutils/php74-posix/Makefile
===================================================================
--- head/sysutils/php74-posix/Makefile
+++ head/sysutils/php74-posix/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= sysutils
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -posix
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/sysutils/php74-posix/files/patch-posix.c
===================================================================
--- head/sysutils/php74-posix/files/patch-posix.c
+++ head/sysutils/php74-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);
+
Index: head/textproc/Makefile
===================================================================
--- head/textproc/Makefile
+++ head/textproc/Makefile
@@ -1207,6 +1207,15 @@
SUBDIR += php73-xmlreader
SUBDIR += php73-xmlwriter
SUBDIR += php73-xsl
+ SUBDIR += php74-ctype
+ SUBDIR += php74-dom
+ SUBDIR += php74-enchant
+ SUBDIR += php74-pspell
+ SUBDIR += php74-simplexml
+ SUBDIR += php74-xml
+ SUBDIR += php74-xmlreader
+ SUBDIR += php74-xmlwriter
+ SUBDIR += php74-xsl
SUBDIR += pict
SUBDIR += plover
SUBDIR += po4a
Index: head/textproc/php74-ctype/Makefile
===================================================================
--- head/textproc/php74-ctype/Makefile
+++ head/textproc/php74-ctype/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -ctype
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/textproc/php74-dom/Makefile
===================================================================
--- head/textproc/php74-dom/Makefile
+++ head/textproc/php74-dom/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -dom
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/textproc/php74-enchant/Makefile
===================================================================
--- head/textproc/php74-enchant/Makefile
+++ head/textproc/php74-enchant/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -enchant
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/textproc/php74-pspell/Makefile
===================================================================
--- head/textproc/php74-pspell/Makefile
+++ head/textproc/php74-pspell/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -pspell
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/textproc/php74-simplexml/Makefile
===================================================================
--- head/textproc/php74-simplexml/Makefile
+++ head/textproc/php74-simplexml/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -simplexml
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/textproc/php74-simplexml/files/patch-config.m4
===================================================================
--- head/textproc/php74-simplexml/files/patch-config.m4
+++ head/textproc/php74-simplexml/files/patch-config.m4
@@ -0,0 +1,42 @@
+--- config.m4.orig 2019-08-06 06:54:07 UTC
++++ config.m4
+@@ -4,8 +4,39 @@ PHP_ARG_ENABLE([simplexml],
+ [Disable SimpleXML support])],
+ [yes])
+
++PHP_ARG_ENABLE([pcre-dir],
++ [pcre install prefix],
++ [AS_HELP_STRING([--with-pcre-dir],
++ [SimpleXML: pcre install dir])],
++ [no],
++ [no])
++
+ 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 --with-libxml])
+ fi
Index: head/textproc/php74-xml/Makefile
===================================================================
--- head/textproc/php74-xml/Makefile
+++ head/textproc/php74-xml/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -xml
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/textproc/php74-xml/files/patch-compat.c
===================================================================
--- head/textproc/php74-xml/files/patch-compat.c
+++ head/textproc/php74-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"
Index: head/textproc/php74-xmlreader/Makefile
===================================================================
--- head/textproc/php74-xmlreader/Makefile
+++ head/textproc/php74-xmlreader/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -xmlreader
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/textproc/php74-xmlwriter/Makefile
===================================================================
--- head/textproc/php74-xmlwriter/Makefile
+++ head/textproc/php74-xmlwriter/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -xmlwriter
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/textproc/php74-xsl/Makefile
===================================================================
--- head/textproc/php74-xsl/Makefile
+++ head/textproc/php74-xsl/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= textproc
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -xsl
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/textproc/php74-xsl/files/patch-php_xsl.h
===================================================================
--- head/textproc/php74-xsl/files/patch-php_xsl.h
+++ head/textproc/php74-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>
Index: head/www/Makefile
===================================================================
--- head/www/Makefile
+++ head/www/Makefile
@@ -411,6 +411,7 @@
SUBDIR += mod_php71
SUBDIR += mod_php72
SUBDIR += mod_php73
+ SUBDIR += mod_php74
SUBDIR += mod_proctitle
SUBDIR += mod_proxy_xml
SUBDIR += mod_python35
@@ -1404,6 +1405,9 @@
SUBDIR += php73-opcache
SUBDIR += php73-session
SUBDIR += php73-tidy
+ SUBDIR += php74-opcache
+ SUBDIR += php74-session
+ SUBDIR += php74-tidy
SUBDIR += phpbb
SUBDIR += phpbb3
SUBDIR += phpgroupware
Index: head/www/mod_php74/Makefile
===================================================================
--- head/www/mod_php74/Makefile
+++ head/www/mod_php74/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+CATEGORIES= www devel
+PKGNAMEPREFIX= mod_
+
+MAINTAINER= ports@FreeBSD.org
+
+PHP_PORT= lang/php74
+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"
Index: head/www/php74-opcache/Makefile
===================================================================
--- head/www/php74-opcache/Makefile
+++ head/www/php74-opcache/Makefile
@@ -0,0 +1,13 @@
+# $FreeBSD$
+
+CATEGORIES= www
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -opcache
+
+TEST_TARGET= test
+
+USES= php:zend,noflavors
+
+.include "${MASTERDIR}/Makefile"
Index: head/www/php74-opcache/files/patch-zend__file__cache.c
===================================================================
--- head/www/php74-opcache/files/patch-zend__file__cache.c
+++ head/www/php74-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"
Index: head/www/php74-session/Makefile
===================================================================
--- head/www/php74-session/Makefile
+++ head/www/php74-session/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= www
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -session
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
Index: head/www/php74-tidy/Makefile
===================================================================
--- head/www/php74-tidy/Makefile
+++ head/www/php74-tidy/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+CATEGORIES= www
+
+MASTERDIR= ${.CURDIR}/../../lang/php74
+
+PKGNAMESUFFIX= -tidy
+
+TEST_TARGET= test
+
+.include "${MASTERDIR}/Makefile"
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Oct 28, 4:20 PM (6 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24363362
Default Alt Text
D21349.id62343.diff (101 KB)
Attached To
Mode
D21349: PHP 7.4
Attached
Detach File
Event Timeline
Log In to Comment