From f73a638e54d9560e491195ffe153b6f1ddb3ae40 Mon Sep 17 00:00:00 2001 From: Kyle Matsuda Date: Tue, 21 Feb 2023 13:03:02 -0700 Subject: [PATCH 1/2] remove env::var from LocalFingerprint::find_stale_item --- src/cargo/core/compiler/fingerprint/mod.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/cargo/core/compiler/fingerprint/mod.rs b/src/cargo/core/compiler/fingerprint/mod.rs index e728263a38c..02c55633c95 100644 --- a/src/cargo/core/compiler/fingerprint/mod.rs +++ b/src/cargo/core/compiler/fingerprint/mod.rs @@ -371,7 +371,7 @@ use crate::util; use crate::util::errors::CargoResult; use crate::util::interning::InternedString; use crate::util::{internal, path_args, profile, StableHasher}; -use crate::CARGO_ENV; +use crate::{Config, CARGO_ENV}; use super::custom_build::BuildDeps; use super::job::{Job, Work}; @@ -782,6 +782,7 @@ impl LocalFingerprint { pkg_root: &Path, target_root: &Path, cargo_exe: &Path, + config: &Config, ) -> CargoResult> { match self { // We need to parse `dep_info`, learn about the crate's dependencies. @@ -810,7 +811,7 @@ impl LocalFingerprint { .to_string(), ) } else { - env::var(key).ok() + config.get_env(key).ok() }; if current == *previous { continue; @@ -1059,6 +1060,7 @@ impl Fingerprint { pkg_root: &Path, target_root: &Path, cargo_exe: &Path, + config: &Config, ) -> CargoResult<()> { assert!(!self.fs_status.up_to_date()); @@ -1166,7 +1168,7 @@ impl Fingerprint { // message and bail out so we stay stale. for local in self.local.get_mut().unwrap().iter() { if let Some(item) = - local.find_stale_item(mtime_cache, pkg_root, target_root, cargo_exe)? + local.find_stale_item(mtime_cache, pkg_root, target_root, cargo_exe, config)? { item.log(); self.fs_status = FsStatus::StaleItem(item); @@ -1328,6 +1330,7 @@ fn calculate(cx: &mut Context<'_, '_>, unit: &Unit) -> CargoResult Date: Tue, 21 Feb 2023 13:19:24 -0700 Subject: [PATCH 2/2] remove env::var from util::rustc::rustc_fingerprint --- src/cargo/util/config/mod.rs | 1 + src/cargo/util/rustc.rs | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/cargo/util/config/mod.rs b/src/cargo/util/config/mod.rs index abf3b56bbb7..b5c781efddd 100644 --- a/src/cargo/util/config/mod.rs +++ b/src/cargo/util/config/mod.rs @@ -426,6 +426,7 @@ impl Config { } else { None }, + self, ) } diff --git a/src/cargo/util/rustc.rs b/src/cargo/util/rustc.rs index 6073ffe0b60..3f1da64d431 100644 --- a/src/cargo/util/rustc.rs +++ b/src/cargo/util/rustc.rs @@ -10,7 +10,7 @@ use log::{debug, info, warn}; use serde::{Deserialize, Serialize}; use crate::util::interning::InternedString; -use crate::util::{profile, CargoResult, StableHasher}; +use crate::util::{profile, CargoResult, Config, StableHasher}; /// Information on the `rustc` executable #[derive(Debug)] @@ -43,6 +43,7 @@ impl Rustc { workspace_wrapper: Option, rustup_rustc: &Path, cache_location: Option, + config: &Config, ) -> CargoResult { let _p = profile::start("Rustc::new"); @@ -52,6 +53,7 @@ impl Rustc { &path, rustup_rustc, cache_location, + config, ); let mut cmd = ProcessBuilder::new(&path); @@ -173,10 +175,11 @@ impl Cache { rustc: &Path, rustup_rustc: &Path, cache_location: Option, + config: &Config, ) -> Cache { match ( cache_location, - rustc_fingerprint(wrapper, workspace_wrapper, rustc, rustup_rustc), + rustc_fingerprint(wrapper, workspace_wrapper, rustc, rustup_rustc, config), ) { (Some(cache_location), Ok(rustc_fingerprint)) => { let empty = CacheData { @@ -296,6 +299,7 @@ fn rustc_fingerprint( workspace_wrapper: Option<&Path>, rustc: &Path, rustup_rustc: &Path, + config: &Config, ) -> CargoResult { let mut hasher = StableHasher::new(); @@ -329,8 +333,8 @@ fn rustc_fingerprint( let maybe_rustup = rustup_rustc == rustc; match ( maybe_rustup, - env::var("RUSTUP_HOME"), - env::var("RUSTUP_TOOLCHAIN"), + config.get_env("RUSTUP_HOME"), + config.get_env("RUSTUP_TOOLCHAIN"), ) { (_, Ok(rustup_home), Ok(rustup_toolchain)) => { debug!("adding rustup info to rustc fingerprint");