git: 45189a04a220 - main - lang/rust-nightly: Update to 1.59.0.20211207

From: Tobias Kortkamp <tobik_at_FreeBSD.org>
Date: Wed, 08 Dec 2021 11:48:08 UTC
The branch main has been updated by tobik:

URL: https://cgit.FreeBSD.org/ports/commit/?id=45189a04a2203ec61ff8aa4a850e3dfcf423f2a7

commit 45189a04a2203ec61ff8aa4a850e3dfcf423f2a7
Author:     Tobias Kortkamp <tobik@FreeBSD.org>
AuthorDate: 2021-12-08 10:14:25 +0000
Commit:     Tobias Kortkamp <tobik@FreeBSD.org>
CommitDate: 2021-12-08 11:40:39 +0000

    lang/rust-nightly: Update to 1.59.0.20211207
    
    Changes:        https://github.com/rust-lang/rust/compare/686e313a9aa14107c8631ffe48fa09110a7692db...0b6f079e4987ded15c13a15b734e7cfb8176839f
---
 lang/rust-nightly/Makefile                         |  4 +--
 lang/rust-nightly/distinfo                         | 18 +++++-----
 .../files/patch-vendor_cc-1.0.69_src_lib.rs        | 38 ++++++++++++++++++++++
 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,