diff --git a/lang/rust-nightly/Makefile b/lang/rust-nightly/Makefile index eb05b8c6b487..0f88d3430809 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.75.0.${NIGHTLY_DATE:C,-,,g} +PORTVERSION= 1.76.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= 2023-10-02 -BOOTSTRAPS_DATE= 2023-08-22 +NIGHTLY_DATE= 2023-11-25 +BOOTSTRAPS_DATE= 2023-11-13 RUST_BOOTSTRAP_VERSION= beta .include "${MASTERDIR}/Makefile" diff --git a/lang/rust-nightly/distinfo b/lang/rust-nightly/distinfo index c10146b080a5..22f30ce45a19 100644 --- a/lang/rust-nightly/distinfo +++ b/lang/rust-nightly/distinfo @@ -1,9 +1,9 @@ -TIMESTAMP = 1696339791 -SHA256 (rust/2023-10-02/rustc-nightly-src.tar.xz) = f64ee88a7d9d4ae552d8f7d07606740032a2c0a64ac4b2c7f37a27e6be335f15 -SIZE (rust/2023-10-02/rustc-nightly-src.tar.xz) = 155897484 -SHA256 (rust/2023-08-22/rustc-beta-x86_64-unknown-freebsd.tar.xz) = b21b5e26ccb28c2bf8a089a6f62abc4d10d6a4aabadf694aff8273150e6e7673 -SIZE (rust/2023-08-22/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 74331332 -SHA256 (rust/2023-08-22/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 9653bf3ea33bf9502eb90b72c0696af0cc90dea54e9d6e5be97783db3e8286bc -SIZE (rust/2023-08-22/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 24907124 -SHA256 (rust/2023-08-22/cargo-beta-x86_64-unknown-freebsd.tar.xz) = c9ae52f1212ff635f3300befbd33e575c308e14ff13f0ac30d5d97a3797788f1 -SIZE (rust/2023-08-22/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 8399356 +TIMESTAMP = 1701007367 +SHA256 (rust/2023-11-25/rustc-nightly-src.tar.xz) = 3538acb92c0497ae747cff254086572c1f57ee03e92ab8a12247cc162f6776d2 +SIZE (rust/2023-11-25/rustc-nightly-src.tar.xz) = 162679888 +SHA256 (rust/2023-11-13/rustc-beta-x86_64-unknown-freebsd.tar.xz) = c2094e3b40e602ab804e875ec1b1ab7e91f0ff499bc6c1e4b2a957ed4d136ab8 +SIZE (rust/2023-11-13/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 74020428 +SHA256 (rust/2023-11-13/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 28c43fb5b7bf4c254ef61c5bc39da09e81881e01261a8a3346968170c8774581 +SIZE (rust/2023-11-13/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 24136416 +SHA256 (rust/2023-11-13/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 67f1bb5008080c00f4f22be794b1fa63a88c1503187dc3396260aa73d52a1f7c +SIZE (rust/2023-11-13/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 8519764 diff --git a/lang/rust-nightly/files/patch-compiler_rustc__target_src_spec_i686__unknown__freebsd.rs b/lang/rust-nightly/files/patch-compiler_rustc__target_src_spec_i686__unknown__freebsd.rs index 992e475acf91..c1f57467f264 100644 --- a/lang/rust-nightly/files/patch-compiler_rustc__target_src_spec_i686__unknown__freebsd.rs +++ b/lang/rust-nightly/files/patch-compiler_rustc__target_src_spec_i686__unknown__freebsd.rs @@ -1,11 +1,11 @@ ---- compiler/rustc_target/src/spec/i686_unknown_freebsd.rs.orig 2021-10-17 19:23:05 UTC -+++ compiler/rustc_target/src/spec/i686_unknown_freebsd.rs +--- compiler/rustc_target/src/spec/targets/i686_unknown_freebsd.rs.orig 2023-11-27 08:52:00 UTC ++++ compiler/rustc_target/src/spec/targets/i686_unknown_freebsd.rs @@ -2,7 +2,7 @@ pub fn target() -> Target { pub fn target() -> Target { - let mut base = super::freebsd_base::opts(); + let mut base = base::freebsd::opts(); - base.cpu = "pentium4".into(); + base.cpu = "pentiumpro".into(); base.max_atomic_width = Some(64); - let pre_link_args = base.pre_link_args.entry(LinkerFlavor::Gcc).or_default(); - pre_link_args.push("-m32".into()); + base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32", "-Wl,-znotext"]); + base.stack_probes = StackProbeType::X86; diff --git a/lang/rust-nightly/files/patch-src_bootstrap_install.rs b/lang/rust-nightly/files/patch-src_bootstrap_src_core_build__steps_install.rs similarity index 81% rename from lang/rust-nightly/files/patch-src_bootstrap_install.rs rename to lang/rust-nightly/files/patch-src_bootstrap_src_core_build__steps_install.rs index e3afe8bad00c..6d7f6d612496 100644 --- a/lang/rust-nightly/files/patch-src_bootstrap_install.rs +++ b/lang/rust-nightly/files/patch-src_bootstrap_src_core_build__steps_install.rs @@ -1,17 +1,17 @@ Only install docs for the host target It otherwise wastes significant time (there are a lot of individual files) and stages host docs, wasm docs, which unstages the host docs first. ---- src/bootstrap/install.rs.orig 2022-05-01 20:28:31 UTC -+++ src/bootstrap/install.rs +--- src/bootstrap/src/core/build_steps/install.rs.orig 2022-05-01 20:28:31 UTC ++++ src/bootstrap/src/core/build_steps/install.rs @@ -138,7 +138,7 @@ macro_rules! install { } install!((self, builder, _config), - Docs, path = "src/doc", _config.docs, only_hosts: false, { + Docs, path = "src/doc", _config.docs, only_hosts: true, { let tarball = builder.ensure(dist::Docs { host: self.target }).expect("missing docs"); install_sh(builder, "docs", self.compiler.stage, Some(self.target), &tarball); }; 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 f1f4ffd179c7..fc3b22aebde1 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,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 -@@ -92,6 +92,9 @@ impl<'cfg> Source for GitSource<'cfg> { +@@ -195,6 +195,9 @@ impl<'cfg> Source for GitSource<'cfg> { kind: QueryKind, - f: &mut dyn FnMut(Summary), + 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 { -@@ -113,6 +116,10 @@ impl<'cfg> Source for GitSource<'cfg> { - +@@ -217,6 +220,10 @@ impl<'cfg> Source for GitSource<'cfg> { fn block_until_ready(&mut self) -> CargoResult<()> { if self.path_source.is_some() { + self.mark_used(None)?; + return Ok(()); + } + + if std::env::var("CARGO_FREEBSD_PORTS_SKIP_GIT_UPDATE").is_ok() { return Ok(()); }