From b5a49822196030726b7ea685513af24cdf28a418 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Sat, 15 Nov 2025 19:23:57 -0500 Subject: [PATCH] Revert "buildMozillaMach: use llvmPackages_20 on aarch64-darwin" This reverts commit 40eea21c1e7baf2ec02fbc5cf0a58805371c3ef4. --- .../build-mozilla-mach/default.nix | 22 ++++--------------- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/pkgs/build-support/build-mozilla-mach/default.nix b/pkgs/build-support/build-mozilla-mach/default.nix index 3f20759e952e..aefd57fbe0b4 100644 --- a/pkgs/build-support/build-mozilla-mach/default.nix +++ b/pkgs/build-support/build-mozilla-mach/default.nix @@ -59,7 +59,9 @@ in pkgsCross, # wasm32 rlbox python3, runCommand, + rustc, rust-cbindgen, + rustPlatform, unzip, which, wrapGAppsHook3, @@ -201,25 +203,9 @@ assert elfhackSupport -> isElfhackPlatform stdenv; let inherit (lib) enableFeature; - rustPackages = - pkgs: - (pkgs.rust.override ( - # aarch64-darwin firefox crashes on loading favicons due to a llvm 21 bug: - # https://github.com/NixOS/nixpkgs/issues/453372 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1995582#c16 - lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) { - llvmPackages = pkgs.llvmPackages_20; - } - )).packages.stable; - - toRustC = pkgs: (rustPackages pkgs).rustc; - - rustc = toRustC pkgs; - inherit (rustPackages pkgs) rustPlatform; - # Target the LLVM version that rustc is built with for LTO. llvmPackages0 = rustc.llvmPackages; - llvmPackagesBuildBuild0 = (toRustC pkgsBuildBuild).llvmPackages; + llvmPackagesBuildBuild0 = pkgsBuildBuild.rustc.llvmPackages; # Force the use of lld and other llvm tools for LTO llvmPackages = llvmPackages0.override { @@ -234,7 +220,7 @@ let # LTO requires LLVM bintools including ld.lld and llvm-ar. buildStdenv = overrideCC llvmPackages.stdenv ( llvmPackages.stdenv.cc.override { - bintools = if ltoSupport then (toRustC buildPackages).llvmPackages.bintools else stdenv.cc.bintools; + bintools = if ltoSupport then buildPackages.rustc.llvmPackages.bintools else stdenv.cc.bintools; } );