From 70854d52a1cd54653ef667e0588d50c3e8fd826b Mon Sep 17 00:00:00 2001 From: Aaron Jheng Date: Sat, 23 May 2026 09:49:41 +0800 Subject: [PATCH 1/3] mysql-shell_8: fix build with clang --- pkgs/development/tools/mysql-shell/8.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/mysql-shell/8.nix b/pkgs/development/tools/mysql-shell/8.nix index 0f1253bd4f61..196d6c009d50 100644 --- a/pkgs/development/tools/mysql-shell/8.nix +++ b/pkgs/development/tools/mysql-shell/8.nix @@ -77,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: { env = lib.optionalAttrs stdenv.cc.isClang { - NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-literal-operator"; + NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-literal-operator -Wno-error=nonnull"; } // lib.optionalAttrs stdenv.cc.isGNU { NIX_CFLAGS_COMPILE = "-Wno-error=array-bounds"; From 8f85bca57f03cecd3a62db383e89fc17e0d23b0d Mon Sep 17 00:00:00 2001 From: Aaron Jheng Date: Sat, 23 May 2026 17:08:32 +0800 Subject: [PATCH 2/3] mysql-shell_9: fix build with libc++ 21 --- pkgs/development/tools/mysql-shell/9.nix | 4 ++++ .../mysql-shell/mysql-server-libcxx-21.patch | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/development/tools/mysql-shell/mysql-server-libcxx-21.patch 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 From 5c8553d66bb2463a362e4c73daf62a691dfa7c81 Mon Sep 17 00:00:00 2001 From: Aaron Jheng Date: Sat, 23 May 2026 17:08:38 +0800 Subject: [PATCH 3/3] mysql-shell-innovation: fix build with libc++ 21 --- pkgs/development/tools/mysql-shell/innovation.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/tools/mysql-shell/innovation.nix b/pkgs/development/tools/mysql-shell/innovation.nix index b02599bfc9f6..0417d36a1527 100644 --- a/pkgs/development/tools/mysql-shell/innovation.nix +++ b/pkgs/development/tools/mysql-shell/innovation.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} + ''} ''; nativeBuildInputs = [