[Bug 282667] devel/corrade: fix build with libc++ 19

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 10 Nov 2024 12:46:43 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282667

            Bug ID: 282667
           Summary: devel/corrade: fix build with libc++ 19
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: yuri@freebsd.org
          Reporter: dim@FreeBSD.org
             Flags: maintainer-feedback?(yuri@freebsd.org)
          Assignee: yuri@freebsd.org

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.

-- 
You are receiving this mail because:
You are the assignee for the bug.