aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Kortkamp <tobik@FreeBSD.org>2021-12-08 10:14:25 +0000
committerTobias Kortkamp <tobik@FreeBSD.org>2021-12-08 11:40:39 +0000
commit45189a04a2203ec61ff8aa4a850e3dfcf423f2a7 (patch)
tree472f6b7947e0edb8164e6156c684c54af134848e
parent886a2cc4309846163bf3c01b2c7c1bc4bbd8c5b9 (diff)
downloadports-45189a04a2203ec61ff8aa4a850e3dfcf423f2a7.tar.gz
ports-45189a04a2203ec61ff8aa4a850e3dfcf423f2a7.zip
lang/rust-nightly: Update to 1.59.0.20211207
-rw-r--r--lang/rust-nightly/Makefile4
-rw-r--r--lang/rust-nightly/distinfo18
-rw-r--r--lang/rust-nightly/files/patch-vendor_cc-1.0.69_src_lib.rs38
3 files changed, 49 insertions, 11 deletions
diff --git a/lang/rust-nightly/Makefile b/lang/rust-nightly/Makefile
index ac214de18036..0bfa701f7638 100644
--- a/lang/rust-nightly/Makefile
+++ b/lang/rust-nightly/Makefile
@@ -16,8 +16,8 @@ MASTERDIR= ${.CURDIR}/../rust
PATCHDIR= ${.CURDIR}/files
DISTINFO_FILE= ${.CURDIR}/distinfo
-NIGHTLY_DATE= 2021-11-28
-BOOTSTRAPS_DATE= 2021-10-22
+NIGHTLY_DATE= 2021-12-07
+BOOTSTRAPS_DATE= 2021-11-30
RUST_BOOTSTRAP_VERSION= beta
.include "${MASTERDIR}/Makefile"
diff --git a/lang/rust-nightly/distinfo b/lang/rust-nightly/distinfo
index d227b261c9a2..6e72fde2c34d 100644
--- a/lang/rust-nightly/distinfo
+++ b/lang/rust-nightly/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1638185169
-SHA256 (rust/2021-11-28/rustc-nightly-src.tar.xz) = 99e1190021c1b38d23d489104f73ea131a9974481b486590a97caeb1f972bb3f
-SIZE (rust/2021-11-28/rustc-nightly-src.tar.xz) = 124253780
-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
+TIMESTAMP = 1638958016
+SHA256 (rust/2021-12-07/rustc-nightly-src.tar.xz) = cdeefbe16e8735dd684875c42ae7c262998dce2ecf9d3ba2df64ab72e9be99e4
+SIZE (rust/2021-12-07/rustc-nightly-src.tar.xz) = 124335936
+SHA256 (rust/2021-11-30/rustc-beta-x86_64-unknown-freebsd.tar.xz) = fa2464350b2ac29bec6751c551cc45b7af92c25d2cf1109397e724802d4859cf
+SIZE (rust/2021-11-30/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 88129588
+SHA256 (rust/2021-11-30/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = e94ecf7d1c9a5144577fdb14b7232b11dff0ebbfa8aae8cb4884d4ed9c5bae77
+SIZE (rust/2021-11-30/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 26545584
+SHA256 (rust/2021-11-30/cargo-beta-x86_64-unknown-freebsd.tar.xz) = a277a3fccfba30db2942c8303db16e5112d72c7721fe7a777cf24a301b68ad2c
+SIZE (rust/2021-11-30/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 6484112
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
new file mode 100644
index 000000000000..1027757e0c34
--- /dev/null
+++ b/lang/rust-nightly/files/patch-vendor_cc-1.0.69_src_lib.rs
@@ -0,0 +1,38 @@
+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,