aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Kortkamp <tobik@FreeBSD.org>2021-10-19 10:27:40 +0000
committerTobias Kortkamp <tobik@FreeBSD.org>2021-10-31 18:20:54 +0000
commitd5f09dc31fcfdb77b69c86b9093bf67ec67653d9 (patch)
tree7f978ec52113c678fb6caf0c713b2fddc4a7a03c
parent4568b98a98029e37fb234e3c3d1f7ca0a7a1818b (diff)
downloadports-d5f09dc31fcfdb77b69c86b9093bf67ec67653d9.tar.gz
ports-d5f09dc31fcfdb77b69c86b9093bf67ec67653d9.zip
lang/rust-nightly: Update to 1.58.0.20211030
Make the no-hardlinks-patches conditional and move them to files/no-hardlinks. Newer kernels should return sane kern.proc.pathname values for hardlinks which will hopefully help avoid the intermittent "can't find crate for `std`" build failures we had on the package builders. Thanks to kib@ for fixing kernel behavior. Now let's see if it makes a difference for lang/rust-nightly. Changes: https://github.com/rust-lang/rust/compare/25ec8273855fde2d72ae877b397e054de5300e10...e249ce6b2345587d6e11052779c86adbad626dff PR: 248184
-rw-r--r--lang/rust-nightly/Makefile6
-rw-r--r--lang/rust-nightly/distinfo18
-rw-r--r--lang/rust-nightly/files/no-hardlinks/patch-src_bootstrap_lib.rs (renamed from lang/rust-nightly/files/patch-src_bootstrap_lib.rs)0
-rw-r--r--lang/rust-nightly/files/no-hardlinks/patch-src_bootstrap_native.rs (renamed from lang/rust-nightly/files/patch-src_bootstrap_native.rs)0
-rw-r--r--lang/rust-nightly/files/patch-compiler_rustc__target_src_spec_i686__unknown__freebsd.rs8
-rw-r--r--lang/rust/Makefile19
6 files changed, 35 insertions, 16 deletions
diff --git a/lang/rust-nightly/Makefile b/lang/rust-nightly/Makefile
index f6ff2d58916d..3a890a36313f 100644
--- a/lang/rust-nightly/Makefile
+++ b/lang/rust-nightly/Makefile
@@ -1,7 +1,7 @@
# Created by: Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
# Run update.sh to update to the latest nightly
-PORTVERSION= 1.57.0.${NIGHTLY_DATE:C,-,,g}
+PORTVERSION= 1.58.0.${NIGHTLY_DATE:C,-,,g}
# Always set PORTREVISION explicitly as otherwise it is inherited from lang/rust
PORTREVISION= 0
PKGNAMESUFFIX= -nightly
@@ -16,8 +16,8 @@ MASTERDIR= ${.CURDIR}/../rust
PATCHDIR= ${.CURDIR}/files
DISTINFO_FILE= ${.CURDIR}/distinfo
-NIGHTLY_DATE= 2021-10-06
-BOOTSTRAPS_DATE= 2021-09-08
+NIGHTLY_DATE= 2021-10-30
+BOOTSTRAPS_DATE= 2021-10-22
RUST_BOOTSTRAP_VERSION= beta
.include "${MASTERDIR}/Makefile"
diff --git a/lang/rust-nightly/distinfo b/lang/rust-nightly/distinfo
index 7e4e0f6bcdd6..8b4f78753031 100644
--- a/lang/rust-nightly/distinfo
+++ b/lang/rust-nightly/distinfo
@@ -1,9 +1,9 @@
-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
-SIZE (rust/2021-09-08/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 24109712
-SHA256 (rust/2021-09-08/cargo-beta-x86_64-unknown-freebsd.tar.xz) = b65f8024b47d4784ab59e4722e522e54442852bbe16906760f2708e2b0d0fe65
-SIZE (rust/2021-09-08/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 6506908
+TIMESTAMP = 1635682721
+SHA256 (rust/2021-10-30/rustc-nightly-src.tar.xz) = f102c8a7a1ff169214fe6933d7eb081160f68aa88e1523cda1d6c74a4c22a121
+SIZE (rust/2021-10-30/rustc-nightly-src.tar.xz) = 123708656
+SHA256 (rust/2021-10-22/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 0c01b34ed39016866e945e0f01de830a68c54f7eef2ac83c3ab85318b01debb0
+SIZE (rust/2021-10-22/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 88136372
+SHA256 (rust/2021-10-22/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 9e951fec5ee4a4a655693d1c9e205413aeb3120a7b2c0bb6673f4392cdf9fa6d
+SIZE (rust/2021-10-22/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 25586116
+SHA256 (rust/2021-10-22/cargo-beta-x86_64-unknown-freebsd.tar.xz) = b61464e9e1c2e820a237f1f3d91cae8b0e62cda16dea51b32a8cf695b7a5707c
+SIZE (rust/2021-10-22/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 6539980
diff --git a/lang/rust-nightly/files/patch-src_bootstrap_lib.rs b/lang/rust-nightly/files/no-hardlinks/patch-src_bootstrap_lib.rs
index 081c2056ad2c..081c2056ad2c 100644
--- a/lang/rust-nightly/files/patch-src_bootstrap_lib.rs
+++ b/lang/rust-nightly/files/no-hardlinks/patch-src_bootstrap_lib.rs
diff --git a/lang/rust-nightly/files/patch-src_bootstrap_native.rs b/lang/rust-nightly/files/no-hardlinks/patch-src_bootstrap_native.rs
index c1469453237d..c1469453237d 100644
--- a/lang/rust-nightly/files/patch-src_bootstrap_native.rs
+++ b/lang/rust-nightly/files/no-hardlinks/patch-src_bootstrap_native.rs
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 9d3dc5a067aa..308bb0d4b551 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 2020-01-23 19:40:44 UTC
+--- 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
-@@ -2,7 +2,7 @@ use crate::spec::{LinkerFlavor, Target, TargetResult};
+@@ -2,7 +2,7 @@ use crate::spec::{LinkerFlavor, StackProbeType, Target
- pub fn target() -> TargetResult {
+ pub fn target() -> Target {
let mut base = super::freebsd_base::opts();
- base.cpu = "pentium4".to_string();
+ base.cpu = "pentiumpro".to_string();
base.max_atomic_width = Some(64);
- let pre_link_args = base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap();
+ let pre_link_args = base.pre_link_args.entry(LinkerFlavor::Gcc).or_default();
pre_link_args.push("-m32".to_string());
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index a4496ddfad66..2a584a160ab0 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -88,6 +88,10 @@ _CARGO_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${RUST_BO
.include <bsd.port.pre.mk>
+.if ${OPSYS} != FreeBSD
+IGNORE= is only for FreeBSD
+.endif
+
.if ${ARCH} == powerpc
# bfd to link rustc_driver; lld currently can't
BUILD_DEPENDS+= ld.bfd:devel/binutils
@@ -100,6 +104,21 @@ _RUST_TOOLS+= rls
EXTRA_PATCHES+= ${PATCHDIR}/${ARCH}${BOOTSTRAPS_SUFFIX}
.endif
+# If the kernel does not return sane kern.proc.pathname values
+# for hardlinks then disable hardlinks in the build to avoid
+# intermittent "can't find crate for `std`" build failures,
+# c.f. PR248184
+#
+# XXX: Avoiding OSVERSION since it is derived from userland but
+# the running kernel might still be newer with sane behavior
+# anyway...
+.if exists(${PATCHDIR}/no-hardlinks)
+_KERN_OSRELDATE!= ${SYSCTL} -n kern.osreldate 2>/dev/null || echo 0
+. if ${_KERN_OSRELDATE} < 1400040
+EXTRA_PATCHES+= ${PATCHDIR}/no-hardlinks
+. endif
+.endif
+
.if defined(PPC_ABI) && ${PPC_ABI} == ELFv1
# The bootstrap is hardcoded to use gcc9
# but we can build with a newer or older compiler as provided by USE_GCC=yes