summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/cross-base.scm13
-rw-r--r--gnu/packages/firmware.scm10
2 files changed, 14 insertions, 9 deletions
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index ab8c757acc..2cc5f52e47 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -97,7 +97,18 @@
(warning (G_ "'cross-binutils' must be used with keyword arguments~%"))
(cross-binutils* target #:binutils binutils))
-(define* (cross-binutils* target #:key (binutils binutils))
+(define (cross-binutils-package target)
+ "Returns the default package to use for a cross-Binutils for TARGET."
+ (cond
+ ;; The xtensa-ath9k-elf target is used solely to build the firmware for
+ ;; ath9k devices, the patches to binutils have not been updated and
+ ;; only apply to binutils@2.33.
+ ((string=? target "xtensa-ath9k-elf") binutils-2.33)
+ (else binutils)))
+
+(define* (cross-binutils* target
+ #:key
+ (binutils (cross-binutils-package target)))
"Return a cross-Binutils for TARGET using BINUTILS."
(let ((binutils (package
(inherit binutils)
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 1526a125f3..4664744ac6 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -139,14 +139,8 @@
;; 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-ath9k-elf"
- #:xbinutils (cross-binutils
- "xtensa-ath9k-elf"
- #:binutils binutils-2.33)))
- ("cross-binutils" ,(cross-binutils
- "xtensa-ath9k-elf"
- #:binutils binutils-2.33))
+ (native-inputs `(("cross-gcc" ,(cross-gcc "xtensa-ath9k-elf"))
+ ("cross-binutils" ,(cross-binutils "xtensa-ath9k-elf"))
("cmake" ,cmake-minimal)
("perl" ,perl)))
(home-page "https://wireless.wiki.kernel.org/en/users/Drivers/ath9k_htc")