Subject: [bug#37466] [WIP v4 7/7] gnu: Add heads-kgpe-d16.

From: Danny Milosavljevic <[email-masked]>
Date: Wed, 2 Oct 2019 23:16:02 +0200

* gnu/packages/heads.scm (heads-kgpe-d16): New variable.
* gnu/packages/patches/heads-kgpe-d16-nonalignment.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/heads.scm                        | 22 ++++++++++++++++++
 .../patches/heads-kgpe-d16-nonalignment.patch | 23 +++++++++++++++++++
 3 files changed, 46 insertions(+)
 create mode 100644 gnu/packages/patches/heads-kgpe-d16-nonalignment.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index fb3c913f2c..10bac6c77b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -948,6 +948,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/hdf-eos5-remove-gctp.patch		\
   %D%/packages/patches/hdf-eos5-fix-szip.patch			\
   %D%/packages/patches/hdf-eos5-fortrantests.patch		\
+  %D%/packages/patches/heads-kgpe-d16-nonalignment.patch	\
   %D%/packages/patches/heads-make-environment.patch		\
   %D%/packages/patches/higan-remove-march-native-flag.patch	\
   %D%/packages/patches/hubbub-sort-entities.patch		\
diff --git a/gnu/packages/heads.scm b/gnu/packages/heads.scm
index 80e570b097..5e14c95775 100644
--- a/gnu/packages/heads.scm
+++ b/gnu/packages/heads.scm
@@ -591,3 +591,25 @@ servers.")
      `(#:make-flags
        '("BOARD=qemu-coreboot")
        ,@(package-arguments heads-coreboot)))))
+
+(define-public heads-kgpe-d16
+  (package
+    (inherit heads-coreboot)
+    (name "heads-kgpe-d16")
+    (source
+     (origin
+      (inherit (package-source heads-coreboot))
+      (patches (search-patches "heads-make-environment.patch"
+                               "heads-kgpe-d16-nonalignment.patch"))))
+    (native-inputs
+     (alist-replace "gnupg"
+       (list (origin
+         (method url-fetch)
+         (uri "https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-1.4.21.tar.bz2")
+         (sha256
+          (base32 "0xi2mshq8f6zbarb5f61c9w2qzwrdbjm4q8fqsrwlzc51h8a6ivb"))))
+      (package-native-inputs heads-coreboot)))
+    (arguments
+     `(#:make-flags
+       '("BOARD=kgpe-d16")
+       ,@(package-arguments heads-coreboot)))))
diff --git a/gnu/packages/patches/heads-kgpe-d16-nonalignment.patch b/gnu/packages/patches/heads-kgpe-d16-nonalignment.patch
new file mode 100644
index 0000000000..cbbab1ea40
--- /dev/null
+++ b/gnu/packages/patches/heads-kgpe-d16-nonalignment.patch
@@ -0,0 +1,23 @@
+Source: https://github.com/osresearch/heads/pull/478
+From 25113cb8c2f431bb0e0c038cbd2a306069159bcb Mon Sep 17 00:00:00 2001
+From: Francis Lam <[email-masked]>
+Date: Sat, 10 Nov 2018 13:41:01 -0800
+Subject: [PATCH] Fix coreboot build for kgpe-d16
+
+---
+ modules/coreboot | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/coreboot b/modules/coreboot
+index 7081fe08..7c62b6f3 100644
+--- a/modules/coreboot
++++ b/modules/coreboot
+@@ -16,7 +16,7 @@ CONFIG_COREBOOT_CONFIG ?= config/coreboot-$(BOARD).config
+ # Ensure that touching the config file will force a rebuild
+ $(build)/$(coreboot_dir)/.configured: $(CONFIG_COREBOOT_CONFIG)
+ 
+-EXTRA_FLAGS := -fdebug-prefix-map=$(pwd)=heads -gno-record-gcc-switches
++EXTRA_FLAGS := -fdebug-prefix-map=$(pwd)=heads -gno-record-gcc-switches -Wno-error=packed-not-aligned
+ 
+ coreboot_configure := \
+ 	mkdir -p "$(build)/$(coreboot_dir)" \