about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarkus Partheymüller <markus.partheymueller@cyberus-technology.de>2020-04-20 13:30:35 +0200
committerMarkus Partheymüller <markus.partheymueller@cyberus-technology.de>2020-04-20 13:30:35 +0200
commit94d114dc2a9619843af8ea6b322ef2b4f44b982f (patch)
treec8a0a19569d4e98971da1a6f9a4b65b87900d907
parentfe8afcb993845505042b41f09a9c98f6748d7af2 (diff)
downloadnixlib-94d114dc2a9619843af8ea6b322ef2b4f44b982f.tar
nixlib-94d114dc2a9619843af8ea6b322ef2b4f44b982f.tar.gz
nixlib-94d114dc2a9619843af8ea6b322ef2b4f44b982f.tar.bz2
nixlib-94d114dc2a9619843af8ea6b322ef2b4f44b982f.tar.lz
nixlib-94d114dc2a9619843af8ea6b322ef2b4f44b982f.tar.xz
nixlib-94d114dc2a9619843af8ea6b322ef2b4f44b982f.tar.zst
nixlib-94d114dc2a9619843af8ea6b322ef2b4f44b982f.zip
edk2/OVMF: Determine build type from CC setting
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix6
-rw-r--r--pkgs/development/compilers/edk2/default.nix11
2 files changed, 9 insertions, 8 deletions
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index e203106587b7..cd30be889912 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -17,13 +17,9 @@ let
     throw "Unsupported architecture";
 
   version = lib.getVersion edk2;
-  buildType = if stdenv.isDarwin then
-    "CLANGPDB"
-  else
-    "GCC5";
 in
 
-edk2.mkDerivation projectDscPath buildType {
+edk2.mkDerivation projectDscPath {
   name = "OVMF-${version}";
 
   outputs = [ "out" "fd" ];
diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix
index eb658431c926..1050119be53a 100644
--- a/pkgs/development/compilers/edk2/default.nix
+++ b/pkgs/development/compilers/edk2/default.nix
@@ -30,6 +30,11 @@ buildStdenv = if stdenv.isDarwin then
 else
   stdenv;
 
+buildType = if stdenv.isDarwin then
+    "CLANGPDB"
+  else
+    "GCC5";
+
 edk2 = buildStdenv.mkDerivation {
   pname = "edk2";
   version = "201911";
@@ -44,9 +49,9 @@ edk2 = buildStdenv.mkDerivation {
   buildInputs = [ libuuid pythonEnv ];
 
   makeFlags = [ "-C BaseTools" ]
-    ++ lib.optional (stdenv.isDarwin) [ "BUILD_CC=clang BUILD_CXX=clang++ BUILD_AS=clang" ];
+    ++ lib.optional (stdenv.cc.isClang) [ "BUILD_CC=clang BUILD_CXX=clang++ BUILD_AS=clang" ];
 
-  NIX_CFLAGS_COMPILE = "-Wno-return-type" + lib.optionalString (!stdenv.isDarwin) " -Wno-error=stringop-truncation";
+  NIX_CFLAGS_COMPILE = "-Wno-return-type" + lib.optionalString (stdenv.cc.isGNU) " -Wno-error=stringop-truncation";
 
   hardeningDisable = [ "format" "fortify" ];
 
@@ -66,7 +71,7 @@ edk2 = buildStdenv.mkDerivation {
   };
 
   passthru = {
-    mkDerivation = projectDscPath: buildType: attrs: buildStdenv.mkDerivation ({
+    mkDerivation = projectDscPath: attrs: buildStdenv.mkDerivation ({
       inherit (edk2) src;
 
       buildInputs = [ bc pythonEnv ] ++ attrs.buildInputs or [];