From 31a9dc1bc7098cea97550ba78ec24f06003c912f Mon Sep 17 00:00:00 2001 From: Leonardo Romor Date: Thu, 2 Jan 2025 14:11:04 +0100 Subject: [PATCH] build-bazel-package: added rm of extra local folders for toolchain configuration in latest bazel versions. This patch updates the set of folders to remove (as they contain non-reproducible nix store hashes) for the bazel fetch stage --- pkgs/build-support/build-bazel-package/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix index 1131f73a1836..becda0c2867b 100644 --- a/pkgs/build-support/build-bazel-package/default.nix +++ b/pkgs/build-support/build-bazel-package/default.nix @@ -30,6 +30,7 @@ args@{ # [1]: https://github.com/bazelbuild/rules_cc , removeRulesCC ? true , removeLocalConfigCc ? true +, removeLocalConfigSh ? true , removeLocal ? true # Use build --nobuild instead of fetch. This allows fetching the dependencies @@ -154,10 +155,16 @@ stdenv.mkDerivation (fBuildAttrs // { # Remove all built in external workspaces, Bazel will recreate them when building rm -rf $bazelOut/external/{bazel_tools,\@bazel_tools.marker} ${lib.optionalString removeRulesCC "rm -rf $bazelOut/external/{rules_cc,\\@rules_cc.marker}"} + rm -rf $bazelOut/external/{embedded_jdk,\@embedded_jdk.marker} ${lib.optionalString removeLocalConfigCc "rm -rf $bazelOut/external/{local_config_cc,\\@local_config_cc.marker}"} ${lib.optionalString removeLocal "rm -rf $bazelOut/external/{local_*,\\@local_*.marker}"} + # For bazel version >= 6 with bzlmod. + ${lib.optionalString removeLocalConfigCc "rm -rf $bazelOut/external/*[~+]{local_config_cc,local_config_cc.marker}"} + ${lib.optionalString removeLocalConfigSh "rm -rf $bazelOut/external/*[~+]{local_config_sh,local_config_sh.marker}"} + ${lib.optionalString removeLocal "rm -rf $bazelOut/external/*[~+]{local_jdk,local_jdk.marker}"} + # Clear markers find $bazelOut/external -name '@*\.marker' -exec sh -c 'echo > {}' \;