;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; 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.
;;;
#: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)
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/qca/open-ath9k-htc-firmware.git")
+ (url "https://github.com/qca/open-ath9k-htc-firmware")
(commit version)))
(sha256
(base32
'(#: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
(substitute* "configure"
(("^TOOLCHAIN=.*$")
(string-append "TOOLCHAIN="
- (assoc-ref inputs "cross-gcc")
+ (assoc-ref (or native-inputs inputs) "cross-gcc")
"\n")))
#t))
(replace 'install
;; 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 "https://wireless.wiki.kernel.org/en/users/Drivers/ath9k_htc")
by the b43-open driver of Linux-libre.")
(license license:gpl2)))
-(define* (make-opensbi-package platform variant #:optional (arch "riscv64"))
+(define* (make-opensbi-package platform name #:optional (arch "riscv64"))
(package
- (name (string-replace-substring
- (string-append "opensbi-" platform "-" variant)
- "_" "-"))
- (version "0.6")
+ (name name)
+ (version "0.8")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/riscv/opensbi.git")
+ (url "https://github.com/riscv/opensbi")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "129ypdga0fzn657n2f42g2a1vx3hf8x7sd78h06d35pgkry0jkl7"))))
+ (base32 "1y9z0b6q6wpw7mgy31wml4djc6m8ydm71a9f1asnks4ragc7m98b"))))
(build-system gnu-build-system)
(native-inputs
`(,@(if (and (not (string-prefix? "riscv64" (%current-system)))
'())))
(arguments
`(#:tests? #f ; no check target
- #:make-flags (list (string-append "PLATFORM=" ,platform "/" ,variant)
+ #:make-flags (list (string-append "PLATFORM=" ,platform)
,@(if (and (not (string-prefix? "riscv64"
(%current-system)))
(string-prefix? "riscv64" arch))
;; platform/ariane-fpga/* is gpl2.
license:gpl2))))
+(define-public opensbi-qemu-generic
+ (make-opensbi-package "generic" "opensbi-qemu-generic"))
+
(define-public opensbi-qemu-virt
- (make-opensbi-package "qemu" "virt"))
+ (deprecated-package "opensbi-qemu-virt" opensbi-qemu-generic))
(define-public opensbi-sifive-fu540
- (make-opensbi-package "sifive" "fu540"))
+ (make-opensbi-package "sifive/fu540" "opensbi-sifive-fu540"))
(define-public opensbi-qemu-sifive-u
;; Dropped upstream, as all functionality is present in the sifive-fu540
(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))