about summary refs log tree commit diff
path: root/pkgs/tools/misc/ipxe/default.nix
diff options
context:
space:
mode:
authoredef <edef@edef.eu>2019-03-07 15:11:54 +0000
committeredef <edef@edef.eu>2019-05-05 11:52:34 +0000
commitff4db30b7dd68daae70b4393aa275d80233f805b (patch)
treec09642cfc29e343c7a7d8c4a36ce04c2b0911b19 /pkgs/tools/misc/ipxe/default.nix
parent35ecd5474a96d9b49c0894269f732e0cb9f245dd (diff)
downloadnixlib-ff4db30b7dd68daae70b4393aa275d80233f805b.tar
nixlib-ff4db30b7dd68daae70b4393aa275d80233f805b.tar.gz
nixlib-ff4db30b7dd68daae70b4393aa275d80233f805b.tar.bz2
nixlib-ff4db30b7dd68daae70b4393aa275d80233f805b.tar.lz
nixlib-ff4db30b7dd68daae70b4393aa275d80233f805b.tar.xz
nixlib-ff4db30b7dd68daae70b4393aa275d80233f805b.tar.zst
nixlib-ff4db30b7dd68daae70b4393aa275d80233f805b.zip
ipxe: enable UEFI support
Diffstat (limited to 'pkgs/tools/misc/ipxe/default.nix')
-rw-r--r--pkgs/tools/misc/ipxe/default.nix17
1 files changed, 14 insertions, 3 deletions
diff --git a/pkgs/tools/misc/ipxe/default.nix b/pkgs/tools/misc/ipxe/default.nix
index b06a1c47786f..99b7ea10bd35 100644
--- a/pkgs/tools/misc/ipxe/default.nix
+++ b/pkgs/tools/misc/ipxe/default.nix
@@ -1,16 +1,24 @@
-{ stdenv, lib, fetchgit, perl, cdrkit, syslinux, xz, openssl
+{ stdenv, lib, fetchgit, perl, cdrkit, syslinux, xz, openssl, gnu-efi
 , embedScript ? null
 }:
 
 let
   date = "20190318";
   rev = "ebf2eaf515e46abd43bc798e7e4ba77bfe529218";
+  targets = [
+    "bin-x86_64-efi/ipxe.efi"
+    "bin/ipxe.dsk"
+    "bin/ipxe.usb"
+    "bin/ipxe.iso"
+    "bin/ipxe.lkrn"
+    "bin/undionly.kpxe"
+  ];
 in
 
 stdenv.mkDerivation {
   name = "ipxe-${date}-${builtins.substring 0 7 rev}";
 
-  buildInputs = [ perl cdrkit syslinux xz openssl ];
+  buildInputs = [ perl cdrkit syslinux xz openssl gnu-efi ];
 
   src = fetchgit {
     url = https://git.ipxe.org/ipxe.git;
@@ -36,14 +44,17 @@ stdenv.mkDerivation {
     runHook preConfigure
     for opt in $enabledOptions; do echo "#define $opt" >> src/config/general.h; done
     sed -i '/cp \''${ISOLINUX_BIN}/s/$/ --no-preserve=mode/' src/util/geniso
+    substituteInPlace src/Makefile.housekeeping --replace '/bin/echo' echo
     runHook postConfigure
   '';
 
   preBuild = "cd src";
 
+  buildFlags = targets;
+
   installPhase = ''
     mkdir -p $out
-    cp bin/ipxe.dsk bin/ipxe.usb bin/ipxe.iso bin/ipxe.lkrn bin/undionly.kpxe $out
+    cp ${lib.concatStringsSep " " targets} $out
 
     # Some PXE constellations especially with dnsmasq are looking for the file with .0 ending
     # let's provide it as a symlink to be compatible in this case.