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; } );