Files
ports/databases/mysql80-server
Dimitry Andric 12e52077d3 databases/mysql80-server: fix build with libc++ 20 and higher
With libc++ 20 and higher, databases/mysql80-server fails to compile,
resulting in errors similar to:

    In file included from /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.44/router/src/harness/src/stdx/filesystem.cc:40:
    /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.44/router/src/harness/src/../include/mysql/harness/stdx/expected.h:74:8: error: 'is_default_constructible' cannot be specialized: Users are not allowed to specialize this standard library entity [-Winvalid-specialization]
       74 | struct is_default_constructible<std::unique_ptr<T, void (*)(T *)>>
          |        ^
    /usr/include/c++/v1/__type_traits/is_constructible.h:49:8: note: marked '_Clang::no_specializations' here
       49 | struct _LIBCPP_NO_SPECIALIZATIONS is_default_constructible : integral_constant<bool, __is_constructible(_Tp)> {};
          |        ^
    /usr/include/c++/v1/__config:1167:9: note: expanded from macro '_LIBCPP_NO_SPECIALIZATIONS'
     1167 |       [[_Clang::__no_specializations__("Users are not allowed to specialize this standard library entity")]]
          |         ^

This is due to a workaround for a std::unique_ptr problem which is only
applicable to gcc before 7.1, so the whole workaround can be deleted,
which fixes the problem.

See also: https://bugs.mysql.com/bug.php?id=119238

PR:		292589
Approved by:	maintainer timeout (2 weeks)
MFH:		2026Q1
2026-01-31 19:41:22 +01:00
..