syslinux: 2015-11-09 -> 2019-02-07
This commit is contained in:
parent
47b4451535
commit
13555cb1ce
@ -1,13 +1,14 @@
|
|||||||
{ stdenv, fetchFromGitHub, fetchurl, nasm, perl, python, libuuid, mtools, makeWrapper }:
|
{ stdenv, fetchFromRepoOrCz, fetchurl, nasm, perl, python3, libuuid, mtools, makeWrapper }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "syslinux-2015-11-09";
|
name = "syslinux-2019-02-07";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
# This is syslinux-6.04-pre3^1; syslinux-6.04-pre3 fails to run.
|
||||||
owner = "geneC";
|
# Same issue here https://www.syslinux.org/archives/2019-February/026330.html
|
||||||
|
src = fetchFromRepoOrCz {
|
||||||
repo = "syslinux";
|
repo = "syslinux";
|
||||||
rev = "0cc9a99e560a2f52bcf052fd85b1efae35ee812f";
|
rev = "b40487005223a78c3bb4c300ef6c436b3f6ec1f7";
|
||||||
sha256 = "0wk3r5ki4lc334f9jpml07wpl8d0bnxi9h1l4h4fyf9a0d7n4kmw";
|
sha256 = "1qrxl1114sr2i2791z9rf8v53g200aq30f08808d7i8qnmgvxl2w";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = let
|
patches = let
|
||||||
@ -15,12 +16,13 @@ stdenv.mkDerivation {
|
|||||||
"https://salsa.debian.org/images-team/syslinux/raw/${commit}/debian/patches/"
|
"https://salsa.debian.org/images-team/syslinux/raw/${commit}/debian/patches/"
|
||||||
+ patchName;
|
+ patchName;
|
||||||
in [
|
in [
|
||||||
./perl-deps.patch
|
|
||||||
(fetchurl {
|
(fetchurl {
|
||||||
# ldlinux.elf: Not enough room for program headers, try linking with -N
|
url = mkURL "fa1349f1" "0002-gfxboot-menu-label.patch";
|
||||||
name = "not-enough-room.patch";
|
sha256 = "06ifgzbpjj4picpj17zgprsfi501zf4pp85qjjgn29i5rs291zni";
|
||||||
url = mkURL "a556ad7" "0014_fix_ftbfs_no_dynamic_linker.patch";
|
})
|
||||||
sha256 = "0ijqjsjmnphmvsx0z6ppnajsfv6xh6crshy44i2a5klxw4nlvrsw";
|
(fetchurl {
|
||||||
|
url = mkURL "477e56d2" "0005-gnu-efi-version-compatibility.patch";
|
||||||
|
sha256 = "041568b4abb79wynyps1n04lg4fr26rc3sbjncz99pp0mbz0ajlm";
|
||||||
})
|
})
|
||||||
(fetchurl {
|
(fetchurl {
|
||||||
# mbr.bin: too big (452 > 440)
|
# mbr.bin: too big (452 > 440)
|
||||||
@ -33,20 +35,22 @@ stdenv.mkDerivation {
|
|||||||
url = mkURL "012e1dd312eb" "0017-single-load-segment.patch";
|
url = mkURL "012e1dd312eb" "0017-single-load-segment.patch";
|
||||||
sha256 = "0azqzicsjw47b9ppyikhzaqmjl4lrvkxris1356bkmgcaiv6d98b";
|
sha256 = "0azqzicsjw47b9ppyikhzaqmjl4lrvkxris1356bkmgcaiv6d98b";
|
||||||
})
|
})
|
||||||
|
(fetchurl {
|
||||||
|
url = mkURL "26f0e7b2" "0018-prevent-pow-optimization.patch";
|
||||||
|
sha256 = "1c8g0jz5yj9a0rsmryx9vdjsw4hw8mjfcg05c9pmyjg85w3dfp3m";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace Makefile --replace /bin/pwd $(type -P pwd)
|
substituteInPlace Makefile --replace /bin/pwd $(type -P pwd)
|
||||||
substituteInPlace gpxe/src/Makefile.housekeeping --replace /bin/echo $(type -P echo)
|
|
||||||
substituteInPlace utils/ppmtolss16 --replace /usr/bin/perl $(type -P perl)
|
substituteInPlace utils/ppmtolss16 --replace /usr/bin/perl $(type -P perl)
|
||||||
substituteInPlace gpxe/src/Makefile --replace /usr/bin/perl $(type -P perl)
|
|
||||||
|
|
||||||
# fix tests
|
# fix tests
|
||||||
substituteInPlace tests/unittest/include/unittest/unittest.h \
|
substituteInPlace tests/unittest/include/unittest/unittest.h \
|
||||||
--replace /usr/include/ ""
|
--replace /usr/include/ ""
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ nasm perl python ];
|
nativeBuildInputs = [ nasm perl python3 ];
|
||||||
buildInputs = [ libuuid makeWrapper ];
|
buildInputs = [ libuuid makeWrapper ];
|
||||||
|
|
||||||
enableParallelBuilding = false; # Fails very rarely with 'No rule to make target: ...'
|
enableParallelBuilding = false; # Fails very rarely with 'No rule to make target: ...'
|
||||||
|
@ -1,81 +0,0 @@
|
|||||||
http://git.ipxe.org/ipxe.git/commitdiff/719b498
|
|
||||||
|
|
||||||
diff -ru -x '*~' -x '*.orig' -x '*.rej' syslinux-4.02-orig/gpxe/src/arch/i386/Makefile.pcbios syslinux-4.02/gpxe/src/arch/i386/Makefile.pcbios
|
|
||||||
--- syslinux-4.02-orig/gpxe/src/arch/i386/Makefile.pcbios 2010-07-21 21:33:13.000000000 +0200
|
|
||||||
+++ syslinux-4.02/gpxe/src/arch/i386/Makefile.pcbios 2010-08-06 23:32:57.000000000 +0200
|
|
||||||
@@ -24,11 +24,11 @@
|
|
||||||
|
|
||||||
# Padding rules
|
|
||||||
#
|
|
||||||
-PAD_rom = $(PADIMG) --blksize=512 --byte=0xff $@
|
|
||||||
+PAD_rom = $(PERL) $(PADIMG) --blksize=512 --byte=0xff $@
|
|
||||||
PAD_hrom = $(PAD_rom)
|
|
||||||
PAD_xrom = $(PAD_rom)
|
|
||||||
-PAD_dsk = $(PADIMG) --blksize=512 $@
|
|
||||||
-PAD_hd = $(PADIMG) --blksize=32768 $@
|
|
||||||
+PAD_dsk = $(PERL) $(PADIMG) --blksize=512 $@
|
|
||||||
+PAD_hd = $(PERL) $(PADIMG) --blksize=32768 $@
|
|
||||||
|
|
||||||
# rule to make a non-emulation ISO boot image
|
|
||||||
NON_AUTO_MEDIA += iso
|
|
||||||
diff -ru -x '*~' -x '*.orig' -x '*.rej' syslinux-4.02-orig/gpxe/src/Makefile syslinux-4.02/gpxe/src/Makefile
|
|
||||||
--- syslinux-4.02-orig/gpxe/src/Makefile 2010-07-21 21:33:13.000000000 +0200
|
|
||||||
+++ syslinux-4.02/gpxe/src/Makefile 2010-08-06 23:31:15.000000000 +0200
|
|
||||||
@@ -31,12 +31,12 @@
|
|
||||||
OBJCOPY := $(CROSS_COMPILE)objcopy
|
|
||||||
NM := $(CROSS_COMPILE)nm
|
|
||||||
OBJDUMP := $(CROSS_COMPILE)objdump
|
|
||||||
-PARSEROM := $(PERL) ./util/parserom.pl
|
|
||||||
-MAKEROM := $(PERL) ./util/makerom.pl
|
|
||||||
-SYMCHECK := $(PERL) ./util/symcheck.pl
|
|
||||||
-SORTOBJDUMP := $(PERL) ./util/sortobjdump.pl
|
|
||||||
-PADIMG := $(PERL) ./util/padimg.pl
|
|
||||||
-LICENCE := $(PERL) ./util/licence.pl
|
|
||||||
+PARSEROM := ./util/parserom.pl
|
|
||||||
+MAKEROM := ./util/makerom.pl
|
|
||||||
+SYMCHECK := ./util/symcheck.pl
|
|
||||||
+SORTOBJDUMP := ./util/sortobjdump.pl
|
|
||||||
+PADIMG := ./util/padimg.pl
|
|
||||||
+LICENCE := ./util/licence.pl
|
|
||||||
NRV2B := ./util/nrv2b
|
|
||||||
ZBIN := ./util/zbin
|
|
||||||
ELF2EFI32 := ./util/elf2efi32
|
|
||||||
diff -ru -x '*~' -x '*.orig' -x '*.rej' syslinux-4.02-orig/gpxe/src/Makefile.housekeeping syslinux-4.02/gpxe/src/Makefile.housekeeping
|
|
||||||
--- syslinux-4.02-orig/gpxe/src/Makefile.housekeeping 2010-07-21 21:33:13.000000000 +0200
|
|
||||||
+++ syslinux-4.02/gpxe/src/Makefile.housekeeping 2010-08-06 23:31:49.000000000 +0200
|
|
||||||
@@ -456,7 +456,7 @@
|
|
||||||
'\n$(2) : $$($(4)_DEPS)\n' \
|
|
||||||
'\nTAGS : $$($(4)_DEPS)\n' \
|
|
||||||
>> $(2)
|
|
||||||
- @$(PARSEROM) $(1) >> $(2)
|
|
||||||
+ @$(PERL) $(PARSEROM) $(1) >> $(2)
|
|
||||||
|
|
||||||
endef
|
|
||||||
|
|
||||||
@@ -657,7 +657,7 @@
|
|
||||||
$(QM)$(ECHO) " [LD] $@"
|
|
||||||
$(Q)$(LD) $(LDFLAGS) -T $(LDSCRIPT) $(TGT_LD_FLAGS) $(BLIB) -o $@ \
|
|
||||||
-Map $(BIN)/$*.tmp.map
|
|
||||||
- $(Q)$(OBJDUMP) -ht $@ | $(SORTOBJDUMP) >> $(BIN)/$*.tmp.map
|
|
||||||
+ $(Q)$(OBJDUMP) -ht $@ | $(PERL) $(SORTOBJDUMP) >> $(BIN)/$*.tmp.map
|
|
||||||
|
|
||||||
# Keep intermediate object file (useful for debugging)
|
|
||||||
.PRECIOUS : $(BIN)/%.tmp
|
|
||||||
@@ -714,7 +714,7 @@
|
|
||||||
echo "files are missing a licence declaration:" ;\
|
|
||||||
echo $(call unlicensed_deps_list,$<);\
|
|
||||||
exit 1,\
|
|
||||||
- $(LICENCE) $(call licence_list,$<))
|
|
||||||
+ $(PERL) $(LICENCE) $(call licence_list,$<))
|
|
||||||
|
|
||||||
# Extract compression information from intermediate object file
|
|
||||||
#
|
|
||||||
@@ -941,7 +941,7 @@
|
|
||||||
CLEANUP += $(BIN)/symtab
|
|
||||||
|
|
||||||
symcheck : $(SYMTAB)
|
|
||||||
- $(SYMCHECK) $<
|
|
||||||
+ $(PERL) $(SYMCHECK) $<
|
|
||||||
|
|
||||||
endif # defined(BIN)
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user