Add php81 to the tree

Core:
  Fixed inclusion order for phpize builds on Windows.
  Added missing hashtable insertion APIs for arr/obj/ref.
  Implemented FR #77372 (Relative file path is removed from uploaded
  file).
  Fixed bug #81607 (CE_CACHE allocation with concurrent access).
  Fixed bug #81507 (Fiber does not compile on AIX).
  Fixed bug #78647 (SEGFAULT in zend_do_perform_implementation_check).
  Fixed bug #81518 (Header injection via default_mimetype / default_charset).
  Fixed bug #75941 (Fix compile failure on Solaris with clang).
  Fixed bug #81380 (Observer may not be initialized properly).
  Fixed bug #81514 (Using Enum as key in WeakMap triggers GC + SegFault).
  Fixed bug #81520 (TEST_PHP_CGI_EXECUTABLE badly set in run-tests.php).
  Fixed bug #81377 (unset() of $GLOBALS sub-key yields warning).
  Fixed bug #81342 (New ampersand token parsing depends on new line after it).
  Fixed bug #81280 (Unicode characters in cli.prompt causes segfault).
  Fixed bug #81192 ("Declaration should be compatible with" gives incorrect line number with traits).
  Fixed bug #78919 (CLI server: insufficient cleanup if request startup fails).
  Fixed bug #81303 (match error message improvements).
  Fixed bug #81238 (Fiber support missing for Solaris Sparc).
  Fixed bug #81237 (Comparison of fake closures doesn't work).
  Fixed bug #81202 (powerpc64 build fails on fibers).
  Fixed bug #80072 (Cyclic unserialize in TMPVAR operand may leak).
  Fixed bug #81163 (__sleep allowed to return non-array).
  Fixed bug #75474 (function scope static variables are not bound to a unique function).
  Fixed bug #53826 (__callStatic fired in base class through a parent call if the method is private).
  Fixed bug #81076 (incorrect debug info on Closures with implicit binds).
CLI:
  Fixed bug #81496 (Server logs incorrect request method).
COM:
  Dispatch using LANG_NEUTRAL instead of LOCALE_SYSTEM_DEFAULT.
Curl:
  Fixed bug #81085 (Support CURLOPT_SSLCERT_BLOB for cert strings).
Date:
  Fixed bug #81458 (Regression Incorrect difference after timezone change).
  Fixed bug #81500 (Interval serialization regression since 7.3.14 / 7.4.2).
  Fixed bug #81504 (Incorrect timezone transition details for POSIX data).
  Fixed bug #80998 (Missing second with inverted interval).
  Speed up finding timezone offset information.
  Fixed bug #79580 (date_create_from_format misses leap year).
  Fixed bug #80963 (DateTimeZone::getTransitions() truncated).
  Fixed bug #80974 (Wrong diff between 2 dates in different timezones).
  Fixed bug #80998 (Missing second with inverted interval).
  Fixed bug #81097 (DateTimeZone silently falls back to UTC when providing an offset with seconds).
  Fixed bug #81106 (Regression in 8.1: add() now truncate ->f).
  Fixed bug #81273 (Date interval calculation not correct).
  Fixed bug #52480 (Incorrect difference using DateInterval).
  Fixed bug #62326 (date_diff() function returns false result).
  Fixed bug #64992 (dst not handled past 2038).
  Fixed bug #65003 (Wrong date diff).
  Fixed bug #66545 (DateTime. diff returns negative values).
  Fixed bug #68503 (date_diff on two dates with timezone set localised returns wrong results).
  Fixed bug #69806 (Incorrect date from timestamp).
  Fixed bug #71700 (Extra day on diff between begin and end of march 2016).
  Fixed bug #71826 (DateTime::diff confuse on timezone 'Asia/Tokyo').
  Fixed bug #73460 (Datetime add not realising it already applied DST change).
  Fixed bug #74173 (DateTimeImmutable::getTimestamp() triggers DST switch in incorrect time).
  Fixed bug #74274 (Handling DST transitions correctly).
  Fixed bug #74524 (Date diff is bad calculated, in same time zone).
  Fixed bug #75167 (DateTime::add does only care about backward DST transition, not forward).
  Fixed bug #76032 (DateTime->diff having issues with leap days for timezones ahead of UTC).
  Fixed bug #76374 (Date difference varies according day time).
  Fixed bug #77571 (DateTime's diff DateInterval incorrect in timezones from UTC+01:00 to UTC+12:00).
  Fixed bug #78452 (diff makes wrong in hour for Asia/Tehran).
  Fixed bug #79452 (DateTime::diff() generates months differently between time zones).
  Fixed bug #79698 (timelib mishandles future timestamps (triggered by 'zic -b slim')).
  Fixed bug #79716 (Invalid date time created (with day "00")).
  Fixed bug #80610 (DateTime calculate wrong with DateInterval).
  Fixed bug #80664 (DateTime objects behave incorrectly around DST transition).
  Fixed bug #80913 (DateTime(Immutable)::sub around DST yield incorrect time).
DBA:
  Fixed bug #81588 (TokyoCabinet driver leaks memory).
DOM:
  Fixed bug #81433 (DOMElement::setIdAttribute() called twice may remove ID).
FFI:
  Fixed bug #79576 ("TYPE *" shows unhelpful message when type is not defined).
Filter:
  Fixed bug #61700 (FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE failing).
