From 2a2909634efa550b04c439b69b5fa896b30b6c86 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 10 Aug 2025 00:45:28 +0100 Subject: [PATCH] bazel_7: fix build with modern Clang on macOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This would also work for Bazel 6, but it’s being removed anyway. --- .../tools/build-managers/bazel/bazel_7/default.nix | 10 ++++++++++ pkgs/top-level/all-packages.nix | 1 - 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix index 4f5c45f6f464a..7cd90a1f58225 100644 --- a/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix +++ b/pkgs/development/tools/build-managers/bazel/bazel_7/default.nix @@ -707,6 +707,16 @@ stdenv.mkDerivation rec { dontStrip = true; dontPatchELF = true; + # Work around an issue with the old vendored zlib and modern versions + # of Clang on macOS. + # + # Fixed in newer versions of Bazel and rules_java; see + # . + # + # Credit to Homebrew for the hack: + # + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-fno-define-target-os-macros"; + passthru = { # TODO add some tests to cover basic functionality, and also tests for enableNixHacks=true (buildBazelPackage tests) # tests = ... diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a08d4f67c496a..8deccec68a19b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6778,7 +6778,6 @@ with pkgs; inherit (darwin) sigtool; buildJdk = jdk21_headless; runJdk = jdk21_headless; - stdenv = if stdenv.cc.isClang then llvmPackages_17.stdenv else stdenv; bazel_self = bazel_7; };