git: 665b149d2692 - main - */*php82*: Welcome php 8.2.0 Alpha 1

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Sat, 11 Jun 2022 21:03:03 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=665b149d2692ff6926a092568304091995e07d39

commit 665b149d2692ff6926a092568304091995e07d39
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2022-06-11 20:59:05 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2022-06-11 21:02:49 +0000

    */*php82*: Welcome php 8.2.0 Alpha 1
    
    Please DO NOT use this version in production, it is an early test
    version.
    
    port-committers@ please DO NOT mark your ports IGNORE_WITH_PHP=82. A
    build is running to check all php ports with php82 and will be
    committed in batch tomorrow.
    
    Sponsored by:   Bounce Experts
---
 Mk/Uses/php.mk                                     |   8 +-
 archivers/Makefile                                 |   4 +
 archivers/php82-bz2/Makefile                       |   7 +
 archivers/php82-phar/Makefile                      |   7 +
 archivers/php82-phar/files/patch-config.m4         |  41 ++
 archivers/php82-zip/Makefile                       |   7 +
 archivers/php82-zlib/Makefile                      |   7 +
 archivers/php82-zlib/files/patch-zlib.c            |  10 +
 converters/Makefile                                |   2 +
 converters/php82-iconv/Makefile                    |   7 +
 converters/php82-mbstring/Makefile                 |   7 +
 converters/php82-mbstring/files/patch-config.m4    |  44 ++
 databases/Makefile                                 |  12 +
 databases/php82-dba/Makefile                       |   7 +
 databases/php82-dba/files/patch-config.m4          |  50 ++
 databases/php82-mysqli/Makefile                    |   7 +
 databases/php82-mysqli/files/patch-mysqli__api.c   |  12 +
 databases/php82-odbc/Makefile                      |   7 +
 databases/php82-odbc/files/patch-config.m4         | 111 ++++
 databases/php82-pdo/Makefile                       |   7 +
 databases/php82-pdo_dblib/Makefile                 |   7 +
 databases/php82-pdo_firebird/Makefile              |   7 +
 databases/php82-pdo_mysql/Makefile                 |   7 +
 databases/php82-pdo_odbc/Makefile                  |   7 +
 databases/php82-pdo_pgsql/Makefile                 |   7 +
 databases/php82-pdo_sqlite/Makefile                |   7 +
 databases/php82-pgsql/Makefile                     |   7 +
 databases/php82-sqlite3/Makefile                   |   7 +
 devel/Makefile                                     |  10 +
 devel/php82-ffi/Makefile                           |   7 +
 devel/php82-gettext/Makefile                       |   7 +
 devel/php82-intl/Makefile                          |   7 +
 devel/php82-pcntl/Makefile                         |   7 +
 devel/php82-readline/Makefile                      |   7 +
 devel/php82-readline/files/patch-config.m4         |  33 ++
 devel/php82-readline/files/patch-readline_cli.c    |  13 +
 devel/php82-shmop/Makefile                         |   7 +
 devel/php82-sysvmsg/Makefile                       |   7 +
 devel/php82-sysvsem/Makefile                       |   7 +
 devel/php82-sysvshm/Makefile                       |   7 +
 devel/php82-tokenizer/Makefile                     |   7 +
 ftp/Makefile                                       |   2 +
 ftp/php82-curl/Makefile                            |   7 +
 ftp/php82-ftp/Makefile                             |   7 +
 graphics/Makefile                                  |   2 +
 graphics/php82-exif/Makefile                       |   7 +
 graphics/php82-gd/Makefile                         |   7 +
 graphics/php82-gd/files/patch-gd.c                 |  11 +
 lang/Makefile                                      |   2 +
 lang/php82-extensions/Makefile                     |  90 +++
 lang/php82-extensions/pkg-descr                    |   7 +
 lang/php82/Makefile                                | 627 +++++++++++++++++++++
 lang/php82/distinfo                                |   3 +
 lang/php82/files/patch-build_Makefile.global       |  19 +
 lang/php82/files/patch-configure.ac                |  45 ++
 lang/php82/files/patch-ext_hash_xxhash_xxhash.h    |  46 ++
 lang/php82/files/patch-ext_mysqli_mysqli__api.c    |  12 +
 lang/php82/files/patch-ext_mysqli_mysqli__nonapi.c |  12 +
 lang/php82/files/patch-ext_mysqli_mysqli__prop.c   |  12 +
 ...h-ext_pcre_pcre2lib_sljit_sljitConfigInternal.h |  11 +
 .../files/patch-sapi_apache2handler_config.m4      |  11 +
 lang/php82/files/patch-sapi_fpm_config.m4          |  11 +
 lang/php82/files/patch-sapi_fpm_www.conf.in        |  17 +
 lang/php82/files/php-fpm.in                        |  66 +++
 lang/php82/pkg-descr                               |   8 +
 lang/php82/pkg-message.mod                         |  19 +
 lang/php82/pkg-plist                               | 311 ++++++++++
 lang/php82/pkg-plist.mod                           |   3 +
 mail/Makefile                                      |   1 +
 mail/php82-imap/Makefile                           |   7 +
 mail/php82-imap/files/patch-config.m4              |  47 ++
 math/Makefile                                      |   2 +
 math/php82-bcmath/Makefile                         |   7 +
 math/php82-gmp/Makefile                            |   7 +
 misc/Makefile                                      |   1 +
 misc/php82-calendar/Makefile                       |   7 +
 net-mgmt/Makefile                                  |   1 +
 net-mgmt/php82-snmp/Makefile                       |   7 +
 net/Makefile                                       |   3 +
 net/php82-ldap/Makefile                            |   7 +
 net/php82-soap/Makefile                            |   7 +
 net/php82-sockets/Makefile                         |   7 +
 net/php82-sockets/files/patch-conversions.c        |  14 +
 security/Makefile                                  |   2 +
 security/php82-filter/Makefile                     |   7 +
 security/php82-sodium/Makefile                     |   7 +
 sysutils/Makefile                                  |   2 +
 sysutils/php82-fileinfo/Makefile                   |   7 +
 sysutils/php82-fileinfo/files/patch-config.m4      |  21 +
 sysutils/php82-posix/Makefile                      |   7 +
 sysutils/php82-posix/files/patch-posix.c           |  38 ++
 textproc/Makefile                                  |   9 +
 textproc/php82-ctype/Makefile                      |   7 +
 textproc/php82-dom/Makefile                        |   7 +
 textproc/php82-enchant/Makefile                    |   7 +
 textproc/php82-enchant/files/patch-enchant.c       |  11 +
 textproc/php82-pspell/Makefile                     |   7 +
 textproc/php82-simplexml/Makefile                  |   7 +
 textproc/php82-simplexml/files/patch-config.m4     |  42 ++
 textproc/php82-xml/Makefile                        |   7 +
 textproc/php82-xml/files/patch-compat.c            |  13 +
 textproc/php82-xmlreader/Makefile                  |   7 +
 textproc/php82-xmlwriter/Makefile                  |   7 +
 textproc/php82-xsl/Makefile                        |   7 +
 textproc/php82-xsl/files/patch-php_xsl.h           |  11 +
 www/Makefile                                       |   4 +
 www/mod_php82/Makefile                             |  12 +
 www/php82-opcache/Makefile                         |   9 +
 www/php82-opcache/files/patch-config.m4            |  20 +
 www/php82-session/Makefile                         |   7 +
 www/php82-tidy/Makefile                            |   7 +
 111 files changed, 2343 insertions(+), 2 deletions(-)

