From 4d3207ecf7e3fc97d183cd001498a04437745da1 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Sun, 6 Nov 2022 18:54:18 -0500 Subject: [PATCH 1/3] edk2: fix build on x86_64-darwin ZHF #199919 --- pkgs/development/compilers/edk2/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix index d51601404868..8ce4322a12e9 100644 --- a/pkgs/development/compilers/edk2/default.nix +++ b/pkgs/development/compilers/edk2/default.nix @@ -61,7 +61,7 @@ edk2 = buildStdenv.mkDerivation { ${"GCC5_${targetArch}_PREFIX"}=stdenv.cc.targetPrefix; makeFlags = [ "-C BaseTools" ] - ++ lib.optionals (stdenv.cc.isClang) [ "BUILD_CC=clang BUILD_CXX=clang++ BUILD_AS=clang" ]; + ++ lib.optionals (stdenv.cc.isClang) [ "CXX=llvm BUILD_AR=ar BUILD_CC=clang BUILD_CXX=clang++ BUILD_AS=clang BUILD_LD=ld" ]; NIX_CFLAGS_COMPILE = "-Wno-return-type" + lib.optionalString (stdenv.cc.isGNU) " -Wno-error=stringop-truncation"; From b808a354d215ffa1bb9c5988112ec9adadf7365d Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Sun, 6 Nov 2022 19:36:57 -0500 Subject: [PATCH 2/3] OVMF: fix build on x86_64-darwin ZHF #199919 --- pkgs/applications/virtualization/OVMF/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index 9a4276997b8e..1e2e8c764a9e 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -1,4 +1,4 @@ -{ stdenv, nixosTests, lib, edk2, util-linux, nasm, acpica-tools +{ stdenv, nixosTests, lib, edk2, util-linux, nasm, acpica-tools, llvmPackages , csmSupport ? false, seabios ? null , secureBoot ? false , httpSupport ? false @@ -33,7 +33,8 @@ edk2.mkDerivation projectDscPath (finalAttrs: { outputs = [ "out" "fd" ]; - nativeBuildInputs = [ util-linux nasm acpica-tools ]; + nativeBuildInputs = [ util-linux nasm acpica-tools ] + ++ lib.optionals stdenv.cc.isClang [ llvmPackages.bintools llvmPackages.llvm ]; strictDeps = true; hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ]; @@ -44,6 +45,8 @@ edk2.mkDerivation projectDscPath (finalAttrs: { ++ lib.optionals httpSupport [ "-D NETWORK_HTTP_ENABLE=TRUE" "-D NETWORK_HTTP_BOOT_ENABLE=TRUE" ] ++ lib.optionals tpmSupport [ "-D TPM_ENABLE" "-D TPM2_ENABLE" "-D TPM2_CONFIG_ENABLE"]; + NIX_CFLAGS_COMPILE = lib.optional stdenv.cc.isClang "-Qunused-arguments"; + postPatch = lib.optionalString csmSupport '' cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin ''; From 0aa21a70530618bfdd18c532b4af0c290ad7d070 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Sun, 6 Nov 2022 19:53:25 -0500 Subject: [PATCH 3/3] edk2-uefi-shell: fix build on x86_64-darwin ZHF #199919 --- pkgs/tools/misc/edk2-uefi-shell/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/edk2-uefi-shell/default.nix b/pkgs/tools/misc/edk2-uefi-shell/default.nix index 78e0ba28afb0..e3d73775021f 100644 --- a/pkgs/tools/misc/edk2-uefi-shell/default.nix +++ b/pkgs/tools/misc/edk2-uefi-shell/default.nix @@ -1,5 +1,7 @@ { lib +, stdenv , edk2 +, llvmPackages , util-linux , nasm , python3 @@ -8,9 +10,12 @@ edk2.mkDerivation "ShellPkg/ShellPkg.dsc" (finalAttrs: { pname = "edk2-uefi-shell"; inherit (edk2) version; - nativeBuildInputs = [ util-linux nasm python3 ]; + nativeBuildInputs = [ util-linux nasm python3 ] + ++ lib.optionals stdenv.cc.isClang [ llvmPackages.bintools llvmPackages.llvm ]; strictDeps = true; + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isClang [ "-fno-pic" "-Qunused-arguments" ]; + # We only have a .efi file in $out which shouldn't be patched or stripped dontPatchELF = true; dontStrip = true;