git: dc6c9f326e4d - main - lang/rust-nightly: update 1.99.0.20260809 → 1.100.0.20260909

From: Dmitry Marakasov <amdmi3_at_FreeBSD.org>
Date: Fri, 11 Sep 2026 22:21:40 UTC
The branch main has been updated by amdmi3:

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

commit dc6c9f326e4db8231788482823be7baaee0dbd3d
Author:     Dmitry Marakasov <amdmi3@FreeBSD.org>
AuthorDate: 2026-09-10 22:13:12 +0000
Commit:     Dmitry Marakasov <amdmi3@FreeBSD.org>
CommitDate: 2026-09-11 20:36:38 +0000

    lang/rust-nightly: update 1.99.0.20260809 → 1.100.0.20260909
    
    - Sync patches to lang/rust
    - Force disable profiler on wasm target, it does not build and
      is not supposed to according to upstream ([1])
    
    [1] https://github.com/rust-lang/rust/issues/162551
    
    Approved by:    rust (implicit)
---
 lang/rust-nightly/Makefile                         |  6 +--
 lang/rust-nightly/distinfo                         | 18 ++++----
 .../patch-src_bootstrap_src_core_config_config.rs  | 14 ------
 lang/rust-nightly/files/patch-vendor_cc.rs         | 36 ----------------
 .../files/patch-vendor_git2-0.20.2_src_lib.rs      | 18 --------
 .../files/patch-vendor_openssl-probe_src_lib.rs    | 50 ++++++++++++++++++++++
 lang/rust/Makefile                                 |  3 ++
 7 files changed, 65 insertions(+), 80 deletions(-)

diff --git a/lang/rust-nightly/Makefile b/lang/rust-nightly/Makefile
index ea8c5d40566f..1b5bec023636 100644
--- a/lang/rust-nightly/Makefile
+++ b/lang/rust-nightly/Makefile
@@ -1,5 +1,5 @@
 # Run update.sh to update to the latest nightly
-PORTVERSION=	1.99.0.${NIGHTLY_DATE:C,-,,g}
+PORTVERSION=	1.100.0.${NIGHTLY_DATE:C,-,,g}
 # Always set PORTREVISION explicitly as otherwise it is inherited from lang/rust
 PORTREVISION=	0
 PKGNAMESUFFIX=	-nightly
@@ -14,8 +14,8 @@ MASTERDIR=	${.CURDIR}/../rust
 PATCHDIR=	${.CURDIR}/files
 DISTINFO_FILE=	${.CURDIR}/distinfo
 
-NIGHTLY_DATE=		2026-08-09
-BOOTSTRAPS_DATE=	2026-07-13
+NIGHTLY_DATE=		2026-09-09
+BOOTSTRAPS_DATE=	2026-08-30
 RUST_BOOTSTRAP_VERSION=	beta
 
 post-extract:
