diff --git a/pkgs/development/tools/mysql-shell/9.nix b/pkgs/development/tools/mysql-shell/9.nix index e530484240e1..54ec76ca3c3b 100644 --- a/pkgs/development/tools/mysql-shell/9.nix +++ b/pkgs/development/tools/mysql-shell/9.nix @@ -73,6 +73,10 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace ../mysql/cmake/os/Darwin.cmake --replace-fail /usr/bin/libtool libtool substituteInPlace cmake/libutils.cmake --replace-fail /usr/bin/libtool libtool + + ${lib.optionalString stdenv.hostPlatform.isDarwin '' + patch -d .. -p1 < ${./mysql-server-libcxx-21.patch} + ''} ''; strictDeps = true; diff --git a/pkgs/development/tools/mysql-shell/mysql-server-libcxx-21.patch b/pkgs/development/tools/mysql-shell/mysql-server-libcxx-21.patch new file mode 100644 index 000000000000..ffdd259582e6 --- /dev/null +++ b/pkgs/development/tools/mysql-shell/mysql-server-libcxx-21.patch @@ -0,0 +1,22 @@ +diff --git a/mysql/libs/mysql/gtid/tag_plain.h b/mysql/libs/mysql/gtid/tag_plain.h +index 4703a5b0d6e..914c6a4b777 100644 +--- a/mysql/libs/mysql/gtid/tag_plain.h ++++ b/mysql/libs/mysql/gtid/tag_plain.h +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + #include "mysql/gtid/gtid_constants.h" // tag_max_length + +@@ -80,7 +81,8 @@ struct Tag_plain { + unsigned char m_data[tag_max_length + 1]; + }; + +-static_assert(std::is_trivial_v); ++static_assert(std::is_trivially_copyable_v); ++static_assert(std::is_trivially_default_constructible_v); + static_assert(std::is_standard_layout_v); + + } // namespace mysql::gtid