Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
Re: UPDATE: multimedia/sfml
To:
Pascal Stumpf <pascal@stumpf.co>
Cc:
Rafael Sadowski <rafael@sizeofvoid.org>, ports@openbsd.org
Date:
Sun, 31 Aug 2025 07:58:40 +0200

Download raw body.

Thread
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<unsigned int>'
  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<unsigned int>' requested here
  176 |     typedef std::basic_string<Uint32>::iterator       Iterator;      //!< Iterator type
      |                  ^