From c397f73d69326db24c211e4e2bda46e647d0e751 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 May 2016 13:57:01 -0500 Subject: [PATCH] gnu: Add openfwwf-firmware. * gnu/packages/firmware.scm (b43-tools, openfwwf-firmware): New variables. --- gnu/packages/firmware.scm | 92 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 45b7bf7..790e11e 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2016 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,11 +20,14 @@ (define-module (gnu packages firmware) #:use-module (guix licenses) #:use-module (guix packages) + #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages bison) #:use-module (gnu packages cmake) #:use-module (gnu packages cross-base) + #:use-module (gnu packages flex) #:use-module (gnu packages perl)) (define-public ath9k-htc-firmware @@ -82,3 +86,91 @@ 802.11n NICs (aka Wi-Fi USB dongles). It is used by the ath9k driver of Linux-libre.") (license (non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD")))) + +(define-public b43-tools + (let ((commit "8dce53297966b31b6c70a7a03c2433978dd9f288") + (rev "1")) + (package + (name "b43-tools") + (version (string-append "20140625-" rev "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "http://git.bues.ch/git/b43-tools.git") + (commit commit))) + (filename (string-append name "-" version "-checkout")) + (sha256 + (base32 + "08k7sdr9jagm43r2zv4h03j86klhkblpk73p12444a3vzg1gy1lv")))) + (build-system gnu-build-system) + (native-inputs + `(("flex" ,flex) + ("bison" ,bison))) + (arguments + `(#:modules ((srfi srfi-1) + (guix build gnu-build-system) + (guix build utils)) + #:tests? #f ;no tests + #:phases + (let ((subdirs '("assembler" "disassembler"))) ;TODO: fwcutter + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'patch-/bin/true + (lambda _ + (substitute* (find-files "." "Makefile") + (("/bin/true") ":")) + #t)) + (replace 'build + (lambda _ + (every (lambda (dir) + (zero? (system* "make" "-C" dir "CC=gcc"))) + subdirs))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + (every (lambda (dir) + (zero? + (system* "make" "-C" dir + (string-append "PREFIX=" out) + "install"))) + subdirs)))))))) + (home-page + "http://bues.ch/cms/hacking/misc.html#linux_b43_driver_firmware_tools") + (synopsis "Collection of tools for the b43 wireless driver") + (description + "The b43 firmware tools is a collection of firmware extractor, +assembler, disassembler, and debugging tools for the Linux kernel b43 wireless +driver.") + (license gpl2)))) + +(define-public openfwwf-firmware + (package + (name "openfwwf-firmware") + (version "5.2") + (source + (origin + (method url-fetch) + (uri (string-append "http://netweb.ing.unibs.it/~openfwwf/firmware/" + "openfwwf-" version ".tar.gz")) + (sha256 + (base32 + "1p60gdi7w88s7qw82d3g9v7mk887mhvidf4l5q5hh09j10h37q4x")))) + (build-system gnu-build-system) + (native-inputs + `(("b43-tools" ,b43-tools))) + (arguments + `(#:make-flags (list (string-append "PREFIX=" + (assoc-ref %outputs "out") + "/lib/firmware/b43-open")) + #:tests? #f ;no tests + #:phases (modify-phases %standard-phases + (delete 'configure)))) + (home-page "http://netweb.ing.unibs.it/~openfwwf/") + (synopsis "Firmware for BCM43xx devices") + (description + "This is firmware from Open FirmWare for WiFi networks (OpenFWWF) for the +Broadcom/AirForce chipset BCM43xx with Wirelss-Core Revision 5. It is used by +the b43-open driver of Linux-libre.") + (license gpl2))) -- 2.10.2