From 05a2c0ef9caa0f959cbe1b43c1f8d895fb991097 Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 15 Mar 2026 12:51:35 -0400 Subject: [PATCH] rustup: 1.28.2 -> 1.29.0 Release announcement: https://blog.rust-lang.org/2026/03/12/Rustup-1.29.0/ Changelog: https://github.com/rust-lang/rustup/blob/1.29.0/CHANGELOG.md We also switch from `export NIX_BUILD_CORES=1` in `preCheck` to `dontUseCargoParallelTests`, to make compiling test crates slightly faster while still running them serially to avoid the failures that parallel tests originally caused. --- .../0001-dynamically-patchelf-binaries.patch | 16 ++++++++-------- pkgs/development/tools/rust/rustup/default.nix | 15 ++++++++------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch b/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch index 59fcf039795c..edb83da77139 100644 --- a/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch +++ b/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch @@ -1,16 +1,16 @@ diff --git a/src/dist/component/package.rs b/src/dist/component/package.rs -index dfccc661..85233f3b 100644 +index dc545d4b62..4dd8ade86e 100644 --- a/src/dist/component/package.rs +++ b/src/dist/component/package.rs -@@ -113,6 +113,7 @@ impl Package for DirectoryPackage { +@@ -130,6 +130,7 @@ } else { builder.move_file(path.clone(), &src_path)? } + nix_patchelf_if_needed(&target.prefix().path().join(path.clone())) } - "dir" => { + ComponentPartKind::Dir => { if self.copy { -@@ -135,6 +136,176 @@ impl Package for DirectoryPackage { +@@ -152,6 +153,176 @@ } } @@ -31,7 +31,7 @@ index dfccc661..85233f3b 100644 + .parent() + .ok_or(anyhow!("failed to get parent directory"))? + .with_file_name("nix-support"); -+ let mut file = std::fs::File::create(dest_lld_path)?; ++ let mut file = fs::File::create(dest_lld_path)?; + ld_wrapper_path.push("ld-wrapper.sh"); + + let wrapped_script = format!( @@ -184,6 +184,6 @@ index dfccc661..85233f3b 100644 + } +} + - #[derive(Debug)] - pub(crate) struct TarPackage<'a>(DirectoryPackage, temp::Dir<'a>); - + /// Handle the async result of io operations + /// Replaces op.result with Ok(()) + fn filter_result(op: &mut CompletedIo) -> io::Result<()> { diff --git a/pkgs/development/tools/rust/rustup/default.nix b/pkgs/development/tools/rust/rustup/default.nix index 43d1860bb03b..e191a9b2e151 100644 --- a/pkgs/development/tools/rust/rustup/default.nix +++ b/pkgs/development/tools/rust/rustup/default.nix @@ -25,16 +25,16 @@ in rustPlatform.buildRustPackage (finalAttrs: { pname = "rustup"; - version = "1.28.2"; + version = "1.29.0"; src = fetchFromGitHub { owner = "rust-lang"; repo = "rustup"; tag = finalAttrs.version; - hash = "sha256-iX5hEaQwCW9MuyafjXml8jV3EDnxRNUlOoy3Cur/Iyw="; + hash = "sha256-jbB0nmXtc95Ac+YfmyELh6n5OTRMmeDPT4OFIlJNrZc="; }; - cargoHash = "sha256-KljaAzYHbny7KHOO51MotdmNpHCKWdt6kc/FIpFN6c0="; + cargoHash = "sha256-m/KoXNJh00zYKZo7MIJsBvo4zldfKdofrUh8AItJqXI="; nativeBuildInputs = [ makeBinaryWrapper @@ -78,9 +78,7 @@ rustPlatform.buildRustPackage (finalAttrs: { # TODO: Investigate this. doCheck = !stdenv.hostPlatform.isDarwin; # Random failures when running tests in parallel. - preCheck = '' - export NIX_BUILD_CORES=1 - ''; + dontUseCargoParallelTests = true; # skip failing tests checkFlags = [ @@ -89,7 +87,10 @@ rustPlatform.buildRustPackage (finalAttrs: { "--skip=suite::cli_exact::check_updates_some" "--skip=suite::cli_exact::check_updates_with_update" # rustup-init is not used in nix rustup - "--skip=suite::cli_ui::rustup_init_ui_doc_text_tests" + "--skip=suite::cli_rustup_init_ui" + # reaches out to the network to test TLS roots, which can't be done in the + # build sandbox + "--skip=suite::static_roots::store_static_roots" ]; postInstall = ''