diff --git a/lang/rust-nightly/distinfo b/lang/rust-nightly/distinfo
index 050e6f859c4c..1df521d097de 100644
--- a/lang/rust-nightly/distinfo
+++ b/lang/rust-nightly/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1786370652
-SHA256 (rust/2026-08-09/rustc-nightly-src.tar.xz) = 78b1a758044dfea4af1142072242f2ab32fe85a0397078e7d2bad43170233408
-SIZE (rust/2026-08-09/rustc-nightly-src.tar.xz) = 265022732
-SHA256 (rust/2026-07-13/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 39401f34485bb59935950d76020212d2d62f18242b87b78faf1af970e1979a2f
-SIZE (rust/2026-07-13/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 101573788
-SHA256 (rust/2026-07-13/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 95e2f6b7ba8bf2ff9a47b7c28a4b93d818cf922a2dc6a8e670c269a0e789bca5
-SIZE (rust/2026-07-13/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 30654844
-SHA256 (rust/2026-07-13/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 7ef69cc255720e0cd64449d5377143f8e22a89b5ab2efef0c22435f35f4e5506
-SIZE (rust/2026-07-13/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 12029656
+TIMESTAMP = 1789078470
+SHA256 (rust/2026-09-09/rustc-nightly-src.tar.xz) = c6e5cb8c77586cbe9f1d4548b10a80a532701f0d91ccdbf5c1b1016b9f26effa
+SIZE (rust/2026-09-09/rustc-nightly-src.tar.xz) = 265623572
+SHA256 (rust/2026-08-30/rustc-beta-x86_64-unknown-freebsd.tar.xz) = a5714f58f8651919a51c8ce28536ce83f86fd7ac72bf067dd97189c1d389c07b
+SIZE (rust/2026-08-30/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 104113776
+SHA256 (rust/2026-08-30/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 5f8a081aa1b6e7ab3bf88b6548ed55a0c1021b26060ee2655da38556b54a0e06
+SIZE (rust/2026-08-30/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 31522036
+SHA256 (rust/2026-08-30/cargo-beta-x86_64-unknown-freebsd.tar.xz) = e4220bc3ccfb034fb1b40d506c9a9637153c943e0a0f9dea4bd56065df2698cd
+SIZE (rust/2026-08-30/cargo-beta-x86_64-unknown-freebsd.tar.xz) = 12154660
diff --git a/lang/rust-nightly/files/patch-src_bootstrap_src_core_config_config.rs b/lang/rust-nightly/files/patch-src_bootstrap_src_core_config_config.rs
deleted file mode 100644
index 4b024680070c..000000000000
--- a/lang/rust-nightly/files/patch-src_bootstrap_src_core_config_config.rs
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/bootstrap/src/core/config/config.rs.orig	2025-08-24 19:46:17 UTC
-+++ src/bootstrap/src/core/config/config.rs
-@@ -1991,9 +1991,9 @@ pub fn check_stage0_version(
-                 || source_version.minor == stage0_version.minor + 1)))
-     {
-         let prev_version = format!("{}.{}.x", source_version.major, source_version.minor - 1);
--        fail(&format!(
-+        eprintln!(
-             "Unexpected {component_name} version: {stage0_version}, we should use {prev_version}/{source_version} to build source with {source_version}"
--        ));
-+        );
-     }
- }
- 
diff --git a/lang/rust-nightly/files/patch-vendor_cc.rs b/lang/rust-nightly/files/patch-vendor_cc.rs
deleted file mode 100644
index 441cfdc2455a..000000000000
--- a/lang/rust-nightly/files/patch-vendor_cc.rs
+++ /dev/null
@@ -1,36 +0,0 @@
-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.1.18/src/tool.rs.orig	2025-06-08 20:17:28 UTC
-+++ vendor/cc-1.1.18/src/tool.rs
-@@ -174,9 +174,7 @@ impl Tool {
- 
-             match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) {
-                 (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }),
--                (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang {
--                    zig_cc: is_zig_cc(path, cargo_output),
--                }),
-+                (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu),
-                 (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu),
-                 (false, false, false, false, false) => {
-                     cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU");
---- vendor/cc-1.2.0/src/tool.rs.orig   2024-12-10 13:16:09 UTC
-+++ vendor/cc-1.2.0/src/tool.rs
-@@ -174,9 +174,7 @@ impl Tool {
- 
-             match (clang, accepts_cl_style_flags, gcc, emscripten, vxworks) {
-                 (clang_cl, true, _, false, false) => Ok(ToolFamily::Msvc { clang_cl }),
--                (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Clang {
--                    zig_cc: is_zig_cc(path, cargo_output),
--                }),
-+                (true, _, _, _, false) | (_, _, _, true, false) => Ok(ToolFamily::Gnu),
-                 (false, false, true, _, false) | (_, _, _, _, true) => Ok(ToolFamily::Gnu),
-                 (false, false, false, false, false) => {
-                     cargo_output.print_warning(&"Compiler family detection failed since it does not define `__clang__`, `__GNUC__`, `__EMSCRIPTEN__` or `__VXWORKS__`, also does not accept cl style flag `-?`, fallback to treating it as GNU");
diff --git a/lang/rust-nightly/files/patch-vendor_git2-0.20.2_src_lib.rs b/lang/rust-nightly/files/patch-vendor_git2-0.20.2_src_lib.rs
deleted file mode 100644
index 116d0b1fd583..000000000000
--- a/lang/rust-nightly/files/patch-vendor_git2-0.20.2_src_lib.rs
+++ /dev/null
@@ -1,18 +0,0 @@
---- vendor/git2-0.20.2/src/lib.rs.orig	2025-02-21 20:02:44 UTC
-+++ vendor/git2-0.20.2/src/lib.rs
-@@ -759,6 +759,7 @@ fn init() {
-     unix,
-     not(target_os = "macos"),
-     not(target_os = "ios"),
-+    not(target_os = "freebsd"),
-     feature = "https"
- ))]
- fn openssl_env_init() {
-@@ -880,6 +881,7 @@ fn openssl_env_init() {
-     windows,
-     target_os = "macos",
-     target_os = "ios",
-+    target_os = "freebsd",
-     not(feature = "https")
- ))]
- fn openssl_env_init() {}
diff --git a/lang/rust-nightly/files/patch-vendor_openssl-probe_src_lib.rs b/lang/rust-nightly/files/patch-vendor_openssl-probe_src_lib.rs
new file mode 100644
index 000000000000..064018790d0f
--- /dev/null
+++ b/lang/rust-nightly/files/patch-vendor_openssl-probe_src_lib.rs
@@ -0,0 +1,50 @@
+--- vendor/openssl-probe-0.1.6/src/lib.rs
++++ vendor/openssl-probe-0.1.6/src/lib.rs
+@@ -26,6 +26,7 @@ pub fn find_certs_dirs() -> Vec<PathBuf> {
+ /// found.
+ ///
+ /// This will only search known system locations.
++#[cfg(not(target_os = "freebsd"))]
+ pub fn candidate_cert_dirs() -> impl Iterator<Item = &'static Path> {
+     // see http://gagravarr.org/writing/openssl-certs/others.shtml
+     [
+@@ -52,6 +53,19 @@ pub fn candidate_cert_dirs() -> impl Iterator<Item = &'static Path> {
+     .map(Path::new)
+     .filter(|p| p.exists())
+ }
++#[cfg(target_os = "freebsd")]
++pub fn candidate_cert_dirs() -> impl Iterator<Item = &'static Path> {
++    // see manpage of certctl(8): https://man.freebsd.org/cgi/man.cgi?query=certctl&sektion=8
++    // see security/openssl* ports
++    [
++        "/etc/ssl",
++        "/usr/local/etc/ssl",
++        "/usr/local/openssl",
++    ]
++    .iter()
++    .map(Path::new)
++    .filter(|p| p.exists())
++}
+ 
+ /// Deprecated as this isn't sound, use [`init_openssl_env_vars`] instead.
+ #[doc(hidden)]
+@@ -169,6 +183,7 @@ pub fn probe() -> ProbeResult {
+     for certs_dir in candidate_cert_dirs() {
+         // cert.pem looks to be an openssl 1.0.1 thing, while
+         // certs/ca-certificates.crt appears to be a 0.9.8 thing
++        #[cfg(not(target_os = "freebsd"))]
+         let cert_filenames = [
+             "cert.pem",
+             "certs.pem",
+@@ -181,6 +196,11 @@ pub fn probe() -> ProbeResult {
+             "CARootCertificates.pem",
+             "tls-ca-bundle.pem",
+         ];
++        #[cfg(target_os = "freebsd")]
++        let cert_filenames = [
++            "cert.pem",
++            "ca-root-nss.crt",
++        ];
+         if result.cert_file.is_none() {
+             result.cert_file = cert_filenames
+                 .iter()
diff --git a/lang/rust/Makefile b/lang/rust/Makefile
index a68e65dd15cb..e0ec33e2b785 100644
--- a/lang/rust/Makefile
+++ b/lang/rust/Makefile
@@ -243,6 +243,9 @@ do-configure:
 .if ${PORT_OPTIONS:MPORT_LLVM}
 	@${ECHO_CMD} 'llvm-config="${LOCALBASE}/bin/${LLVM_CONFIG}"' >> ${WRKSRC}/config.toml
 .endif
+.if ${_target} == "wasm32-unknown-unknown"
+	@${ECHO_CMD} 'profiler=false' >> ${WRKSRC}/config.toml
+.endif
 .endfor
 	@${ECHO_CMD} '[dist]' >> ${WRKSRC}/config.toml
 	@${ECHO_CMD} 'compression-formats=["xz"]' >> ${WRKSRC}/config.toml