From 87270fb3068e3728e498c890b93e813e7b01a674 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sat, 24 Feb 2018 21:49:31 -0500 Subject: [PATCH] gnu-efi: Only build on efi-enabled systems --- lib/systems/inspect.nix | 1 + pkgs/os-specific/linux/systemd/default.nix | 9 +++++---- pkgs/top-level/all-packages.nix | 4 +++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index 45c9360cc0f..fd4128c586d 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -38,6 +38,7 @@ rec { Kexecable = map (family: { kernel = kernels.linux; cpu.family = family; }) [ "x86" "arm" "aarch64" "mips" ]; + Efi = map (family: { cpu.family = family; }) [ "x86" "arm" ]; }; matchAnyAttrs = patterns: diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 9085b1703c0..383e3c340e6 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -8,6 +8,7 @@ , ninja, meson, python3Packages, glibcLocales , patchelf , getent +, hostPlatform }: assert stdenv.isLinux; @@ -71,10 +72,10 @@ in "-Dsystem-gid-max=499" # "-Dtime-epoch=1" - (if stdenv.isArm then "-Dgnu-efi=false" else "-Dgnu-efi=true") - "-Defi-libdir=${gnu-efi}/lib" - "-Defi-includedir=${gnu-efi}/include/efi" - "-Defi-ldsdir=${gnu-efi}/lib" + (if stdenv.isArm || !hostPlatform.isEfi then "-Dgnu-efi=false" else "-Dgnu-efi=true") + "-Defi-libdir=${toString gnu-efi}/lib" + "-Defi-includedir=${toString gnu-efi}/include/efi" + "-Defi-ldsdir=${toString gnu-efi}/lib" "-Dsysvinit-path=" "-Dsysvrcnd-path=" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 675ad092a30..6674eab36d6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8995,7 +8995,9 @@ with pkgs; gnu-config = callPackage ../development/libraries/gnu-config { }; - gnu-efi = callPackage ../development/libraries/gnu-efi { }; + gnu-efi = if hostPlatform.isEfi + then callPackage ../development/libraries/gnu-efi { } + else null; gnutls = callPackage (if stdenv.isDarwin