git: e680bd98d34a - main - devel/php*-intl: unbreak build with ICU 75

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Sat, 20 Apr 2024 21:53:01 UTC
The branch main has been updated by jbeich:

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

commit e680bd98d34a86302db434c5be23d0cf9d23df23
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2024-04-20 21:49:22 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2024-04-20 21:52:00 +0000

    devel/php*-intl: unbreak build with ICU 75
    
    In file included from ext/intl/intl_convertcpp.cpp:17:
    In file included from ./intl_convertcpp.h:22:
    In file included from /usr/local/include/unicode/unistr.h:39:
    /usr/local/include/unicode/stringpiece.h:133:29: error: no template named 'enable_if_t' in namespace 'std'
                typename = std::enable_if_t<
                           ~~~~~^
    /usr/local/include/unicode/stringpiece.h:134:23: error: no template named 'is_same_v' in namespace 'std'; did you mean 'is_same'?
                    (std::is_same_v<decltype(T().data()), const char*>
                     ~~~~~^
    /usr/include/c++/v1/__type_traits/is_same.h:22:29: note: 'is_same' declared here
    struct _LIBCPP_TEMPLATE_VIS is_same : _BoolConstant<__is_same(_Tp, _Up)> { };
                                ^
    In file included from ext/intl/intl_convertcpp.cpp:17:
    In file included from ./intl_convertcpp.h:22:
    In file included from /usr/local/include/unicode/unistr.h:39:
    /usr/local/include/unicode/stringpiece.h:139:17: error: use of address-of-label extension outside of a function body
                    std::is_same_v<decltype(T().size()), size_t>>>
                    ^
    /usr/local/include/unicode/stringpiece.h:139:62: error: expected member name or ';' after declaration specifiers
                    std::is_same_v<decltype(T().size()), size_t>>>
                                                                 ^
    PR:             278420
    Reported by:    antoine (via exp-run)
---
 devel/php81-intl/Makefile              |  1 +
 devel/php81-intl/files/patch-config.m4 | 22 ++++++++++++++++++++++
 devel/php82-intl/Makefile              |  2 +-
 devel/php82-intl/files/patch-config.m4 | 22 ++++++++++++++++++++++
 devel/php83-intl/Makefile              |  2 +-
 devel/php83-intl/files/patch-config.m4 | 22 ++++++++++++++++++++++
 6 files changed, 69 insertions(+), 2 deletions(-)

diff --git a/devel/php81-intl/Makefile b/devel/php81-intl/Makefile
index 1ccc80b52ca4..9b26b350679d 100644
--- a/devel/php81-intl/Makefile
+++ b/devel/php81-intl/Makefile
@@ -1,3 +1,4 @@
+PORTREVISION=	1
 CATEGORIES=	devel
 
 MASTERDIR=	${.CURDIR}/../../lang/php81
diff --git a/devel/php81-intl/files/patch-config.m4 b/devel/php81-intl/files/patch-config.m4
new file mode 100644
index 000000000000..e78dbf7844e7
--- /dev/null
+++ b/devel/php81-intl/files/patch-config.m4
@@ -0,0 +1,22 @@
+https://github.com/php/php-src/commit/037855fcd3f2
+
+--- config.m4.orig	2024-04-09 18:46:23 UTC
++++ config.m4
+@@ -80,7 +80,16 @@ if test "$PHP_INTL" != "no"; then
+     breakiterator/codepointiterator_methods.cpp"
+ 
+   PHP_REQUIRE_CXX()
+-  PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
++
++  AC_MSG_CHECKING([if intl requires -std=gnu++17])
++  AS_IF([test "$PKG_CONFIG icu-uc --atleast-version=74"],[
++    AC_MSG_RESULT([yes])
++    PHP_CXX_COMPILE_STDCXX(17, mandatory, PHP_INTL_STDCXX)
++  ],[
++    AC_MSG_RESULT([no])
++    PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
++  ])
++
+   PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $PHP_INTL_STDCXX $ICU_CXXFLAGS"
+   case $host_alias in
+   *cygwin*) PHP_INTL_CXX_FLAGS="$PHP_INTL_CXX_FLAGS -D_POSIX_C_SOURCE=200809L"
diff --git a/devel/php82-intl/Makefile b/devel/php82-intl/Makefile
index 345c2d19f89c..ee29a2235e91 100644
--- a/devel/php82-intl/Makefile
+++ b/devel/php82-intl/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION=	0
+PORTREVISION=	1
 CATEGORIES=	devel
 
 MASTERDIR=	${.CURDIR}/../../lang/php82
diff --git a/devel/php82-intl/files/patch-config.m4 b/devel/php82-intl/files/patch-config.m4
new file mode 100644
index 000000000000..e78dbf7844e7
--- /dev/null
+++ b/devel/php82-intl/files/patch-config.m4
@@ -0,0 +1,22 @@
+https://github.com/php/php-src/commit/037855fcd3f2
+
+--- config.m4.orig	2024-04-09 18:46:23 UTC
++++ config.m4
+@@ -80,7 +80,16 @@ if test "$PHP_INTL" != "no"; then
+     breakiterator/codepointiterator_methods.cpp"
+ 
+   PHP_REQUIRE_CXX()
+-  PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
++
++  AC_MSG_CHECKING([if intl requires -std=gnu++17])
++  AS_IF([test "$PKG_CONFIG icu-uc --atleast-version=74"],[
++    AC_MSG_RESULT([yes])
++    PHP_CXX_COMPILE_STDCXX(17, mandatory, PHP_INTL_STDCXX)
++  ],[
++    AC_MSG_RESULT([no])
++    PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
++  ])
++
+   PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $PHP_INTL_STDCXX $ICU_CXXFLAGS"
+   case $host_alias in
+   *cygwin*) PHP_INTL_CXX_FLAGS="$PHP_INTL_CXX_FLAGS -D_POSIX_C_SOURCE=200809L"
diff --git a/devel/php83-intl/Makefile b/devel/php83-intl/Makefile
index 347b1c99552a..fa5f5245ebaf 100644
--- a/devel/php83-intl/Makefile
+++ b/devel/php83-intl/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION=	0
+PORTREVISION=	1
 CATEGORIES=	devel
 
 MASTERDIR=	${.CURDIR}/../../lang/php83
diff --git a/devel/php83-intl/files/patch-config.m4 b/devel/php83-intl/files/patch-config.m4
new file mode 100644
index 000000000000..e78dbf7844e7
--- /dev/null
+++ b/devel/php83-intl/files/patch-config.m4
@@ -0,0 +1,22 @@
+https://github.com/php/php-src/commit/037855fcd3f2
+
+--- config.m4.orig	2024-04-09 18:46:23 UTC
++++ config.m4
+@@ -80,7 +80,16 @@ if test "$PHP_INTL" != "no"; then
+     breakiterator/codepointiterator_methods.cpp"
+ 
+   PHP_REQUIRE_CXX()
+-  PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
++
++  AC_MSG_CHECKING([if intl requires -std=gnu++17])
++  AS_IF([test "$PKG_CONFIG icu-uc --atleast-version=74"],[
++    AC_MSG_RESULT([yes])
++    PHP_CXX_COMPILE_STDCXX(17, mandatory, PHP_INTL_STDCXX)
++  ],[
++    AC_MSG_RESULT([no])
++    PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX)
++  ])
++
+   PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $PHP_INTL_STDCXX $ICU_CXXFLAGS"
+   case $host_alias in
+   *cygwin*) PHP_INTL_CXX_FLAGS="$PHP_INTL_CXX_FLAGS -D_POSIX_C_SOURCE=200809L"