diff --git a/Cargo.Bazel.json.lock b/Cargo.Bazel.json.lock index 098d2b18f2e4..1c22d7d1b679 100644 --- a/Cargo.Bazel.json.lock +++ b/Cargo.Bazel.json.lock @@ -1,5 +1,5 @@ { - "checksum": "76e51ba4f0a9cd9d1eece5abd2ecd00b308907d26af0bc3b1cccaa337e99d1af", + "checksum": "0b2ff2af8892a5691db30253453eaf3804fc1a00ee76e7a0a299c4121c8df948", "crates": { "actix-codec 0.5.1": { "name": "actix-codec", diff --git a/bazel/rules_rust_dep_env.patch b/bazel/rules_rust_dep_env.patch deleted file mode 100644 index fa217682dc3c..000000000000 --- a/bazel/rules_rust_dep_env.patch +++ /dev/null @@ -1,34 +0,0 @@ -# Fix cross-crate DEP_* env vars: rules_rust 0.71.x redacts the producer's out_dir -# to a generic ${out_dir} token in dep env files, but those files are consumed by -# downstream crates' build scripts whose --out-dir differs, leaving the token -# unresolved (e.g. libssh2-sys failing to find zlib.h from libz-sys's DEP_Z_INCLUDE). -# Upstream issue: the 'env files are only consumed by the direct owner' assumption -# in redact_paths() does not hold for outputs_to_dep_env(). -# Fixed upstream by https://github.com/bazelbuild/rules_rust/pull/4124: -# drop this patch when upgrading to a release that includes it. -diff --git a/cargo/private/cargo_build_script_runner/lib.rs b/cargo/private/cargo_build_script_runner/lib.rs ---- a/cargo/private/cargo_build_script_runner/lib.rs -+++ b/cargo/private/cargo_build_script_runner/lib.rs -@@ -181,7 +181,7 @@ - outputs: &[BuildScriptOutput], - crate_links: &str, - exec_root: &str, -- out_dir: &str, -+ _out_dir: &str, - ) -> String { - let prefix = format!("DEP_{}_", crate_links.replace('-', "_").to_uppercase()); - outputs -@@ -191,7 +191,12 @@ - Some(format!( - "{}{}", - prefix, -- Self::escape_for_serializing(Self::redact_paths(env, exec_root, out_dir)) -+ // Do NOT redact the producer's out_dir to the generic `${out_dir}` -+ // token here: DEP_* env vars are consumed by *downstream* crates' -+ // build scripts, whose process_wrapper `--out-dir` points to a -+ // different directory, so the token would resolve incorrectly -+ // (or not at all). Only the exec root is safe to substitute. -+ Self::escape_for_serializing(Self::redact_exec_root(env, exec_root)) - )) - } else { - None diff --git a/bazel/rust.MODULE.bazel b/bazel/rust.MODULE.bazel index 8aa916d574bd..407d7e2d1efd 100644 --- a/bazel/rust.MODULE.bazel +++ b/bazel/rust.MODULE.bazel @@ -5,18 +5,17 @@ bazel_dep(name = "rules_rust", version = "0.71.3") archive_override( module_name = "rules_rust", - integrity = "sha256-h8txtdi9xcNfgjdTBYX+R9CEsxKDucJx+OPvezmkTQM=", + integrity = "sha256-Suf3ncbfLjBtDNj/zlLmQzmooL5+fOfRex73QEvqtuI=", patch_strip = 1, patches = [ # Configure per-compilation-mode strip levels, which the native # `rust.toolchain` tag's flat `strip_level` string_dict cannot express # (https://github.com/bazelbuild/rules_rust/issues/3730). "//bazel:rules_rust_strip_level.patch", - # Fix cross-crate DEP_* env vars being redacted to an `${out_dir}` token - # that downstream crates' build scripts cannot resolve (see patch header). - "//bazel:rules_rust_dep_env.patch", ], - urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.71.3/rules_rust-0.71.3.tar.gz"], + strip_prefix = "rules_rust-5f04c8c14c2ffacfe10ad14e55298be21454be04", + type = "tar.gz", + urls = ["https://codeload.github.com/bazelbuild/rules_rust/tar.gz/5f04c8c14c2ffacfe10ad14e55298be21454be04"], ) rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") diff --git a/rs/pocket_ic_server/BUILD.bazel b/rs/pocket_ic_server/BUILD.bazel index 21c883c139d0..de87801380ea 100644 --- a/rs/pocket_ic_server/BUILD.bazel +++ b/rs/pocket_ic_server/BUILD.bazel @@ -266,7 +266,7 @@ MAINNET_NNS_CANISTER_ENV = { ] + glob([ "src/state_api/**/*.rs", ]), - compile_data = EXTERNAL_CANISTER_DATA + nns_canister_data, + compile_data = EXTERNAL_CANISTER_DATA + nns_canister_data + ["templates/dashboard.html"], crate_name = "pocket_ic_server", proc_macro_deps = [ # Keep sorted.