diff --git a/pkgs/by-name/ac/acpica-tools/package.nix b/pkgs/by-name/ac/acpica-tools/package.nix index 5cf7ae30268d..c6027ed0ae27 100644 --- a/pkgs/by-name/ac/acpica-tools/package.nix +++ b/pkgs/by-name/ac/acpica-tools/package.nix @@ -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;