git: b68b5084aa69 - main - lang/php80: Update version 8.0.13=>8.0.14

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Tue, 28 Dec 2021 02:32:19 UTC
The branch main has been updated by bofh:

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

commit b68b5084aa6927409730c87cbd618be7b62a74fd
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2021-12-28 02:26:09 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2021-12-28 02:32:09 +0000

    lang/php80: Update version 8.0.13=>8.0.14
    
    - Refactor with OPTIONSNG
    
    Changelog:
    
    Core:
        Fixed bug #81582 (Stringable not implicitly declared if __toString()
        came from a trait).
        Fixed bug #81591 (Fatal Error not properly logged in particular
        cases).
        Fixed bug #81626 (Error on use static:: in __сallStatic() wrapped to
        Closure::fromCallable()).
        Fixed bug #81631 (::class with dynamic class name may yield wrong
        line number).
    FPM:
        Fixed bug #81513 (Future possibility for heap overflow in FPM zlog).
    GD:
        Fixed bug #71316 (libpng warning from imagecreatefromstring).
    IMAP:
        Fixed bug #81649 (imap_(un)delete accept sequences, not single
        numbers).
    OpenSSL:
        Fixed bug #75725 (./configure: detecting RAND_egd).
    PCRE:
        Fixed bug #74604 (Out of bounds in php_pcre_replace_impl).
    SPL:
        Fixed bug #81587 (MultipleIterator Segmentation fault w/
        SimpleXMLElement attached).
    Standard:
        Fixed bug #81618 (dns_get_record fails on FreeBSD for missing type).
        Fixed bug #81659 (stream_get_contents() may unnecessarily
        overallocate).
    
    Approved by:    tz (private email)
    Relnotes: https://www.php.net/ChangeLog-8.php#8.0.14
    Sponsored by:   Bounce Experts
---
 lang/php80/Makefile                            | 104 ++++++++-----------------
 lang/php80/distinfo                            |   6 +-
 lang/php80/files/patch-ext_standard_dns.c      |  21 -----
 lang/php80/files/patch-ext_standard_php__dns.h |  24 ------
 4 files changed, 36 insertions(+), 119 deletions(-)

diff --git a/lang/php80/Makefile b/lang/php80/Makefile
index 5991c9b1339d..db8b8cb0e41a 100644
--- a/lang/php80/Makefile
+++ b/lang/php80/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	php80
-DISTVERSION=	8.0.13
+DISTVERSION=	8.0.14
 PORTREVISION?=	0
 CATEGORIES?=	lang devel www
 MASTER_SITES=	PHP
@@ -13,7 +13,6 @@ LICENSE=	PHP301
 
 USES+=		compiler:c11 tar:xz cpe gnome pkgconfig
 CPE_PRODUCT=	php
-NO_OPTIONS_SORT=yes
 
 .if !defined(PKGNAMESUFFIX)
 LIB_DEPENDS=	libpcre2-8.so:devel/pcre2 \
@@ -26,13 +25,15 @@ CONFIGURE_ARGS+=--with-layout=GNU \
 		--with-libxml \
 		--with-password-argon2=${LOCALBASE} \
 		--program-prefix=""
-CPPFLAGS=	-I${LOCALBASE}/include
 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
+
 OPTIONS_DEFINE+=CLI CGI FPM EMBED PHPDBG DEBUG DTRACE IPV6 MYSQLND MYSQL80 LINKTHR ZTS
 OPTIONS_DEFAULT=CLI CGI FPM EMBED MYSQLND LINKTHR DTRACE
 OPTIONS_EXCLUDE_DragonFly=	DTRACE
@@ -49,26 +50,44 @@ 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
 
-CLI_DESC=	Build CLI version
 CGI_DESC=	Build CGI version
-FPM_DESC=	Build FPM version
+CLI_DESC=	Build CLI version
 EMBED_DESC=	Build embedded library
