diff --git a/lang/rust-nightly/Makefile b/lang/rust-nightly/Makefile index 3381b9b30b4a..f6ff2d58916d 100644 --- a/lang/rust-nightly/Makefile +++ b/lang/rust-nightly/Makefile @@ -16,7 +16,7 @@ MASTERDIR= ${.CURDIR}/../rust PATCHDIR= ${.CURDIR}/files DISTINFO_FILE= ${.CURDIR}/distinfo -NIGHTLY_DATE= 2021-10-05 +NIGHTLY_DATE= 2021-10-06 BOOTSTRAPS_DATE= 2021-09-08 RUST_BOOTSTRAP_VERSION= beta diff --git a/lang/rust-nightly/distinfo b/lang/rust-nightly/distinfo index 821949d4957f..7e4e0f6bcdd6 100644 --- a/lang/rust-nightly/distinfo +++ b/lang/rust-nightly/distinfo @@ -1,6 +1,6 @@ -TIMESTAMP = 1633514113 -SHA256 (rust/2021-10-05/rustc-nightly-src.tar.xz) = de6745a76edeaf447a9cfa9cc296b7a69550225323199741b44948a680c36197 -SIZE (rust/2021-10-05/rustc-nightly-src.tar.xz) = 122279192 +TIMESTAMP = 1633606205 +SHA256 (rust/2021-10-06/rustc-nightly-src.tar.xz) = 28c9e6ff47e07e4e68f8964488ad254369fa897f0e6943504a6b5e6cfc8609a8 +SIZE (rust/2021-10-06/rustc-nightly-src.tar.xz) = 122318988 SHA256 (rust/2021-09-08/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 4e01128800f479a96597ce7eee9d2e76a5128ae1c13a4e0e2eb52e36d43cf559 SIZE (rust/2021-09-08/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 120261460 SHA256 (rust/2021-09-08/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 5faf349a9cc231c144c52de40f2a487a935c6f6146614547e64cabb26f037a23 diff --git a/lang/rust-nightly/files/patch-src_tools_cargo_src_cargo_sources_git_source.rs b/lang/rust-nightly/files/patch-src_tools_cargo_src_cargo_sources_git_source.rs new file mode 100644 index 000000000000..7e0f0f6eca4d --- /dev/null +++ b/lang/rust-nightly/files/patch-src_tools_cargo_src_cargo_sources_git_source.rs @@ -0,0 +1,45 @@ +We run cargo update during USES=cargo ports builds to update specific +crates and patch Cargo.lock for us. For normal crates this is based +on what's available in the vendor dir. For Git sources this pulls +new changes from the net instead even if we replace the source with +a static path in a patch section in the config file. Add a hack +to skip this. + +This is for experimentation to solve [1]. For this to maybe be +useful for USES=cargo, the patch-in-config feature also needs to +be stabilized first. It will be available in Rust 1.56. + +[1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256581 + +--- src/tools/cargo/src/cargo/sources/git/source.rs.orig 2021-10-04 20:59:57 UTC ++++ src/tools/cargo/src/cargo/sources/git/source.rs +@@ -84,6 +84,9 @@ impl<'cfg> Debug for GitSource<'cfg> { + + impl<'cfg> Source for GitSource<'cfg> { + fn query(&mut self, dep: &Dependency, f: &mut dyn FnMut(Summary)) -> CargoResult<()> { ++ if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() { ++ return Ok(()); ++ } + let src = self + .path_source + .as_mut() +@@ -92,6 +95,9 @@ impl<'cfg> Source for GitSource<'cfg> { + } + + fn fuzzy_query(&mut self, dep: &Dependency, f: &mut dyn FnMut(Summary)) -> CargoResult<()> { ++ if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() { ++ return Ok(()); ++ } + let src = self + .path_source + .as_mut() +@@ -112,6 +118,9 @@ impl<'cfg> Source for GitSource<'cfg> { + } + + fn update(&mut self) -> CargoResult<()> { ++ if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() { ++ return Ok(()); ++ } + let git_path = self.config.git_path(); + let git_path = self.config.assert_package_cache_locked(&git_path); + let db_path = git_path.join("db").join(&self.ident);