diff --git a/Mk/Uses/php.mk b/Mk/Uses/php.mk
index 5a3de6c0b62f..a17c82ac344d 100644
--- a/Mk/Uses/php.mk
+++ b/Mk/Uses/php.mk
@@ -110,7 +110,7 @@ DIST_SUBDIR=	PECL
 
 PHPBASE?=	${LOCALBASE}
 
-_ALL_PHP_VERSIONS=	74 80 81
+_ALL_PHP_VERSIONS=	74 80 81 82
 
 # Make the already installed PHP the default one.
 .  if exists(${PHPBASE}/etc/php.conf)
@@ -183,7 +183,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} == 81
+.    if ${PHP_VER} == 82
+PHP_EXT_DIR=   20210903
+PHP_EXT_INC=    hash json openssl pcre spl
+.    elif ${PHP_VER} == 81
 PHP_EXT_DIR=   20210902
 PHP_EXT_INC=    hash json openssl pcre spl
 .    elif ${PHP_VER} == 80
@@ -391,6 +394,7 @@ _USE_PHP_ALL=	bcmath bitset bz2 calendar ctype curl dba dom \
 _USE_PHP_VER74=	${_USE_PHP_ALL} pdf
 _USE_PHP_VER80=	${_USE_PHP_ALL}
 _USE_PHP_VER81=	${_USE_PHP_ALL}
