Merge pull request #2827 from pre-commit/cargo-home-during-rustup

set CARGO_HOME while executing rustup
This commit is contained in:
Anthony Sottile 2023-03-25 14:00:25 -04:00 committed by GitHub
commit 0477abd3ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -80,9 +80,9 @@ def _add_dependencies(
lang_base.setup_cmd(prefix, ('cargo', 'add', *crates))
def install_rust_with_toolchain(toolchain: str) -> None:
def install_rust_with_toolchain(toolchain: str, envdir: str) -> None:
with tempfile.TemporaryDirectory() as rustup_dir:
with envcontext((('RUSTUP_HOME', rustup_dir),)):
with envcontext((('CARGO_HOME', envdir), ('RUSTUP_HOME', rustup_dir))):
# acquire `rustup` if not present
if parse_shebang.find_executable('rustup') is None:
# We did not detect rustup and need to download it first.
@ -145,7 +145,7 @@ def install_environment(
ctx.enter_context(in_env(prefix, version))
if version != 'system':
install_rust_with_toolchain(_rust_toolchain(version))
install_rust_with_toolchain(_rust_toolchain(version), envdir)
tmpdir = ctx.enter_context(tempfile.TemporaryDirectory())
ctx.enter_context(envcontext((('RUSTUP_HOME', tmpdir),)))