Loading pkgs/build-support/build-mozilla-mach/default.nix +18 −4 Original line number Diff line number Diff line Loading @@ -58,9 +58,7 @@ in pkgsCross, # wasm32 rlbox python3, runCommand, rustc, rust-cbindgen, rustPlatform, unzip, which, wrapGAppsHook3, Loading Loading @@ -201,9 +199,25 @@ 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 = pkgsBuildBuild.rustc.llvmPackages; llvmPackagesBuildBuild0 = (toRustC pkgsBuildBuild).llvmPackages; # Force the use of lld and other llvm tools for LTO llvmPackages = llvmPackages0.override { Loading @@ -218,7 +232,7 @@ let # LTO requires LLVM bintools including ld.lld and llvm-ar. buildStdenv = overrideCC llvmPackages.stdenv ( llvmPackages.stdenv.cc.override { bintools = if ltoSupport then buildPackages.rustc.llvmPackages.bintools else stdenv.cc.bintools; bintools = if ltoSupport then (toRustC buildPackages).llvmPackages.bintools else stdenv.cc.bintools; } ); Loading Loading
pkgs/build-support/build-mozilla-mach/default.nix +18 −4 Original line number Diff line number Diff line Loading @@ -58,9 +58,7 @@ in pkgsCross, # wasm32 rlbox python3, runCommand, rustc, rust-cbindgen, rustPlatform, unzip, which, wrapGAppsHook3, Loading Loading @@ -201,9 +199,25 @@ 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 = pkgsBuildBuild.rustc.llvmPackages; llvmPackagesBuildBuild0 = (toRustC pkgsBuildBuild).llvmPackages; # Force the use of lld and other llvm tools for LTO llvmPackages = llvmPackages0.override { Loading @@ -218,7 +232,7 @@ let # LTO requires LLVM bintools including ld.lld and llvm-ar. buildStdenv = overrideCC llvmPackages.stdenv ( llvmPackages.stdenv.cc.override { bintools = if ltoSupport then buildPackages.rustc.llvmPackages.bintools else stdenv.cc.bintools; bintools = if ltoSupport then (toRustC buildPackages).llvmPackages.bintools else stdenv.cc.bintools; } ); Loading