-PHPDBG_DESC=	Interactive PHP debugger
-MYSQLND_DESC=	Build with MySQL Native Driver
-MYSQL80_DESC=	Build with MySQL caching password mechanism
+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-user=${WWWOWN} \
+		--with-fpm-group=${WWWGRP}
+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
-MYSQL80_USES=		ssl
-
-CONFLICTS=	php73 php74
+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"
 
 DESTDIRNAME=	INSTALL_ROOT
 
@@ -78,30 +97,6 @@ DESTDIRNAME=	INSTALL_ROOT
 CONFIGURE_ARGS+=--without-pcre-jit
 .endif
 
-.if ${PORT_OPTIONS:MMYSQLND}
-CONFIGURE_ARGS+=--enable-mysqlnd
-.endif
-
-.if ${PORT_OPTIONS:MCLI}
-PHP_SAPI+=	cli
-.else
-CONFIGURE_ARGS+=--disable-cli
-.endif
-
-.if ${PORT_OPTIONS:MCGI}
-PHP_SAPI+=	cgi
-.else
-CONFIGURE_ARGS+=--disable-cgi
-.endif
-
-.if ${PORT_OPTIONS:MFPM}
-PHP_SAPI+=	fpm
-USE_RC_SUBR+=	php-fpm
-CONFIGURE_ARGS+=--enable-fpm \
-		--with-fpm-user=${WWWOWN} \
-		--with-fpm-group=${WWWGRP}
-.endif
-
 .if defined(PKGNAMEPREFIX)
 USES+=		apache:2.2+
 .include "${PORTSDIR}/Mk/Uses/apache.mk"
@@ -117,18 +112,9 @@ 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:MEMBED}
-PHP_SAPI+=	embed
-CONFIGURE_ARGS+=--enable-embed
-.endif
-
-.if ${PORT_OPTIONS:MPHPDBG}
-PHP_SAPI+=	phpdbg
-CONFIGURE_ARGS+=--enable-phpdbg
-.if ${PORT_OPTIONS:MDEBUG}
+.if ${PORT_OPTIONS:MPHPDBG} && ${PORT_OPTIONS:MDEBUG}
 CONFIGURE_ARGS+=--enable-phpdbg-debug
 .endif
-.endif
 
 .if ${PORT_OPTIONS:MCLI} || ${PORT_OPTIONS:MEMBED}
 PLIST_SUB+=	SAPI_INC=""
@@ -139,30 +125,6 @@ PLIST_SUB+=	SAPI_INC="@comment "
 CONFIGURE_ENV+=	ac_cv_decimal_fp_supported="no" \
 		lt_cv_path_SED="sed"
 
-.if ${PORT_OPTIONS:MLINKTHR}
-LIBS+=		-lpthread
-.endif
-
-.if ${PORT_OPTIONS:MDEBUG}
-CONFIGURE_ARGS+=--enable-debug
-.endif
-
-.if ${PORT_OPTIONS:MZTS}
-CONFIGURE_ARGS+=--enable-zts
-CONFIGURE_ENV+=	pthreads_working="yes"
-.endif
-
-.if ${PORT_OPTIONS:MDTRACE}
-CONFIGURE_ARGS+=--enable-dtrace
-PLIST_SUB+=	DTRACE=""
-.else
-PLIST_SUB+=	DTRACE="@comment "
-.endif
-
-.if empty(PORT_OPTIONS:MIPV6)
-CONFIGURE_ARGS+=--disable-ipv6
-.endif
-
 .if ${PORT_OPTIONS:MMYSQL80}
 WARNING=	"PHP is now built with MySQL 8.0 support which has caching password mechanism. \
 	This implies php80-openssl module. Hence php80-openssl can no longer be \
@@ -174,10 +136,10 @@ WARNING=	"PHP is now built with MySQL 8.0 support which has caching password mec
 post-patch:
 	@${TOUCH} ${WRKSRC}/ext/php_config.h
 	@${REINPLACE_CMD} "s|^\(extension_dir\)|; \1|" ${WRKSRC}/php.ini-*
