diff --git a/.gitignore b/.gitignore index cfedf38..6165b7c 100644 --- a/.gitignore +++ b/.gitignore @@ -458,3 +458,4 @@ /rustc-1.89.0-src.tar.xz /rustc-1.90.0-src.tar.xz /rustc-1.91.0-src.tar.xz +/rustc-1.92.0-src.tar.xz diff --git a/0001-Use-lld-provided-by-system.patch b/0001-Use-lld-provided-by-system.patch index 1e5816b..522865f 100644 --- a/0001-Use-lld-provided-by-system.patch +++ b/0001-Use-lld-provided-by-system.patch @@ -1,4 +1,4 @@ -From 0641fdd833785914f1ead6e1ab374beea5b55437 Mon Sep 17 00:00:00 2001 +From e9405caf32dfb31bf17c3da0299df515a3755107 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 16 Aug 2024 10:12:58 -0700 Subject: [PATCH] Use lld provided by system @@ -12,12 +12,12 @@ Subject: [PATCH] Use lld provided by system 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/compiler/rustc_target/src/spec/base/wasm.rs b/compiler/rustc_target/src/spec/base/wasm.rs -index 88e7af5e669..14100a683f9 100644 +index 7ede45766ea..b22362227bb 100644 --- a/compiler/rustc_target/src/spec/base/wasm.rs +++ b/compiler/rustc_target/src/spec/base/wasm.rs -@@ -86,8 +86,7 @@ macro_rules! args { - // arguments just yet - limit_rdylib_exports: false, +@@ -81,8 +81,7 @@ macro_rules! args { + // threaded model which will legalize atomics to normal operations. + singlethread: true, - // we use the LLD shipped with the Rust toolchain by default - linker: Some("rust-lld".into()), @@ -76,5 +76,5 @@ index 0cf6a879462..3677fc662de 100644 // We disable MMX and SSE for now, even though UEFI allows using them. Problem is, you have to // enable these CPU features explicitly before their first use, otherwise their instructions -- -2.49.0 +2.51.0 diff --git a/0001-bootstrap-allow-disabling-target-self-contained.patch b/0001-bootstrap-allow-disabling-target-self-contained.patch index e4645a5..54ca101 100644 --- a/0001-bootstrap-allow-disabling-target-self-contained.patch +++ b/0001-bootstrap-allow-disabling-target-self-contained.patch @@ -1,34 +1,34 @@ -From 3a89cbb0ff0352fc6ab4bf329124f961fddb1e2a Mon Sep 17 00:00:00 2001 +From 8364de4cb8edab85efcb895824ce06f4a95bd26f Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Mon, 18 Aug 2025 17:11:07 -0700 -Subject: [PATCH 1/2] bootstrap: allow disabling target self-contained +Subject: [PATCH] bootstrap: allow disabling target self-contained --- bootstrap.example.toml | 5 +++++ src/bootstrap/src/core/build_steps/compile.rs | 4 ++++ - src/bootstrap/src/core/config/config.rs | 3 +++ + src/bootstrap/src/core/config/config.rs | 4 ++++ src/bootstrap/src/core/config/toml/target.rs | 5 +++++ src/bootstrap/src/lib.rs | 5 +++++ - 5 files changed, 22 insertions(+) + 5 files changed, 23 insertions(+) diff --git a/bootstrap.example.toml b/bootstrap.example.toml -index eac939577979..db72e0fd29c5 100644 +index 6f37e51a47d..ee21bc06bea 100644 --- a/bootstrap.example.toml +++ b/bootstrap.example.toml -@@ -1060,3 +1060,8 @@ - # Link the compiler and LLVM against `jemalloc` instead of the default libc allocator. - # This overrides the global `rust.jemalloc` option. See that option for more info. - #jemalloc = rust.jemalloc (bool) +@@ -1077,3 +1077,8 @@ + # pass `off`: + # - x86_64-unknown-linux-gnu + #default-linker-linux-override = "off" (for most targets) + +# Copy libc and CRT objects into the target lib/self-contained/ directory. +# Enabled by default on `musl`, `wasi`, and `windows-gnu` targets. Other +# targets may ignore this setting if they have nothing to be contained. +#self-contained = (bool) diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs -index 1458b0beefa8..08757f3283cf 100644 +index 6857a40ada8..9a98323a704 100644 --- a/src/bootstrap/src/core/build_steps/compile.rs +++ b/src/bootstrap/src/core/build_steps/compile.rs -@@ -370,6 +370,10 @@ fn copy_self_contained_objects( +@@ -368,6 +368,10 @@ fn copy_self_contained_objects( compiler: &Compiler, target: TargetSelection, ) -> Vec<(PathBuf, DependencyType)> { @@ -40,24 +40,32 @@ index 1458b0beefa8..08757f3283cf 100644 builder.sysroot_target_libdir(*compiler, target).join("self-contained"); t!(fs::create_dir_all(&libdir_self_contained)); diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs -index 678a9b639522..9e45efc72d1a 100644 +index 4b7ae6df360..6bab269a33c 100644 --- a/src/bootstrap/src/core/config/config.rs +++ b/src/bootstrap/src/core/config/config.rs -@@ -819,6 +819,9 @@ pub(crate) fn parse_inner( - if let Some(s) = cfg.no_std { +@@ -864,6 +864,7 @@ pub(crate) fn parse_inner( + runner: target_runner, + optimized_compiler_builtins: target_optimized_compiler_builtins, + jemalloc: target_jemalloc, ++ self_contained: target_self_contained + } = cfg; + + let mut target = Target::from_triple(&triple); +@@ -921,6 +922,9 @@ pub(crate) fn parse_inner( + if let Some(s) = target_no_std { target.no_std = s; } -+ if let Some(s) = cfg.self_contained { ++ if let Some(s) = target_self_contained { + target.self_contained = s; + } - target.cc = cfg.cc.map(PathBuf::from); - target.cxx = cfg.cxx.map(PathBuf::from); - target.ar = cfg.ar.map(PathBuf::from); + target.cc = target_cc.map(PathBuf::from); + target.cxx = target_cxx.map(PathBuf::from); + target.ar = target_ar.map(PathBuf::from); diff --git a/src/bootstrap/src/core/config/toml/target.rs b/src/bootstrap/src/core/config/toml/target.rs -index 020602e6a199..a944e1d194dd 100644 +index 4c7afa50b96..83b8a1b50ca 100644 --- a/src/bootstrap/src/core/config/toml/target.rs +++ b/src/bootstrap/src/core/config/toml/target.rs -@@ -43,6 +43,7 @@ struct TomlTarget { +@@ -47,6 +47,7 @@ struct TomlTarget { runner: Option = "runner", optimized_compiler_builtins: Option = "optimized-compiler-builtins", jemalloc: Option = "jemalloc", @@ -65,7 +73,7 @@ index 020602e6a199..a944e1d194dd 100644 } } -@@ -75,6 +76,7 @@ pub struct Target { +@@ -80,6 +81,7 @@ pub struct Target { pub codegen_backends: Option>, pub optimized_compiler_builtins: Option, pub jemalloc: Option, @@ -73,7 +81,7 @@ index 020602e6a199..a944e1d194dd 100644 } impl Target { -@@ -86,6 +88,9 @@ pub fn from_triple(triple: &str) -> Self { +@@ -91,6 +93,9 @@ pub fn from_triple(triple: &str) -> Self { if triple.contains("emscripten") { target.runner = Some("node".into()); } @@ -84,10 +92,10 @@ index 020602e6a199..a944e1d194dd 100644 } } diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs -index a2aeed20948e..e530e1ceb99e 100644 +index dd30f05b728..cc89a84071e 100644 --- a/src/bootstrap/src/lib.rs +++ b/src/bootstrap/src/lib.rs -@@ -1453,6 +1453,11 @@ fn no_std(&self, target: TargetSelection) -> Option { +@@ -1441,6 +1441,11 @@ fn no_std(&self, target: TargetSelection) -> Option { self.config.target_config.get(&target).map(|t| t.no_std) } diff --git a/rust.spec b/rust.spec index 8233d0f..9fb8edc 100644 --- a/rust.spec +++ b/rust.spec @@ -1,5 +1,5 @@ Name: rust -Version: 1.91.0 +Version: 1.92.0 Release: %autorelease Summary: The Rust Programming Language License: (Apache-2.0 OR MIT) AND (Artistic-2.0 AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0 AND Unicode-3.0) @@ -14,9 +14,9 @@ ExclusiveArch: %{rust_arches} # To bootstrap from scratch, set the channel and date from src/stage0 # e.g. 1.89.0 wants rustc: 1.88.0-2025-06-26 # or nightly wants some beta-YYYY-MM-DD -%global bootstrap_version 1.90.0 -%global bootstrap_channel 1.90.0 -%global bootstrap_date 2025-09-18 +%global bootstrap_version 1.91.0 +%global bootstrap_channel 1.91.0 +%global bootstrap_date 2025-10-30 # Only the specified arches will use bootstrap binaries. # NOTE: Those binaries used to be uploaded with every new release, but that was @@ -45,7 +45,7 @@ ExclusiveArch: %{rust_arches} # is insufficient. Rust currently requires LLVM 19.0+. # See src/bootstrap/src/core/build_steps/llvm.rs, fn check_llvm_version %global min_llvm_version 20.0.0 -%global bundled_llvm_version 21.1.1 +%global bundled_llvm_version 21.1.3 #global llvm_compat_version 19 %global llvm llvm%{?llvm_compat_version} %bcond_with bundled_llvm @@ -138,7 +138,7 @@ Patch4: 0001-bootstrap-allow-disabling-target-self-contained.patch Patch5: 0002-set-an-external-library-path-for-wasm32-wasi.patch # We don't want to use the bundled library in libsqlite3-sys -Patch6: rustc-1.91.0-unbundle-sqlite.patch +Patch6: rustc-1.92.0-unbundle-sqlite.patch # stage0 tries to copy all of /usr/lib, sometimes unsuccessfully, see #143735 Patch7: 0001-only-copy-rustlib-into-stage0-sysroot.patch @@ -152,7 +152,7 @@ Source102: cargo_vendor.attr Source103: cargo_vendor.prov # Disable cargo->libgit2->libssh2 on RHEL, as it's not approved for FIPS (rhbz1732949) -Patch100: rustc-1.90.0-disable-libssh2.patch +Patch100: rustc-1.92.0-disable-libssh2.patch # Get the Rust triple for any architecture and ABI. %{lua: function rust_triple(arch, abi) @@ -1080,9 +1080,27 @@ rm -rf "$TMP_HELLO" %{__x} test --no-fail-fast --skip={src/bootstrap,tests/crashes} || : rm -rf "./build/%{rust_triple}/test/" +# Cargo tests skip list +# Every test skipped here must have a documented reason to be skipped. +# Duplicates are safe to add. + +# This test relies on the DNS to fail to resolve the host. DNS is not enabled +# in mock in koji so the DNS resolution doesn't take place to begin with. +# We test this after packaging +%global cargo_test_skip_list net_err_suggests_fetch_with_cli + %ifarch aarch64 # https://github.com/rust-lang/rust/issues/123733 -%define cargo_test_skip --test-args "--skip panic_abort_doc_tests" +%global cargo_test_skip_list %{cargo_test_skip_list} panic_abort_doc_tests +%endif +%if %with disabled_libssh2 +# These tests need ssh - guaranteed to fail when libssh2 is disabled. +%global cargo_test_skip_list %{cargo_test_skip_list} \\\ + net_err_suggests_fetch_with_cli \\\ + ssh_something_happens +%endif +%if "%{cargo_test_skip_list}" != "" +%define cargo_test_skip --test-args "%(printf -- '--skip %%s ' %{cargo_test_skip_list})" %endif %{__x} test --no-fail-fast cargo %{?cargo_test_skip} || : rm -rf "./build/%{rust_triple}/stage2-tools/%{rust_triple}/cit/" diff --git a/rustc-1.90.0-disable-libssh2.patch b/rustc-1.92.0-disable-libssh2.patch similarity index 97% rename from rustc-1.90.0-disable-libssh2.patch rename to rustc-1.92.0-disable-libssh2.patch index 23dc6d8..a03668f 100644 --- a/rustc-1.90.0-disable-libssh2.patch +++ b/rustc-1.92.0-disable-libssh2.patch @@ -34,8 +34,8 @@ diff -up rustc-beta-src/src/tools/cargo/Cargo.toml.orig rustc-beta-src/src/tools --- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2025-08-16 15:47:14.000000000 -0700 +++ rustc-beta-src/src/tools/cargo/Cargo.toml 2025-08-18 17:33:02.401743230 -0700 @@ -46,7 +46,7 @@ curl = "0.4.48" - curl-sys = "0.4.82" - filetime = "0.2.25" + curl-sys = "0.4.83" + filetime = "0.2.26" flate2 = { version = "1.1.2", default-features = false, features = ["zlib-rs"] } -git2 = "0.20.2" +git2 = { version = "0.20.2", default-features = false, features = ["https"] } diff --git a/rustc-1.91.0-unbundle-sqlite.patch b/rustc-1.92.0-unbundle-sqlite.patch similarity index 62% rename from rustc-1.91.0-unbundle-sqlite.patch rename to rustc-1.92.0-unbundle-sqlite.patch index 797cb03..fb0b284 100644 --- a/rustc-1.91.0-unbundle-sqlite.patch +++ b/rustc-1.92.0-unbundle-sqlite.patch @@ -1,7 +1,7 @@ diff -up rustc-beta-src/src/tools/cargo/Cargo.lock.orig rustc-beta-src/src/tools/cargo/Cargo.lock ---- rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2025-09-27 05:39:02.000000000 -0700 -+++ rustc-beta-src/src/tools/cargo/Cargo.lock 2025-10-06 09:42:27.244710359 -0700 -@@ -2844,7 +2844,6 @@ version = "0.35.0" +--- rustc-beta-src/src/tools/cargo/Cargo.lock.orig 2025-11-07 13:31:19.003737886 +0100 ++++ rustc-beta-src/src/tools/cargo/Cargo.lock 2025-11-07 13:14:41.637982893 +0100 +@@ -2835,7 +2835,6 @@ version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" dependencies = [ @@ -10,12 +10,12 @@ diff -up rustc-beta-src/src/tools/cargo/Cargo.lock.orig rustc-beta-src/src/tools "vcpkg", ] diff -up rustc-beta-src/src/tools/cargo/Cargo.toml.orig rustc-beta-src/src/tools/cargo/Cargo.toml ---- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2025-09-27 05:39:02.000000000 -0700 -+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2025-10-06 09:42:06.219898468 -0700 -@@ -81,7 +81,7 @@ proptest = "1.7.0" +--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2025-11-07 13:31:28.338643618 +0100 ++++ rustc-beta-src/src/tools/cargo/Cargo.toml 2025-11-07 13:15:00.266505214 +0100 +@@ -81,7 +81,7 @@ proptest = "1.8.0" pulldown-cmark = { version = "0.13.0", default-features = false, features = ["html"] } rand = "0.9.2" - regex = "1.11.1" + regex = "1.11.3" -rusqlite = { version = "0.37.0", features = ["bundled"] } +rusqlite = { version = "0.37.0", features = [] } rustc-hash = "2.1.1" diff --git a/sources b/sources index cd3eb20..08ae3f4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (wasi-libc-wasi-sdk-27.tar.gz) = dfc2c36fabf32f465fc833ed0b10efffc9a35c68162ecc3e8d656d1d684d170b734d55e790614d12d925d17f49d60f0d2d01c46cecac941cf62d68eda84df13e -SHA512 (rustc-1.91.0-src.tar.xz) = 1e4c7a2435dc5bccfc63f34f5d210f7cafb0113787a4b5069d61f03528a32cd0a29ac516673cbc0eb564089f1dc5e13b962e6c3714bd0109de664c22ed340fb3 +SHA512 (rustc-1.92.0-src.tar.xz) = a2c0b127933595b9bc2063d7b7c88d9af512c4664b18f29d44c9a6e2c68d194b87a3071717e8f1b7c858ae940baca888e10be95cd31e0201916d0bfc312a3b15