blob: cd9400e06cd6e5f129f919277b33e11af2a3c9b8 [file] [log] [blame]
See these links for attempts to get something like this change upstream,
but it's not entirely clear that this is the right general solution.
https://github.com/rust-lang/rust/pull/106017
https://github.com/rust-lang/rust/issues/106019
From f2b35ea1a09284cf30e75759a8727a3f84c352c0 Mon Sep 17 00:00:00 2001
From: Michael Benfield <mbenfield@google.com>
Date: Mon, 19 Dec 2022 20:30:19 +0000
Subject: [PATCH] bootstrap: use CARGO_HOME
---
src/bootstrap/bootstrap.py | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
index 2d5018d934e..4d202f969e3 100644
--- a/src/bootstrap/bootstrap.py
+++ b/src/bootstrap/bootstrap.py
@@ -811,7 +811,11 @@ class RustBuild(object):
print(' and so in order to preserve your $HOME this will now')
print(' use vendored sources by default.')
- cargo_dir = os.path.join(self.rust_root, '.cargo')
+ use_cargo_home_env = 'CARGO_HOME' in os.environ
+ if use_cargo_home_env:
+ cargo_dir = os.environ['CARGO_HOME']
+ else:
+ cargo_dir = os.path.join(self.rust_root, '.cargo')
if self.use_vendored_sources:
vendor_dir = os.path.join(self.rust_root, 'vendor')
if not os.path.exists(vendor_dir):
@@ -825,7 +829,7 @@ class RustBuild(object):
raise Exception("{} not found".format(vendor_dir))
if not os.path.exists(cargo_dir):
- print('error: vendoring required, but .cargo/config does not exist.')
+ print('error: vendoring required, but {}/config does not exist'.format(cargo_dir))
raise Exception("{} not found".format(cargo_dir))
else:
if os.path.exists(cargo_dir):
--
2.37.3