about summary refs log tree commit diff
path: root/pkgs/os-specific/linux/syslinux/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/syslinux/default.nix')
-rw-r--r--pkgs/os-specific/linux/syslinux/default.nix40
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 \