diff --git a/lang/rust-nightly/Makefile b/lang/rust-nightly/Makefile index 08b65d97f699..84ee1c4f4c1b 100644 --- a/lang/rust-nightly/Makefile +++ b/lang/rust-nightly/Makefile @@ -1,24 +1,24 @@ # Run update.sh to update to the latest nightly -PORTVERSION= 1.96.0.${NIGHTLY_DATE:C,-,,g} +PORTVERSION= 1.97.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 rust188 MASTERDIR= ${.CURDIR}/../rust PATCHDIR= ${.CURDIR}/files DISTINFO_FILE= ${.CURDIR}/distinfo -NIGHTLY_DATE= 2026-03-26 +NIGHTLY_DATE= 2026-04-13 BOOTSTRAPS_DATE= 2026-03-05 RUST_BOOTSTRAP_VERSION= beta post-extract: @${FIND} -d ${WRKSRC} -name .github -exec ${RM} -r {} \; .include "${MASTERDIR}/Makefile" diff --git a/lang/rust-nightly/distinfo b/lang/rust-nightly/distinfo index 707edc139b75..1b865f758eeb 100644 --- a/lang/rust-nightly/distinfo +++ b/lang/rust-nightly/distinfo @@ -1,9 +1,9 @@ -TIMESTAMP = 1774616569 -SHA256 (rust/2026-03-26/rustc-nightly-src.tar.xz) = 0c7764c1c5455c5c518440094d12feb503878c4e743eb2a733bca23ec7582f5d -SIZE (rust/2026-03-26/rustc-nightly-src.tar.xz) = 239881732 +TIMESTAMP = 1776186317 +SHA256 (rust/2026-04-13/rustc-nightly-src.tar.xz) = 19cefc5037efb7bcba96f38fa30769bec90d9a5bbe131b2a212a054432668980 +SIZE (rust/2026-04-13/rustc-nightly-src.tar.xz) = 241502536 SHA256 (rust/2026-03-05/rustc-beta-x86_64-unknown-freebsd.tar.xz) = c773c2e91b829ef50736baf135e34aaca6f85a6c3ba338a955b22934f0a0e007 SIZE (rust/2026-03-05/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 92465400 SHA256 (rust/2026-03-05/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = bf727d7b87bafcc2cfdd45a61e9b728a73024cd141fdc37dcfe9731545645e2d SIZE (rust/2026-03-05/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 28833256 SHA256 (rust/2026-03-05/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 203a9b205262c90cfa04870d8e5233ab65bf6ad8840579194455917e50e51736 SIZE (rust/2026-03-05/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 11596696 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 3add18d71b22..bb97fdf79bd9 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,36 +1,35 @@ 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.orig 2026-04-11 13:43:17 UTC +++ src/tools/cargo/src/cargo/sources/git/source.rs -@@ -205,6 +205,9 @@ impl<'cfg> Source for GitSource<'cfg> { - kind: QueryKind, - f: &mut dyn FnMut(IndexSummary), - ) -> 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, kind, f) - } else { -@@ -228,6 +231,10 @@ impl<'cfg> Source for GitSource<'cfg> { - if self.path_source.is_some() { - self.mark_used(None)?; +@@ -254,6 +254,10 @@ impl<'gctx> GitSource<'gctx> { return Ok(()); + } + ++ if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() { ++ return Ok(()); + } + + let git_fs = self.gctx.git_path(); + // Ignore errors creating it, in case this is a read-only filesystem: + // perhaps the later operations can succeed anyhow. +@@ -393,6 +397,9 @@ impl<'gctx> Source for GitSource<'gctx> { + kind: QueryKind, + f: &mut dyn FnMut(IndexSummary), + ) -> CargoResult<()> { + if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() { -+ return Ok(()); ++ return Ok(()) ++ } + if self.path_source.borrow().is_none() { + self.update()?; } - - let git_fs = self.config.git_path();