Skip to content

Commit f745834

Browse files
committed
Auto merge of #80081 - ehuss:update-cargo, r=Mark-Simulacrum
Update cargo 4 commits in d274fcf862b89264fa2c6b917b15230705257317..a3c2627fbc2f5391c65ba45ab53b81bf71fa323c 2020-12-07 23:08:44 +0000 to 2020-12-14 17:21:26 +0000 - Check if rerun-if-changed points to a directory. (rust-lang/cargo#8973) - Implement external credential process. (RFC 2730) (rust-lang/cargo#8934) - Revert recent build-std vendoring changes (rust-lang/cargo#8968) - Fix the unit dependency graph with dev-dependency `links` (rust-lang/cargo#8969)
2 parents e4297ba + 74498c1 commit f745834

File tree

5 files changed

+101
-7
lines changed

5 files changed

+101
-7
lines changed

Cargo.lock

+56-4
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,35 @@ dependencies = [
355355
"winapi 0.3.9",
356356
]
357357

358+
[[package]]
359+
name = "cargo-credential"
360+
version = "0.1.0"
361+
362+
[[package]]
363+
name = "cargo-credential-1password"
364+
version = "0.1.0"
365+
dependencies = [
366+
"cargo-credential",
367+
"serde",
368+
"serde_json",
369+
]
370+
371+
[[package]]
372+
name = "cargo-credential-macos-keychain"
373+
version = "0.1.0"
374+
dependencies = [
375+
"cargo-credential",
376+
"security-framework",
377+
]
378+
379+
[[package]]
380+
name = "cargo-credential-wincred"
381+
version = "0.1.0"
382+
dependencies = [
383+
"cargo-credential",
384+
"winapi 0.3.9",
385+
]
386+
358387
[[package]]
359388
name = "cargo-miri"
360389
version = "0.1.0"
@@ -4442,6 +4471,29 @@ version = "1.1.0"
44424471
source = "registry+https://github.com/rust-lang/crates.io-index"
44434472
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
44444473

4474+
[[package]]
4475+
name = "security-framework"
4476+
version = "2.0.0"
4477+
source = "registry+https://github.com/rust-lang/crates.io-index"
4478+
checksum = "c1759c2e3c8580017a484a7ac56d3abc5a6c1feadf88db2f3633f12ae4268c69"
4479+
dependencies = [
4480+
"bitflags",
4481+
"core-foundation",
4482+
"core-foundation-sys",
4483+
"libc",
4484+
"security-framework-sys",
4485+
]
4486+
4487+
[[package]]
4488+
name = "security-framework-sys"
4489+
version = "2.0.0"
4490+
source = "registry+https://github.com/rust-lang/crates.io-index"
4491+
checksum = "f99b9d5e26d2a71633cc4f2ebae7cc9f874044e0c351a27e17892d76dce5678b"
4492+
dependencies = [
4493+
"core-foundation-sys",
4494+
"libc",
4495+
]
4496+
44454497
[[package]]
44464498
name = "semver"
44474499
version = "0.9.0"
@@ -4489,18 +4541,18 @@ dependencies = [
44894541

44904542
[[package]]
44914543
name = "serde"
4492-
version = "1.0.115"
4544+
version = "1.0.118"
44934545
source = "registry+https://github.com/rust-lang/crates.io-index"
4494-
checksum = "e54c9a88f2da7238af84b5101443f0c0d0a3bbdc455e34a5c9497b1903ed55d5"
4546+
checksum = "06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800"
44954547
dependencies = [
44964548
"serde_derive",
44974549
]
44984550

44994551
[[package]]
45004552
name = "serde_derive"
4501-
version = "1.0.115"
4553+
version = "1.0.118"
45024554
source = "registry+https://github.com/rust-lang/crates.io-index"
4503-
checksum = "609feed1d0a73cc36a0182a840a9b37b4a82f0b1150369f0536a9e3f2a31dc48"
4555+
checksum = "c84d3526699cd55261af4b941e4e725444df67aa4f9e6a3564f18030d12672df"
45044556
dependencies = [
45054557
"proc-macro2",
45064558
"quote",

Cargo.toml

+3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ members = [
2020
"src/tools/rust-installer",
2121
"src/tools/rust-demangler",
2222
"src/tools/cargo",
23+
"src/tools/cargo/crates/credential/cargo-credential-1password",
24+
"src/tools/cargo/crates/credential/cargo-credential-macos-keychain",
25+
"src/tools/cargo/crates/credential/cargo-credential-wincred",
2326
"src/tools/rustdoc",
2427
"src/tools/rls",
2528
"src/tools/rustfmt",

src/bootstrap/dist.rs

+6
Original file line numberDiff line numberDiff line change
@@ -1228,6 +1228,12 @@ impl Step for Cargo {
12281228
builder.create_dir(&image.join("etc/bash_completion.d"));
12291229
let cargo = builder.ensure(tool::Cargo { compiler, target });
12301230
builder.install(&cargo, &image.join("bin"), 0o755);
1231+
for dirent in fs::read_dir(cargo.parent().unwrap()).expect("read_dir") {
1232+
let dirent = dirent.expect("read dir entry");
1233+
if dirent.file_name().to_str().expect("utf8").starts_with("cargo-credential-") {
1234+
builder.install(&dirent.path(), &image.join("libexec"), 0o755);
1235+
}
1236+
}
12311237
for man in t!(etc.join("man").read_dir()) {
12321238
let man = t!(man);
12331239
builder.install(&man.path(), &image.join("share/man/man1"), 0o644);

src/bootstrap/tool.rs

+35-2
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,7 @@ impl Step for Cargo {
563563
}
564564

565565
fn run(self, builder: &Builder<'_>) -> PathBuf {
566-
builder
566+
let cargo_bin_path = builder
567567
.ensure(ToolBuild {
568568
compiler: self.compiler,
569569
target: self.target,
@@ -574,7 +574,40 @@ impl Step for Cargo {
574574
source_type: SourceType::Submodule,
575575
extra_features: Vec::new(),
576576
})
577-
.expect("expected to build -- essential tool")
577+
.expect("expected to build -- essential tool");
578+
579+
let build_cred = |name, path| {
580+
// These credential helpers are currently experimental.
581+
// Any build failures will be ignored.
582+
let _ = builder.ensure(ToolBuild {
583+
compiler: self.compiler,
584+
target: self.target,
585+
tool: name,
586+
mode: Mode::ToolRustc,
587+
path,
588+
is_optional_tool: true,
589+
source_type: SourceType::Submodule,
590+
extra_features: Vec::new(),
591+
});
592+
};
593+
594+
if self.target.contains("windows") {
595+
build_cred(
596+
"cargo-credential-wincred",
597+
"src/tools/cargo/crates/credential/cargo-credential-wincred",
598+
);
599+
}
600+
if self.target.contains("apple-darwin") {
601+
build_cred(
602+
"cargo-credential-macos-keychain",
603+
"src/tools/cargo/crates/credential/cargo-credential-macos-keychain",
604+
);
605+
}
606+
build_cred(
607+
"cargo-credential-1password",
608+
"src/tools/cargo/crates/credential/cargo-credential-1password",
609+
);
610+
cargo_bin_path
578611
}
579612
}
580613

src/tools/cargo

Submodule cargo updated 47 files

0 commit comments

Comments
 (0)