FPM:
  Fixed bug #81513 (Future possibility for heap overflow in FPM zlog).
  Fixed bug #81026 (PHP-FPM oob R/W in root process leading to privilege escalation) (CVE-2021-21703).
  Added openmetrics status format.
  Enable process renaming on macOS.
  Added pm.max_spawn_rate option to configure max spawn child processes rate.
  Fixed bug #65800 (Events port mechanism).
FTP:
  Convert resource<ftp> to object \FTP\Connection.
GD:
  Fixed bug #71316 (libpng warning from imagecreatefromstring).
  Convert resource<gd font> to object \GdFont.
  Added support for Avif images
hash:
  Implemented FR #68109 (Add MurmurHash V3).
  Implemented FR #73385 (Add xxHash support).
JSON:
        Fixed bug #81532 (Change of $depth behaviour in json_encode() on PHP 8.1).
LDAP:
  Convert resource<ldap link> to object \LDAP\Connection.
  Convert resource<ldap result> to object \LDAP\Result.
  Convert resource<ldap result entry> to object \LDAP\ResultEntry.
MBString:
  Fixed bug #76167 (mbstring may use pointer from some previous request).
  Fixed bug #81390 (mb_detect_encoding() regression).
  Fixed bug #81349 (mb_detect_encoding misdetcts ASCII in some cases).
  Fixed bug #81298 (mb_detect_encoding() segfaults when 7bit encoding is specified).
MySQLi:
  Fixed bug #70372 (Emulate mysqli_fetch_all() for libmysqlclient).
  Fixed bug #80330 (Replace language in APIs and source code/docs).
  Fixed bug #80329 (Add option to specify LOAD DATA LOCAL white list folder (including libmysql)).
MySQLnd:
  Fixed bug #63327 (Crash (Bus Error) in mysqlnd due to wrong alignment).
  Fixed bug #80761 (PDO uses too much memory).
Opcache:
  Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array).
  Fixed bug #81255 (Memory leak in PHPUnit with functional JIT).
  Fixed bug #80959 (infinite loop in building cfg during JIT compilation).
  Fixed bug #81225 (Wrong result with pow operator with JIT enabled).
  Fixed bug #81249 (Intermittent property assignment failure with JIT enabled).
  Fixed bug #81256 (Assertion `zv != ((void *)0)' failed for "preload" with JIT).
  Fixed bug #81133 (building opcache with phpize fails).
  Fixed bug #81136 (opcache header not installed).
  Added inheritance cache.
OpenSSL:
  Fixed bug #81502 ($tag argument of openssl_decrypt() should accept null/empty string).
  Bump minimal OpenSSL version to 1.0.2.
PCRE:
  Fixed bug #81424 (PCRE2 10.35 JIT performance regression).
  Bundled PCRE2 is 10.37.
PDO:
  Fixed bug #40913 (PDO_MYSQL: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB).
PDO MySQL:
  Fixed bug #80908 (PDO::lastInsertId() return wrong).
  Fixed bug #81037 (PDO discards error message text from prepared statement).
PDO OCI:
  Fixed bug #77120 (Support 'success with info' at connection).
PDO ODBC:
  Implement PDO_ATTR_SERVER_VERSION and PDO_ATTR_SERVER_INFO for PDO::getAttribute().
PDO PgSQL:
  Fixed bug #81343 (pdo_pgsql: Inconsitent boolean conversion after calling closeCursor()).
PDO SQLite:
  Fixed bug #38334 (Proper data-type support for PDO_SQLITE).
PgSQL:
  Fixed bug #81509 (pg_end_copy still expects a resource).
  Convert resource<pgsql link> to object \PgSql\Connection.
  Convert resource<pgsql result> to object \PgSql\Result.
  Convert resource<pgsql large object> to object \PgSql\Lob.
Phar:
  Use SHA256 by default for signature.
  Add support for OpenSSL_SHA256 and OpenSSL_SHA512 signature.
phpdbg:
  Fixed bug #81135 (unknown help topic causes assertion failure).
PSpell:
  Convert resource<pspell> to object \PSpell\Dictionary.
  Convert resource<pspell config> to object \PSpell\Config.
readline:
  Fixed bug #72998 (invalid read in readline completion).
Reflection:
  Fixed bug #81611 (ArgumentCountError when getting default value from ReflectionParameter with new).
  Fixed bug #81630 (PHP 8.1: ReflectionClass->getTraitAliases() crashes with Internal error).
  Fixed bug #81457 (Enum: ReflectionMethod->getDeclaringClass() return a ReflectionClass).
  Fixed bug #81474 (Make ReflectionEnum and related class non-final).
  Fixed bug #80821 (ReflectionProperty::getDefaultValue() returns current value for statics).
  Fixed bug #80564 (ReflectionProperty::__toString() renders current value, not default value).
  Fixed bug #80097 (ReflectionAttribute is not a Reflector).
  Fixed bug #81200 (no way to determine if Closure is static).
  Implement ReflectionFunctionAbstract::getClosureUsedVariables.
Shmop:
  Fixed bug #81407 (shmop_open won't attach and causes php to crash).
SimpleXML:
  Fixed bug #81325 (Segfault in zif_simplexml_import_dom).
SNMP:
  Implement SHA256 and SHA512 for security protocol.
Sodium:
  Added the XChaCha20 stream cipher functions.
  Added the Ristretto255 functions, which are available in libsodium 1.0.18.
