Subject: bug#45172: fiano-fmap test failure

From: Danny Milosavljevic <[email-masked]>
Date: Fri, 11 Dec 2020 22:35:43 +0100

Hello,

I confirm the test failure.

I tried fixing it with the patch below, but there's still something up with it.
I don't know the go build system enough to be able to tell what's up--can
someone else help?

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index e595ad3702..2b46928512 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -85,6 +85,7 @@
   #:use-module (gnu packages dns)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages file)
+  #:use-module (gnu packages firmware)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gettext)
@@ -4246,7 +4247,8 @@ disk utilization, priority, username, state, and exit code.")
      `())
     (inputs
      `(("go-golang-org-x-text" ,go-golang-org-x-text)
-       ("go-github.com-ulikunitz-xz" ,go-github.com-ulikunitz-xz)))
+       ("go-github.com-ulikunitz-xz" ,go-github.com-ulikunitz-xz)
+       ("go-github.com-u-root-u-root" ,u-root))) ; does not work for some reason
     (synopsis "UEFI image editor")
     (description "This package provides a command-line UEFI image editor.")
     (home-page "https://github.com/linuxboot/fiano")
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index fcdb5a801e..992ff812c2 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -30,6 +30,7 @@
   #:use-module (guix utils)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system go)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages assembly)
@@ -621,3 +622,33 @@ switching support).\n")
              #t)))))
     (native-inputs `(("cross-gcc" ,(cross-gcc "arm-none-eabi" #:xgcc gcc-7))
                      ("cross-binutils" ,(cross-binutils "arm-none-eabi"))))))
+
+;; TODO: busybox mode.
+;; TODO: Unvendor things: gopkg.in (yaml.v2), gopkg.in (alecthomas/kingpin.v2), golang.org (x-text, x-tools, x-xerrors, x/mod/semver, x/mod/module, x/net/ipv4, x/net/ipv6, x/crypto, x/sys/unix, x/sys/windows, x/sys/cpu), github.com (gliderlabs/ssh, beevik/ntp, intel-go/cpuid, stretchr/testify, u-root/iscsinl, google/go-tpm, goexpect, goterm, go-cmp, safchain, rck, mattn/go-isatty, creack/pty, ...)
+(define-public u-root
+  (package
+    (name "u-root")
+    (version "7.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/u-root/u-root.git")
+                    (commit (string-append "v" version))))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "1awpbzmfmzyzwyjk917dvmmz2ssz15fj4raqhv7dhg9k6vy00px1"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:tests? #f
+       #:import-path "github.com/u-root/u-root"
+       #:unpack-path "github.com/u-root/u-root"))
+    (native-inputs
+     `())
+    (inputs
+     `())
+    (synopsis "Minimal initrd with system tools")
+    (description "Go-based embedded initrd with system tools
+(it's like busybox, just in Go).")
+    (home-page "https://u-root.org/")
+    (license license:bsd-3)))