From a493a5264664b5c3d8f4fcf636715f5ae817b278 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 15 Feb 2020 18:37:49 +0100 Subject: gnu: ath9k-htc-firmware: Build with binutils@2.33.1. * gnu/packages/base.scm (binutils-2.33): New public variable. * gnu/packages/cross-base.scm (cross-binutils): Add optional BINUTILS argument. * gnu/packages/firmware.scm (ath9k-htc-firmware)[native-inputs]: Build the xtensa-elf toolchain with BINUTILS-2.33. --- gnu/packages/base.scm | 19 +++++++++++++++++++ gnu/packages/cross-base.scm | 6 +++--- gnu/packages/firmware.scm | 9 +++++++-- 3 files changed, 29 insertions(+), 5 deletions(-) (limited to 'gnu/packages') 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 ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019, 2020 Marius Bakke ;;; Copyright © 2019 Carl Dong ;;; ;;; 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 ;;; Copyright © 2018 Vagrant Cascadian ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2020 Marius Bakke ;;; ;;; 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") -- cgit v1.2.3