diff options
Diffstat (limited to 'pkgs/os-specific/linux/syslinux/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/syslinux/default.nix | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/pkgs/os-specific/linux/syslinux/default.nix b/pkgs/os-specific/linux/syslinux/default.nix index 2562bb7e260b..8965b5da4f49 100644 --- a/pkgs/os-specific/linux/syslinux/default.nix +++ b/pkgs/os-specific/linux/syslinux/default.nix @@ -1,19 +1,45 @@ -{ stdenv, fetchFromRepoOrCz, fetchpatch, nasm, perl, python, libuuid, mtools, makeWrapper }: +{ stdenv, fetchFromGitHub, fetchurl, nasm, perl, python, libuuid, mtools, makeWrapper }: stdenv.mkDerivation rec { - # This is syslinux-6.04-pre3^1; syslinux-6.04-pre3 fails to run. - # Same issue here https://www.syslinux.org/archives/2019-February/026330.html - name = "syslinux-2019-02-07"; + name = "syslinux-2015-11-09"; - src = fetchFromRepoOrCz { + src = fetchFromGitHub { + owner = "geneC"; repo = "syslinux"; - rev = "b40487005223a78c3bb4c300ef6c436b3f6ec1f7"; - sha256 = "1qrxl1114sr2i2791z9rf8v53g200aq30f08808d7i8qnmgvxl2w"; + rev = "0cc9a99e560a2f52bcf052fd85b1efae35ee812f"; + sha256 = "0wk3r5ki4lc334f9jpml07wpl8d0bnxi9h1l4h4fyf9a0d7n4kmw"; }; + patches = let + mkURL = commit: patchName: + "https://salsa.debian.org/images-team/syslinux/raw/${commit}/debian/patches/" + + patchName; + in [ + ./perl-deps.patch + (fetchurl { + # ldlinux.elf: Not enough room for program headers, try linking with -N + name = "not-enough-room.patch"; + url = mkURL "a556ad7" "0014_fix_ftbfs_no_dynamic_linker.patch"; + sha256 = "0ijqjsjmnphmvsx0z6ppnajsfv6xh6crshy44i2a5klxw4nlvrsw"; + }) + (fetchurl { + # mbr.bin: too big (452 > 440) + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906414 + url = mkURL "7468ef0e38c43" "0016-strip-gnu-property.patch"; + sha256 = "17n63b8wz6szv8npla1234g1ip7lqgzx2whrpv358ppf67lq8vwm"; + }) + (fetchurl { + # mbr.bin: too big (452 > 440) + url = mkURL "012e1dd312eb" "0017-single-load-segment.patch"; + sha256 = "0azqzicsjw47b9ppyikhzaqmjl4lrvkxris1356bkmgcaiv6d98b"; + }) + ]; + postPatch = '' 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 gpxe/src/Makefile --replace /usr/bin/perl $(type -P perl) # fix tests substituteInPlace tests/unittest/include/unittest/unittest.h \ |