Merge pull request #167970 from alyssais/ipxe-2022-04-06

ipxe: 1.21.1 -> unstable-2022-04-06
This commit is contained in:
Janne Heß 2022-04-09 19:33:36 +02:00 committed by GitHub
commit 94334be53e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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/";