This port fails to build with libc++ 19, resulting in errors similar to: In file included from /wrkdirs/usr/ports/devel/corrade/work/corrade-2020.06-1783-gd83e30e5/src/Corrade/Utility/Directory.cpp:30: /wrkdirs/usr/ports/devel/corrade/work/corrade-2020.06-1783-gd83e30e5/src/Corrade/Utility/Directory.h:108:86: error: no template named 'pair' in namespace 'std' 108 | CORRADE_DEPRECATED("use Path::splitExtension() instead") CORRADE_UTILITY_EXPORT std::pair<std::string, std::string> splitExtension(const std::string& path); | ~~~~~^ /wrkdirs/usr/ports/devel/corrade/work/corrade-2020.06-1783-gd83e30e5/src/Corrade/Utility/Directory.h:127:76: error: no template named 'vector' in namespace 'std' 127 | CORRADE_DEPRECATED("use Path::list() instead") CORRADE_UTILITY_EXPORT std::vector<std::string> list(const std::string& path, | ~~~~~^ It is because corrade tries a rather fragile approach for forward-declaring standard types such as std::vector, via StlForwardXXX.h headers. Update the version check in StlForwardVector.h to make it include the real <vector> header for libc++ 19 and later.
Created attachment 255070 [details] devel/corrade: fix build with libc++ 19
Dimitry, thanks for the patch. I've submitted this patch as a pull request and backported it into the port. Thanks, Yuri
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=6dccbda6e92d05b990b396f85e8fe0f42e1d54ef commit 6dccbda6e92d05b990b396f85e8fe0f42e1d54ef Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2024-11-10 17:15:08 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2024-11-10 17:19:11 +0000 devel/corrade: fix build with libc++ 19 PR: 282667 Submitted by: Dimitry Andric <dim@FreeBSD.org> devel/corrade/Makefile | 3 +++ devel/corrade/distinfo | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-)