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")