OVMFFull: fix build on aarch64-darwin (#513104)

This commit is contained in:
Adam C. Stephens
2026-04-30 16:34:32 +00:00
committed by GitHub
2 changed files with 8 additions and 2 deletions
@@ -274,6 +274,5 @@ edk2.mkDerivation projectDscPath (finalAttrs: {
mjoerg
sigmasquadron
];
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
};
})
+8 -1
View File
@@ -39,6 +39,13 @@ stdenv.mkDerivation (finalAttrs: {
"-O3"
];
# ACPICA emits packed structs that produce unaligned pointers. Apple's
# arm64 linker rejects these under chained fixups; opt back into the
# legacy fixup format so the link succeeds.
NIX_LDFLAGS = lib.optionalString (
stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64
) "-no_fixup_chains";
# i686 builds fail with hardening enabled (due to -Wformat-overflow). Disable
# -Werror altogether to make this derivation less fragile to toolchain
# updates.
@@ -46,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
# We can handle stripping ourselves.
# Unless we are on Darwin. Upstream makefiles degrade coreutils install to cp if _APPLE is detected.
INSTALLFLAGS = lib.optionals (!stdenv.hostPlatform.isDarwin) "-m 555";
INSTALLFLAGS = lib.optionalString (!stdenv.hostPlatform.isDarwin) "-m 555";
};
enableParallelBuilding = true;