diff --git a/lang/rust-nightly/Makefile b/lang/rust-nightly/Makefile index a735acca4e54..9d118f89fb01 100644 --- a/lang/rust-nightly/Makefile +++ b/lang/rust-nightly/Makefile @@ -1,21 +1,21 @@ # Run update.sh to update to the latest nightly -PORTVERSION= 1.63.0.${NIGHTLY_DATE:C,-,,g} +PORTVERSION= 1.66.0.${NIGHTLY_DATE:C,-,,g} # Always set PORTREVISION explicitly as otherwise it is inherited from lang/rust PORTREVISION= 0 PKGNAMESUFFIX= -nightly DISTNAME= rustc-nightly-src ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON= upstream does not provide bootstraps for other architectures CONFLICTS_INSTALL= rust MASTERDIR= ${.CURDIR}/../rust PATCHDIR= ${.CURDIR}/files DISTINFO_FILE= ${.CURDIR}/distinfo -NIGHTLY_DATE= 2022-06-22 -BOOTSTRAPS_DATE= 2022-05-20 +NIGHTLY_DATE= 2022-10-06 +BOOTSTRAPS_DATE= 2022-09-20 RUST_BOOTSTRAP_VERSION= beta .include "${MASTERDIR}/Makefile" diff --git a/lang/rust-nightly/distinfo b/lang/rust-nightly/distinfo index 0e0988b72d1d..7252e6322586 100644 --- a/lang/rust-nightly/distinfo +++ b/lang/rust-nightly/distinfo @@ -1,9 +1,9 @@ -TIMESTAMP = 1655987720 -SHA256 (rust/2022-06-22/rustc-nightly-src.tar.xz) = ef8bb725c6e70c594845dd7507fa6d43f4350e4abacbdaa749806302aad0b713 -SIZE (rust/2022-06-22/rustc-nightly-src.tar.xz) = 136415360 -SHA256 (rust/2022-05-20/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 460aa68d922df97fac6d6052a8680d514fd4ce32fca7c44ae22d7c05e0c5b51f -SIZE (rust/2022-05-20/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 81889548 -SHA256 (rust/2022-05-20/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = ffab6364f6af477b074774a9e1915636f07b0659231c61bb7c75cbde31277986 -SIZE (rust/2022-05-20/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 26802576 -SHA256 (rust/2022-05-20/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 00ca9259f5f881427e1284f60b81a0b0b9dffd6f6b63428995ac2eb8d16eeac7 -SIZE (rust/2022-05-20/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 6866172 +TIMESTAMP = 1665156753 +SHA256 (rust/2022-10-06/rustc-nightly-src.tar.xz) = 5aa6519089a401ed6c3a2c3e171576a8a54894f6b08f5e18f31f7c2e6acfef20 +SIZE (rust/2022-10-06/rustc-nightly-src.tar.xz) = 139885160 +SHA256 (rust/2022-09-20/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 515b35360865016b7efe6f973730ce4c66021df0edeed8eb490b69f4bf50006d +SIZE (rust/2022-09-20/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 77524560 +SHA256 (rust/2022-09-20/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 14787b285c55ab885d1360897849882eac861f36029cc72ec9819d035998ee9f +SIZE (rust/2022-09-20/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 31248736 +SHA256 (rust/2022-09-20/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 20b46e126c900892d576e972e39409c9009bafa4b3c159e624179d77afa912a9 +SIZE (rust/2022-09-20/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 6928264 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 index ee09c8d53031..f1f4ffd179c7 100644 --- 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 @@ -1,46 +1,36 @@ 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 -@@ -86,6 +86,9 @@ impl<'cfg> Source for GitSource<'cfg> { - - impl<'cfg> Source for GitSource<'cfg> { - fn query(&mut self, dep: &Dependency, f: &mut dyn FnMut(Summary)) -> Poll> { -+ if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() { -+ return Poll::Ready(Ok(())); -+ } - if let Some(src) = self.path_source.as_mut() { - src.query(dep, f) - } else { -@@ -98,6 +101,9 @@ impl<'cfg> Source for GitSource<'cfg> { - dep: &Dependency, +@@ -92,6 +92,9 @@ impl<'cfg> Source for GitSource<'cfg> { + kind: QueryKind, f: &mut dyn FnMut(Summary), ) -> Poll> { + if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() { + return Poll::Ready(Ok(())); + } if let Some(src) = self.path_source.as_mut() { - src.fuzzy_query(dep, f) + src.query(dep, kind, f) } else { -@@ -119,6 +125,10 @@ impl<'cfg> Source for GitSource<'cfg> { +@@ -113,6 +116,10 @@ impl<'cfg> Source for GitSource<'cfg> { fn block_until_ready(&mut self) -> CargoResult<()> { if self.path_source.is_some() { + return Ok(()); + } + + if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() { return Ok(()); } diff --git a/lang/rust-nightly/files/patch-vendor_cc-1.0.69_src_lib.rs b/lang/rust-nightly/files/patch-vendor_cc-1.0.69_src_lib.rs deleted file mode 100644 index 1027757e0c34..000000000000 --- a/lang/rust-nightly/files/patch-vendor_cc-1.0.69_src_lib.rs +++ /dev/null @@ -1,38 +0,0 @@ -When the compiler has "clang" in its name the cc crate will pass -an LLVM target triple to it. Rust uses a triple that lacks the OS -version and LLVM will default to FreeBSD 9 behavior, i.e., it will -default to libstdc++ which is no longer available in newer releases. - -To avoid this issue assume we have a GNU compatible toolchain instead -until LLVM can be updated to use libc++ by default. - -https://reviews.llvm.org/D77776 - ---- vendor/cc-1.0.69/src/lib.rs.orig 2021-03-04 20:58:54 UTC -+++ vendor/cc-1.0.69/src/lib.rs -@@ -2659,24 +2659,7 @@ impl Tool { - } - - fn with_features(path: PathBuf, clang_driver: Option<&str>, cuda: bool) -> Self { -- // Try to detect family of the tool from its name, falling back to Gnu. -- let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) { -- if fname.contains("clang-cl") { -- ToolFamily::Msvc { clang_cl: true } -- } else if fname.ends_with("cl") || fname == "cl.exe" { -- ToolFamily::Msvc { clang_cl: false } -- } else if fname.contains("clang") { -- match clang_driver { -- Some("cl") => ToolFamily::Msvc { clang_cl: true }, -- _ => ToolFamily::Clang, -- } -- } else { -- ToolFamily::Gnu -- } -- } else { -- ToolFamily::Gnu -- }; -- -+ let family = ToolFamily::Gnu; - Tool { - path: path, - cc_wrapper_path: None,