ports/databases/mysql80-server/files
Jochen Neumeister 4e862d56da databases/mysql80-server: fix build with libc++ 19
As noted in the libc++ 19 release notes [1], std::char_traits<> is now
only provided for char, char8_t, char16_t, char32_t and wchar_t, and any
instantiation for other types will fail.

This causes databases/mysql80-client to fail to compile with clang 19
and libc++ 19, resulting in errors similar to:

    /usr/include/c++/v1/string:820:42: error: implicit instantiation of
undefined template 'std::char_traits<unsigned char>'
      820 |   static_assert(is_same<_CharT, typename
traits_type::char_type>::value,
          |                                          ^
    /wrkdirs/usr/ports/databases/mysql80-client/work/mysql-8.0.39/sql/rpl_log_encryption.h:821:14:
note: in instantiation of template class 'std::basic_string<unsigned
char>' requested here
      821 |   Key_string m_encrypted_password;
          |              ^
    /usr/include/c++/v1/__fwd/string.h:23:29: note: template is declared
here
       23 | struct _LIBCPP_TEMPLATE_VIS char_traits;
          |                             ^

`Key_string` is defined as `std::basic_string<unsigned char>`, which is
no longer possible. So redefine it as a `std::vector<unsigned char>`
instead.

This requires only a few small adjustments in other places: replacing
the `length()` method with the equivalent `size()` method, and adjusting
the arguments for the `assign()` method, which for `std::vector` takes a
begin and end iterator, instead of a begin iterator and a size.

[1]
https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals

PR:	280693
Sponsored by:	Netzkommune GmbH
2024-08-31 17:45:19 +02:00
..
extra-patch-boost-boost_1_77_0-boost-move-detail-type_traits.hpp
my.cnf.sample.in
mysql-server.in
patch-boost_boost__1__77__0_boost_mpl_aux___integral__wrapper.hpp
patch-client_CMakeLists.txt
patch-cmake_install__layout.cmake
patch-cmake_os_DragonFly.cmake
patch-cmake_os_FreeBSD.cmake
patch-cmake_plugin.cmake
patch-cmake_ssl.cmake
patch-CMakeLists.txt
patch-extra_abseil_abseil-cpp-20230802.1_absl_time_internal_cctz_src_time__zone__format.cc
patch-include_dh__ecdh__config.h
patch-include_my__compare.h
patch-include_my__stacktrace.h
patch-include_my__thread__os__id.h
patch-include_myisam.h
patch-libmysql_CMakeLists.txt
patch-libservices_CMakeLists.txt
patch-man_CMakeLists.txt
patch-mysys_my__default.cc
patch-mysys_my__kdf.cc
patch-plugin_password__validation_validate__password.cc
patch-plugin_x_client_authentication_sha256__scramble__generator.cc
patch-plugin_x_CMakeLists.txt
patch-plugin_x_configure.cmake
patch-router_src_harness_include_mysql_harness_net__ts_impl_kqueue__io__service.h
patch-router_src_harness_include_mysql_harness_net__ts_internet.h
patch-router_src_harness_src_CMakeLists.txt
patch-router_src_harness_src_tls__client__context.cc
patch-router_src_harness_src_tls__context.cc
patch-router_src_harness_src_tls__server__context.cc
patch-router_src_http_src_CMakeLists.txt
patch-router_src_io_src_CMakeLists.txt
patch-router_src_router_src_CMakeLists.txt
patch-scripts_CMakeLists.txt
patch-scripts_mysqld__safe.sh
patch-sql_auth_sha2__password__common.cc
patch-sql_auth_sql__authorization.cc
patch-sql_binlog__ostream.cc databases/mysql80-server: fix build with libc++ 19 2024-08-31 17:45:19 +02:00
patch-sql_conn__handler_socket__connection.cc
patch-sql_mdl__context__backup.cc databases/mysql80-server: fix build with libc++ 19 2024-08-31 17:45:19 +02:00
patch-sql_mdl__context__backup.h databases/mysql80-server: fix build with libc++ 19 2024-08-31 17:45:19 +02:00
patch-sql_mysqld.cc
patch-sql_range__optimizer_index__range__scan__plan.cc databases/mysql80-server: fix build with libc++ 19 2024-08-31 17:45:19 +02:00
patch-sql_rpl__log__encryption.cc databases/mysql80-server: fix build with libc++ 19 2024-08-31 17:45:19 +02:00
patch-sql_ssl__init__callback.cc
patch-sql_stream__cipher.cc databases/mysql80-server: fix build with libc++ 19 2024-08-31 17:45:19 +02:00
patch-sql_stream__cipher.h databases/mysql80-server: fix build with libc++ 19 2024-08-31 17:45:19 +02:00
patch-sql_sys__vars.cc
patch-storage_innobase_include_details_ut_aligned_alloc.h databases/mysql80-server: fix build for i386 2024-08-31 10:12:55 +02:00
patch-storage_innobase_include_srv0mon.h
patch-storage_innobase_include_ut0crc32.h
patch-storage_innobase_ut_crc32.cc
patch-storage_myisam_mi__dynrec.cc
patch-storage_temptable_include_temptable_lock__free__type.h
patch-support-files_CMakeLists.txt
patch-unittest_gunit_binlogevents_transaction__compression-t.cc databases/mysql80-server: fix build with libc++ 19 2024-08-31 17:45:19 +02:00
patch-unittest_gunit_stream__cipher-t.cc databases/mysql80-server: fix build with libc++ 19 2024-08-31 17:45:19 +02:00
patch-utilities_CMakeLists.txt
pkg-message.in