From 9b24c76802f54861681c32f026ec6c34236044cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Sat, 8 Nov 2014 00:30:52 +0100
Subject: [PATCH] gnu: grub: Add dependency on GNU Unifont.

* gnu/packages/grub.scm (unifont): New variable.
  (grub)[arguments]: Copy and unzip Unifont in 'patch-stuff' phase.
  [native-inputs]: Add UNIFONT.
---
 gnu/packages/grub.scm | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm
index 590041f0ff0..5504f382258 100644
--- a/gnu/packages/grub.scm
+++ b/gnu/packages/grub.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -57,6 +57,17 @@ (define qemu-for-tests
     ;; The manual fails to build with Texinfo 5.x.
     (native-inputs (alist-delete "texinfo" (package-native-inputs qemu)))))
 
+(define unifont
+  ;; GNU Unifont, <http://gnu.org/s/unifont>.
+  ;; GRUB needs it for its graphical terminal, gfxterm.
+  (origin
+    (method url-fetch)
+    (uri
+     "http://unifoundry.com/pub/unifont-7.0.06/font-builds/unifont-7.0.06.bdf.gz")
+    (sha256
+     (base32
+      "0p2vhnc18cnbmb39vq4m7hzv4mhnm2l0a2s7gx3ar277fwng3hys"))))
+
 (define-public grub
   (package
     (name "grub")
@@ -74,10 +85,14 @@ (define-public grub
      '(#:configure-flags '("--disable-werror")
        #:phases (alist-cons-before
                  'patch-source-shebangs 'patch-stuff
-                 (lambda _
+                 (lambda* (#:key inputs #:allow-other-keys)
                    (substitute* "grub-core/Makefile.in"
                      (("/bin/sh") (which "sh")))
 
+                   ;; Make the font visible.
+                   (copy-file (assoc-ref inputs "unifont") "unifont.bdf.gz")
+                   (system* "gunzip" "unifont.bdf.gz")
+
                    ;; TODO: Re-enable this test when we have Parted.
                    (substitute* "tests/partmap_test.in"
                      (("set -e") "exit 77")))
@@ -89,7 +104,8 @@ (define-public grub
        ;; ("libusb" ,libusb)
        ("ncurses" ,ncurses)))
     (native-inputs
-     `(("bison" ,bison)
+     `(("unifont" ,unifont)
+       ("bison" ,bison)
        ("flex" ,flex)
 
        ;; Dependencies for the test suite.  The "real" QEMU is needed here,
-- 
GitLab