+_USE_PHP_VER82=	${_USE_PHP_ALL}
 
 bcmath_DEPENDS=	math/php${PHP_VER}-bcmath
 bitset_DEPENDS=	math/pecl-bitset@${PHP_FLAVOR}
diff --git a/archivers/Makefile b/archivers/Makefile
index 6d4551be7eb7..713ea89e298d 100644
--- a/archivers/Makefile
+++ b/archivers/Makefile
@@ -162,9 +162,13 @@
     SUBDIR += php80-zip
     SUBDIR += php80-zlib
     SUBDIR += php81-bz2
+    SUBDIR += php82-bz2
     SUBDIR += php81-phar
+    SUBDIR += php82-phar
     SUBDIR += php81-zip
+    SUBDIR += php82-zip
     SUBDIR += php81-zlib
+    SUBDIR += php82-zlib
     SUBDIR += pigz
     SUBDIR += pixz
     SUBDIR += plzip
diff --git a/archivers/php82-bz2/Makefile b/archivers/php82-bz2/Makefile
new file mode 100644
index 000000000000..216b54067f8c
--- /dev/null
+++ b/archivers/php82-bz2/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	archivers
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-bz2
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php82-phar/Makefile b/archivers/php82-phar/Makefile
new file mode 100644
index 000000000000..f0600ea23347
--- /dev/null
+++ b/archivers/php82-phar/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	archivers
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-phar
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php82-phar/files/patch-config.m4 b/archivers/php82-phar/files/patch-config.m4
new file mode 100644
index 000000000000..1aba3bd9a5a8
--- /dev/null
+++ b/archivers/php82-phar/files/patch-config.m4
@@ -0,0 +1,41 @@
+--- config.m4.orig	2016-06-21 19:56:50 UTC
++++ config.m4
+@@ -4,8 +4,38 @@ dnl config.m4 for extension phar
+ PHP_ARG_ENABLE(phar, for phar archive support,
+ [  --disable-phar          Disable phar support], yes)
+ 
++PHP_ARG_WITH(pcre-dir, pcre install prefix,
++[  --with-pcre-dir           PHAR: pcre install prefix], no, no)
++
++
+ if test "$PHP_PHAR" != "no"; then
++
++  dnl This is PECL build, check if bundled PCRE library is used
++  old_CPPFLAGS=$CPPFLAGS
++  CPPFLAGS=$INCLUDES
++  AC_EGREP_CPP(yes,[
++#include <main/php_config.h>
++#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
++yes
++#endif
++  ],[
++    PHP_PCRE_REGEX=yes
++  ],[
++    AC_EGREP_CPP(yes,[
++#include <main/php_config.h>
++#if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
++yes
++#endif
++    ],[
++      PHP_PCRE_REGEX=pecl
++      PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
++    ],[
++      PHP_PCRE_REGEX=no
++    ])
++  ])
++
+   PHP_NEW_EXTENSION(phar, util.c tar.c zip.c stream.c func_interceptors.c dirstream.c phar.c phar_object.c phar_path_check.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
++  PHP_HASH=yes
+   AC_MSG_CHECKING([for phar openssl support])
+   if test "$PHP_HASH_SHARED" != "yes"; then
+     if test "$PHP_HASH" != "no"; then
diff --git a/archivers/php82-zip/Makefile b/archivers/php82-zip/Makefile
new file mode 100644
index 000000000000..5d9133ebe88f
--- /dev/null
+++ b/archivers/php82-zip/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	archivers
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-zip
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php82-zlib/Makefile b/archivers/php82-zlib/Makefile
new file mode 100644
index 000000000000..5b4e4ff90931
--- /dev/null
+++ b/archivers/php82-zlib/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	archivers
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-zlib
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php82-zlib/files/patch-zlib.c b/archivers/php82-zlib/files/patch-zlib.c
new file mode 100644
index 000000000000..be02c50d1df6
--- /dev/null
+++ b/archivers/php82-zlib/files/patch-zlib.c
@@ -0,0 +1,10 @@
+--- zlib.c.orig	2016-06-21 19:57:08 UTC
++++ zlib.c
+@@ -1480,6 +1480,7 @@ static PHP_MSHUTDOWN_FUNCTION(zlib)
+ /* {{{ PHP_RINIT_FUNCTION */
+ static PHP_RINIT_FUNCTION(zlib)
+ {
++	ZLIBG(output_compression) = 0;
+ 	ZLIBG(compression_coding) = 0;
+     if (!ZLIBG(handler_registered)) {
+         ZLIBG(output_compression) = ZLIBG(output_compression_default);
diff --git a/converters/Makefile b/converters/Makefile
index ba1291137caf..74081d03a756 100644
--- a/converters/Makefile
+++ b/converters/Makefile
@@ -140,7 +140,9 @@
     SUBDIR += php80-iconv
     SUBDIR += php80-mbstring
     SUBDIR += php81-iconv
+    SUBDIR += php82-iconv
     SUBDIR += php81-mbstring
+    SUBDIR += php82-mbstring
     SUBDIR += psiconv
     SUBDIR += py-bencode.py
     SUBDIR += py-bencoder
diff --git a/converters/php82-iconv/Makefile b/converters/php82-iconv/Makefile
new file mode 100644
index 000000000000..43e4276081ed
--- /dev/null
+++ b/converters/php82-iconv/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	converters
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-iconv
+
+.include "${MASTERDIR}/Makefile"
diff --git a/converters/php82-mbstring/Makefile b/converters/php82-mbstring/Makefile
new file mode 100644
index 000000000000..39828ae7885b
--- /dev/null
+++ b/converters/php82-mbstring/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	converters
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-mbstring
+
+.include "${MASTERDIR}/Makefile"
diff --git a/converters/php82-mbstring/files/patch-config.m4 b/converters/php82-mbstring/files/patch-config.m4
new file mode 100644
index 000000000000..a3e5c14477a3
--- /dev/null
+++ b/converters/php82-mbstring/files/patch-config.m4
@@ -0,0 +1,44 @@
+--- config.m4.orig	2019-08-06 06:54:10 UTC
++++ config.m4
+@@ -37,6 +37,31 @@ AC_DEFUN([PHP_MBSTRING_EXTENSION], [
+ 
+   out="php_config.h"
+ 
++  dnl This is PECL build, check if bundled PCRE library is used
++  old_CPPFLAGS=$CPPFLAGS
++  CPPFLAGS=$INCLUDES
++  AC_EGREP_CPP(yes,[
++#include <main/php_config.h>
++#if defined(HAVE_BUNDLED_PCRE) && !defined(COMPILE_DL_PCRE)
++yes
++#endif
++  ],[
++    PHP_PCRE_REGEX=yes
++  ],[
++    AC_EGREP_CPP(yes,[
++#include <main/php_config.h>
++#if defined(HAVE_PCRE) && !defined(COMPILE_DL_PCRE)
++yes
++#endif
++    ],[
++      PHP_PCRE_REGEX=pecl
++      PHP_ADD_INCLUDE($PHP_PCRE_DIR/include)
++    ],[
++      PHP_PCRE_REGEX=no
++    ])
++  ])
++
++
+   if test "$ext_shared" != "no" && test -f "$ext_builddir/config.h.in"; then
+     out="$abs_builddir/config.h"
+   fi
+@@ -200,6 +225,9 @@ PHP_ARG_ENABLE([mbregex],
+   [yes],
+   [no])
+ 
++PHP_ARG_WITH(pcre-dir, pcre install prefix,
++[  --with-pcre-dir           MBSTRING: pcre install prefix], no, no)
++
+ if test "$PHP_MBSTRING" != "no"; then
+   AC_DEFINE([HAVE_MBSTRING],1,[whether to have multibyte string support])
+ 
diff --git a/databases/Makefile b/databases/Makefile
index ce0db29c3e50..23d87ceeb68c 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -631,17 +631,29 @@
     SUBDIR += php80-pgsql
     SUBDIR += php80-sqlite3
     SUBDIR += php81-dba
+    SUBDIR += php82-dba
     SUBDIR += php81-mysqli
+    SUBDIR += php82-mysqli
     SUBDIR += php81-odbc
+    SUBDIR += php82-odbc
     SUBDIR += php81-pdo
+    SUBDIR += php82-pdo
     SUBDIR += php81-pdo_dblib
+    SUBDIR += php82-pdo_dblib
     SUBDIR += php81-pdo_firebird
+    SUBDIR += php82-pdo_firebird
     SUBDIR += php81-pdo_mysql
+    SUBDIR += php82-pdo_mysql
     SUBDIR += php81-pdo_odbc
+    SUBDIR += php82-pdo_odbc
     SUBDIR += php81-pdo_pgsql
+    SUBDIR += php82-pdo_pgsql
     SUBDIR += php81-pdo_sqlite
+    SUBDIR += php82-pdo_sqlite
     SUBDIR += php81-pgsql
+    SUBDIR += php82-pgsql
     SUBDIR += php81-sqlite3
+    SUBDIR += php82-sqlite3
     SUBDIR += phpliteadmin
     SUBDIR += phpminiadmin
     SUBDIR += phpmyadmin
diff --git a/databases/php82-dba/Makefile b/databases/php82-dba/Makefile
new file mode 100644
index 000000000000..f3e875ad10c8
--- /dev/null
+++ b/databases/php82-dba/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	databases
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-dba
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php82-dba/files/patch-config.m4 b/databases/php82-dba/files/patch-config.m4
new file mode 100644
index 000000000000..30f662138374
--- /dev/null
+++ b/databases/php82-dba/files/patch-config.m4
@@ -0,0 +1,50 @@
+--- config.m4.orig	2016-01-06 15:14:47 UTC
++++ config.m4
+@@ -324,6 +324,38 @@ if test "$PHP_DB4" != "no"; then
+       THIS_PREFIX=$i
+       THIS_INCLUDE=$i/include/db5.3/db.h
+       break
++    elif test -f "$i/include/db5/db.h"; then
++      THIS_PREFIX=$i
++      THIS_INCLUDE=$i/include/db5/db.h
++      break
++    elif test -f "$i/include/db48/db.h"; then
++      THIS_PREFIX=$i
++      THIS_INCLUDE=$i/include/db48/db.h
++      break
++    elif test -f "$i/include/db47/db.h"; then
++      THIS_PREFIX=$i
++      THIS_INCLUDE=$i/include/db47/db.h
++      break
++    elif test -f "$i/include/db46/db.h"; then
++      THIS_PREFIX=$i
++      THIS_INCLUDE=$i/include/db46/db.h
++      break
++    elif test -f "$i/include/db44/db.h"; then
++      THIS_PREFIX=$i
++      THIS_INCLUDE=$i/include/db44/db.h
++      break
++    elif test -f "$i/include/db43/db.h"; then
++      THIS_PREFIX=$i
++      THIS_INCLUDE=$i/include/db43/db.h
++      break
++    elif test -f "$i/include/db42/db.h"; then
++      THIS_PREFIX=$i
++      THIS_INCLUDE=$i/include/db42/db.h
++      break
++    elif test -f "$i/include/db41/db.h"; then
++      THIS_PREFIX=$i
++      THIS_INCLUDE=$i/include/db41/db.h
++      break
+     elif test -f "$i/include/db5.1/db.h"; then
+       THIS_PREFIX=$i
+       THIS_INCLUDE=$i/include/db5.1/db.h
+@@ -366,7 +398,7 @@ if test "$PHP_DB4" != "no"; then
+       break
+     fi
+   done
+-  PHP_DBA_DB_CHECK(4, db-5.3 db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
++  PHP_DBA_DB_CHECK(4, db-5 db-5.3 db-5.1 db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
+ fi
+ PHP_DBA_STD_RESULT(db4,Berkeley DB4)
+ 
diff --git a/databases/php82-mysqli/Makefile b/databases/php82-mysqli/Makefile
new file mode 100644
index 000000000000..68877e9623e6
--- /dev/null
+++ b/databases/php82-mysqli/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	databases
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-mysqli
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php82-mysqli/files/patch-mysqli__api.c b/databases/php82-mysqli/files/patch-mysqli__api.c
new file mode 100644
index 000000000000..a100e8205fb6
--- /dev/null
+++ b/databases/php82-mysqli/files/patch-mysqli__api.c
@@ -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))
+ 
diff --git a/databases/php82-odbc/Makefile b/databases/php82-odbc/Makefile
new file mode 100644
index 000000000000..8ca9dd950242
--- /dev/null
+++ b/databases/php82-odbc/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	databases
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-odbc
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php82-odbc/files/patch-config.m4 b/databases/php82-odbc/files/patch-config.m4
new file mode 100644
index 000000000000..04efc6ded7c9
--- /dev/null
+++ b/databases/php82-odbc/files/patch-config.m4
@@ -0,0 +1,111 @@
+--- config.m4.orig	2019-08-06 06:54:18 UTC
++++ config.m4
+@@ -91,6 +91,9 @@ AC_DEFUN([PHP_ODBC_FIND_EMPRESS_BCS_LIBS
+ dnl
+ dnl configure options
+ dnl
++PHP_ARG_ENABLE(odbc,,
++[  --enable-odbc             Enable ODBC support with selected driver])
++
+ 
+ PHP_ARG_WITH([odbcver],,
+   [AS_HELP_STRING([[--with-odbcver[=HEX]]],
+@@ -102,7 +105,7 @@ PHP_ARG_WITH([odbcver],,
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([adabas],,
+   [AS_HELP_STRING([[--with-adabas[=DIR]]],
+-    [Include Adabas D support [/usr/local]])])
++    [Include Adabas D support [/usr/local]])], [no], [no])
+ 
+   AC_MSG_CHECKING([for Adabas support])
+   if test "$PHP_ADABAS" != "no"; then
+@@ -132,7 +135,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([sapdb],,
+   [AS_HELP_STRING([[--with-sapdb[=DIR]]],
+-    [Include SAP DB support [/usr/local]])])
++    [Include SAP DB support [/usr/local]])], [no], [no])
+ 
+   AC_MSG_CHECKING([for SAP DB support])
+   if test "$PHP_SAPDB" != "no"; then
+@@ -153,7 +156,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([solid],,
+   [AS_HELP_STRING([[--with-solid[=DIR]]],
+-    [Include Solid support [/usr/local/solid]])])
++    [Include Solid support [/usr/local/solid]])], [no], [no])
+ 
+   AC_MSG_CHECKING(for Solid support)
+   if test "$PHP_SOLID" != "no"; then
+@@ -181,7 +184,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([ibm-db2],,
+   [AS_HELP_STRING([[--with-ibm-db2[=DIR]]],
+-    [Include IBM DB2 support [/home/db2inst1/sqllib]])])
++    [Include IBM DB2 support [/home/db2inst1/sqllib]])], [no], [no])
+ 
+   AC_MSG_CHECKING(for IBM DB2 support)
+   if test "$PHP_IBM_DB2" != "no"; then
+@@ -222,7 +225,7 @@ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([empress],,
+   [AS_HELP_STRING([[--with-empress[=DIR]]],
+     [Include Empress support $EMPRESSPATH (Empress Version >= 8.60
+-    required)])])
++    required)])], [no], [no])
+ 
+   AC_MSG_CHECKING(for Empress support)
+   if test "$PHP_EMPRESS" != "no"; then
+@@ -248,7 +251,7 @@ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([empress-bcs],,
+   [AS_HELP_STRING([[--with-empress-bcs[=DIR]]],
+     [Include Empress Local Access support $EMPRESSPATH (Empress Version >=
+-    8.60 required)])])
++    8.60 required)])], [no], [no])
+ 
+   AC_MSG_CHECKING(for Empress local access support)
+   if test "$PHP_EMPRESS_BCS" != "no"; then
+@@ -294,7 +297,7 @@ PHP_ARG_WITH([custom-odbc],,
+     your include dirs. For example, you should define following for Sybase SQL
+     Anywhere 5.5.00 on QNX, prior to running this configure script:
+     CPPFLAGS="-DODBC_QNX -DSQLANY_BUG" LDFLAGS=-lunix
+-    CUSTOM_ODBC_LIBS="-ldblib -lodbc"])])
++    CUSTOM_ODBC_LIBS="-ldblib -lodbc"])], [no], [no])
+ 
+   AC_MSG_CHECKING(for a custom ODBC support)
+   if test "$PHP_CUSTOM_ODBC" != "no"; then
+@@ -317,7 +320,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([iodbc],,
+   [AS_HELP_STRING([--with-iodbc],
+-    [Include iODBC support])])
++    [Include iODBC support])], [no], [no])
+ 
+   AC_MSG_CHECKING(whether to build with iODBC support)
+   if test "$PHP_IODBC" != "no"; then
+@@ -335,7 +338,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([esoob],,
+   [AS_HELP_STRING([[--with-esoob[=DIR]]],
+-    [Include Easysoft OOB support [/usr/local/easysoft/oob/client]])])
++    [Include Easysoft OOB support [/usr/local/easysoft/oob/client]])], [no], [no])
+ 
+   AC_MSG_CHECKING(for Easysoft ODBC-ODBC Bridge support)
+   if test "$PHP_ESOOB" != "no"; then
+@@ -358,7 +361,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([unixODBC],,
+   [AS_HELP_STRING([--with-unixODBC],
+-    [Include unixODBC support])])
++    [Include unixODBC support])], [no], [no])
+ 
+   AC_MSG_CHECKING(whether to build with unixODBC support)
+   if test "$PHP_UNIXODBC" != "no"; then
+@@ -386,7 +389,7 @@ fi
+ if test -z "$ODBC_TYPE"; then
+ PHP_ARG_WITH([dbmaker],,
+   [AS_HELP_STRING([[--with-dbmaker[=DIR]]],
+-    [Include DBMaker support])])
++    [Include DBMaker support])], [no], [no])
+ 
+   AC_MSG_CHECKING(for DBMaker support)
+   if test "$PHP_DBMAKER" != "no"; then
diff --git a/databases/php82-pdo/Makefile b/databases/php82-pdo/Makefile
new file mode 100644
index 000000000000..791d03dd46c8
--- /dev/null
+++ b/databases/php82-pdo/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	databases
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-pdo
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php82-pdo_dblib/Makefile b/databases/php82-pdo_dblib/Makefile
new file mode 100644
index 000000000000..20e61241fe9b
--- /dev/null
+++ b/databases/php82-pdo_dblib/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	databases
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-pdo_dblib
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php82-pdo_firebird/Makefile b/databases/php82-pdo_firebird/Makefile
new file mode 100644
index 000000000000..86766d322feb
--- /dev/null
+++ b/databases/php82-pdo_firebird/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	databases
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-pdo_firebird
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php82-pdo_mysql/Makefile b/databases/php82-pdo_mysql/Makefile
new file mode 100644
index 000000000000..3fed135f7533
--- /dev/null
+++ b/databases/php82-pdo_mysql/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	databases
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-pdo_mysql
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php82-pdo_odbc/Makefile b/databases/php82-pdo_odbc/Makefile
new file mode 100644
index 000000000000..985fb1c67f4f
--- /dev/null
+++ b/databases/php82-pdo_odbc/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	databases
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-pdo_odbc
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php82-pdo_pgsql/Makefile b/databases/php82-pdo_pgsql/Makefile
new file mode 100644
index 000000000000..23349bb95e2d
--- /dev/null
+++ b/databases/php82-pdo_pgsql/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	databases
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-pdo_pgsql
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php82-pdo_sqlite/Makefile b/databases/php82-pdo_sqlite/Makefile
new file mode 100644
index 000000000000..d02383f6baa4
--- /dev/null
+++ b/databases/php82-pdo_sqlite/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	databases
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-pdo_sqlite
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php82-pgsql/Makefile b/databases/php82-pgsql/Makefile
new file mode 100644
index 000000000000..feebe96d8f1d
--- /dev/null
+++ b/databases/php82-pgsql/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	databases
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-pgsql
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/php82-sqlite3/Makefile b/databases/php82-sqlite3/Makefile
new file mode 100644
index 000000000000..12e06e0d03cc
--- /dev/null
+++ b/databases/php82-sqlite3/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	databases
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-sqlite3
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/Makefile b/devel/Makefile
index c66502eae4cd..58f3488fdf8e 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4061,15 +4061,25 @@
     SUBDIR += php80-sysvshm
     SUBDIR += php80-tokenizer
     SUBDIR += php81-ffi
