buildMozillaMach: switch back to llvm_21 for aarch64-darwin (#462094)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user