summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/base.scm19
-rw-r--r--gnu/packages/cross-base.scm6
-rw-r--r--gnu/packages/firmware.scm9
3 files changed, 29 insertions, 5 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 7e5df241a9..184ef3b841 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -466,6 +466,25 @@ included.")
       ((#:make-flags _ ''()) ''())))
    (properties '())))
 
+;; FIXME: ath9k-firmware-htc-binutils.patch do not apply on 2.34 because of a
+;; big refactoring of xtensa-modules.c (commit 567607c11fbf7105 upstream).
+;; Keep this version around until the patch is updated.
+(define-public binutils-2.33
+  (package/inherit
+   binutils
+   (version "2.33.1")
+   (source (origin
+             (inherit (package-source binutils))
+             (uri (string-append "mirror://gnu/binutils/binutils-"
+                                 version ".tar.bz2"))
+             (sha256
+              (base32
+               "1cmd0riv37bqy9mwbg6n3523qgr8b3bbm5kwj19sjrasl4yq9d0c"))))
+   (arguments
+    (substitute-keyword-arguments (package-arguments binutils)
+      ((#:make-flags _ ''()) ''())))
+   (properties '())))
+
 (define-public binutils-gold
   (package
     (inherit binutils)
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 497d415f57..667d1f786a 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2016, 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2019 Carl Dong <contact@carldong.me>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -79,8 +79,8 @@
     (source (origin (inherit (package-source original))
               (patches (list patch))))))
 
-(define (cross-binutils target)
-  "Return a cross-Binutils for TARGET."
+(define* (cross-binutils target #:optional (binutils binutils))
+  "Return a cross-Binutils for TARGET using BINUTILS."
   (let ((binutils (package (inherit binutils)
                     (arguments
                      (substitute-keyword-arguments (package-arguments
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index bec582d982..f9832161ea 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
 ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,6 +33,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages assembly)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages cross-base)
@@ -83,8 +85,11 @@
 
     ;; The firmware is cross-compiled using a "bare bones" compiler (no libc.)
     ;; Use our own tool chain for that.
-    (native-inputs `(("cross-gcc" ,(cross-gcc "xtensa-elf"))
-                     ("cross-binutils" ,(cross-binutils "xtensa-elf"))
+    (native-inputs `(("cross-gcc" ,(cross-gcc
+                                    "xtensa-elf"
+                                    #:xbinutils (cross-binutils "xtensa-elf"
+                                                                binutils-2.33)))
+                     ("cross-binutils" ,(cross-binutils "xtensa-elf" binutils-2.33))
                      ("cmake" ,cmake-minimal)
                      ("perl" ,perl)))
     (home-page "http://wireless.kernel.org/en/users/Drivers/ath9k_htc")