Index: Mk/Uses/php.mk =================================================================== --- Mk/Uses/php.mk +++ 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= 20190529 +PHP_EXT_INC= 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 \ + 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} hash interbase recode wddx +_USE_PHP_VER72= ${_USE_PHP_ALL} hash interbase recode sodium wddx +_USE_PHP_VER73= ${_USE_PHP_ALL} hash interbase recode sodium wddx +_USE_PHP_VER74= ${_USE_PHP_ALL} sodium bcmath_DEPENDS= math/php${PHP_VER}-bcmath bitset_DEPENDS= math/pecl-bitset@${PHP_FLAVOR} Index: Mk/bsd.default-versions.mk =================================================================== --- Mk/bsd.default-versions.mk +++ Mk/bsd.default-versions.mk @@ -82,7 +82,7 @@ .endif # Possible values: 9.4, 9.5, 9.6, 10, 11, 12 PGSQL_DEFAULT?= 9.5 -# 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: archivers/Makefile =================================================================== --- archivers/Makefile +++ archivers/Makefile @@ -161,6 +161,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: archivers/php74-bz2/Makefile =================================================================== --- archivers/php74-bz2/Makefile +++ archivers/php74-bz2/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= archivers + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -bz2 + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: archivers/php74-phar/Makefile =================================================================== --- archivers/php74-phar/Makefile +++ archivers/php74-phar/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= archivers + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -phar + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: archivers/php74-phar/files/patch-config.m4 =================================================================== --- archivers/php74-phar/files/patch-config.m4 +++ 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
++#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE) ++yes ++#endif ++ ],[ ++ PHP_PCRE_REGEX=yes ++ ],[ ++ AC_EGREP_CPP(yes,[ ++#include
++#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: archivers/php74-zip/Makefile =================================================================== --- archivers/php74-zip/Makefile +++ archivers/php74-zip/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= archivers + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -zip + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: archivers/php74-zlib/Makefile =================================================================== --- archivers/php74-zlib/Makefile +++ archivers/php74-zlib/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= archivers + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -zlib + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: archivers/php74-zlib/files/patch-zlib.c =================================================================== --- archivers/php74-zlib/files/patch-zlib.c +++ 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: converters/Makefile =================================================================== --- converters/Makefile +++ converters/Makefile @@ -147,6 +147,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: converters/php74-iconv/Makefile =================================================================== --- converters/php74-iconv/Makefile +++ converters/php74-iconv/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= converters + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -iconv + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: converters/php74-mbstring/Makefile =================================================================== --- converters/php74-mbstring/Makefile +++ converters/php74-mbstring/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= converters + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -mbstring + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: converters/php74-mbstring/files/patch-config.m4 =================================================================== --- converters/php74-mbstring/files/patch-config.m4 +++ 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
++#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE) ++yes ++#endif ++ ],[ ++ PHP_PCRE_REGEX=yes ++ ],[ ++ AC_EGREP_CPP(yes,[ ++#include
++#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: databases/Makefile =================================================================== --- databases/Makefile +++ databases/Makefile @@ -653,6 +653,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: databases/php74-dba/Makefile =================================================================== --- databases/php74-dba/Makefile +++ databases/php74-dba/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= databases + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -dba + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: databases/php74-dba/files/patch-config.m4 =================================================================== --- databases/php74-dba/files/patch-config.m4 +++ 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: databases/php74-mysqli/Makefile =================================================================== --- databases/php74-mysqli/Makefile +++ databases/php74-mysqli/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= databases + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -mysqli + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: databases/php74-mysqli/files/patch-mysqli.c =================================================================== --- databases/php74-mysqli/files/patch-mysqli.c +++ 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: databases/php74-mysqli/files/patch-php_mysqli_structs.h =================================================================== --- databases/php74-mysqli/files/patch-php_mysqli_structs.h +++ 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 + + #if !defined(HAVE_MBRLEN) && defined(WE_HAD_MBRLEN) Index: databases/php74-odbc/Makefile =================================================================== --- databases/php74-odbc/Makefile +++ databases/php74-odbc/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= databases + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -odbc + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: databases/php74-odbc/files/patch-config.m4 =================================================================== --- databases/php74-odbc/files/patch-config.m4 +++ 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: databases/php74-pdo/Makefile =================================================================== --- databases/php74-pdo/Makefile +++ databases/php74-pdo/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= databases + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -pdo + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: databases/php74-pdo_dblib/Makefile =================================================================== --- databases/php74-pdo_dblib/Makefile +++ 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: databases/php74-pdo_firebird/Makefile =================================================================== --- databases/php74-pdo_firebird/Makefile +++ 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: databases/php74-pdo_mysql/Makefile =================================================================== --- databases/php74-pdo_mysql/Makefile +++ 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: databases/php74-pdo_odbc/Makefile =================================================================== --- databases/php74-pdo_odbc/Makefile +++ 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: databases/php74-pdo_pgsql/Makefile =================================================================== --- databases/php74-pdo_pgsql/Makefile +++ 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: databases/php74-pdo_sqlite/Makefile =================================================================== --- databases/php74-pdo_sqlite/Makefile +++ 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: databases/php74-pgsql/Makefile =================================================================== --- databases/php74-pgsql/Makefile +++ databases/php74-pgsql/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= databases + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -pgsql + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: databases/php74-sqlite3/Makefile =================================================================== --- databases/php74-sqlite3/Makefile +++ databases/php74-sqlite3/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= databases + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -sqlite3 + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: devel/Makefile =================================================================== --- devel/Makefile +++ devel/Makefile @@ -3926,6 +3926,16 @@ SUBDIR += php73-sysvsem SUBDIR += php73-sysvshm SUBDIR += php73-tokenizer + SUBDIR += php74-gettext + 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: devel/php74-gettext/Makefile =================================================================== --- devel/php74-gettext/Makefile +++ devel/php74-gettext/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= devel + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -gettext + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: devel/php74-intl/Makefile =================================================================== --- devel/php74-intl/Makefile +++ 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: devel/php74-json/Makefile =================================================================== --- devel/php74-json/Makefile +++ devel/php74-json/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= devel + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -json + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: devel/php74-pcntl/Makefile =================================================================== --- devel/php74-pcntl/Makefile +++ devel/php74-pcntl/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= devel + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -pcntl + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: devel/php74-readline/Makefile =================================================================== --- devel/php74-readline/Makefile +++ devel/php74-readline/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= devel + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -readline + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: devel/php74-readline/files/patch-config.m4 =================================================================== --- devel/php74-readline/files/patch-config.m4 +++ 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: devel/php74-readline/files/patch-readline_cli.c =================================================================== --- devel/php74-readline/files/patch-readline_cli.c +++ 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: devel/php74-shmop/Makefile =================================================================== --- devel/php74-shmop/Makefile +++ devel/php74-shmop/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= devel + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -shmop + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: devel/php74-sysvmsg/Makefile =================================================================== --- devel/php74-sysvmsg/Makefile +++ devel/php74-sysvmsg/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= devel + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -sysvmsg + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: devel/php74-sysvsem/Makefile =================================================================== --- devel/php74-sysvsem/Makefile +++ devel/php74-sysvsem/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= devel + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -sysvsem + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: devel/php74-sysvshm/Makefile =================================================================== --- devel/php74-sysvshm/Makefile +++ devel/php74-sysvshm/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= devel + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -sysvshm + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: devel/php74-tokenizer/Makefile =================================================================== --- devel/php74-tokenizer/Makefile +++ devel/php74-tokenizer/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= devel + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -tokenizer + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: ftp/Makefile =================================================================== --- ftp/Makefile +++ 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: ftp/php74-curl/Makefile =================================================================== --- ftp/php74-curl/Makefile +++ ftp/php74-curl/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= ftp + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -curl + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: ftp/php74-ftp/Makefile =================================================================== --- ftp/php74-ftp/Makefile +++ 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: graphics/Makefile =================================================================== --- graphics/Makefile +++ graphics/Makefile @@ -761,6 +761,8 @@ SUBDIR += php72-gd SUBDIR += php73-exif SUBDIR += php73-gd + SUBDIR += php74-exif + SUBDIR += php74-gd SUBDIR += phplot SUBDIR += picpuz SUBDIR += piddle Index: graphics/php74-exif/Makefile =================================================================== --- graphics/php74-exif/Makefile +++ graphics/php74-exif/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= graphics + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -exif + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: graphics/php74-gd/Makefile =================================================================== --- graphics/php74-gd/Makefile +++ 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: graphics/php74-gd/files/patch-gd.c =================================================================== --- graphics/php74-gd/files/patch-gd.c +++ 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: lang/Makefile =================================================================== --- lang/Makefile +++ lang/Makefile @@ -286,6 +286,8 @@ SUBDIR += php72-extensions SUBDIR += php73 SUBDIR += php73-extensions + SUBDIR += php74 + SUBDIR += php74-extensions SUBDIR += picoc SUBDIR += plexil SUBDIR += pocl Index: lang/php74-extensions/Makefile =================================================================== --- lang/php74-extensions/Makefile +++ 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 + +.for opt in ${OPTIONS_DEFINE} +. if ${PORT_OPTIONS:M${opt}} +USE_PHP+= ${opt:tl} +. endif +.endfor + +.include Index: lang/php74-extensions/pkg-descr =================================================================== --- lang/php74-extensions/pkg-descr +++ lang/php74-extensions/pkg-descr @@ -0,0 +1,7 @@ +This is a "meta-port" to install the extensions for PHP 7.3. + +Defaults to: +ctype, dom, filter, hash, iconv, json, pdo, pdo_sqlite, phar, posix, +session, simplexml, sqlite3, tokenizer, xml, xmlreader and xmlwriter. + +WWW: http://www.php.net/ Index: lang/php74/Makefile =================================================================== --- lang/php74/Makefile +++ lang/php74/Makefile @@ -0,0 +1,188 @@ +# $FreeBSD$ + +PORTNAME= php74 +DISTVERSION= 7.4.0beta2 +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 + +.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 Index: lang/php74/Makefile.ext =================================================================== --- lang/php74/Makefile.ext +++ lang/php74/Makefile.ext @@ -0,0 +1,540 @@ +# $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} == "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-freetype \ + --with-jpeg + +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} \ + +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" +BUILD_DEPENDS+= openssl>1.0.1:security/openssl +CONFIGURE_ARGS+=--with-openssl +USES+= pkgconfig ssl +.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 + +.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 + +.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: lang/php74/distinfo =================================================================== --- lang/php74/distinfo +++ lang/php74/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1565263091 +SHA256 (php-7.4.0beta2.tar.xz) = cb2c8734f0edfbc815bddfe5e56e959dbca493bcfe248d0213d27c5b95b4c4bc +SIZE (php-7.4.0beta2.tar.xz) = 10205556 Index: lang/php74/files/patch-build_Makefile.global =================================================================== --- lang/php74/files/patch-build_Makefile.global +++ lang/php74/files/patch-build_Makefile.global @@ -0,0 +1,19 @@ +--- build/Makefile.global.orig 2019-08-06 06:54:07 UTC ++++ build/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: lang/php74/files/patch-configure.ac =================================================================== --- lang/php74/files/patch-configure.ac +++ lang/php74/files/patch-configure.ac @@ -0,0 +1,45 @@ +--- configure.ac.orig 2019-08-06 06:54:06 UTC ++++ configure.ac +@@ -105,6 +105,7 @@ extern "C++" { + #endif + #endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */ + ++#include + #endif /* PHP_CONFIG_H */ + ]) + +@@ -313,7 +314,6 @@ sinclude(Zend/Zend.m4) + + dnl ---------------------------------------------------------------------------- + +-PTHREADS_CHECK + PHP_HELP_SEPARATOR([SAPI modules:]) + PHP_SHLIB_SUFFIX_NAMES + PHP_BUILD_PROGRAM +@@ -654,7 +654,7 @@ memmem \ + AX_FUNC_WHICH_GETHOSTBYNAME_R + + 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... Also check for working + dnl getaddrinfo. +@@ -1308,7 +1308,7 @@ EXPANDED_SYSCONFDIR=`eval echo $sysconfd + 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 +@@ -1493,7 +1493,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, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) + Index: lang/php74/files/patch-sapi_apache2handler_config.m4 =================================================================== --- lang/php74/files/patch-sapi_apache2handler_config.m4 +++ 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: lang/php74/files/patch-sapi_fpm_config.m4 =================================================================== --- lang/php74/files/patch-sapi_fpm_config.m4 +++ 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: lang/php74/files/patch-sapi_fpm_www.conf.in =================================================================== --- lang/php74/files/patch-sapi_fpm_www.conf.in +++ 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: lang/php74/files/php-fpm.in =================================================================== --- lang/php74/files/php-fpm.in +++ 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: lang/php74/pkg-descr =================================================================== --- lang/php74/pkg-descr +++ 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: lang/php74/pkg-message.mod =================================================================== --- lang/php74/pkg-message.mod +++ 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: + + + SetHandler application/x-httpd-php + + + SetHandler application/x-httpd-php-source + + +****************************************************************************** + +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: lang/php74/pkg-plist =================================================================== --- lang/php74/pkg-plist +++ lang/php74/pkg-plist @@ -0,0 +1,279 @@ +%%CLI%%bin/php +%%CGI%%bin/php-cgi +bin/php-config +%%PHPDBG%%bin/phpdbg +bin/phpize +%%FPM%%@sample etc/php-fpm.conf.default +%%FPM%%@sample etc/php-fpm.d/www.conf.default +etc/php.conf +etc/php.ini-development +etc/php.ini-production +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: lang/php74/pkg-plist.mod =================================================================== --- lang/php74/pkg-plist.mod +++ 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: mail/Makefile =================================================================== --- mail/Makefile +++ mail/Makefile @@ -480,6 +480,7 @@ SUBDIR += php71-imap SUBDIR += php72-imap SUBDIR += php73-imap + SUBDIR += php74-imap SUBDIR += phplist SUBDIR += phpmailer SUBDIR += phpmailer6 Index: mail/php74-imap/Makefile =================================================================== --- mail/php74-imap/Makefile +++ mail/php74-imap/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= mail + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -imap + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: mail/php74-imap/files/patch-config.m4 =================================================================== --- mail/php74-imap/files/patch-config.m4 +++ mail/php74-imap/files/patch-config.m4 @@ -0,0 +1,42 @@ +--- config.m4.orig 2010-02-07 14:06:54.000000000 +0100 ++++ config.m4 2010-03-08 11:56:24.000000000 +0100 +@@ -103,6 +103,8 @@ + PHP_ARG_WITH(imap-ssl,for IMAP SSL support, + [ --with-imap-ssl[=DIR] IMAP: Include SSL support. DIR is the OpenSSL install prefix], no, no) + ++PHP_ARG_WITH(pcre-dir, pcre install prefix, ++[ --with-pcre-dir IMAP: pcre install prefix], no, no) + + if test "$PHP_IMAP" != "no"; then + PHP_SUBST(IMAP_SHARED_LIBADD) +@@ -119,6 +121,30 @@ + fi + done + ++ dnl This is PECL build, check if bundled PCRE library is used ++ old_CPPFLAGS=$CPPFLAGS ++ CPPFLAGS=$INCLUDES ++ AC_EGREP_CPP(yes,[ ++#include
++#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE) ++yes ++#endif ++ ],[ ++ PHP_PCRE_REGEX=yes ++ ],[ ++ AC_EGREP_CPP(yes,[ ++#include
++#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: math/Makefile =================================================================== --- math/Makefile +++ math/Makefile @@ -650,6 +650,8 @@ SUBDIR += php72-gmp SUBDIR += php73-bcmath SUBDIR += php73-gmp + SUBDIR += php74-bcmath + SUBDIR += php74-gmp SUBDIR += physcalc SUBDIR += picosat SUBDIR += piranha Index: math/php74-bcmath/Makefile =================================================================== --- math/php74-bcmath/Makefile +++ math/php74-bcmath/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= math + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -bcmath + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: math/php74-gmp/Makefile =================================================================== --- math/php74-gmp/Makefile +++ math/php74-gmp/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= math + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -gmp + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: misc/Makefile =================================================================== --- misc/Makefile +++ misc/Makefile @@ -362,6 +362,7 @@ SUBDIR += php71-calendar SUBDIR += php72-calendar SUBDIR += php73-calendar + SUBDIR += php74-calendar SUBDIR += phraze SUBDIR += pinfo SUBDIR += pipe Index: misc/php74-calendar/Makefile =================================================================== --- misc/php74-calendar/Makefile +++ misc/php74-calendar/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= misc + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -calendar + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: net-mgmt/php74-snmp/Makefile =================================================================== --- net-mgmt/php74-snmp/Makefile +++ 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: net/Makefile =================================================================== --- net/Makefile +++ net/Makefile @@ -972,6 +972,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: net/php74-ldap/Makefile =================================================================== --- net/php74-ldap/Makefile +++ net/php74-ldap/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= net + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -ldap + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: net/php74-ldap/php73-ldap/Makefile =================================================================== --- net/php74-ldap/php73-ldap/Makefile +++ net/php74-ldap/php73-ldap/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= net + +MASTERDIR= ${.CURDIR}/../../lang/php73 + +PKGNAMESUFFIX= -ldap + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: net/php74-soap/Makefile =================================================================== --- net/php74-soap/Makefile +++ net/php74-soap/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= net + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -soap + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: net/php74-sockets/Makefile =================================================================== --- net/php74-sockets/Makefile +++ net/php74-sockets/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= net + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -sockets + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: net/php74-xmlrpc/Makefile =================================================================== --- net/php74-xmlrpc/Makefile +++ net/php74-xmlrpc/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= net + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -xmlrpc + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: net/php74-xmlrpc/files/patch-config.m4 =================================================================== --- net/php74-xmlrpc/files/patch-config.m4 +++ 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: security/Makefile =================================================================== --- security/Makefile +++ security/Makefile @@ -807,6 +807,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: security/php74-filter/Makefile =================================================================== --- security/php74-filter/Makefile +++ security/php74-filter/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= security + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -filter + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: security/php74-openssl/Makefile =================================================================== --- security/php74-openssl/Makefile +++ security/php74-openssl/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +CATEGORIES= security + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -openssl + +TEST_TARGET= test + +RUN_DEPENDS+= openssl>1.0.1:security/openssl + +.include "${MASTERDIR}/Makefile" Index: security/php74-sodium/Makefile =================================================================== --- security/php74-sodium/Makefile +++ security/php74-sodium/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= security + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -sodium + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: sysutils/Makefile =================================================================== --- sysutils/Makefile +++ sysutils/Makefile @@ -891,6 +891,8 @@ SUBDIR += php72-posix SUBDIR += php73-fileinfo SUBDIR += php73-posix + SUBDIR += php74-fileinfo + SUBDIR += php74-posix SUBDIR += phpfpm_exporter SUBDIR += phybs SUBDIR += pick Index: sysutils/php74-fileinfo/Makefile =================================================================== --- sysutils/php74-fileinfo/Makefile +++ sysutils/php74-fileinfo/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= sysutils + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -fileinfo + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: sysutils/php74-fileinfo/files/patch-config.m4 =================================================================== --- sysutils/php74-fileinfo/files/patch-config.m4 +++ 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: sysutils/php74-posix/Makefile =================================================================== --- sysutils/php74-posix/Makefile +++ sysutils/php74-posix/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= sysutils + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -posix + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: sysutils/php74-posix/files/patch-posix.c =================================================================== --- sysutils/php74-posix/files/patch-posix.c +++ 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: textproc/Makefile =================================================================== --- textproc/Makefile +++ textproc/Makefile @@ -1206,6 +1206,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: textproc/php74-ctype/Makefile =================================================================== --- textproc/php74-ctype/Makefile +++ textproc/php74-ctype/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= textproc + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -ctype + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: textproc/php74-dom/Makefile =================================================================== --- textproc/php74-dom/Makefile +++ textproc/php74-dom/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= textproc + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -dom + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: textproc/php74-enchant/Makefile =================================================================== --- textproc/php74-enchant/Makefile +++ textproc/php74-enchant/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= textproc + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -enchant + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: textproc/php74-pspell/Makefile =================================================================== --- textproc/php74-pspell/Makefile +++ textproc/php74-pspell/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= textproc + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -pspell + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: textproc/php74-simplexml/Makefile =================================================================== --- textproc/php74-simplexml/Makefile +++ textproc/php74-simplexml/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= textproc + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -simplexml + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: textproc/php74-simplexml/files/patch-config.m4 =================================================================== --- textproc/php74-simplexml/files/patch-config.m4 +++ 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
++#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE) ++yes ++#endif ++ ],[ ++ PHP_PCRE_REGEX=yes ++ ],[ ++ AC_EGREP_CPP(yes,[ ++#include
++#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: textproc/php74-xml/Makefile =================================================================== --- textproc/php74-xml/Makefile +++ textproc/php74-xml/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= textproc + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -xml + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: textproc/php74-xml/files/patch-compat.c =================================================================== --- textproc/php74-xml/files/patch-compat.c +++ 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: textproc/php74-xmlreader/Makefile =================================================================== --- textproc/php74-xmlreader/Makefile +++ textproc/php74-xmlreader/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= textproc + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -xmlreader + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: textproc/php74-xmlwriter/Makefile =================================================================== --- textproc/php74-xmlwriter/Makefile +++ textproc/php74-xmlwriter/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= textproc + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -xmlwriter + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: textproc/php74-xsl/Makefile =================================================================== --- textproc/php74-xsl/Makefile +++ textproc/php74-xsl/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= textproc + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -xsl + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: textproc/php74-xsl/files/patch-php_xsl.h =================================================================== --- textproc/php74-xsl/files/patch-php_xsl.h +++ 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 + #endif + +-#include "../dom/xml_common.h" ++#include "ext/dom/xml_common.h" + #include "xsl_fe.h" + + #include Index: www/Makefile =================================================================== --- www/Makefile +++ www/Makefile @@ -409,6 +409,7 @@ SUBDIR += mod_php71 SUBDIR += mod_php72 SUBDIR += mod_php73 + SUBDIR += mod_php74 SUBDIR += mod_proctitle SUBDIR += mod_proxy_xml SUBDIR += mod_python35 @@ -1402,6 +1403,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: www/mod_php74/Makefile =================================================================== --- www/mod_php74/Makefile +++ 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: www/php74-opcache/Makefile =================================================================== --- www/php74-opcache/Makefile +++ 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: www/php74-session/Makefile =================================================================== --- www/php74-session/Makefile +++ www/php74-session/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= www + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -session + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile" Index: www/php74-tidy/Makefile =================================================================== --- www/php74-tidy/Makefile +++ www/php74-tidy/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +CATEGORIES= www + +MASTERDIR= ${.CURDIR}/../../lang/php74 + +PKGNAMESUFFIX= -tidy + +TEST_TARGET= test + +.include "${MASTERDIR}/Makefile"