diff --git a/pkgs/tools/misc/ipxe/default.nix b/pkgs/tools/misc/ipxe/default.nix index 76ce66e5686..601f2a57eea 100644 --- a/pkgs/tools/misc/ipxe/default.nix +++ b/pkgs/tools/misc/ipxe/default.nix @@ -1,4 +1,5 @@ -{ stdenv, lib, fetchFromGitHub, perl, cdrkit, xz, openssl, gnu-efi, mtools +{ stdenv, lib, fetchFromGitHub, unstableGitUpdater +, gnu-efi, mtools, openssl, perl, xorriso, xz , syslinux ? null , embedScript ? null , additionalTargets ? {} @@ -28,15 +29,15 @@ in stdenv.mkDerivation rec { pname = "ipxe"; - version = "1.21.1"; + version = "unstable-2022-04-06"; - nativeBuildInputs = [ perl cdrkit xz openssl gnu-efi mtools ] ++ lib.optional stdenv.hostPlatform.isx86 syslinux; + nativeBuildInputs = [ gnu-efi mtools openssl perl xorriso xz ] ++ lib.optional stdenv.hostPlatform.isx86 syslinux; src = fetchFromGitHub { owner = "ipxe"; repo = "ipxe"; - rev = "v${version}"; - sha256 = "1pkf1n1c0rdlzfls8fvjvi1sd9xjd9ijqlyz3wigr70ijcv6x8i9"; + rev = "70995397e5bdfd3431e12971aa40630c7014785f"; + sha256 = "SrTNEYk13JXAcJuogm9fZ7CrzJIDRc0aziGdjRNv96I="; }; # not possible due to assembler code @@ -46,9 +47,6 @@ stdenv.mkDerivation rec { makeFlags = [ "ECHO_E_BIN_ECHO=echo" "ECHO_E_BIN_ECHO_E=echo" # No /bin/echo here. - ] ++ lib.optionals stdenv.hostPlatform.isx86 [ - "ISOLINUX_BIN_LIST=${syslinux}/share/syslinux/isolinux.bin" - "LDLINUX_C32=${syslinux}/share/syslinux/ldlinux.c32" ] ++ lib.optional (embedScript != null) "EMBED=${embedScript}"; @@ -62,8 +60,10 @@ stdenv.mkDerivation rec { configurePhase = '' runHook preConfigure for opt in ${lib.escapeShellArgs 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 + '' + lib.optionalString stdenv.hostPlatform.isx86 '' + substituteInPlace src/util/genfsimg --replace /usr/lib/syslinux ${syslinux}/share/syslinux + '' + '' runHook postConfigure ''; @@ -89,6 +89,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + passthru.updateScript = unstableGitUpdater {}; + meta = with lib; { description = "Network boot firmware"; homepage = "https://ipxe.org/";