me
/
guix
Archived
1
0
Fork 0

gnu: ath9k-htc-firmware: Split package.

* gnu/local.mk (dist_patch_DATA): Remove ath9k-htc-firmware-objcopy.patch.
* gnu/packages/firmware.scm (ath9k-htc-firmware): Remove.
(ath9k-htc-ar7010-firmware, ath9k-htc-ar9271-firmware): New variables.
* gnu/packages/patches/ath9k-htc-firmware-objcopy.patch: Delete file.
* gnu/system.scm (%base-firmware): Use new ath9k packages.

Change-Id: I86259e398427abd139c1f310a95bb15e2c03cee3
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
master
Jean-Pierre De Jesus DIAZ 2024-02-29 16:20:50 +01:00 committed by Ludovic Courtès
parent 4c88ffdb65
commit 9f8e92cc7d
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
4 changed files with 43 additions and 58 deletions

View File

@ -954,7 +954,6 @@ dist_patch_DATA = \
%D%/packages/patches/ath9k-htc-firmware-binutils.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc-compat.patch \
%D%/packages/patches/ath9k-htc-firmware-objcopy.patch \
%D%/packages/patches/atlas-gfortran-compat.patch \
%D%/packages/patches/audacity-ffmpeg-fallback.patch \
%D%/packages/patches/audiofile-fix-datatypes-in-tests.patch \

View File

@ -37,6 +37,7 @@
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system copy)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
@ -90,9 +91,9 @@
#:export (make-ergodox-firmware
make-qmk-firmware))
(define-public ath9k-htc-firmware
(define-public ath9k-htc-ar7010-firmware
(package
(name "ath9k-htc-firmware")
(name "ath9k-htc-ar7010-firmware")
(version "1.4.0")
(source (origin
(method git-fetch)
@ -106,51 +107,49 @@
(sha256
(base32
"16jbj8avg5jkgvq5lxm0hdxxn4c3zn7fx8b4nxllvr024apk9w23"))
(file-name (git-file-name name version))
(patches (search-patches "ath9k-htc-firmware-objcopy.patch"
"ath9k-htc-firmware-gcc-compat.patch"))))
(build-system gnu-build-system)
(file-name (git-file-name "open-ath9k-htc-firmware" version))
(patches (search-patches "ath9k-htc-firmware-gcc-compat.patch"))))
(build-system cmake-build-system)
(arguments
'(#:target #f ; Package produces firmware.
#:phases
(modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(chdir "target_firmware")
;; 'configure' is a simple script that runs 'cmake' with
;; the right flags.
(substitute* "configure"
(("^TARGET.*$") "TARGET=xtensa-ath9k-elf\n")
(("^TOOLCHAIN=.*$")
(string-append "TOOLCHAIN="
(assoc-ref (or native-inputs inputs) "cross-gcc")
"\n")))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(fw-dir (string-append out "/lib/firmware")))
(for-each (lambda (file)
(install-file file fw-dir))
(find-files "." "\\.fw$"))
#t))))
#:tests? #f))
;; 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"))
("cross-binutils" ,(cross-binutils "xtensa-ath9k-elf"))
("cmake" ,cmake-minimal)
("perl" ,perl)))
(list #:target "xtensa-ath9k-elf"
#:tests? #f
#:configure-flags
#~'("-DCMAKE_SYSTEM_NAME=Generic" ;override default value
"-DTARGET_MAGPIE=ON")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'change-directory
(lambda _
(chdir "target_firmware")))
(replace 'install
(lambda _
(let ((fw-dir (string-append #$output "/lib/firmware")))
(for-each (lambda (file)
(install-file file fw-dir))
(find-files "." "\\.fw$"))))))))
(native-inputs (list perl))
(home-page "https://wireless.wiki.kernel.org/en/users/Drivers/ath9k_htc")
(synopsis "Firmware for the Atheros AR7010 and AR9271 USB 802.11n NICs")
(synopsis "Firmware for the Atheros AR7010 USB 802.11n NICs")
(description
"This is the firmware for the Qualcomm Atheros AR7010 and AR9271 USB
802.11n NICs (aka Wi-Fi USB dongles). It is used by the ath9k driver of
Linux-libre.")
"This is the firmware for the Qualcomm Atheros AR7010 802.11n USB NICs
(aka Wi-Fi USB dongle). It is used by the ath9k driver of Linux-libre.")
(license (license:non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD"))))
(define-public ath9k-htc-ar9271-firmware
(package
(inherit ath9k-htc-ar7010-firmware)
(name "ath9k-htc-ar9271-firmware")
(arguments
(substitute-keyword-arguments
(package-arguments ath9k-htc-ar7010-firmware)
((#:configure-flags flags)
#~'("-DCMAKE_SYSTEM_NAME=Generic" ;override default value
"-DTARGET_K2=ON"))))
(synopsis "Firmware for the Atheros AR9271 USB 802.11n NICs")
(description
"This is the firmware for the Qualcomm Atheros AR9271 802.11n USB NICs
(aka Wi-Fi USB dongle). It is used by the ath9k driver of Linux-libre.")))
(define-public b43-tools
(let ((commit "27892ef741e7f1d08cb939744f8b8f5dac7b04ae")
(revision "1"))

View File

@ -1,14 +0,0 @@
The firmware is cross-compiled, but the build system ends up using
'objcopy' instead of '$TARGET-objcopy' by default. Force it to
use the right one.
--- source/target_firmware/configure 2014-10-28 20:57:26.834436561 +0100
+++ source/target_firmware/configure 2014-10-28 20:57:29.666436530 +0100
@@ -11,6 +11,7 @@ mkdir -p build
cat > "$TOOLCHAIN_FILE" <<EOF
INCLUDE(CMakeForceCompiler)
+SET(CMAKE_OBJCOPY ${TARGET}-objcopy)
SET(CMAKE_SYSTEM_PROCESSOR xtensa)
SET(CMAKE_FIND_ROOT_PATH ${TOOLCHAIN}/$TARGET)
SET(CMAKE_STRIP :)

View File

@ -877,7 +877,8 @@ of PROVENANCE-SERVICE-TYPE to its services."
(define %base-firmware
;; Firmware usable by default.
(list ath9k-htc-firmware
(list ath9k-htc-ar7010-firmware
ath9k-htc-ar9271-firmware
openfwwf-firmware))
(define %base-packages-artwork