1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-17 19:39:43 +00:00

*/*php84*: Sunrise

Please DO NOT use this version in production, it is an early test
version.

For upgrade notes please visit:
https://github.com/php/php-src/blob/php-8.4.0alpha1/UPGRADING

Changelog: https://github.com/php/php-src/blob/php-8.4.0alpha1/NEWS
This commit is contained in:
Muhammad Moinur Rahman 2024-07-28 03:40:58 +02:00
parent d6c16b39ea
commit 42db2c39e5
No known key found for this signature in database
GPG Key ID: BDB9B5A617C0BC91
97 changed files with 2279 additions and 11 deletions

View File

@ -110,7 +110,7 @@ DIST_SUBDIR= PECL
PHPBASE?= ${LOCALBASE}
_ALL_PHP_VERSIONS= 81 82 83
_ALL_PHP_VERSIONS= 81 82 83 84
# Make the already installed PHP the default one.
. if exists(${PHPBASE}/etc/php.conf)
@ -179,7 +179,10 @@ PHP_VER= ${FLAVOR:S/^php//}
(${FLAVOR:Mphp[0-9][0-9]} && ${FLAVOR} != ${FLAVORS:[1]})
# When adding a version, please keep the comment in
# Mk/bsd.default-versions.mk in sync.
. if ${PHP_VER} == 83
. if ${PHP_VER} == 84
PHP_EXT_DIR= 20230901
PHP_EXT_INC= hash json openssl pcre random spl
. elif ${PHP_VER} == 83
PHP_EXT_DIR= 20230831
PHP_EXT_INC= hash json openssl pcre random spl
. elif ${PHP_VER} == 82
@ -371,18 +374,19 @@ add-plist-phpext:
# non-version specific components
_USE_PHP_ALL= bcmath bitset bz2 calendar ctype curl dba dom \
enchant exif ffi fileinfo filter ftp gd gettext gmp \
hash iconv igbinary imap intl json ldap mbstring mcrypt \
hash iconv igbinary intl json ldap mbstring mcrypt \
memcache memcached mysqli odbc opcache \
openssl pcntl pcre pdo pdo_dblib pdo_firebird pdo_mysql \
pdo_odbc pdo_pgsql pdo_sqlite phar pgsql posix \
pspell radius random readline redis session shmop simplexml snmp \
radius random readline redis session shmop simplexml snmp \
soap sockets sodium spl sqlite3 sysvmsg sysvsem sysvshm \
tidy tokenizer xml xmlreader xmlrpc xmlwriter xsl zephir_parser \
zip zlib
# version specific components
_USE_PHP_VER81= ${_USE_PHP_ALL}
_USE_PHP_VER82= ${_USE_PHP_ALL}
_USE_PHP_VER83= ${_USE_PHP_ALL}
_USE_PHP_VER81= ${_USE_PHP_ALL} imap pspell
_USE_PHP_VER82= ${_USE_PHP_ALL} imap pspell
_USE_PHP_VER83= ${_USE_PHP_ALL} imap pspell
_USE_PHP_VER84= ${_USE_PHP_ALL}
bcmath_DEPENDS= math/php${PHP_VER}-bcmath
bitset_DEPENDS= math/pecl-bitset@${PHP_FLAVOR}

View File

@ -128,7 +128,7 @@ PERL5_DEFAULT:= ${_PERL5_FROM_BIN:R}
. endif
# Possible values: 12, 13, 14, 15, 16
PGSQL_DEFAULT?= 16
# Possible values: 8.1, 8.2, 8.3
# Possible values: 8.1, 8.2, 8.3, 8.4
PHP_DEFAULT?= 8.2
# Possible values: rust, legacy
. if empty(ARCH:Naarch64:Namd64:Narmv7:Ni386:Npowerpc64:Npowerpc64le:Npowerpc:Nriscv64)

View File

@ -172,6 +172,10 @@
SUBDIR += php83-phar
SUBDIR += php83-zip
SUBDIR += php83-zlib
SUBDIR += php84-bz2
SUBDIR += php84-phar
SUBDIR += php84-zip
SUBDIR += php84-zlib
SUBDIR += pigz
SUBDIR += pixz
SUBDIR += plzip

View File

@ -0,0 +1,7 @@
CATEGORIES= archivers
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -bz2
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= archivers
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -phar
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= archivers
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -zip
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= archivers
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -zlib
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,10 @@
--- zlib.c.orig 2023-06-06 15:54:29 UTC
+++ zlib.c
@@ -1380,6 +1380,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);

View File

@ -143,6 +143,8 @@
SUBDIR += php82-mbstring
SUBDIR += php83-iconv
SUBDIR += php83-mbstring
SUBDIR += php84-iconv
SUBDIR += php84-mbstring
SUBDIR += psiconv
SUBDIR += py-bencode.py
SUBDIR += py-bencoder

View File

@ -0,0 +1,7 @@
CATEGORIES= converters
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -iconv
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= converters
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -mbstring
.include "${MASTERDIR}/Makefile"

View File

@ -627,6 +627,18 @@
SUBDIR += php83-pdo_sqlite
SUBDIR += php83-pgsql
SUBDIR += php83-sqlite3
SUBDIR += php84-dba
SUBDIR += php84-mysqli
SUBDIR += php84-odbc
SUBDIR += php84-pdo
SUBDIR += php84-pdo_dblib
SUBDIR += php84-pdo_firebird
SUBDIR += php84-pdo_mysql
SUBDIR += php84-pdo_odbc
SUBDIR += php84-pdo_pgsql
SUBDIR += php84-pdo_sqlite
SUBDIR += php84-pgsql
SUBDIR += php84-sqlite3
SUBDIR += phpliteadmin
SUBDIR += phpminiadmin
SUBDIR += phpmyadmin

View File

@ -0,0 +1,7 @@
CATEGORIES= databases
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -dba
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,26 @@
--- config.m4.orig 2023-11-07 20:02:05 UTC
+++ config.m4
@@ -387,6 +387,14 @@ 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/db18/db.h"; then
+ THIS_PREFIX=$i
+ THIS_INCLUDE=$i/include/db18/db.h
+ break
elif test -f "$i/include/db5.1/db.h"; then
THIS_PREFIX=$i
THIS_INCLUDE=$i/include/db5.1/db.h
@@ -429,7 +437,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 db-18 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
fi
PHP_DBA_STD_RESULT(db4,Berkeley DB4)

View File

@ -0,0 +1,7 @@
CATEGORIES= databases
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -mysqli
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= databases
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -odbc
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,101 @@
--- config.m4.orig 2023-11-07 20:02:05 UTC
+++ config.m4
@@ -102,7 +102,7 @@ PHP_ARG_WITH([adabas],,
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 +132,7 @@ PHP_ARG_WITH([sapdb],,
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 +153,7 @@ PHP_ARG_WITH([solid],,
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 +181,7 @@ PHP_ARG_WITH([ibm-db2],,
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 +222,7 @@ PHP_ARG_WITH([empress],,
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 +248,7 @@ PHP_ARG_WITH([empress-bcs],,
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 +294,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 +317,7 @@ PHP_ARG_WITH([iodbc],,
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 +335,7 @@ PHP_ARG_WITH([esoob],,
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 +358,7 @@ PHP_ARG_WITH([unixODBC],,
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 +386,7 @@ PHP_ARG_WITH([dbmaker],,
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

View File

@ -0,0 +1,7 @@
CATEGORIES= databases
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -pdo
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= databases
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -pdo_dblib
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,9 @@
CATEGORIES= databases
PORTREVISION= 0
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -pdo_firebird
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= databases
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -pdo_mysql
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= databases
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -pdo_odbc
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= databases
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -pdo_pgsql
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= databases
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -pdo_sqlite
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= databases
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -pgsql
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= databases
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -sqlite3
.include "${MASTERDIR}/Makefile"

View File

@ -4208,6 +4208,16 @@
SUBDIR += php83-sysvsem
SUBDIR += php83-sysvshm
SUBDIR += php83-tokenizer
SUBDIR += php84-ffi
SUBDIR += php84-gettext
SUBDIR += php84-intl
SUBDIR += php84-pcntl
SUBDIR += php84-readline
SUBDIR += php84-shmop
SUBDIR += php84-sysvmsg
SUBDIR += php84-sysvsem
SUBDIR += php84-sysvshm
SUBDIR += php84-tokenizer
SUBDIR += phpunit10
SUBDIR += phpunit11
SUBDIR += phpunit8

7
devel/php84-ffi/Makefile Normal file
View File

@ -0,0 +1,7 @@
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -ffi
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -gettext
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -intl
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -pcntl
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -readline
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -shmop
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -sysvmsg
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -sysvsem
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -sysvshm
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -tokenizer
.include "${MASTERDIR}/Makefile"

View File

@ -59,6 +59,8 @@
SUBDIR += php82-ftp
SUBDIR += php83-curl
SUBDIR += php83-ftp
SUBDIR += php83-curl
SUBDIR += php84-ftp
SUBDIR += phpwebftp
SUBDIR += proftpd
SUBDIR += proftpd-mod_vroot

7
ftp/php84-curl/Makefile Normal file
View File

@ -0,0 +1,7 @@
CATEGORIES= ftp
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -curl
.include "${MASTERDIR}/Makefile"

7
ftp/php84-ftp/Makefile Normal file
View File

@ -0,0 +1,7 @@
CATEGORIES= ftp
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -ftp
.include "${MASTERDIR}/Makefile"

View File

@ -811,6 +811,8 @@
SUBDIR += php82-gd
SUBDIR += php83-exif
SUBDIR += php83-gd
SUBDIR += php84-exif
SUBDIR += php84-gd
SUBDIR += phplot
SUBDIR += picpuz
SUBDIR += piddle

View File

@ -0,0 +1,7 @@
CATEGORIES= graphics
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -exif
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= graphics
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -gd
.include "${MASTERDIR}/Makefile"

View File

@ -280,6 +280,7 @@
SUBDIR += php82-extensions
SUBDIR += php83
SUBDIR += php83-extensions
SUBDIR += php84
SUBDIR += picoc
SUBDIR += picolisp
SUBDIR += pkl

View File

@ -184,7 +184,7 @@ COMMENT= The ${PHP_MODNAME} shared extension for php
USES+= php:ext,noflavors
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
PHP_VER= 81
IGNORE_WITH_PHP= 82 83
IGNORE_WITH_PHP= 82 83 84
EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
WRKSRC= ${WRKDIR}/${EXTSUBDIR}

View File

@ -177,7 +177,7 @@ COMMENT= The ${PHP_MODNAME} shared extension for php
USES+= php:ext,noflavors
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
PHP_VER= 82
IGNORE_WITH_PHP= 81 83
IGNORE_WITH_PHP= 81 83 84
EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
WRKSRC= ${WRKDIR}/${EXTSUBDIR}

View File

@ -195,7 +195,7 @@ COMMENT= The ${PHP_MODNAME} shared extension for php
USES+= php:ext,noflavors
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
PHP_VER= 83
IGNORE_WITH_PHP= 81 82
IGNORE_WITH_PHP= 81 82 84
EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
WRKSRC= ${WRKDIR}/${EXTSUBDIR}

View File

@ -0,0 +1,89 @@
PORTNAME= php84
PORTVERSION= 1.0
CATEGORIES= lang
PKGNAMESUFFIX= -extensions
MAINTAINER= bofh@FreeBSD.org
COMMENT= "meta-port" to install PHP extensions (8.4.X branch)
WWW= https://www.php.net/
USES= metaport php
PHP_VER= 84
IGNORE_WITH_PHP= 81 82 83
OPTIONS_DEFINE= BCMATH BZ2 CALENDAR CTYPE CURL DBA DOM ENCHANT EXIF FFI \
FILEINFO FILTER FTP GD GETTEXT GMP ICONV INTL LDAP \
MBSTRING MYSQLI ODBC OPCACHE PCNTL PDO \
PDO_DBLIB PDO_FIREBIRD PDO_MYSQL PDO_ODBC PDO_PGSQL \
PDO_SQLITE PGSQL PHAR POSIX READLINE SESSION \
SHMOP SIMPLEXML SNMP SOAP SOCKETS SODIUM SQLITE3 \
SYSVMSG SYSVSEM SYSVSHM TIDY TOKENIZER XML XMLREADER \
XMLWRITER XSL ZIP ZLIB
OPTIONS_DEFAULT= CTYPE DOM FILTER ICONV OPCACHE PDO PDO_SQLITE PHAR \
POSIX SESSION SIMPLEXML SQLITE3 TOKENIZER XML XMLREADER \
XMLWRITER
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
FFI_DESC= Foreign Function Interface 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
INTL_DESC= Internationalization(ICU)
LDAP_DESC= OpenLDAP support
MBSTRING_DESC= multibyte string support
MYSQLI_DESC= MySQLi database support
ODBC_DESC= ODBC support
OPCACHE_DESC= OPcache support
PCNTL_DESC= pcntl support (CLI only)
PDO_DBLIB_DESC= PDO DBLIB-DB driver
PDO_DESC= PHP Data Objects Interface (PDO)
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
PHAR_DESC= phar support
POSIX_DESC= POSIX-like functions
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
XMLREADER_DESC= XMLReader support
XMLWRITER_DESC= XMLWriter support
XML_DESC= XML support
XSL_DESC= XSL support (Implies DOM)
ZIP_DESC= ZIP support
ZLIB_DESC= ZLIB support
.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>

View File

@ -0,0 +1,5 @@
This is a "meta-port" to install the extensions for PHP 8.0
Defaults to:
ctype, dom, filter, iconv, json, opcache, pdo, pdo_sqlite, phar, posix,
session, simplexml, sqlite3, tokenizer, xml, xmlreader and xmlwriter.

612
lang/php84/Makefile Normal file
View File

@ -0,0 +1,612 @@
PORTNAME= php84
DISTVERSION= 8.4.0alpha1
PORTREVISION?= 0
CATEGORIES?= lang devel www
MASTER_SITES= https://downloads.php.net/~saki/ \
https://downloads.php.net/~calvinb/
DISTNAME= php-${DISTVERSION}
MAINTAINER= bofh@FreeBSD.org
COMMENT= PHP Scripting Language (8.4.X branch)
WWW= https://www.php.net/
LICENSE= PHP301
USES+= compiler:c11 cpe gnome localbase pkgconfig tar:xz
CPE_PRODUCT= php
PHP_VER= 84
CONFLICTS_INSTALL?= php[0-9][0-9]${PKGNAMESUFFIX}
.if !defined(PKGNAMESUFFIX)
LIB_DEPENDS= libargon2.so:security/libargon2 \
libpcre2-8.so:devel/pcre2
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= \
--disable-all \
--program-prefix="" \
--with-config-file-scan-dir=${PREFIX}/etc/php \
--with-layout=GNU \
--with-libxml \
--with-openssl \
--with-password-argon2=${LOCALBASE}
USES+= autoreconf:build ssl
USE_GNOME= libxml2
LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
# PR230207 Allow relocations against read-only segments (override lld default)
LDFLAGS_i386= -Wl,-z,notext
OPTIONS_DEFINE+=CGI CLI DEBUG DTRACE EMBED FPM IPV6 LINKTHR \
MYSQLND NOASLR PCRE PHPDBG ZTS
OPTIONS_DEFAULT= CGI CLI DTRACE EMBED FPM LINKTHR MYSQLND PCRE
OPTIONS_EXCLUDE_DragonFly= DTRACE
# ld(1) fails to link probes: Relocations in generic ELF (EM: 0)
OPTIONS_EXCLUDE_aarch64= DTRACE
# dt_modtext:opensolaris/ib/libdtrace/common/dt_link.c: arm not impemented
OPTIONS_EXCLUDE_armv6= DTRACE
OPTIONS_EXCLUDE_armv7= DTRACE
# Bug 197128: No ASM code for MIPS/MIPS64, disable FPM
OPTIONS_EXCLUDE_mips= DTRACE FPM
OPTIONS_EXCLUDE_mips64= DTRACE FPM
OPTIONS_EXCLUDE_riscv64= DTRACE
NO_OPTIONS_SORT= yes
OPTIONS_SUB= yes
CGI_DESC= Build CGI version
CLI_DESC= Build CLI version
EMBED_DESC= Build embedded library
FPM_DESC= Build FPM version
LINKTHR_DESC= Link thread lib (for threaded extensions)
MYSQLND_DESC= Build with MySQL Native Driver
PCRE_DESC= Use system pcre instead of bundled one
PHPDBG_DESC= Interactive PHP debugger
ZTS_DESC= Force Zend Thread Safety (ZTS) build
CGI_CONFIGURE_OFF= --disable-cgi
CGI_VARS= PHP_SAPI+=cgi
CLI_CONFIGURE_OFF= --disable-cli
CLI_VARS= PHP_SAPI+=cli
DEBUG_CONFIGURE_ON= --enable-debug
DTRACE_CONFIGURE_ON= --enable-dtrace
EMBED_CONFIGURE_ON= --enable-embed
EMBED_VARS= PHP_SAPI+=embed
FPM_CONFIGURE_ON= --enable-fpm \
--with-fpm-group=${WWWGRP} \
--with-fpm-user=${WWWOWN}
FPM_VARS= PHP_SAPI+=fpm \
USE_RC_SUBR+=php_fpm
IPV6_CONFIGURE_OFF= --disable-ipv6
LINKTHR_LIBS= -lpthread
NOASLR_USES= elfctl
MYSQLND_CONFIGURE_ON= --enable-mysqlnd
PCRE_BUILD_DEPENDS= re2c>0:devel/re2c
PCRE_CONFIGURE_ON= --with-external-pcre=${LOCALBASE}
PCRE_PLIST_SUB= BUNDLED_PCRE="@comment "
PCRE_PLIST_SUB_OFF= BUNDLED_PCRE=""
PHPDBG_CONFIGURE_ON= --enable-phpdbg
PHPDBG_VARS= PHP_SAPI+=phpdbg
ZTS_CONFIGURE_ON= --enable-zts
ZTS_CONFIGURE_ENV= pthreads_working="yes"
DESTDIRNAME= INSTALL_ROOT
.if defined(PKGNAMEPREFIX)
USES+= apache
PLIST= ${PKGDIR}/pkg-plist.mod
PKGMESSAGE= ${PKGDIR}/pkg-message.mod
MODULENAME= libphp
SHORTMODNAME= php
WARNING= "!!! If you have a threaded Apache, you must build ${PHP_PORT} with ZTS support to enable thread-safety in extensions !!!"
WARNING+= "!!! Consider switching to php-fpm and mod_proxy_fcgi as per Apache httpd recommendations !!!"
.endif
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:NOASLR}
.if ${PORT_OPTIONS:MCLI}
ELF_FEATURES+=+noaslr:sapi/cli/php
.endif
.if ${PORT_OPTIONS:MCGI}
ELF_FEATURES+=+noaslr:sapi/cgi/php-cgi
.endif
.if ${PORT_OPTIONS:MPHPDBG}
ELF_FEATURES+=+noaslr:sapi/phpdbg/phpdbg
.endif
.if ${PORT_OPTIONS:MFPM}
ELF_FEATURES+=+noaslr:sapi/fpm/php-fpm
.endif
.endif
.include <bsd.port.pre.mk>
.if ${ARCH} == riscv64
CONFIGURE_ARGS+= --without-pcre-jit
.endif
.if ${PORT_OPTIONS:MPHPDBG} && ${PORT_OPTIONS:MDEBUG}
CONFIGURE_ARGS+= --enable-phpdbg-debug
.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" \
OPENSSL_CFLAGS="-I${OPENSSLINC}" \
OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \
PHP_OPENSSL=yes
post-patch:
@${TOUCH} ${WRKSRC}/ext/php_config.h
post-patch-FPM-on:
@${REINPLACE_CMD} -e "s|^;\(pid\)|\1|;s|^;\(pm\.[a-z_]*_servers\)|\1|" \
${WRKSRC}/sapi/fpm/php-fpm.conf.in
pre-configure:
@(cd ${WRKSRC} && ${SETENV} MAKE=${MAKE_CMD} ./buildconf --force)
.if !defined(PKGNAMEPREFIX)
post-build:
@${ECHO_CMD} "PHP_VER=${PHP_VER}" > ${WRKDIR}/php.conf
@${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
@${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${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
@${ECHO_CMD} "PHP_EXT_INC=hash json openssl pcre random spl" >> ${WRKDIR}/php.conf
test: build
@(cd ${WRKSRC} && ${MAKE} test)
post-install:
${INSTALL_DATA} ${WRKSRC}/php.ini-development ${WRKSRC}/php.ini-production \
${WRKDIR}/php.conf ${STAGEDIR}/${PREFIX}/etc
post-install-CGI-on:
${STRIP_CMD} ${STAGEDIR}/${PREFIX}/bin/php-cgi
post-install-CLI-on:
${STRIP_CMD} ${STAGEDIR}/${PREFIX}/bin/php
post-install-EMBED-on:
${STRIP_CMD} ${STAGEDIR}/${PREFIX}/lib/libphp.so
post-install-FPM-on:
${STRIP_CMD} ${STAGEDIR}/${PREFIX}/sbin/php-fpm
post-install-PHPDBG-on:
${STRIP_CMD} ${STAGEDIR}/${PREFIX}/bin/phpdbg
.else
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
${INSTALL_LIB} ${WRKSRC}/libs/${MODULENAME}.so \
${STAGEDIR}${PREFIX}/${APACHEMODDIR}
.endif
.else
COMMENT= The ${PHP_MODNAME} shared extension for php
USES+= php:ext,noflavors
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
PHP_VER= 84
IGNORE_WITH_PHP= 81 82 83
EXTSUBDIR= ${DISTNAME}/ext/${PHP_MODNAME}
WRKSRC= ${WRKDIR}/${EXTSUBDIR}
PATCHDIR= ${.CURDIR}/files
PLIST= ${NONEXISTENT}
EXTRACT_AFTER_ARGS?= ${EXTSUBDIR}
TEST_TARGET= test
.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 FLATFILE GDBM INIFILE LMDB QDBM TOKYO
OPTIONS_DEFAULT= CDB FLATFILE INIFILE
CDB_DESC= cdb database support
DB4_DESC= Berkeley DB4 support
FLATFILE_DESC= flatfile support
GDBM_DESC= GDBM database support
INIFILE_DESC= INI file support
LMDB_DESC= LMDB database support
QDBM_DESC= QDBM database support
TOKYO_DESC= Tokyo Cabinet database support
CDB_CONFIGURE_OFF= --without-cdb
DB4_CONFIGURE_ON= --with-db4=${LOCALBASE}
DB4_USES= bdb
DB4_VARS= WITH_BDB_HIGHEST=yes
FLATFILE_CONFIGURE_ON= --disable-flatfile
GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm
GDBM_CONFIGURE_ARGS= --with-gdbm=${LOCALBASE}
INIFILE_CONFIGURE_OFF= --disable-inifile
LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb
LMDB_CONFIGURE_ARGS= --with-lmdb=${LOCALBASE}
QDBM_LIB_DEPENDS= libqdbm.so:databases/qdbm
QDBM_CONFIGURE_ARGS= --with-qdbm=${LOCALBASE}
TOKYO_LIB_DEPENDS= libtokyocabinet.so:databases/tokyocabinet
TOKYO_CONFIGURE_ON= --with-tcadb=${LOCALBASE}
PHP_HEADER_DIRS= libcdb libflatfile libinifile
.endif
.if ${PHP_MODNAME} == "dom"
CONFIGURE_ARGS+= --enable-dom
USES+= pkgconfig
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "enchant"
LIB_DEPENDS+= libenchant-2.so:textproc/enchant2
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+= --with-ffi
.endif
.if ${PHP_MODNAME} == "fileinfo"
CONFIGURE_ARGS+= --enable-fileinfo
PHP_HEADER_DIRS= libmagic
.endif
.if ${PHP_MODNAME} == "filter"
CONFIGURE_ARGS+= --enable-filter
.endif
.if ${PHP_MODNAME} == "ftp"
CONFIGURE_ARGS+= --enable-ftp
CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \
OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \
PHP_OPENSSL=yes
LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
USES+= pkgconfig ssl
.endif
.if ${PHP_MODNAME} == "gd"
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libgd.so:graphics/gd \
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= JIS WEBP X11
JIS_DESC= Enable JIS-mapped Japanese font support
WEBP_DESC= Enable WebP image format support
X11_DESC= Enable XPM support
JIS_CONFIGURE_ON= --enable-gd-jis-conv
WEBP_CONFIGURE_ON= --with-webp
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
X11_CONFIGURE_ON= --with-xpm
X11_USE= XORG=xpm
X11_USES= xorg
.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} == "intl"
LIB_DEPENDS= libicui18n.so:devel/icu
USES+= pkgconfig
CPPFLAGS+= -DU_USING_ICU_NAMESPACE=1
.endif
.if ${PHP_MODNAME} == "ldap"
LIB_DEPENDS+=libsasl2.so:security/cyrus-sasl2
CONFIGURE_ARGS+=--with-ldap=${LOCALBASE} --with-ldap-sasl=${LOCALBASE}
USES+= ldap
.endif
.if ${PHP_MODNAME} == "mbstring"
CONFIGURE_ARGS+= --enable-mbstring
OPTIONS_DEFINE= REGEX
OPTIONS_DEFAULT= REGEX
REGEX_DESC= Enable multibyte regex support
REGEX_LIB_DEPENDS= libonig.so:devel/oniguruma
REGEX_CONFIGURE_OFF= --disable-mbregex
PHP_HEADER_DIRS= libmbfl libmbfl/filters libmbfl/mbfl libmbfl/nls
.endif
.if ${PHP_MODNAME} == "mysqli"
CONFIGURE_ARGS+= --with-mysqli
.endif
.if ${PHP_MODNAME} == "odbc"
LIB_DEPENDS+= libodbc.so:databases/unixODBC
CONFIGURE_ARGS+= --with-unixODBC=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "opcache"
# This is needed by Zend extensions, keep before everything.
PHP_MOD_PRIO= 10
CONFIGURE_ARGS+= --enable-opcache
.endif
.if ${PHP_MODNAME} == "pcntl"
CONFIGURE_ARGS+= --enable-pcntl
.endif
.if ${PHP_MODNAME} == "pdo"
CONFIGURE_ARGS+= --enable-pdo
.endif
.if ${PHP_MODNAME} == "pdo_dblib"
CONFIGURE_ARGS+= --with-pdo-dblib=${LOCALBASE}
USE_PHP= pdo:build
OPTIONS_DEFINE= MSSQL
MSSQL_DESC= Enable Microsoft SQL Server support
MSSQL_LIB_DEPENDS= libsybdb.so:databases/freetds
MSSQL_LIB_DEPENDS_OFF= libct.so:databases/freetds
.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
MYSQLND_CONFIGURE_ON= --with-pdo-mysql=mysqlnd
MYSQLND_CONFIGURE_OFF= --with-pdo-mysql=${LOCALBASE} \
--with-zlib-dir=/usr
MYSQLND_USES_OFF= mysql
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
.endif
.if ${PHP_MODNAME} == "posix"
CONFIGURE_ARGS+= --enable-posix
.endif
.if ${PHP_MODNAME} == "readline"
CONFIGURE_ARGS+=--with-libedit
USES+= libedit
.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
USES+= pkgconfig
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "snmp"
CONFIGURE_ARGS+= --with-snmp=${LOCALBASE}
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
USES+= pkgconfig
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "sockets"
CONFIGURE_ARGS+= --enable-sockets
CONFIGURE_ENV+= LOCAL_CREDS_PERSISTENT=yes
.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+= libtidy5.so:www/tidy-html5
.endif
.if ${PHP_MODNAME} == "tokenizer"
CONFIGURE_ARGS+= --enable-tokenizer
.endif
.if ${PHP_MODNAME} == "xml"
CONFIGURE_ARGS+= --enable-xml
USES+= pkgconfig
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "xmlreader"
CONFIGURE_ARGS+= --enable-xmlreader
USE_GNOME= libxml2
USE_PHP= dom:build
.endif
.if ${PHP_MODNAME} == "xmlwriter"
CONFIGURE_ARGS+= --enable-xmlwriter
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+= --with-zip
USES+= pkgconfig
.endif
.if ${PHP_MODNAME} == "zlib"
CONFIGURE_ARGS+= --with-zlib=/usr
USES+= pkgconfig
.endif
.include <bsd.port.pre.mk>
.if ${ARCH} == aarch64 && ${PHP_MODNAME} == "opcache"
CONFIGURE_ARGS+=--disable-opcache-jit
.endif
.if ${PHP_MODNAME} == "soap"
post-extract:
@${MKDIR} ${WRKSRC}/ext/session
@${CP} ${FILESDIR}/php_session.h ${WRKSRC}/ext/session
.endif
.if ${PHP_MODNAME} == "sqlite3" || ${PHP_MODNAME} == "zlib"
post-extract:
@${MV} ${WRKSRC}/config0.m4 ${WRKSRC}/config.m4
.endif
.if ${PHP_MODNAME} == "xml"
post-extract:
@${MKDIR} ${WRKSRC}/ext/xml
@${CP} ${WRKSRC}/expat_compat.h ${WRKSRC}/ext/xml
.endif
.endif
.include <bsd.port.post.mk>

3
lang/php84/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1722128373
SHA256 (php-8.4.0alpha1.tar.xz) = 65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e
SIZE (php-8.4.0alpha1.tar.xz) = 13351016

View File

@ -0,0 +1,11 @@
--- TSRM/TSRM.c.orig 2024-07-02 13:43:13 UTC
+++ TSRM/TSRM.c
@@ -792,7 +792,7 @@ TSRM_API size_t tsrm_get_ls_cache_tcb_offset(void)
asm ("leal _tsrm_ls_cache@ntpoff,%0"
: "=r" (ret));
return ret;
-#elif defined(__aarch64__)
+#elif defined(__aarch64__) && !defined(__FreeBSD__)
size_t ret;
# ifdef __APPLE__

View File

@ -0,0 +1,19 @@
--- build/Makefile.global.orig 2024-07-02 13:43:13 UTC
+++ build/Makefile.global
@@ -91,14 +91,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) \

View File

@ -0,0 +1,27 @@
--- configure.ac.orig 2024-07-02 13:43:13 UTC
+++ configure.ac
@@ -56,6 +56,7 @@ AH_BOTTOM([
#include <string.h>
+#include <ext/php_config.h>
#endif /* PHP_CONFIG_H */
])
@@ -265,7 +266,6 @@ AS_VAR_APPEND([CPPFLAGS], [" -D_GNU_SOURCE"])
dnl require extensions to C and POSIX.
AS_VAR_APPEND([CPPFLAGS], [" -D_GNU_SOURCE"])
-PTHREADS_CHECK
PHP_HELP_SEPARATOR([SAPI modules:])
PHP_SHLIB_SUFFIX_NAMES
PHP_BUILD_PROGRAM
@@ -1425,7 +1425,7 @@ EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=`eval echo "$PHP_CON
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

View File

@ -0,0 +1,46 @@
--- ext/hash/xxhash/xxhash.h.orig 2023-06-06 15:54:29 UTC
+++ ext/hash/xxhash/xxhash.h
@@ -3078,22 +3078,32 @@ enum XXH_VECTOR_TYPE /* fake enum */ {
* inconsistent intrinsics, spotty coverage, and multiple endiannesses.
*/
#if XXH_VECTOR == XXH_VSX
+/* Annoyingly, these headers _may_ define three macros: `bool`, `vector`,
+ * and `pixel`. This is a problem for obvious reasons.
+ *
+ * These keywords are unnecessary; the spec literally says they are
+ * equivalent to `__bool`, `__vector`, and `__pixel` and may be undef'd
+ * after including the header.
+ *
+ * We use pragma push_macro/pop_macro to keep the namespace clean. */
+# pragma push_macro("bool")
+# pragma push_macro("vector")
+# pragma push_macro("pixel")
+/* silence potential macro redefined warnings */
+# undef bool
+# undef vector
+# undef pixel
+
# if defined(__s390x__)
# include <s390intrin.h>
# else
-/* gcc's altivec.h can have the unwanted consequence to unconditionally
- * #define bool, vector, and pixel keywords,
- * with bad consequences for programs already using these keywords for other purposes.
- * The paragraph defining these macros is skipped when __APPLE_ALTIVEC__ is defined.
- * __APPLE_ALTIVEC__ is _generally_ defined automatically by the compiler,
- * but it seems that, in some cases, it isn't.
- * Force the build macro to be defined, so that keywords are not altered.
- */
-# if defined(__GNUC__) && !defined(__APPLE_ALTIVEC__)
-# define __APPLE_ALTIVEC__
-# endif
# include <altivec.h>
# endif
+
+/* Restore the original macro values, if applicable. */
+# pragma pop_macro("pixel")
+# pragma pop_macro("vector")
+# pragma pop_macro("bool")
typedef __vector unsigned long long xxh_u64x2;
typedef __vector unsigned char xxh_u8x16;

View File

@ -0,0 +1,11 @@
--- ext/pcre/php_pcre.h.orig 2024-07-28 11:55:02 UTC
+++ ext/pcre/php_pcre.h
@@ -20,7 +20,7 @@
#ifdef HAVE_BUNDLED_PCRE
#include "pcre2lib/pcre2.h"
#else
-#include "pcre2.h"
+#include <pcre2.h>
#endif
#include <locale.h>

View File

@ -0,0 +1,11 @@
--- sapi/apache2handler/config.m4.orig 2024-07-02 13:43:13 UTC
+++ sapi/apache2handler/config.m4
@@ -62,7 +62,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 php"

View File

@ -0,0 +1,11 @@
--- sapi/fpm/config.m4.orig 2024-07-02 13:43:13 UTC
+++ sapi/fpm/config.m4
@@ -271,7 +271,7 @@ AC_DEFUN([PHP_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

View File

@ -0,0 +1,17 @@
--- sapi/fpm/www.conf.in.orig 2023-03-14 16:11:05 UTC
+++ sapi/fpm/www.conf.in
@@ -32,10 +32,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

102
lang/php84/files/php_fpm.in Normal file
View File

@ -0,0 +1,102 @@
#!/bin/sh
# PROVIDE: php_fpm
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable php-fpm:
# php_fpm_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable php-fpm
# php_fpm_profiles (str): Set to "" by default.
# Define your profiles here.
# php_fpm_pid_prefix (str): Set to "" by default.
# When using profiles manually assign value to "php_fpm_"
# for prevent collision with other PIDs names.
. /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"
command="%%PREFIX%%/sbin/php-fpm"
configtest_cmd="php_fpm_checkconfig"
_pidprefix="/var/run"
pidfile="${_pidprefix}/php-fpm.pid"
required_files="%%PREFIX%%/etc/php-fpm.conf"
load_rc_config "${name}"
: ${php_fpm_enable="NO"}
: ${php_fpm_umask=""}
: ${php_fpm_svcj_options:="net_basic"}
if [ -n "$2" ]; then
profile="$2"
if [ "x${php_fpm_profiles}" != "x" ]; then
pidfile="${_pidprefix}/${php_fpm_pid_prefix}php-fpm-${profile}.pid"
eval php_fpm_configfile="\${php_fpm_${profile}_configfile:-}"
if [ "x${php_fpm_configfile}" = "x" ]; then
echo "You must define a configuration file (php_fpm_${profile}_configfile)"
exit 1
fi
required_files="${php_fpm_configfile}"
eval php_fpm_enable="\${php_fpm_${profile}_enable:-${php_fpm_enable}}"
php_fpm_flags="-y ${php_fpm_configfile} -g ${pidfile}"
else
echo "$0: extra argument ignored"
fi
else
if [ "x${php_fpm_profiles}" != "x" -a "x$1" != "x" ]; then
for profile in ${php_fpm_profiles}; do
echo "===> php_fpm profile: ${profile}"
/usr/local/etc/rc.d/php-fpm $1 ${profile}
retcode="$?"
if [ "0${retcode}" -ne 0 ]; then
failed="${profile} (${retcode}) ${failed:-}"
else
success="${profile} ${success:-}"
fi
done
exit 0
fi
fi
extra_commands="reload configtest logrotate"
sig_stop="QUIT"
sig_reload="USR2"
logrotate_cmd="php_fpm_logrotate"
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} ${php_fpm_flags} -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"

View File

@ -0,0 +1,328 @@
/*
+----------------------------------------------------------------------+
| Copyright (c) The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| https://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: Sascha Schumann <sascha@schumann.cx> |
+----------------------------------------------------------------------+
*/
#ifndef PHP_SESSION_H
#define PHP_SESSION_H
#include "ext/standard/php_var.h"
#include "ext/random/php_random.h"
#define PHP_SESSION_API 20161017
#include "php_version.h"
#define PHP_SESSION_VERSION PHP_VERSION
/* save handler macros */
#define PS_OPEN_ARGS void **mod_data, const char *save_path, const char *session_name
#define PS_CLOSE_ARGS void **mod_data
#define PS_READ_ARGS void **mod_data, zend_string *key, zend_string **val, zend_long maxlifetime
#define PS_WRITE_ARGS void **mod_data, zend_string *key, zend_string *val, zend_long maxlifetime
#define PS_DESTROY_ARGS void **mod_data, zend_string *key
#define PS_GC_ARGS void **mod_data, zend_long maxlifetime, zend_long *nrdels
#define PS_CREATE_SID_ARGS void **mod_data
#define PS_VALIDATE_SID_ARGS void **mod_data, zend_string *key
#define PS_UPDATE_TIMESTAMP_ARGS void **mod_data, zend_string *key, zend_string *val, zend_long maxlifetime
typedef struct ps_module_struct {
const char *s_name;
zend_result (*s_open)(PS_OPEN_ARGS);
zend_result (*s_close)(PS_CLOSE_ARGS);
zend_result (*s_read)(PS_READ_ARGS);
zend_result (*s_write)(PS_WRITE_ARGS);
zend_result (*s_destroy)(PS_DESTROY_ARGS);
zend_long (*s_gc)(PS_GC_ARGS);
zend_string *(*s_create_sid)(PS_CREATE_SID_ARGS);
zend_result (*s_validate_sid)(PS_VALIDATE_SID_ARGS);
zend_result (*s_update_timestamp)(PS_UPDATE_TIMESTAMP_ARGS);
} ps_module;
#define PS_GET_MOD_DATA() *mod_data
#define PS_SET_MOD_DATA(a) *mod_data = (a)
#define PS_OPEN_FUNC(x) zend_result ps_open_##x(PS_OPEN_ARGS)
#define PS_CLOSE_FUNC(x) zend_result ps_close_##x(PS_CLOSE_ARGS)
#define PS_READ_FUNC(x) zend_result ps_read_##x(PS_READ_ARGS)
#define PS_WRITE_FUNC(x) zend_result ps_write_##x(PS_WRITE_ARGS)
#define PS_DESTROY_FUNC(x) zend_result ps_delete_##x(PS_DESTROY_ARGS)
#define PS_GC_FUNC(x) zend_long ps_gc_##x(PS_GC_ARGS)
#define PS_CREATE_SID_FUNC(x) zend_string *ps_create_sid_##x(PS_CREATE_SID_ARGS)
#define PS_VALIDATE_SID_FUNC(x) zend_result ps_validate_sid_##x(PS_VALIDATE_SID_ARGS)
#define PS_UPDATE_TIMESTAMP_FUNC(x) zend_result ps_update_timestamp_##x(PS_UPDATE_TIMESTAMP_ARGS)
/* Legacy save handler module definitions */
#define PS_FUNCS(x) \
PS_OPEN_FUNC(x); \
PS_CLOSE_FUNC(x); \
PS_READ_FUNC(x); \
PS_WRITE_FUNC(x); \
PS_DESTROY_FUNC(x); \
PS_GC_FUNC(x); \
PS_CREATE_SID_FUNC(x)
#define PS_MOD(x) \
#x, ps_open_##x, ps_close_##x, ps_read_##x, ps_write_##x, \
ps_delete_##x, ps_gc_##x, php_session_create_id, \
php_session_validate_sid, php_session_update_timestamp
/* Legacy SID creation enabled save handler module definitions */
#define PS_FUNCS_SID(x) \
PS_OPEN_FUNC(x); \
PS_CLOSE_FUNC(x); \
PS_READ_FUNC(x); \
PS_WRITE_FUNC(x); \
PS_DESTROY_FUNC(x); \
PS_GC_FUNC(x); \
PS_CREATE_SID_FUNC(x); \
PS_VALIDATE_SID_FUNC(x); \
PS_UPDATE_TIMESTAMP_FUNC(x);
#define PS_MOD_SID(x) \
#x, ps_open_##x, ps_close_##x, ps_read_##x, ps_write_##x, \
ps_delete_##x, ps_gc_##x, ps_create_sid_##x, \
php_session_validate_sid, php_session_update_timestamp
/* Update timestamp enabled save handler module definitions
New save handlers should use this API */
#define PS_FUNCS_UPDATE_TIMESTAMP(x) \
PS_OPEN_FUNC(x); \
PS_CLOSE_FUNC(x); \
PS_READ_FUNC(x); \
PS_WRITE_FUNC(x); \
PS_DESTROY_FUNC(x); \
PS_GC_FUNC(x); \
PS_CREATE_SID_FUNC(x); \
PS_VALIDATE_SID_FUNC(x); \
PS_UPDATE_TIMESTAMP_FUNC(x);
#define PS_MOD_UPDATE_TIMESTAMP(x) \
#x, ps_open_##x, ps_close_##x, ps_read_##x, ps_write_##x, \
ps_delete_##x, ps_gc_##x, ps_create_sid_##x, \
ps_validate_sid_##x, ps_update_timestamp_##x
typedef enum {
php_session_disabled,
php_session_none,
php_session_active
} php_session_status;
typedef struct _php_session_rfc1867_progress {
size_t sname_len;
zval sid;
smart_str key;
zend_long update_step;
zend_long next_update;
double next_update_time;
bool cancel_upload;
bool apply_trans_sid;
size_t content_length;
zval data; /* the array exported to session data */
zval files; /* data["files"] array */
zval *post_bytes_processed; /* data["bytes_processed"] */
zval *current_file_bytes_processed;
zval current_file; /* array of currently uploading file */
} php_session_rfc1867_progress;
typedef struct _php_ps_globals {
char *save_path;
char *session_name;
zend_string *id;
char *extern_referer_chk;
char *cache_limiter;
zend_long cookie_lifetime;
char *cookie_path;
char *cookie_domain;
char *cookie_samesite;
bool cookie_secure;
bool cookie_httponly;
const ps_module *mod;
const ps_module *default_mod;
void *mod_data;
php_session_status session_status;
zend_string *session_started_filename;
uint32_t session_started_lineno;
int module_number;
php_random_status_state_pcgoneseq128xslrr64 random_state;
php_random_algo_with_state random;
zend_long gc_probability;
zend_long gc_divisor;
zend_long gc_maxlifetime;
zend_long cache_expire;
struct {
zval ps_open;
zval ps_close;
zval ps_read;
zval ps_write;
zval ps_destroy;
zval ps_gc;
zval ps_create_sid;
zval ps_validate_sid;
zval ps_update_timestamp;
} mod_user_names;
zend_string *mod_user_class_name;
bool mod_user_implemented;
bool mod_user_is_open;
bool auto_start;
bool use_cookies;
bool use_only_cookies;
bool use_trans_sid; /* contains the INI value of whether to use trans-sid */
bool send_cookie;
bool define_sid;
const struct ps_serializer_struct *serializer;
zval http_session_vars;
zend_long sid_length;
zend_long sid_bits_per_character;
php_session_rfc1867_progress *rfc1867_progress;
char *rfc1867_prefix; /* session.upload_progress.prefix */
char *rfc1867_name; /* session.upload_progress.name */
zend_long rfc1867_freq; /* session.upload_progress.freq */
double rfc1867_min_freq; /* session.upload_progress.min_freq */
bool rfc1867_enabled; /* session.upload_progress.enabled */
bool rfc1867_cleanup; /* session.upload_progress.cleanup */
bool use_strict_mode; /* whether or not PHP accepts unknown session ids */
bool lazy_write; /* omit session write when it is possible */
bool in_save_handler; /* state if session is in save handler or not */
bool set_handler; /* state if session module i setting handler or not */
zend_string *session_vars; /* serialized original session data */
} php_ps_globals;
typedef php_ps_globals zend_ps_globals;
extern zend_module_entry session_module_entry;
#define phpext_session_ptr &session_module_entry
#ifdef ZTS
#define PS(v) ZEND_TSRMG(ps_globals_id, php_ps_globals *, v)
#ifdef COMPILE_DL_SESSION
ZEND_TSRMLS_CACHE_EXTERN()
#endif
#else
#define PS(v) (ps_globals.v)
#endif
#define PS_SERIALIZER_ENCODE_ARGS void
#define PS_SERIALIZER_DECODE_ARGS const char *val, size_t vallen
typedef struct ps_serializer_struct {
const char *name;
zend_string *(*encode)(PS_SERIALIZER_ENCODE_ARGS);
zend_result (*decode)(PS_SERIALIZER_DECODE_ARGS);
} ps_serializer;
#define PS_SERIALIZER_ENCODE_NAME(x) ps_srlzr_encode_##x
#define PS_SERIALIZER_DECODE_NAME(x) ps_srlzr_decode_##x
#define PS_SERIALIZER_ENCODE_FUNC(x) \
zend_string *PS_SERIALIZER_ENCODE_NAME(x)(PS_SERIALIZER_ENCODE_ARGS)
#define PS_SERIALIZER_DECODE_FUNC(x) \
zend_result PS_SERIALIZER_DECODE_NAME(x)(PS_SERIALIZER_DECODE_ARGS)
#define PS_SERIALIZER_FUNCS(x) \
PS_SERIALIZER_ENCODE_FUNC(x); \
PS_SERIALIZER_DECODE_FUNC(x)
#define PS_SERIALIZER_ENTRY(x) \
{ #x, PS_SERIALIZER_ENCODE_NAME(x), PS_SERIALIZER_DECODE_NAME(x) }
/* default create id function */
PHPAPI zend_string *php_session_create_id(PS_CREATE_SID_ARGS);
/* Dummy PS module functions */
PHPAPI zend_result php_session_validate_sid(PS_VALIDATE_SID_ARGS);
PHPAPI zend_result php_session_update_timestamp(PS_UPDATE_TIMESTAMP_ARGS);
PHPAPI void session_adapt_url(const char *url, size_t url_len, char **new_url, size_t *new_len);
PHPAPI zend_result php_session_destroy(void);
PHPAPI void php_add_session_var(zend_string *name);
PHPAPI zval *php_set_session_var(zend_string *name, zval *state_val, php_unserialize_data_t *var_hash);
PHPAPI zval *php_get_session_var(zend_string *name);
PHPAPI zval* php_get_session_var_str(const char *name, size_t name_len);
PHPAPI zend_result php_session_register_module(const ps_module *);
PHPAPI zend_result php_session_register_serializer(const char *name,
zend_string *(*encode)(PS_SERIALIZER_ENCODE_ARGS),
zend_result (*decode)(PS_SERIALIZER_DECODE_ARGS));
PHPAPI zend_result php_session_start(void);
PHPAPI zend_result php_session_flush(int write);
PHPAPI php_session_status php_get_session_status(void);
PHPAPI const ps_module *_php_find_ps_module(const char *name);
PHPAPI const ps_serializer *_php_find_ps_serializer(const char *name);
PHPAPI zend_result php_session_valid_key(const char *key);
PHPAPI zend_result php_session_reset_id(void);
#define PS_ADD_VARL(name) do { \
php_add_session_var(name); \
} while (0)
#define PS_ADD_VAR(name) PS_ADD_VARL(name)
#define PS_DEL_VARL(name) do { \
if (!Z_ISNULL(PS(http_session_vars))) { \
zend_hash_del(Z_ARRVAL(PS(http_session_vars)), name); \
} \
} while (0)
#define PS_ENCODE_VARS \
zend_string *key; \
zend_ulong num_key; \
zval *struc;
#define PS_ENCODE_LOOP(code) do { \
HashTable *_ht = Z_ARRVAL_P(Z_REFVAL(PS(http_session_vars))); \
ZEND_HASH_FOREACH_KEY(_ht, num_key, key) { \
if (key == NULL) { \
php_error_docref(NULL, E_WARNING, \
"Skipping numeric key " ZEND_LONG_FMT, num_key);\
continue; \
} \
if ((struc = php_get_session_var(key))) { \
code; \
} \
} ZEND_HASH_FOREACH_END(); \
} while(0)
PHPAPI ZEND_EXTERN_MODULE_GLOBALS(ps)
void php_session_auto_start(void *data);
extern PHPAPI zend_class_entry *php_session_class_entry;
extern PHPAPI zend_class_entry *php_session_iface_entry;
extern PHPAPI zend_class_entry *php_session_id_iface_entry;
extern PHPAPI zend_class_entry *php_session_update_timestamp_iface_entry;
extern PHP_METHOD(SessionHandler, open);
extern PHP_METHOD(SessionHandler, close);
extern PHP_METHOD(SessionHandler, read);
extern PHP_METHOD(SessionHandler, write);
extern PHP_METHOD(SessionHandler, destroy);
extern PHP_METHOD(SessionHandler, gc);
extern PHP_METHOD(SessionHandler, create_sid);
#endif

6
lang/php84/pkg-descr Normal file
View File

@ -0,0 +1,6 @@
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.

View File

@ -0,0 +1,24 @@
******************************************************************************
Consider switching to php-fpm and mod_fast_cgi as per Apache httpd project
recommendation. See https://cwiki.apache.org/confluence/display/HTTPD/PHP-FPM
******************************************************************************
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.
******************************************************************************
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>
******************************************************************************

321
lang/php84/pkg-plist Normal file
View File

@ -0,0 +1,321 @@
%%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/Optimizer/zend_call_graph.h
include/php/Zend/Optimizer/zend_cfg.h
include/php/Zend/Optimizer/zend_dfg.h
include/php/Zend/Optimizer/zend_dump.h
include/php/Zend/Optimizer/zend_func_info.h
include/php/Zend/Optimizer/zend_inference.h
include/php/Zend/Optimizer/zend_optimizer.h
include/php/Zend/Optimizer/zend_ssa.h
include/php/Zend/Optimizer/zend_worklist.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_atomic.h
include/php/Zend/zend_attributes.h
include/php/Zend/zend_attributes_arginfo.h
include/php/Zend/zend_bitset.h
include/php/Zend/zend_build.h
include/php/Zend/zend_builtin_functions.h
include/php/Zend/zend_builtin_functions_arginfo.h
include/php/Zend/zend_call_stack.h
include/php/Zend/zend_closures.h
include/php/Zend/zend_closures_arginfo.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_constants_arginfo.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_enum.h
include/php/Zend/zend_enum_arginfo.h
include/php/Zend/zend_errors.h
include/php/Zend/zend_exceptions.h
include/php/Zend/zend_exceptions_arginfo.h
include/php/Zend/zend_execute.h
include/php/Zend/zend_extensions.h
include/php/Zend/zend_fibers.h
include/php/Zend/zend_fibers_arginfo.h
include/php/Zend/zend_float.h
include/php/Zend/zend_frameless_function.h
include/php/Zend/zend_gc.h
include/php/Zend/zend_gdb.h
include/php/Zend/zend_generators.h
include/php/Zend/zend_generators_arginfo.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_hrtime.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_interfaces_arginfo.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_max_execution_timer.h
include/php/Zend/zend_mmap.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_observer.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_system_id.h
include/php/Zend/zend_type_info.h
include/php/Zend/zend_types.h
include/php/Zend/zend_variables.h
include/php/Zend/zend_verify_type_inference.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_lines.h
include/php/Zend/zend_vm_trace_map.h
include/php/Zend/zend_weakrefs.h
include/php/Zend/zend_weakrefs_arginfo.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/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_murmur.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
include/php/ext/hash/php_hash_xxhash.h
include/php/ext/hash/xxhash/xxhash.h
include/php/ext/json/php_json.h
include/php/ext/json/php_json_parser.h
include/php/ext/json/php_json_scanner.h
include/php/ext/libxml/php_libxml.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_vio.h
%%MYSQLND%%include/php/ext/mysqlnd/mysqlnd_wireprotocol.h
%%MYSQLND%%include/php/ext/mysqlnd/php_mysqlnd.h
%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/config.h
%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/pcre2.h
%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/pcre2_internal.h
%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/pcre2_intmodedep.h
%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/pcre2_jit_neon_inc.h
%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/pcre2_jit_simd_inc.h
%%BUNDLED_PCRE%%include/php/ext/pcre/pcre2lib/pcre2_ucp.h
include/php/ext/pcre/php_pcre.h
include/php/ext/random/php_random.h
include/php/ext/random/php_random_csprng.h
include/php/ext/random/php_random_uint128.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_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/basic_functions_arginfo.h
include/php/ext/standard/crc32.h
include/php/ext/standard/crc32_x86.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/datetime.h
include/php/ext/standard/dir_arginfo.h
include/php/ext/standard/dl.h
include/php/ext/standard/dl_arginfo.h
include/php/ext/standard/exec.h
include/php/ext/standard/file.h
include/php/ext/standard/file_arginfo.h
include/php/ext/standard/flock_compat.h
include/php/ext/standard/fsock.h
include/php/ext/standard/head.h
include/php/ext/standard/html.h
include/php/ext/standard/html_tables.h
include/php/ext/standard/info.h
include/php/ext/standard/md5.h
include/php/ext/standard/pack.h
include/php/ext/standard/pageinfo.h
include/php/ext/standard/password_arginfo.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_dir_int.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_http.h
include/php/ext/standard/php_image.h
include/php/ext/standard/php_incomplete_class.h
include/php/ext/standard/php_mail.h
include/php/ext/standard/php_math.h
include/php/ext/standard/php_math_round_mode.h
include/php/ext/standard/php_net.h
include/php/ext/standard/php_password.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_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/url.h
include/php/ext/standard/url_scanner_ex.h
include/php/ext/standard/user_filters_arginfo.h
include/php/ext/standard/winver.h
@touch include/php/ext/php_config.h
@rmempty 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/main_arginfo.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_ini_builder.h
include/php/main/php_main.h
include/php/main/php_memory_streams.h
include/php/main/php_network.h
include/php/main/php_odbc_utils.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_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
include/php/main/streams/userspace_arginfo.h
%%CLI%%include/php/sapi/cli/cli.h
%%EMBED%%include/php/sapi/embed/php_embed.h
%%EMBED%%lib/libphp.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/gen_stub.php
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%%share/man/man1/php-cgi.1.gz
share/man/man1/php-config.1.gz
%%CLI%%share/man/man1/php.1.gz
%%PHPDBG%%share/man/man1/phpdbg.1.gz
share/man/man1/phpize.1.gz
%%FPM%%share/man/man8/php-fpm.8.gz
%%FPM%%share/php/fpm/status.html

3
lang/php84/pkg-plist.mod Normal file
View File

@ -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

View File

@ -862,6 +862,8 @@
SUBDIR += php82-gmp
SUBDIR += php83-bcmath
SUBDIR += php83-gmp
SUBDIR += php84-gmp
SUBDIR += php84-bcmath
SUBDIR += physcalc
SUBDIR += picosat
SUBDIR += piranha

View File

@ -0,0 +1,7 @@
CATEGORIES= math
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -bcmath
.include "${MASTERDIR}/Makefile"

7
math/php84-gmp/Makefile Normal file
View File

@ -0,0 +1,7 @@
CATEGORIES= math
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -gmp
.include "${MASTERDIR}/Makefile"

View File

@ -387,6 +387,7 @@
SUBDIR += php81-calendar
SUBDIR += php82-calendar
SUBDIR += php83-calendar
SUBDIR += php84-calendar
SUBDIR += pinfo
SUBDIR += pipe
SUBDIR += posixtestsuite

View File

@ -0,0 +1,7 @@
CATEGORIES= misc
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -calendar
.include "${MASTERDIR}/Makefile"

View File

@ -295,6 +295,7 @@
SUBDIR += php81-snmp
SUBDIR += php82-snmp
SUBDIR += php83-snmp
SUBDIR += php84-snmp
SUBDIR += phpfpm_exporter
SUBDIR += phpipam
SUBDIR += ping_exporter

View File

@ -0,0 +1,7 @@
CATEGORIES= net-mgmt
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -snmp
.include "${MASTERDIR}/Makefile"

View File

@ -998,6 +998,9 @@
SUBDIR += php83-ldap
SUBDIR += php83-soap
SUBDIR += php83-sockets
SUBDIR += php84-ldap
SUBDIR += php84-soap
SUBDIR += php84-sockets
SUBDIR += phpldapadmin
SUBDIR += pichi
SUBDIR += pimcommon

7
net/php84-ldap/Makefile Normal file
View File

@ -0,0 +1,7 @@
CATEGORIES= net
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -ldap
.include "${MASTERDIR}/Makefile"

7
net/php84-soap/Makefile Normal file
View File

@ -0,0 +1,7 @@
CATEGORIES= net
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -soap
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= net
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -sockets
.include "${MASTERDIR}/Makefile"

View File

@ -825,6 +825,8 @@
SUBDIR += php82-sodium
SUBDIR += php83-filter
SUBDIR += php83-sodium
SUBDIR += php84-filter
SUBDIR += php84-sodium
SUBDIR += picocrypt
SUBDIR += picosha2
SUBDIR += pidgin-encryption

View File

@ -0,0 +1,7 @@
CATEGORIES= security
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -filter
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= security
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -sodium
.include "${MASTERDIR}/Makefile"

View File

@ -1019,6 +1019,8 @@
SUBDIR += php82-posix
SUBDIR += php83-fileinfo
SUBDIR += php83-posix
SUBDIR += php84-fileinfo
SUBDIR += php84-posix
SUBDIR += phybs
SUBDIR += pick
SUBDIR += pidof

View File

@ -0,0 +1,7 @@
CATEGORIES= sysutils
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -fileinfo
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= sysutils
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -posix
.include "${MASTERDIR}/Makefile"

View File

@ -1283,6 +1283,14 @@
SUBDIR += php83-xmlreader
SUBDIR += php83-xmlwriter
SUBDIR += php83-xsl
SUBDIR += php84-ctype
SUBDIR += php84-dom
SUBDIR += php84-enchant
SUBDIR += php84-simplexml
SUBDIR += php84-xml
SUBDIR += php84-xmlreader
SUBDIR += php84-xmlwriter
SUBDIR += php84-xsl
SUBDIR += pict
SUBDIR += po4a
SUBDIR += pod2mdoc

View File

@ -0,0 +1,7 @@
CATEGORIES= textproc
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -ctype
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= textproc
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -dom
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,12 @@
CATEGORIES= textproc
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -enchant
post-patch:
${REINPLACE_CMD} -e \
's|#include "../spl/spl_exceptions.h"|#include "ext/spl/spl_exceptions.h"|g' \
${WRKSRC}/enchant.c
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= textproc
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -simplexml
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= textproc
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -xml
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,13 @@
--- compat.c.orig 2023-06-06 15:54:29 UTC
+++ compat.c
@@ -14,6 +14,10 @@
+----------------------------------------------------------------------+
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include "php.h"
#if defined(HAVE_LIBXML) && (defined(HAVE_XML) || defined(HAVE_XMLRPC)) && !defined(HAVE_LIBEXPAT)
#include "expat_compat.h"

View File

@ -0,0 +1,7 @@
CATEGORIES= textproc
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -xmlreader
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= textproc
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -xmlwriter
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,12 @@
CATEGORIES= textproc
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -xsl
post-patch:
${REINPLACE_CMD} -e \
's|#include "../dom/xml_common.h"|#include "ext/dom/xml_common.h"|g' \
${WRKSRC}/php_xsl.h
.include "${MASTERDIR}/Makefile"

View File

@ -405,6 +405,7 @@
SUBDIR += mod_php81
SUBDIR += mod_php82
SUBDIR += mod_php83
SUBDIR += mod_php84
SUBDIR += mod_proctitle
SUBDIR += mod_qos
SUBDIR += mod_realdoc
@ -1401,6 +1402,9 @@
SUBDIR += php83-opcache
SUBDIR += php83-session
SUBDIR += php83-tidy
SUBDIR += php84-opcache
SUBDIR += php84-session
SUBDIR += php84-tidy
SUBDIR += phpbb3
SUBDIR += phpfpmtop
SUBDIR += phpgroupware

18
www/mod_php84/Makefile Normal file
View File

@ -0,0 +1,18 @@
CATEGORIES= www devel
PKGNAMEPREFIX= mod_
MAINTAINER= bofh@FreeBSD.org
CONFLICTS_INSTALL= mod_php[0-9][0-9]
MASTERDIR= ${.CURDIR}/../../lang/php84
OPTIONS_DEFINE= AP2FILTER
OPTIONS_EXCLUDE= CGI CLI EMBED FPM
AP2FILTER_DESC= Use Apache 2.x filter interface (experimental)
AP2FILTER_CONFIGURE_ON=--with-apxs2filter=${APXS}
AP2FILTER_CONFIGURE_OFF=--with-apxs2=${APXS}
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,11 @@
CATEGORIES= www
PKGNAMESUFFIX= -opcache
BROKEN= Missing header files which will be fixed in next version
USES= php:zend,noflavors
MASTERDIR= ${.CURDIR}/../../lang/php84
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,7 @@
CATEGORIES= www
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -session
.include "${MASTERDIR}/Makefile"

7
www/php84-tidy/Makefile Normal file
View File

@ -0,0 +1,7 @@
CATEGORIES= www
MASTERDIR= ${.CURDIR}/../../lang/php84
PKGNAMESUFFIX= -tidy
.include "${MASTERDIR}/Makefile"