git: 4816cd49210c - main - print/harfbuzz-icu: unbreak build with ICU 75

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

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

commit 4816cd49210c3c1413219b8884a17655cf4be340
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:51:57 +0000

    print/harfbuzz-icu: unbreak build with ICU 75
    
    In file included from ../src/hb-icu.cc:39:
    In file included from /usr/local/include/unicode/unorm2.h:35:
    In file included from /usr/local/include/unicode/uset.h:36:
    /usr/local/include/unicode/localpointer.h:561:26: error: 'auto' not allowed in template parameter until C++17
    template <typename Type, auto closeFunction>
                             ^~~~
    In file included from ../src/hb-icu.cc:39:
    In file included from /usr/local/include/unicode/unorm2.h:35:
    /usr/local/include/unicode/uset.h:358:53: error: value of type 'void (USet *)' is not implicitly convertible to 'int'
    U_DEFINE_LOCAL_OPEN_POINTER(LocalUSetPointer, USet, uset_close);
                                                        ^~~~~~~~~~
    /usr/local/include/unicode/localpointer.h:551:68: note: expanded from macro 'U_DEFINE_LOCAL_OPEN_POINTER'
        using LocalPointerClassName = internal::LocalOpenPointer<Type, closeFunction>
                                                                       ^~~~~~~~~~~~~
    In file included from ../src/hb-icu.cc:39:
    /usr/local/include/unicode/unorm2.h:286:69: error: value of type 'void (UNormalizer2 *)' is not implicitly convertible to 'int'
    U_DEFINE_LOCAL_OPEN_POINTER(LocalUNormalizer2Pointer, UNormalizer2, unorm2_close);
                                                                        ^~~~~~~~~~~~
    /usr/local/include/unicode/localpointer.h:551:68: note: expanded from macro 'U_DEFINE_LOCAL_OPEN_POINTER'
        using LocalPointerClassName = internal::LocalOpenPointer<Type, closeFunction>
                                                                       ^~~~~~~~~~~~~
    PR:             278420
    Reported by:    antoine (via exp-run)
---
 print/harfbuzz-icu/Makefile | 2 +-
 print/harfbuzz/Makefile     | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/print/harfbuzz-icu/Makefile b/print/harfbuzz-icu/Makefile
index a651fa64d78b..f2dc8aadc1ad 100644
--- a/print/harfbuzz-icu/Makefile
+++ b/print/harfbuzz-icu/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION=	0
+PORTREVISION=	1
 PKGNAMESUFFIX=	-icu
 
 COMMENT=	Harfbuzz ICU support
diff --git a/print/harfbuzz/Makefile b/print/harfbuzz/Makefile
index 00b3ce82a446..d0a1d9dead79 100644
--- a/print/harfbuzz/Makefile
+++ b/print/harfbuzz/Makefile
@@ -39,6 +39,7 @@ DOCS_MESON_ENABLED=	docs
 MESON_ARGS+=	-Dicu=disabled -Dcairo=disabled
 .elif ${HARFBUZZ_SLAVE} == icu
 MESON_ARGS+=	-Dicu=enabled -Dcairo=disabled -Ddocs=disabled
+MESON_ARGS+=	-Dcpp_std=c++17 # https://github.com/harfbuzz/harfbuzz/issues/4671
 LIB_DEPENDS+=	libharfbuzz.so:print/harfbuzz \
 		libicudata.so:devel/icu