summary refs log tree commit diff
path: root/gnu/packages/bootloaders.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/bootloaders.scm')
-rw-r--r--gnu/packages/bootloaders.scm52
1 files changed, 35 insertions, 17 deletions
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 5884cbd750..59eb22f242 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -1,12 +1,13 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
 ;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
 ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -36,6 +37,7 @@
   #:use-module (gnu packages disk)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages man)
@@ -129,7 +131,8 @@
        ;; ("fuse" ,fuse)
        ("ncurses" ,ncurses)))
     (native-inputs
-     `(("unifont" ,unifont)
+     `(("pkg-config" ,pkg-config)
+       ("unifont" ,unifont)
        ("bison" ,bison)
        ;; Due to a bug in flex >= 2.6.2, GRUB must be built with an older flex:
        ;; <http://lists.gnu.org/archive/html/grub-devel/2017-02/msg00133.html>
@@ -299,7 +302,7 @@ menu to select one of the installed operating systems.")
 (define-public dtc
   (package
     (name "dtc")
-    (version "1.4.5")
+    (version "1.4.6")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -307,11 +310,7 @@ menu to select one of the installed operating systems.")
                     "dtc-" version ".tar.xz"))
               (sha256
                (base32
-                "08gnl39i4xy3dm8iqwlz2ygx0ml1bgc5kpiys5ll1wvah1j72b04"))
-              ;; Fix build and tests on 32 bits platforms.
-              ;; Will probably be fixed in 1.4.6 release.
-              (patches (search-patches "dtc-format-modifier.patch"
-                                       "dtc-32-bits-check.patch"))))
+                "0zkvih0fpwvk31aqyyfy9kn13nbi76c21ihax15p6h1wrjzh48rq"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("bison" ,bison)
@@ -327,7 +326,7 @@ menu to select one of the installed operating systems.")
              "INSTALL=install")
        #:phases
        (modify-phases %standard-phases
-         (delete 'configure))))
+         (delete 'configure))))         ; no configure script
     (home-page "https://www.devicetree.org")
     (synopsis "Compiles device tree source files")
     (description "@command{dtc} compiles
@@ -338,7 +337,7 @@ tree binary files.  These are board description files used by Linux and BSD.")
 (define u-boot
   (package
     (name "u-boot")
-    (version "2017.11")
+    (version "2018.01")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -346,11 +345,12 @@ tree binary files.  These are board description files used by Linux and BSD.")
                     "u-boot-" version ".tar.bz2"))
               (sha256
                (base32
-                "01bcsah5imy6m3fbjwhqywxg0pfk5fl8ks9ylb7kv3zmrb9qy0ba"))))
+                "1nidnnjprgxdhiiz7gmaj8cgcf52l5gbv64cmzjq4gmkjirmk3wk"))))
     (native-inputs
      `(("bc" ,bc)
-       ("dtc" ,dtc)
-       ("python-2" ,python-2)))
+       ;("dtc" ,dtc) ; they have their own incompatible copy.
+       ("python-2" ,python-2)
+       ("swig" ,swig)))
     (build-system  gnu-build-system)
     (home-page "http://www.denx.de/wiki/U-Boot/")
     (synopsis "ARM bootloader")
@@ -366,12 +366,14 @@ also initializes the boards (RAM etc).")
                       `#f)))
     (package
       (inherit u-boot)
-      (name (string-append "u-boot-" (string-downcase board)))
+      (name (string-append "u-boot-"
+                           (string-replace-substring (string-downcase board)
+                                                     "_" "-")))
       (native-inputs
        `(,@(if (not same-arch?)
-             `(("cross-gcc" ,(cross-gcc triplet))
+             `(("cross-gcc" ,(cross-gcc triplet #:xgcc gcc-7))
                ("cross-binutils" ,(cross-binutils triplet)))
-             '())
+             `(("gcc-7" ,gcc-7)))
          ,@(package-native-inputs u-boot)))
       (arguments
        `(#:modules ((ice-9 ftw) (guix build utils) (guix build gnu-build-system))
@@ -400,13 +402,14 @@ also initializes the boards (RAM etc).")
                                                                  suffix-len))))))
                        #f)))))
            (replace 'install
-             (lambda* (#:key outputs make-flags #:allow-other-keys)
+             (lambda* (#:key outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
                       (libexec (string-append out "/libexec"))
                       (uboot-files (append
                                     (find-files "." ".*\\.(bin|efi|img|spl)$")
                                     (find-files "." "^MLO$"))))
                  (mkdir-p libexec)
+                 (install-file ".config" libexec)
                  (for-each
                   (lambda (file)
                     (let ((target-file (string-append libexec "/" file)))
@@ -426,6 +429,21 @@ also initializes the boards (RAM etc).")
 (define-public u-boot-odroid-c2
   (make-u-boot-package "odroid-c2" "aarch64-linux-gnu"))
 
+(define-public u-boot-banana-pi-m2-ultra
+  (make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf"))
+
+(define-public u-boot-a20-olinuxino-lime
+  (make-u-boot-package "A20-OLinuXino-Lime" "arm-linux-gnueabihf"))
+
+(define-public u-boot-a20-olinuxino-lime2
+  (make-u-boot-package "A20-OLinuXino-Lime2" "arm-linux-gnueabihf"))
+
+(define-public u-boot-a20-olinuxino-micro
+  (make-u-boot-package "A20-OLinuXino_MICRO" "arm-linux-gnueabihf"))
+
+(define-public u-boot-nintendo-nes-classic-edition
+  (make-u-boot-package "Nintendo_NES_Classic_Edition" "arm-linux-gnueabihf"))
+
 (define-public vboot-utils
   (package
     (name "vboot-utils")