-.if ${PORT_OPTIONS:MFPM}
+
+post-patch-FPM-on:
 	@${REINPLACE_CMD} -e "s|^;\(pid\)|\1|;s|^;\(pm\.[a-z_]*_servers\)|\1|" \
 		${WRKSRC}/sapi/fpm/php-fpm.conf.in
-.endif
 
 pre-configure:
 	@(cd ${WRKSRC} && ${SETENV} MAKE=${MAKE_CMD} ./buildconf --force)
diff --git a/lang/php80/distinfo b/lang/php80/distinfo
index 82e50ea21c8f..2ea5bafd563d 100644
--- a/lang/php80/distinfo
+++ b/lang/php80/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1640541762
-SHA256 (php/php-8.0.13.tar.xz) = cd976805ec2e9198417651027dfe16854ba2c2c388151ab9d4d268513d52ed52
-SIZE (php/php-8.0.13.tar.xz) = 10854284
+TIMESTAMP = 1640270144
+SHA256 (php/php-8.0.14.tar.xz) = fbde8247ac200e4de73449d9fefc8b495d323b5be9c10cdb645fb431c91156e3
+SIZE (php/php-8.0.14.tar.xz) = 10860176
diff --git a/lang/php80/files/patch-ext_standard_dns.c b/lang/php80/files/patch-ext_standard_dns.c
deleted file mode 100644
index 58acda6824e1..000000000000
--- a/lang/php80/files/patch-ext_standard_dns.c
+++ /dev/null
@@ -1,21 +0,0 @@
---- ext/standard/dns.c.orig	2021-10-19 10:34:32 UTC
-+++ ext/standard/dns.c
-@@ -798,6 +798,7 @@ PHP_FUNCTION(dns_get_record)
- 	zend_long type_param = PHP_DNS_ANY;
- 	zval *authns = NULL, *addtl = NULL;
- 	int type_to_fetch;
-+	int dns_errno;
- #if defined(HAVE_DNS_SEARCH)
- 	struct sockaddr_storage from;
- 	uint32_t fromsize = sizeof(from);
-@@ -946,8 +947,9 @@ PHP_FUNCTION(dns_get_record)
- 			n = php_dns_search(handle, hostname, C_IN, type_to_fetch, answer.qb2, sizeof answer);
- 
- 			if (n < 0) {
-+				dns_errno = php_dns_errno(handle);
- 				php_dns_free_handle(handle);
--				switch (h_errno) {
-+				switch (dns_errno) {
- 					case NO_DATA:
- 					case HOST_NOT_FOUND:
- 						continue;
diff --git a/lang/php80/files/patch-ext_standard_php__dns.h b/lang/php80/files/patch-ext_standard_php__dns.h
deleted file mode 100644
index 11ebd188624e..000000000000
--- a/lang/php80/files/patch-ext_standard_php__dns.h
+++ /dev/null
@@ -1,24 +0,0 @@
---- ext/standard/php_dns.h.orig	2021-10-19 10:34:32 UTC
-+++ ext/standard/php_dns.h
-@@ -24,6 +24,7 @@
-     	((int)dns_search(res, dname, class, type, (char *) answer, anslen, (struct sockaddr *)&from, &fromsize))
- #define php_dns_free_handle(res) \
- 		dns_free(res)
-+#define php_dns_errno(handle) h_errno
- 
- #elif defined(HAVE_RES_NSEARCH)
- #define php_dns_search(res, dname, class, type, answer, anslen) \
-@@ -37,11 +38,13 @@
- 			res_nclose(res); \
- 			php_dns_free_res(res)
- #endif
-+#define php_dns_errno(handle) handle->res_h_errno
- 
- #elif defined(HAVE_RES_SEARCH)
- #define php_dns_search(res, dname, class, type, answer, anslen) \
- 			res_search(dname, class, type, answer, anslen)
- #define php_dns_free_handle(res) /* noop */
-+#define php_dns_errno(handle) h_errno
- 
- #endif
-