summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/heads.scm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/heads.scm b/gnu/packages/heads.scm
index 87ac871080..083a649783 100644
--- a/gnu/packages/heads.scm
+++ b/gnu/packages/heads.scm
@@ -599,3 +599,49 @@ done
payload to provide a secure, flexible boot environment for laptops and
servers.")
(license license:gpl2+))))
+
+(define heads-linuxboot
+ (package
+ (inherit heads)
+ (name "heads-linuxboot")
+ (arguments
+ (substitute-keyword-arguments (package-arguments heads)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-before 'unpack-heads-packages 'unpack-linuxboot
+ (lambda* (#:key inputs #:allow-other-keys)
+ (mkdir-p "build")
+ (copy-recursively (assoc-ref inputs "linuxboot") "build/linuxboot-git")
+ (copy-recursively (assoc-ref inputs "edk2") "build/linuxboot-git/edk2")
+ (invoke "chmod" "-R" "u+w" "build/linuxboot-git")
+ (chmod "build/linuxboot-git/Makefile" #o664)
+ (substitute* "build/linuxboot-git/dxe/Makefile"
+ (("/usr/bin/") ""))
+ #t))))))
+ (native-inputs
+ `(("edk2"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/linuxboot/edk2")
+ (commit "UDK2018")
+ (recursive? #t))) ; openssl
+ (file-name "edk2-checkout")
+ (sha256
+ (base32 "0crjx1hg1m5mir2qm96dbcc3glrnww3ni0bc9f370qmm337wzlhi"))))
+ ("libuuid" ,util-linux) ; TODO: Move to heads' internal dependencies (for edk2).
+ ("nasm" ,nasm) ; TODO: Move to heads' internal dependencies (for edk2).
+ ("python" ,python-2) ; TODO: Move to heads' internal dependencies (for edk2).
+ ("acpica" ,acpica) ; TODO: Move to heads' internal dependencies (for edk2).
+ ("file" ,file)
+ ("linuxboot"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/osresearch/linuxboot.git")
+ (commit "b5376a441e8e85cbf722e943bb8294958e87c784")
+ (recursive? #t)))
+ (file-name "linuxboot-checkout")
+ (sha256
+ (base32 "1bdj4m9dvih9fhp5q5c6cp5sphzbpag5gp4bz1p8g9lqi49lb7av"))))
+ ,@(package-native-inputs heads)))))