summary refs log tree commit diff
path: root/pkgs/tools/misc/gummiboot
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2013-02-01 17:42:19 -0500
committerShea Levy <shea@shealevy.com>2013-02-01 17:42:19 -0500
commitf5f5eff924a4bfbc0a67a4f5ac328d60605669d0 (patch)
treefcb162978013720e818567106ce08a892bcd5e91 /pkgs/tools/misc/gummiboot
parentaa703a2b44c5be8a98efd538b6bd6c7314645113 (diff)
downloadnixlib-f5f5eff924a4bfbc0a67a4f5ac328d60605669d0.tar
nixlib-f5f5eff924a4bfbc0a67a4f5ac328d60605669d0.tar.gz
nixlib-f5f5eff924a4bfbc0a67a4f5ac328d60605669d0.tar.bz2
nixlib-f5f5eff924a4bfbc0a67a4f5ac328d60605669d0.tar.lz
nixlib-f5f5eff924a4bfbc0a67a4f5ac328d60605669d0.tar.xz
nixlib-f5f5eff924a4bfbc0a67a4f5ac328d60605669d0.tar.zst
nixlib-f5f5eff924a4bfbc0a67a4f5ac328d60605669d0.zip
Add gummiboot UEFI boot manager
Diffstat (limited to 'pkgs/tools/misc/gummiboot')
-rw-r--r--pkgs/tools/misc/gummiboot/default.nix28
-rw-r--r--pkgs/tools/misc/gummiboot/no-usr.patch20
2 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/tools/misc/gummiboot/default.nix b/pkgs/tools/misc/gummiboot/default.nix
new file mode 100644
index 000000000000..d52ac309f4ef
--- /dev/null
+++ b/pkgs/tools/misc/gummiboot/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, gnu_efi }:
+
+stdenv.mkDerivation rec {
+  name = "gummiboot-16";
+
+  patches = [ ./no-usr.patch ];
+
+  buildFlags = [
+    "GNU_EFI=${gnu_efi}"
+  ];
+
+  installPhase = "mkdir -p $out/bin; mv gummiboot.efi $out/bin";
+
+  src = fetchurl {
+    url = "http://cgit.freedesktop.org/gummiboot/snapshot/${name}.tar.gz";
+    sha256 = "1znvbxrhc7pkbhbw9bvg4zhfkp81q7fy4mq2jsw6vimccr7h29a0";
+  };
+
+  meta = {
+    description = "A simple UEFI boot manager which executes configured EFI images";
+
+    homepage = http://freedesktop.org/wiki/Software/gummiboot;
+
+    license = stdenv.lib.licenses.lgpl21Plus;
+
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/tools/misc/gummiboot/no-usr.patch b/pkgs/tools/misc/gummiboot/no-usr.patch
new file mode 100644
index 000000000000..7f63e20d3e9a
--- /dev/null
+++ b/pkgs/tools/misc/gummiboot/no-usr.patch
@@ -0,0 +1,20 @@
+diff -Naur gummiboot-16-orig/Makefile gummiboot-16/Makefile
+--- gummiboot-16-orig/Makefile	2013-01-24 04:20:58.000000000 -0500
++++ gummiboot-16/Makefile	2013-02-01 17:27:42.922371399 -0500
+@@ -1,13 +1,13 @@
+ VERSION=16
+ 
+ ARCH=$(shell $(CC) -dumpmachine | sed "s/\(-\).*$$//")
+-LIBDIR=$(shell echo $$(cd /usr/lib/$$(gcc -print-multi-os-directory); pwd))
++LIBDIR=$(GNU_EFI)/lib
+ LIBEFIDIR=$(or $(wildcard $(LIBDIR)/gnuefi), $(LIBDIR))
+ 
+ CPPFLAGS = \
+ 	-I. \
+-	-I/usr/include/efi \
+-	-I/usr/include/efi/$(ARCH)
++	-I$(GNU_EFI)/include/efi \
++	-I$(GNU_EFI)/include/efi/$(ARCH)
+ 
+ CFLAGS = \
+ 	-DVERSION=$(VERSION) \