SPL:
  Fixed bug #66588 (SplFileObject::fgetcsv incorrectly returns a row on premature EOF).
  Fixed bug #80663 (Recursive SplFixedArray::setSize() may cause double-free).
  Fixed bug #81477 (LimitIterator + SplFileObject regression in 8.0.1).
  Fixed bug #81112 (Special json_encode behavior for SplFixedArray).
  Fixed bug #80945 ("Notice: Undefined index" on unset() ArrayObject non-existing key).
  Fixed bug #80724 (FilesystemIterator::FOLLOW_SYMLINKS remove KEY_AS_FILE from bitmask).
Standard:
  Fixed bug #81441 (gethostbyaddr('::1') returns ip instead of name after calling some other method).
  Fixed bug #81491 (Incorrectly using libsodium for argon2 hashing).
  Fixed bug #81142 (PHP 7.3+ memory leak when unserialize() is used on an associative array).
  Fixed bug #81111 (Serialization is unexpectedly allowed on anonymous classes with __serialize()).
  Fixed bug #81137 (hrtime breaks build on OSX before Sierra).
  Fixed bug #77627 (method_exists on Closure::__invoke inconsistency).
Streams:
  Fixed bug #81475 (stream_isatty emits warning with attached stream wrapper).
XML:
  Fixed bug #79971 (special character is breaking the path in xml function) (CVE-2021-21707).
  Fixed bug #70962 (XML_OPTION_SKIP_WHITE strips embedded whitespace).
Zip:
  Fixed bug #81490 (ZipArchive::extractTo() may leak memory).
  Fixed bug #77978 (Dirname ending in colon unzips to wrong dir).
  Fixed bug #81420 (ZipArchive::extractTo extracts outside of destination) (CVE-2021-21706).
  Fixed bug #80833 (ZipArchive::getStream doesn't use setPassword).

FLAVORS won't be available untill it is added to the Uses framework
which can be followed up :
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260774

Relnotes: https://www.php.net/ChangeLog-8.php#8.1.1
Sponsored by:	Bounce Experts
This commit is contained in:
Muhammad Moinur Rahman 2021-12-28 20:09:08 -06:00
parent 0ecc22072e
commit 44e99def8d
110 changed files with 2337 additions and 0 deletions

View File

@ -162,9 +162,13 @@
SUBDIR += php74-zip
SUBDIR += php74-zlib
SUBDIR += php80-bz2
SUBDIR += php81-bz2
SUBDIR += php80-phar
SUBDIR += php81-phar
SUBDIR += php80-zip
SUBDIR += php81-zip
SUBDIR += php80-zlib
SUBDIR += php81-zlib
SUBDIR += pigz
SUBDIR += pixz
SUBDIR += plzip

View File

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

View File

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

View File

