about summary refs log tree commit diff
path: root/pkgs/tools/misc/grub4dos
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2015-10-19 03:23:24 +0300
committerNikolay Amiantov <ab@fmap.me>2015-10-19 03:27:42 +0300
commit3d6070f0a7aef517b934e49a03c071ba2d5bde30 (patch)
treeff26ef6a8276658de84a5885c2fea2a87031f1a8 /pkgs/tools/misc/grub4dos
parentca58b16d67f79f25d931de38372341726bd46234 (diff)
downloadnixlib-3d6070f0a7aef517b934e49a03c071ba2d5bde30.tar
nixlib-3d6070f0a7aef517b934e49a03c071ba2d5bde30.tar.gz
nixlib-3d6070f0a7aef517b934e49a03c071ba2d5bde30.tar.bz2
nixlib-3d6070f0a7aef517b934e49a03c071ba2d5bde30.tar.lz
nixlib-3d6070f0a7aef517b934e49a03c071ba2d5bde30.tar.xz
nixlib-3d6070f0a7aef517b934e49a03c071ba2d5bde30.tar.zst
nixlib-3d6070f0a7aef517b934e49a03c071ba2d5bde30.zip
grub4dos: init at 0.4.6a
Diffstat (limited to 'pkgs/tools/misc/grub4dos')
-rw-r--r--pkgs/tools/misc/grub4dos/default.nix35
1 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/tools/misc/grub4dos/default.nix b/pkgs/tools/misc/grub4dos/default.nix
new file mode 100644
index 000000000000..18464574d440
--- /dev/null
+++ b/pkgs/tools/misc/grub4dos/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, unzip, nasm }:
+
+let arch =
+  if stdenv.isi686 then "i386"
+  else if stdenv.isx86_64 then "x86_64"
+  else abort "Unknown architecture";
+in stdenv.mkDerivation {
+  name = "grub4dos-0.4.6a";
+
+  src = fetchurl {
+    url = https://github.com/chenall/grub4dos/archive/e855b293432bd4d155e42d48356f9aa1974ec385.zip;
+    sha256 = "1vihzllsdshd5dyr7i7dp5ragyg77gg8r279pz954p7lkcda4kx7";
+  };
+
+  nativeBuildInputs = [ unzip nasm ];
+
+  configureFlags = [ "--host=${arch}-pc-linux-gnu" ];
+
+  postInstall = ''
+    mv $out/lib/grub/${arch}-pc/* $out/lib/grub
+    rmdir $out/lib/grub/${arch}-pc
+    chmod +x $out/lib/grub/bootlace.com
+  '';
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://grub4dos.chenall.net/;
+    description = "GRUB for DOS is the dos extension of GRUB";
+    maintainers = with maintainers; [ abbradar ];
+    platforms = platforms.all;
+    license = licenses.gpl2;
+  };
+}