jmd pushed a commit to branch wip-installer
in repository guix.
commit 697c3a42b3dc845153dd587e0d86a243dbfb6ebf
Author: Marius Bakke <[email protected]>
Date: Thu Oct 20 17:26:52 2016 +0100
gnu: Add grub-efi.
* gnu/packages/grub.scm (grub-efi): New variable.
---
gnu/packages/grub.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm
index 317ed03..3658f22 100644
--- a/gnu/packages/grub.scm
+++ b/gnu/packages/grub.scm
@@ -133,3 +133,29 @@ on the same computer; upon booting the computer, the user
is presented with a
menu to select one of the installed operating systems.")
(license gpl3+)
(properties '((cpe-name . "grub2")))))
+
+(define-public grub-efi
+ (package
+ (inherit grub)
+ (name "grub-efi")
+ (synopsis "GRand Unified Boot loader (UEFI version)")
+ (inputs
+ `(("efibootmgr" ,efibootmgr)
+ ,@(package-inputs grub)))
+ (arguments
+ `(;; TODO: Tests need a UEFI firmware for qemu. There is one at
+ ;; https://github.com/tianocore/edk2/tree/master/OvmfPkg .
+ ;; Search for 'OVMF' in "tests/util/grub-shell.in".
+ #:tests? #f
+ ,@(substitute-keyword-arguments (package-arguments grub)
+ ((#:configure-flags flags) `(cons* "--with-platform=efi"
+ ,flags))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'patch-stuff 'use-absolute-efibootmgr-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "grub-core/osdep/unix/platform.c"
+ (("efibootmgr")
+ (string-append (assoc-ref inputs "efibootmgr")
+ "/sbin/efibootmgr")))
+ #t)))))))))