@ -0,0 +1,41 @@
--- config.m4.orig 2016-06-21 19:56:50 UTC
+++ config.m4
@@ -4,8 +4,38 @@ dnl config.m4 for extension phar
PHP_ARG_ENABLE(phar, for phar archive support,
[ --disable-phar Disable phar support], yes)
+PHP_ARG_WITH(pcre-dir, pcre install prefix,
+[ --with-pcre-dir PHAR: pcre install prefix], no, no)
+
+
if test "$PHP_PHAR" != "no"; then
+
+ dnl This is PECL build, check if bundled PCRE library is used
+ old_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS=$INCLUDES
+ AC_EGREP_CPP(yes,[
+#include <main/php_config.h>
+#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
+yes
+#endif
+ ],[
+ PHP_PCRE_REGEX=yes
+ ],[
+ AC_EGREP_CPP(yes,[
+#include <main/php_config.h>
+#if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
+yes
+#endif
+ ],[
+ PHP_PCRE_REGEX=pecl
+ PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
+ ],[
+ PHP_PCRE_REGEX=no
+ ])
+ ])
+
PHP_NEW_EXTENSION(phar, util.c tar.c zip.c stream.c func_interceptors.c dirstream.c phar.c phar_object.c phar_path_check.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
+ PHP_HASH=yes
AC_MSG_CHECKING([for phar openssl support])
if test "$PHP_HASH_SHARED" != "yes"; then
if test "$PHP_HASH" != "no"; then

View File

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

View File

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

View File

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

View File

@ -141,7 +141,9 @@
SUBDIR += php74-iconv
SUBDIR += php74-mbstring
SUBDIR += php80-iconv
SUBDIR += php81-iconv
SUBDIR += php80-mbstring
SUBDIR += php81-mbstring
SUBDIR += psiconv
SUBDIR += py-bencode.py
SUBDIR += py-bencoder

View File

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

View File

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

View File

@ -0,0 +1,44 @@
--- config.m4.orig 2019-08-06 06:54:10 UTC
+++ config.m4
@@ -37,6 +37,31 @@ AC_DEFUN([PHP_MBSTRING_EXTENSION], [
out="php_config.h"
+ dnl This is PECL build, check if bundled PCRE library is used
+ old_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS=$INCLUDES
+ AC_EGREP_CPP(yes,[
+#include <main/php_config.h>
+#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
+yes
+#endif
+ ],[
+ PHP_PCRE_REGEX=yes
+ ],[
+ AC_EGREP_CPP(yes,[
+#include <main/php_config.h>
+#if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
+yes
+#endif
+ ],[
+ PHP_PCRE_REGEX=pecl
+ PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
+ ],[
+ PHP_PCRE_REGEX=no
+ ])
+ ])
+
+
if test "$ext_shared" != "no" && test -f "$ext_builddir/config.h.in"; then
out="$abs_builddir/config.h"
fi
@@ -200,6 +225,9 @@ PHP_ARG_ENABLE([mbregex],
[yes],
[no])
+PHP_ARG_WITH(pcre-dir, pcre install prefix,
+[ --with-pcre-dir MBSTRING: pcre install prefix], no, no)
+
if test "$PHP_MBSTRING" != "no"; then
AC_DEFINE([HAVE_MBSTRING],1,[whether to have multibyte string support])

View File

@ -636,17 +636,29 @@
SUBDIR += php74-pgsql
SUBDIR += php74-sqlite3
SUBDIR += php80-dba
SUBDIR += php81-dba
SUBDIR += php80-mysqli
SUBDIR += php81-mysqli
SUBDIR += php80-odbc
SUBDIR += php81-odbc
SUBDIR += php80-pdo
SUBDIR += php81-pdo
SUBDIR += php80-pdo_dblib
SUBDIR += php81-pdo_dblib
SUBDIR += php80-pdo_firebird
SUBDIR += php81-pdo_firebird
SUBDIR += php80-pdo_mysql
SUBDIR += php81-pdo_mysql
SUBDIR += php80-pdo_odbc
SUBDIR += php81-pdo_odbc
SUBDIR += php80-pdo_pgsql
SUBDIR += php81-pdo_pgsql
SUBDIR += php80-pdo_sqlite
SUBDIR += php81-pdo_sqlite
SUBDIR += php80-pgsql
SUBDIR += php81-pgsql
SUBDIR += php80-sqlite3
SUBDIR += php81-sqlite3
SUBDIR += phpliteadmin
SUBDIR += phpminiadmin
SUBDIR += phpmyadmin

View File

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

View File

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

View File

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

View File

@ -0,0 +1,12 @@
--- mysqli_api.c.orig 2020-09-29 22:36:51 UTC
+++ mysqli_api.c
@@ -29,7 +29,9 @@
#include "zend_smart_str.h"
#include "php_mysqli_structs.h"
#include "mysqli_priv.h"
+#if defined(MYSQLI_USE_MYSQLND)
#include "ext/mysqlnd/mysql_float_to_double.h"
+#endif
#define ERROR_ARG_POS(arg_num) (getThis() ? (arg_num-1) : (arg_num))

View File

@ -0,0 +1,20 @@
--- 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
@@ -36,7 +36,7 @@
#define FALSE 0
#endif
-#ifdef MYSQLI_USE_MYSQLND
+#if defined(MYSQLI_USE_MYSQLND)
#include "ext/mysqlnd/mysqlnd.h"
#include "mysqli_mysqlnd.h"
#else
@@ -53,6 +53,8 @@
#undef HAVE_MBSTATE_T
#define WE_HAD_MBSTATE_T
#endif
+
+typedef zend_ulong ulong;
#if defined(ulong) && !defined(HAVE_ULONG)
#define HAVE_ULONG

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -4037,15 +4037,25 @@
SUBDIR += php74-sysvshm
SUBDIR += php74-tokenizer
SUBDIR += php80-ffi
SUBDIR += php81-ffi
SUBDIR += php80-gettext
SUBDIR += php81-gettext
SUBDIR += php80-intl
SUBDIR += php81-intl
SUBDIR += php80-pcntl
SUBDIR += php81-pcntl
SUBDIR += php80-readline
SUBDIR += php81-readline
SUBDIR += php80-shmop
SUBDIR += php81-shmop
SUBDIR += php80-sysvmsg
SUBDIR += php81-sysvmsg
SUBDIR += php80-sysvsem
SUBDIR += php81-sysvsem
SUBDIR += php80-sysvshm
SUBDIR += php81-sysvshm
SUBDIR += php80-tokenizer
SUBDIR += php81-tokenizer
SUBDIR += phpunit6
SUBDIR += phpunit7
SUBDIR += phpunit8

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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -60,7 +60,9 @@
SUBDIR += php74-curl
SUBDIR += php74-ftp
SUBDIR += php80-curl
SUBDIR += php81-curl
SUBDIR += php80-ftp
SUBDIR += php81-ftp
SUBDIR += phpwebftp
SUBDIR += proftpd
SUBDIR += proftpd-mod_vroot

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

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

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

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

View File

@ -766,7 +766,9 @@
SUBDIR += php74-exif
SUBDIR += php74-gd
SUBDIR += php80-exif
SUBDIR += php81-exif
SUBDIR += php80-gd
SUBDIR += php81-gd
SUBDIR += phplot
SUBDIR += picpuz
SUBDIR += piddle

View File

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

View File

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

View File

@ -0,0 +1,11 @@
--- gd.c.orig 2020-09-29 22:36:51 UTC
+++ gd.c
@@ -72,7 +72,7 @@ static int 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

View File

@ -263,7 +263,9 @@
SUBDIR += php74
SUBDIR += php74-extensions
SUBDIR += php80
SUBDIR += php81
SUBDIR += php80-extensions
SUBDIR += php81-extensions
SUBDIR += picoc
SUBDIR += plexil
SUBDIR += pocl

View File

@ -0,0 +1,91 @@
PORTNAME= php81
PORTVERSION= 1.0
CATEGORIES= lang
PKGNAMESUFFIX= -extensions
MAINTAINER= bofh@FreeBSD.org
COMMENT= "meta-port" to install PHP extensions
USES= metaport php
PHP_VER= 81
IGNORE_WITH_PHP= 73 74 80
OPTIONS_DEFINE= BCMATH BZ2 CALENDAR CTYPE CURL DBA DOM ENCHANT EXIF FFI \
FILEINFO FILTER FTP GD GETTEXT GMP ICONV IMAP INTL LDAP \
MBSTRING MYSQLI ODBC OPCACHE OPENSSL PCNTL 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 \
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
IMAP_DESC= IMAP 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
OPENSSL_DESC= OpenSSL 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
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
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,7 @@
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.
WWW: https://www.php.net/

662
lang/php81/Makefile Normal file
View File

@ -0,0 +1,662 @@
PORTNAME= php81
DISTVERSION= 8.1.1
PORTREVISION?= 0
CATEGORIES?= lang devel www
MASTER_SITES= PHP/distributions
DISTNAME= php-${DISTVERSION}
MAINTAINER= bofh@FreeBSD.org
COMMENT= PHP Scripting Language (8.1.X branch)
LICENSE= PHP301
USES+= compiler:c11 cpe gnome pkgconfig tar:xz
CPE_PRODUCT= php
PHP_VER= 81
.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-password-argon2=${LOCALBASE}
DESTDIRNAME= INSTALL_ROOT
USES+= autoreconf:build
USE_GNOME= libxml2
CPPFLAGS= -I${LOCALBASE}/include
# PR230207 Allow relocations against read-only segments (override lld default)
LDFLAGS_i386= -Wl,-z,notext
CONFLICTS= php73 php74 php80
OPTIONS_DEFINE+= CGI CLI DEBUG DTRACE EMBED FPM IPV6 LINKTHR \
MYSQL80 MYSQLND PHPDBG ZTS
OPTIONS_DEFAULT= CGI CLI DTRACE EMBED FPM LINKTHR MYSQLND
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_powerpc64= ${OPTIONS_EXCLUDE_${ARCH}_${OSREL:R}}
OPTIONS_EXCLUDE_powerpc64_11= DTRACE
OPTIONS_EXCLUDE_powerpc64_12= DTRACE
OPTIONS_EXCLUDE_riscv64= DTRACE
OPTIONS_EXCLUDE_sparc64= 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)
MYSQL80_DESC= Build with MySQL caching password mechanism
MYSQLND_DESC= Build with MySQL Native Driver
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
MYSQL80_USES= ssl
MYSQL80_CONFIGURE_ON= --with-openssl
MYSQL80_CONFIGURE_ENV= OPENSSL_CFLAGS="-I${OPENSSLINC}" \
OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \
PHP_OPENSSL=no
MYSQL80_LDFLAGS= -L${OPENSSLLIB} -lcrypto -lssl
MYSQLND_CONFIGURE_ON= --enable-mysqlnd
PHPDBG_CONFIGURE_ON= --enable-phpdbg
PHPDBG_VARS= PHP_SAPI+=phpdbg
ZTS_CONFIGURE_ON= --enable-zts
ZTS_CONFIGURE_ENV= pthreads_working="yes"
.include <bsd.port.pre.mk>
.if ${ARCH} == riscv64
CONFIGURE_ARGS+= --without-pcre-jit
.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= libphp
SHORTMODNAME= php
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: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"
.if ${PORT_OPTIONS:MMYSQL80}
WARNING= "PHP is now built with MySQL 8.0 support which has caching password mechanism. This implies ${PORTNAME}-openssl module. Hence ${PORTNAME}-openssl can no longer be installed alongside with ${PORTNAME}. If you require ${PORTNAME}-openssl module please rebuild ${PORTNAME} with MYSQL80 OPTION disabled. Otherwise remove ${PORTNAME}-openssl DEPENDENCY from ports."
.endif
post-patch:
@${TOUCH} ${WRKSRC}/ext/php_config.h
@${REINPLACE_CMD} "s|^\(extension_dir\)|; \1|" ${WRKSRC}/php.ini-*
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
post-build-MYSQL80-off:
@${ECHO_CMD} "PHP_EXT_INC=hash json pcre spl" >> ${WRKDIR}/php.conf
post-build-MYSQL80-on:
@${ECHO_CMD} "PHP_EXT_INC=hash json openssl pcre spl" >> ${WRKDIR}/php.conf
test: build
@(cd ${WRKSRC} && ${MAKE} test)
post-install:
${INSTALL_DATA} ${WRKSRC}/php.ini-development ${WRKSRC}/php.ini-production \
${WRKDIR}/php.conf ${STAGEDIR}/${PREFIX}/etc
.else
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
${INSTALL_LIB} ${WRKSRC}/libs/${MODULENAME}.so \
${STAGEDIR}${PREFIX}/${APACHEMODDIR}
.endif
.else
COMMENT= The ${PHP_MODNAME} shared extension for php
USES+= php:ext,noflavors
PHP_MODNAME= ${PKGNAMESUFFIX:S/-//}
PHP_VER= 81
IGNORE_WITH_PHP= 72 73 74 80
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_CONFIGURE_ARGS= --with-gdbm=${LOCALBASE}
GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm
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.so:textproc/enchant
CONFIGURE_ARGS+= --with-enchant=${LOCALBASE}
USES+= pkgconfig
.endif
.if ${PHP_MODNAME} == "exif"
CONFIGURE_ARGS+= --enable-exif
.endif
.if ${PHP_MODNAME} == "ffi"
LIB_DEPENDS= libffi.so:devel/libffi
CONFIGURE_ARGS+= --enable-ffi
.endif
.if ${PHP_MODNAME} == "fileinfo"
CONFIGURE_ARGS+= --enable-fileinfo \
--with-pcre-dir=${LOCALBASE}
PHP_HEADER_DIRS= libmagic
.endif
.if ${PHP_MODNAME} == "filter"
CONFIGURE_ARGS+= --enable-filter \
--with-pcre-dir=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "ftp"
CONFIGURE_ARGS+= --enable-ftp
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} == "imap"
PHP_MOD_PRIO= 30
OPTIONS_RADIO= CLIENT
OPTIONS_RADIO_CLIENT= CCLIENT PANDA
OPTIONS_DEFAULT= PANDA
CCLIENT_DESC= Uses the original but unmaintained cclient
PANDA_DESC= Uses the forked panda-cclient instead of the original cclient
PANDA_LIB_DEPENDS= libc-client4.so.10:mail/panda-cclient
PANDA_LIB_DEPENDS_OFF= libc-client4.so.9:mail/cclient
CONFIGURE_ARGS+= --with-imap-ssl=${OPENSSLBASE} \
--with-imap=${LOCALBASE} \
--with-pcre-dir=${LOCALBASE}
CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \
OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \
PHP_OPENSSL=yes
LDFLAGS+= -L${OPENSSLLIB} -lcrypto -lssl
USES+= ssl
.endif
.if ${PHP_MODNAME} == "intl"
LIB_DEPENDS= libicui18n.so:devel/icu
USES+= pkgconfig
CPPFLAGS+= -DU_USING_ICU_NAMESPACE=1
.endif
.if ${PHP_MODNAME} == "json"
CONFIGURE_ARGS+= --enable-json
BUILD_DEPENDS= re2c:devel/re2c
.endif
.if ${PHP_MODNAME} == "ldap"
CONFIGURE_ARGS+= --with-ldap-sasl=${LOCALBASE} \
--with-ldap=${LOCALBASE}
USE_OPENLDAP= yes
.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
REGEX_LIB_DEPENDS= libonig.so:devel/oniguruma
REGEX_CONFIGURE_ON= --with-onig=${LOCALBASE}
REGEX_CONFIGURE_OFF= --disable-mbregex
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
MYSQLND_CONFIGURE_ARGS= --with-mysqli=mysqlnd
MYSQLND_CONFIGURE_OFF= --with-mysqli=${LOCALBASE}/bin/mysql_config
MYSQLND_USES_OFF= mysql
.endif
.if ${PHP_MODNAME} == "odbc"
LIB_DEPENDS+= libodbc.so:databases/unixODBC
CONFIGURE_ARGS+= --enable-odbc \
--with-unixODBC=${LOCALBASE}
.endif
.if ${PHP_MODNAME} == "openssl"
USES+= ssl
CONFIGURE_ARGS+= --with-openssl
CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \
OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto"
.endif
.if ${PHP_MODNAME} == "opcache"
# This is needed by Zend extensions, keep before everything.
PHP_MOD_PRIO= 10
CONFIGURE_ARGS+= --enable-opcache
USES+= localbase php:zend
.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_OFF= --with-pdo-mysql=${LOCALBASE} \
--with-zlib-dir=/usr
MYSQLND_CONFIGURE_ON= --with-pdo-mysql=mysqlnd
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 \
--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}
USES+= pkgconfig
USE_GNOME= libxml2
.endif
.if ${PHP_MODNAME} == "snmp"
CONFIGURE_ARGS+= --with-openssl-dir=${OPENSSLBASE} \
--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
.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
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} == "xmlrpc"
CONFIGURE_ARGS+= --with-iconv-dir=${LOCALBASE} \
--with-xmlrpc
USES+= iconv:translit
USE_GNOME= libxml2
PHP_HEADER_DIRS= libxmlrpc
USE_PHP= xml: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+= --enable-zip \
--with-libzip=${LOCALBASE} \
--with-pcre-dir=${LOCALBASE} \
--with-zlib-dir=/usr
USES+= pkgconfig
.endif
.if ${PHP_MODNAME} == "zlib"
CONFIGURE_ARGS+= --with-zlib=/usr
USES+= pkgconfig
.endif
.include <bsd.port.pre.mk>
.if ${PHP_MODNAME} == "openssl"
post-stage:
@if ${PREFIX}/bin/php -m | grep openssl 2>/dev/null && ( [ ! -f ${PREFIX}/etc/php/ext-20-openssl.ini ] && [ ! -f ${PREFIX}/etc/php/ext-30-openssl.ini ] ); then \
${ECHO_CMD}; \
${ECHO_MSG} "===> ${PKGNAME} "openssl module is already built with php base.; \
${ECHO_CMD}; \
${FALSE}; \
fi
.endif
.if ${PHP_MODNAME} == "openssl" || ${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/php81/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1640164488
SHA256 (php-8.1.1.tar.xz) = 33c09d76d0a8bbb5dd930d9dd32e6bfd44e9efcf867563759eb5492c3aff8856
SIZE (php-8.1.1.tar.xz) = 11728680

View File

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

View File

@ -0,0 +1,45 @@
--- configure.ac.orig 2021-12-15 02:00:45 UTC
+++ configure.ac
@@ -55,6 +55,7 @@ AH_BOTTOM([
#include <string.h>
+#include <ext/php_config.h>
#endif /* PHP_CONFIG_H */
])
@@ -273,7 +274,6 @@ sinclude(Zend/Zend.m4)
dnl ----------------------------------------------------------------------------
-PTHREADS_CHECK
PHP_HELP_SEPARATOR([SAPI modules:])
PHP_SHLIB_SUFFIX_NAMES
PHP_BUILD_PROGRAM
@@ -614,7 +614,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 Haiku does not have network api in libc.
PHP_CHECK_FUNC_LIB(setsockopt, network)
@@ -1360,7 +1360,7 @@ EXPANDED_SYSCONFDIR=`eval echo $sysconfdir`
EXPANDED_DATADIR=$datadir
EXPANDED_PHP_CONFIG_FILE_PATH=`eval echo "$PHP_CONFIG_FILE_PATH"`
EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=`eval echo "$PHP_CONFIG_FILE_SCAN_DIR"`
-INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR
+INCLUDE_PATH=.:${prefix}/share/pear
exec_prefix=$old_exec_prefix
libdir=$old_libdir
@@ -1579,7 +1579,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_INSTALL_HEADERS([Zend/Optimizer], [ \
zend_call_graph.h \
zend_cfg.h \

View File

@ -0,0 +1,12 @@
--- ext/mysqli/mysqli_api.c.orig 2020-09-29 22:36:51 UTC
+++ ext/mysqli/mysqli_api.c
@@ -29,7 +29,9 @@
#include "zend_smart_str.h"
#include "php_mysqli_structs.h"
#include "mysqli_priv.h"
+#if defined(MYSQLI_USE_MYSQLND)
#include "ext/mysqlnd/mysql_float_to_double.h"
+#endif
#define ERROR_ARG_POS(arg_num) (getThis() ? (arg_num-1) : (arg_num))

View File

@ -0,0 +1,12 @@
--- ext/mysqli/mysqli_nonapi.c.orig 2020-01-09 11:40:57 UTC
+++ ext/mysqli/mysqli_nonapi.c
@@ -28,7 +28,9 @@
#include "php_ini.h"
#include "ext/standard/info.h"
#include "zend_smart_str.h"
+#if defined(MYSQLI_USE_MYSQLND)
#include "php_mysqli_structs.h"
+#endif
#include "mysqli_priv.h"
#define SAFE_STR(a) ((a)?a:"")

View File

@ -0,0 +1,12 @@
--- ext/mysqli/mysqli_prop.c.orig 2020-01-09 11:40:11 UTC
+++ ext/mysqli/mysqli_prop.c
@@ -26,7 +26,9 @@
#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
+#if defined(MYSQLI_USE_MYSQLND)
#include "php_mysqli_structs.h"
+#endif
#include "mysqli_priv.h"
#define CHECK_STATUS(value) \

View File

@ -0,0 +1,11 @@
--- ext/mysqli/php_mysqli_structs.h.orig 2019-12-17 10:29:23 UTC
+++ ext/mysqli/php_mysqli_structs.h
@@ -36,7 +36,7 @@
#define FALSE 0
#endif
-#ifdef MYSQLI_USE_MYSQLND
+#if defined(MYSQLI_USE_MYSQLND)
#include "ext/mysqlnd/mysqlnd.h"
#include "mysqli_mysqlnd.h"
#else

View File

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

View File

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

View File

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

View File

@ -0,0 +1,66 @@
#!/bin/sh
# 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"

8
lang/php81/pkg-descr Normal file
View File

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

View File

@ -0,0 +1,19 @@
******************************************************************************
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
******************************************************************************
If you are building PHP-based ports in poudriere(8) or Synth with ZTS enabled,
add WITH_MPM=event to /etc/make.conf to prevent build failures.
******************************************************************************

308
lang/php81/pkg-plist Normal file
View File

@ -0,0 +1,308 @@
%%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/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_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_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_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_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_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_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_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_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/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
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_jit_neon_inc.h
include/php/ext/pcre/pcre2lib/pcre2_jit_simd_inc.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/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/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/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_http.h
include/php/ext/standard/php_image.h
include/php/ext/standard/php_incomplete_class.h
include/php/ext/standard/php_lcg.h
include/php/ext/standard/php_mail.h
include/php/ext/standard/php_math.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_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/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/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%%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

3
lang/php81/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

@ -451,6 +451,7 @@
SUBDIR += php73-imap
SUBDIR += php74-imap
SUBDIR += php80-imap
SUBDIR += php81-imap
SUBDIR += phplist
SUBDIR += phpmailer
SUBDIR += phpmailer6

7
mail/php81-imap/Makefile Normal file
View File

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

View File

@ -0,0 +1,47 @@
--- config.m4.orig 2019-08-20 14:09:27 UTC
+++ config.m4
@@ -105,6 +105,13 @@ PHP_ARG_WITH([imap-ssl],
[no],
[no])
+PHP_ARG_WITH([pcre-dir],
+ [pcre install prefix],
+ [AS_HELP_STRING([[--with-pcre-dir]],
+ [IMAP: pcre install prefix])],
+ [no],
+ [no])
+
if test "$PHP_IMAP" != "no"; then
PHP_SUBST(IMAP_SHARED_LIBADD)
PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
@@ -120,6 +127,30 @@ if test "$PHP_IMAP" != "no"; then
fi
done
+ dnl This is PECL build, check if bundled PCRE library is used
+ old_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS=$INCLUDES
+ AC_EGREP_CPP(yes,[
+#include <main/php_config.h>
+#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
+yes
+#endif
+ ],[
+ PHP_PCRE_REGEX=yes
+ ],[
+ AC_EGREP_CPP(yes,[
+#include <main/php_config.h>
+#if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
+yes
+#endif
+ ],[
+ PHP_PCRE_REGEX=pecl
+ PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
+ ],[
+ PHP_PCRE_REGEX=no
+ ])
+ ])
+
dnl Check for c-client version 2004
AC_EGREP_HEADER(mail_fetch_overview_sequence, $IMAP_INC_DIR/mail.h, [
AC_DEFINE(HAVE_IMAP2004,1,[ ])

View File

@ -766,7 +766,9 @@
SUBDIR += php74-bcmath
SUBDIR += php74-gmp
SUBDIR += php80-bcmath
SUBDIR += php81-bcmath
SUBDIR += php80-gmp
SUBDIR += php81-gmp
SUBDIR += physcalc
SUBDIR += picosat
SUBDIR += piranha

View File

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

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

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

View File

@ -359,6 +359,7 @@
SUBDIR += php73-calendar
SUBDIR += php74-calendar
SUBDIR += php80-calendar
SUBDIR += php81-calendar
SUBDIR += pinfo
SUBDIR += pipe
SUBDIR += posixtestsuite

View File

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

View File

@ -282,6 +282,7 @@
SUBDIR += php73-snmp
SUBDIR += php74-snmp
SUBDIR += php80-snmp
SUBDIR += php81-snmp
SUBDIR += phpfpm_exporter
SUBDIR += phpipam
SUBDIR += phpweathermap

View File

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

View File

@ -984,8 +984,11 @@
SUBDIR += php74-sockets
SUBDIR += php74-xmlrpc
SUBDIR += php80-ldap
SUBDIR += php81-ldap
SUBDIR += php80-soap
SUBDIR += php81-soap
SUBDIR += php80-sockets
SUBDIR += php81-sockets
SUBDIR += phpldapadmin
SUBDIR += pichi
SUBDIR += pimcommon

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

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

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

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

View File

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

View File

@ -807,8 +807,11 @@
SUBDIR += php74-openssl
SUBDIR += php74-sodium
SUBDIR += php80-filter
SUBDIR += php81-filter
SUBDIR += php80-openssl
SUBDIR += php81-openssl
SUBDIR += php80-sodium
SUBDIR += php81-sodium
SUBDIR += phpsecinfo
SUBDIR += picosha2
SUBDIR += pidgin-encryption

View File

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

View File

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

View File

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

View File

@ -956,7 +956,9 @@
SUBDIR += php74-fileinfo
SUBDIR += php74-posix
SUBDIR += php80-fileinfo
SUBDIR += php81-fileinfo
SUBDIR += php80-posix
SUBDIR += php81-posix
SUBDIR += phybs
SUBDIR += pick
SUBDIR += pidof

View File

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

View File

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

View File

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

View File

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

View File

@ -1231,14 +1231,23 @@
SUBDIR += php74-xmlwriter
SUBDIR += php74-xsl
SUBDIR += php80-ctype
SUBDIR += php81-ctype
SUBDIR += php80-dom
SUBDIR += php81-dom
SUBDIR += php80-enchant
SUBDIR += php81-enchant
SUBDIR += php80-pspell
SUBDIR += php81-pspell
SUBDIR += php80-simplexml
SUBDIR += php81-simplexml
SUBDIR += php80-xml
SUBDIR += php81-xml
SUBDIR += php80-xmlreader
SUBDIR += php81-xmlreader
SUBDIR += php80-xmlwriter
SUBDIR += php81-xmlwriter
SUBDIR += php80-xsl
SUBDIR += php81-xsl
SUBDIR += pict
SUBDIR += po4a
SUBDIR += pod2mdoc

View File

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

View File

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

View File

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

View File

@ -0,0 +1,11 @@
--- enchant.c.orig 2020-10-18 21:29:39 UTC
+++ enchant.c
@@ -24,7 +24,7 @@
#include "ext/standard/info.h"
#include "Zend/zend_interfaces.h"
#include "Zend/zend_exceptions.h"
-#include "../spl/spl_exceptions.h"
+#include "ext/spl/spl_exceptions.h"
#include <enchant.h>
#include "php_enchant.h"
#include "enchant_arginfo.h"

View File

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

View File

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

View File

@ -0,0 +1,42 @@
--- config.m4.orig 2019-08-06 06:54:07 UTC
+++ config.m4
@@ -4,8 +4,39 @@ PHP_ARG_ENABLE([simplexml],
[Disable SimpleXML support])],
[yes])
+PHP_ARG_ENABLE([pcre-dir],
+ [pcre install prefix],
+ [AS_HELP_STRING([--with-pcre-dir],
+ [SimpleXML: pcre install dir])],
+ [no],
+ [no])
+
if test "$PHP_SIMPLEXML" != "no"; then
+ dnl This is PECL build, check if bundled PCRE library is used
+ old_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS=$INCLUDES
+ AC_EGREP_CPP(yes,[
+#include <main/php_config.h>
+#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
+yes
+#endif
+ ],[
+ PHP_PCRE_REGEX=yes
+ ],[
+ AC_EGREP_CPP(yes,[
+#include <main/php_config.h>
+#if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
+yes
+#endif
+ ],[
+ PHP_PCRE_REGEX=pecl
+ PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
+ ],[
+ PHP_PCRE_REGEX=no
+ ])
+ ])
+
if test "$PHP_LIBXML" = "no"; then
AC_MSG_ERROR([SimpleXML extension requires LIBXML extension, add --with-libxml])
fi

View File

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

View File

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

Some files were not shown because too many files have changed in this diff Show More