From: Theo Buehler Subject: Re: UPDATE: multimedia/sfml To: Pascal Stumpf Cc: Rafael Sadowski , ports@openbsd.org Date: Sun, 31 Aug 2025 07:58:40 +0200 On Fri, Aug 29, 2025 at 08:58:36PM +0200, Pascal Stumpf wrote: > On Sun, 24 Aug 2025 21:14:13 +0200, Rafael Sadowski wrote: > > Simple update multimedia/sfml to 3.0. This update fix the > > build with libc++19. > > I'd rather update to 2.6.2 with a patch from FreeBSD. 3.0.0 is > apparently a major API change that breaks all dependent ports. This unbreaks the build of most consumers, except games/witchblast. The FreeBSD patch is partly responsible: > +Fix with libc++ 19, from FreeBSD. > + > +https://github.com/FreeBSD/freebsd-ports/commit/fab3a2f25cc1f31d87aa0094f884dd4e8f37180f [..] > ++ static constexpr int compare(const char_type* lhs, const char_type* rhs, size_t count) noexcept > ++ { > ++ for (; count; --count, ++lhs, ++rhs) Causes: /usr/local/include/SFML/System/String.hpp:69:9: error: statement not allowed in constexpr functio n 69 | for (; count; --count, ++lhs, ++rhs) | ^ This subsequent error indicates that there's more to fix in String.hpp: /usr/include/c++/v1/string:820:55: error: no type named 'char_type' in 'std::char_traits' 820 | static_assert(is_same<_CharT, typename traits_type::char_type>::value, | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ /usr/local/include/SFML/System/String.hpp:176:18: note: in instantiation of template class 'std::basic_string' requested here 176 | typedef std::basic_string::iterator Iterator; //!< Iterator type | ^