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)
main
Jan Beich 2024-04-20 23:49:22 +02:00
parent 4816cd4921
commit e680bd98d3
6 changed files with 69 additions and 2 deletions

View File

@ -1,3 +1,4 @@
PORTREVISION= 1
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php81

View File

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

View File

@ -1,4 +1,4 @@
PORTREVISION= 0
PORTREVISION= 1
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php82

View File

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

View File

@ -1,4 +1,4 @@
PORTREVISION= 0
PORTREVISION= 1
CATEGORIES= devel
MASTERDIR= ${.CURDIR}/../../lang/php83

View File

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