+    SUBDIR += php82-ffi
     SUBDIR += php81-gettext
+    SUBDIR += php82-gettext
     SUBDIR += php81-intl
+    SUBDIR += php82-intl
     SUBDIR += php81-pcntl
+    SUBDIR += php82-pcntl
     SUBDIR += php81-readline
+    SUBDIR += php82-readline
     SUBDIR += php81-shmop
+    SUBDIR += php82-shmop
     SUBDIR += php81-sysvmsg
+    SUBDIR += php82-sysvmsg
     SUBDIR += php81-sysvsem
+    SUBDIR += php82-sysvsem
     SUBDIR += php81-sysvshm
+    SUBDIR += php82-sysvshm
     SUBDIR += php81-tokenizer
+    SUBDIR += php82-tokenizer
     SUBDIR += phpunit6
     SUBDIR += phpunit7
     SUBDIR += phpunit8
diff --git a/devel/php82-ffi/Makefile b/devel/php82-ffi/Makefile
new file mode 100644
index 000000000000..4061c2f3c2ee
--- /dev/null
+++ b/devel/php82-ffi/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	devel
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-ffi
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php82-gettext/Makefile b/devel/php82-gettext/Makefile
new file mode 100644
index 000000000000..8484c9a9d82d
--- /dev/null
+++ b/devel/php82-gettext/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	devel
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-gettext
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php82-intl/Makefile b/devel/php82-intl/Makefile
new file mode 100644
index 000000000000..ed4b8c995619
--- /dev/null
+++ b/devel/php82-intl/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	devel
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-intl
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php82-pcntl/Makefile b/devel/php82-pcntl/Makefile
new file mode 100644
index 000000000000..ee87b00452e3
--- /dev/null
+++ b/devel/php82-pcntl/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	devel
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-pcntl
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php82-readline/Makefile b/devel/php82-readline/Makefile
new file mode 100644
index 000000000000..b7ed18c4a227
--- /dev/null
+++ b/devel/php82-readline/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	devel
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-readline
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php82-readline/files/patch-config.m4 b/devel/php82-readline/files/patch-config.m4
new file mode 100644
index 000000000000..93799734a3e3
--- /dev/null
+++ b/devel/php82-readline/files/patch-config.m4
@@ -0,0 +1,33 @@
+--- config.m4.orig	2019-08-06 06:54:14 UTC
++++ config.m4
+@@ -3,16 +3,10 @@ PHP_ARG_WITH([libedit],
+   [AS_HELP_STRING([--with-libedit],
+     [Include libedit readline replacement (CLI/CGI only)])])
+ 
+-if test "$PHP_LIBEDIT" = "no"; then
+   PHP_ARG_WITH([readline],
+     [for readline support],
+     [AS_HELP_STRING([[--with-readline[=DIR]]],
+       [Include readline support (CLI/CGI only)])])
+-else
+-  dnl "register" the --with-readline option to prevent invalid "unknown
+-  dnl configure option" warning
+-  php_with_readline=no
+-fi
+ 
+ if test "$PHP_READLINE" && test "$PHP_READLINE" != "no"; then
+   for i in $PHP_READLINE /usr/local /usr; do
+@@ -78,6 +72,13 @@ if test "$PHP_READLINE" && test "$PHP_RE
+   AC_DEFINE(HAVE_HISTORY_LIST, 1, [ ])
+   AC_DEFINE(HAVE_LIBREADLINE, 1, [ ])
+ 
++  PHP_CHECK_LIBRARY(readline, rl_completion_matches,
++  [
++    AC_DEFINE(HAVE_RL_COMPLETION_MATCHES, 1, [ ])
++  ],[],[
++    -L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
++  ])
++
+ elif test "$PHP_LIBEDIT" != "no"; then
+   if test "$PHP_LIBEDIT" != "yes"; then
+     AC_MSG_WARN([libedit directory ignored, rely on pkg-config])
diff --git a/devel/php82-readline/files/patch-readline_cli.c b/devel/php82-readline/files/patch-readline_cli.c
new file mode 100644
index 000000000000..02f55974f9b0
--- /dev/null
+++ b/devel/php82-readline/files/patch-readline_cli.c
@@ -0,0 +1,13 @@
+--- readline_cli.c.orig	2012-03-02 16:40:26.000000000 +0100
++++ readline_cli.c	2012-03-02 16:40:43.000000000 +0100
+@@ -19,6 +19,10 @@
+ 
+ /* $Id: readline_cli.c 321634 2012-01-01 13:15:04Z felipe $ */
+ 
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
+ #include "php.h"
+ 
+ #ifndef HAVE_RL_COMPLETION_MATCHES
diff --git a/devel/php82-shmop/Makefile b/devel/php82-shmop/Makefile
new file mode 100644
index 000000000000..bb5ae767f2b0
--- /dev/null
+++ b/devel/php82-shmop/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	devel
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-shmop
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php82-sysvmsg/Makefile b/devel/php82-sysvmsg/Makefile
new file mode 100644
index 000000000000..6a9c3993c166
--- /dev/null
+++ b/devel/php82-sysvmsg/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	devel
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-sysvmsg
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php82-sysvsem/Makefile b/devel/php82-sysvsem/Makefile
new file mode 100644
index 000000000000..77b146d27a1f
--- /dev/null
+++ b/devel/php82-sysvsem/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	devel
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-sysvsem
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php82-sysvshm/Makefile b/devel/php82-sysvshm/Makefile
new file mode 100644
index 000000000000..b6d74bb67924
--- /dev/null
+++ b/devel/php82-sysvshm/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	devel
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-sysvshm
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/php82-tokenizer/Makefile b/devel/php82-tokenizer/Makefile
new file mode 100644
index 000000000000..52af91c233ee
--- /dev/null
+++ b/devel/php82-tokenizer/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES=	devel
+
+MASTERDIR=	${.CURDIR}/../../lang/php82
+
+PKGNAMESUFFIX=	-tokenizer
*** 2306 LINES SKIPPED ***