X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/0a83339bb1429332ee889e9a976aa214ae2ac0db..e063f0ccc80e0c7e34d181736a27073b034969c0:/gnu/packages/firmware.scm diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index d5828deca2..e0a162f1b8 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -5,6 +5,8 @@ ;;; Copyright © 2017, 2018 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Vagrant Cascadian +;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,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) @@ -52,14 +55,14 @@ (sha256 (base32 "16jbj8avg5jkgvq5lxm0hdxxn4c3zn7fx8b4nxllvr024apk9w23")) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (patches (search-patches "ath9k-htc-firmware-objcopy.patch")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-before 'configure 'pre-configure - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key inputs native-inputs #:allow-other-keys) (chdir "target_firmware") ;; 'configure' is a simple script that runs 'cmake' with @@ -67,7 +70,7 @@ (substitute* "configure" (("^TOOLCHAIN=.*$") (string-append "TOOLCHAIN=" - (assoc-ref inputs "cross-gcc") + (assoc-ref (or native-inputs inputs) "cross-gcc") "\n"))) #t)) (replace 'install @@ -82,11 +85,14 @@ ;; 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") + (home-page "https://wireless.wiki.kernel.org/en/users/Drivers/ath9k_htc") (synopsis "Firmware for the Atheros AR7010 and AR9271 USB 802.11n NICs") (description "This is the firmware for the Qualcomm Atheros AR7010 and AR9271 USB @@ -106,7 +112,7 @@ Linux-libre.") (uri (git-reference (url "http://git.bues.ch/git/b43-tools.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 "1wgmj4d65izbhprwb5bcwimc2ryv19b9066lqzy4sa5m6wncm9cn")))) @@ -188,7 +194,7 @@ by the b43-open driver of Linux-libre.") (name (string-replace-substring (string-append "opensbi-" platform "-" variant) "_" "-")) - (version "0.5") + (version "0.6") (source (origin (method git-fetch) @@ -197,7 +203,7 @@ by the b43-open driver of Linux-libre.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0qc73xbiy79qqkwxmp4mg15q8n8k26njkyqb6n0jw5dyibd6hb85")))) + (base32 "129ypdga0fzn657n2f42g2a1vx3hf8x7sd78h06d35pgkry0jkl7")))) (build-system gnu-build-system) (native-inputs `(,@(if (and (not (string-prefix? "riscv64" (%current-system))) @@ -240,12 +246,14 @@ for platform-specific firmwares executing in M-mode.") (define-public opensbi-qemu-virt (make-opensbi-package "qemu" "virt")) -(define-public opensbi-qemu-sifive-u - (make-opensbi-package "qemu" "sifive_u")) - (define-public opensbi-sifive-fu540 (make-opensbi-package "sifive" "fu540")) +(define-public opensbi-qemu-sifive-u + ;; Dropped upstream, as all functionality is present in the sifive-fu540 + ;; target for recent versions of qemu, u-boot and linux. + (deprecated-package "opensbi-qemu-sifive-u" opensbi-sifive-fu540)) + (define-public seabios (package (name "seabios") @@ -312,14 +320,26 @@ coreboot.") (build-system gnu-build-system) (native-inputs `(("acpica" ,acpica) - ("gcc" ,gcc-5) + ("gcc@5" ,gcc-5) ("nasm" ,nasm) ("python-2" ,python-2) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux "lib"))) (arguments `(#:tests? #f ; No check target. #:phases (modify-phases %standard-phases + ;; Hide the default GCC from CPLUS_INCLUDE_PATH to prevent it from + ;; shadowing the version of GCC provided in native-inputs. + (add-after 'set-paths 'hide-gcc7 + (lambda* (#:key inputs #:allow-other-keys) + (let ((gcc (assoc-ref inputs "gcc"))) + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (delete (string-append gcc "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") + #\:)) + ":")) + #t))) (replace 'configure (lambda _ (let* ((cwd (getcwd)) @@ -443,7 +463,7 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (define* (make-arm-trusted-firmware platform #:optional (arch "aarch64")) (package (name (string-append "arm-trusted-firmware-" platform)) - (version "2.2") + (version "2.3") (source (origin (method git-fetch) @@ -452,11 +472,9 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (url "https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/") (commit (string-append "v" version)))) (file-name (git-file-name "arm-trusted-firmware" version)) - (patches (search-patches - "arm-trusted-firmware-disable-hdcp.patch")) (sha256 (base32 - "03fjl5hy1bqlya6fg553bqz7jrvilzrzpbs87cv6jd04v8qrvry8")))) + "113mcf1hwwl0i90cqh08lywxs1bfbg0nwqibay9wlkmx1a5v0bnj")))) (build-system gnu-build-system) (arguments `(#:phases