[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/03: gnu: Add grub-efi.
From: |
Marius Bakke |
Subject: |
03/03: gnu: Add grub-efi. |
Date: |
Mon, 19 Dec 2016 22:48:45 +0000 (UTC) |
mbakke pushed a commit to branch master
in repository guix.
commit acb5f7c3fcdd0666ed21dd9979d905d6a2b064cd
Author: Marius Bakke <address@hidden>
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)))))))))