unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add openfwwf-firmware.
@ 2016-11-17  3:29 Eric Bavier
  2016-11-18 21:04 ` Leo Famulari
  2016-12-06 19:56 ` Danny Milosavljevic
  0 siblings, 2 replies; 7+ messages in thread
From: Eric Bavier @ 2016-11-17  3:29 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 240 bytes --]

Hello Guix,

We've had at least one person on IRC confirm that this firmware package
worked for them, allowing them to use their wireless hardware.

Would it be appropriate to add this to %base-firmware?  The output is
rather small.

`~Eric

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-openfwwf-firmware.patch --]
[-- Type: text/x-patch, Size: 5131 bytes --]

From c397f73d69326db24c211e4e2bda46e647d0e751 Mon Sep 17 00:00:00 2001
From: Eric Bavier <bavier@member.fsf.org>
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 <ludo@gnu.org>
+;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 ;;;
 ;;; 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


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] gnu: Add openfwwf-firmware.
  2016-11-17  3:29 [PATCH] gnu: Add openfwwf-firmware Eric Bavier
@ 2016-11-18 21:04 ` Leo Famulari
  2016-11-19  3:14   ` Eric Bavier
  2016-12-06 19:56 ` Danny Milosavljevic
  1 sibling, 1 reply; 7+ messages in thread
From: Leo Famulari @ 2016-11-18 21:04 UTC (permalink / raw)
  To: bavier; +Cc: guix-devel

On Wed, Nov 16, 2016 at 09:29:18PM -0600, Eric Bavier wrote:
> Hello Guix,
> 
> We've had at least one person on IRC confirm that this firmware package
> worked for them, allowing them to use their wireless hardware.
> 
> Would it be appropriate to add this to %base-firmware?  The output is
> rather small.

How small?

Since they seem to work, I'd say they should be added.

> From c397f73d69326db24c211e4e2bda46e647d0e751 Mon Sep 17 00:00:00 2001
> From: Eric Bavier <bavier@member.fsf.org>
> 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.

> +(define-public b43-tools
> +  (let ((commit "8dce53297966b31b6c70a7a03c2433978dd9f288")
> +        (rev "1"))

How do we choose a commit?

> +    (package
> +      (name "b43-tools")
> +      (version (string-append "20140625-" rev "." (string-take commit 7)))

Is the timestamp some kind of upstream version string? If not, and there
is no upstream version naming, we should use 0.0.0, right?

> +         #:phases
> +         (let ((subdirs '("assembler" "disassembler"))) ;TODO: fwcutter

Can you expand the TODO comment?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gnu: Add openfwwf-firmware.
  2016-11-18 21:04 ` Leo Famulari
@ 2016-11-19  3:14   ` Eric Bavier
  2016-11-19  4:13     ` Leo Famulari
  2016-11-21  9:05     ` Ludovic Courtès
  0 siblings, 2 replies; 7+ messages in thread
From: Eric Bavier @ 2016-11-19  3:14 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

On Fri, 18 Nov 2016 16:04:30 -0500
Leo Famulari <leo@famulari.name> wrote:

> On Wed, Nov 16, 2016 at 09:29:18PM -0600, Eric Bavier wrote:
> > Hello Guix,
> > 
> > We've had at least one person on IRC confirm that this firmware package
> > worked for them, allowing them to use their wireless hardware.
> > 
> > Would it be appropriate to add this to %base-firmware?  The output is
> > rather small.  
> 
> How small?

36K

> Since they seem to work, I'd say they should be added.
> 
> > From c397f73d69326db24c211e4e2bda46e647d0e751 Mon Sep 17 00:00:00 2001
> > From: Eric Bavier <bavier@member.fsf.org>
> > 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.  
> 
> > +(define-public b43-tools
> > +  (let ((commit "8dce53297966b31b6c70a7a03c2433978dd9f288")
> > +        (rev "1"))  
> 
> How do we choose a commit?

This was the latest commit at the time of packaging.  There have been
new commits since, but they affect only the debugging tools, which we
do not build here.

> > +    (package
> > +      (name "b43-tools")
> > +      (version (string-append "20140625-" rev "." (string-take commit 7)))  
> 
> Is the timestamp some kind of upstream version string? If not, and there
> is no upstream version naming, we should use 0.0.0, right?

This package contains a collections of tools, only one of which
declares any sort of version (fwcutter).  I had gathered that the
date-string approach was acceptable for VCS checkouts when versions are
otherwise not available.  We have 34 other packages whose version begin
with such a date-string (e.g. guile-minikanren, scmutils,
guile-for-guile-emacs, guile-emacs, woff2, font-google-noto, ...).

> > +         #:phases
> > +         (let ((subdirs '("assembler" "disassembler"))) ;TODO: fwcutter  
> 
> Can you expand the TODO comment?

I may just remove it.  If someone needs the other tools, they should
know what to do.

`~Eric

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gnu: Add openfwwf-firmware.
  2016-11-19  3:14   ` Eric Bavier
@ 2016-11-19  4:13     ` Leo Famulari
  2016-11-21  9:05     ` Ludovic Courtès
  1 sibling, 0 replies; 7+ messages in thread
From: Leo Famulari @ 2016-11-19  4:13 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel

On Fri, Nov 18, 2016 at 09:14:31PM -0600, Eric Bavier wrote:
> On Fri, 18 Nov 2016 16:04:30 -0500
> Leo Famulari <leo@famulari.name> wrote:
> > > +      (version (string-append "20140625-" rev "." (string-take commit 7)))  
> > 
> > Is the timestamp some kind of upstream version string? If not, and there
> > is no upstream version naming, we should use 0.0.0, right?
> 
> This package contains a collections of tools, only one of which
> declares any sort of version (fwcutter).  I had gathered that the
> date-string approach was acceptable for VCS checkouts when versions are
> otherwise not available.  We have 34 other packages whose version begin
> with such a date-string (e.g. guile-minikanren, scmutils,
> guile-for-guile-emacs, guile-emacs, woff2, font-google-noto, ...).

Okay, no strong opinion here :)

Thanks for writing this package!

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gnu: Add openfwwf-firmware.
  2016-11-19  3:14   ` Eric Bavier
  2016-11-19  4:13     ` Leo Famulari
@ 2016-11-21  9:05     ` Ludovic Courtès
  2016-11-22 15:42       ` Eric Bavier
  1 sibling, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2016-11-21  9:05 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel

Eric Bavier <ericbavier@centurylink.net> skribis:

> On Fri, 18 Nov 2016 16:04:30 -0500
> Leo Famulari <leo@famulari.name> wrote:
>
>> On Wed, Nov 16, 2016 at 09:29:18PM -0600, Eric Bavier wrote:
>> > Hello Guix,
>> > 
>> > We've had at least one person on IRC confirm that this firmware package
>> > worked for them, allowing them to use their wireless hardware.
>> > 
>> > Would it be appropriate to add this to %base-firmware?  The output is
>> > rather small.  
>> 
>> How small?
>
> 36K

I think it makes sense to add it to ‘%bash-firmware’.

Maybe we can also mention it in guix.texi, next to where we talk about
Atheros-based WiFi devices.

Thank you Eric!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gnu: Add openfwwf-firmware.
  2016-11-21  9:05     ` Ludovic Courtès
@ 2016-11-22 15:42       ` Eric Bavier
  0 siblings, 0 replies; 7+ messages in thread
From: Eric Bavier @ 2016-11-22 15:42 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Mon, 21 Nov 2016 10:05:50 +0100
ludo@gnu.org (Ludovic Courtès) wrote:

> Eric Bavier <ericbavier@centurylink.net> skribis:
> 
> > On Fri, 18 Nov 2016 16:04:30 -0500
> > Leo Famulari <leo@famulari.name> wrote:
> >  
> >> On Wed, Nov 16, 2016 at 09:29:18PM -0600, Eric Bavier wrote:  
> >> > Hello Guix,
> >> > 
> >> > We've had at least one person on IRC confirm that this firmware package
> >> > worked for them, allowing them to use their wireless hardware.
> >> > 
> >> > Would it be appropriate to add this to %base-firmware?  The output is
> >> > rather small.    
> >> 
> >> How small?  
> >
> > 36K  
> 
> I think it makes sense to add it to ‘%bash-firmware’.
> 
> Maybe we can also mention it in guix.texi, next to where we talk about
> Atheros-based WiFi devices.

Okay.  Done in e36a67c91a2a48c6a534afae767bf0758b949644 and
52db41aff8771518f99eb1f9b63b814b568f7a4a

`~Eric

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gnu: Add openfwwf-firmware.
  2016-11-17  3:29 [PATCH] gnu: Add openfwwf-firmware Eric Bavier
  2016-11-18 21:04 ` Leo Famulari
@ 2016-12-06 19:56 ` Danny Milosavljevic
  1 sibling, 0 replies; 7+ messages in thread
From: Danny Milosavljevic @ 2016-12-06 19:56 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel, bavier

On Wed, 16 Nov 2016 21:29:18 -0600
Eric Bavier <ericbavier@centurylink.net> wrote:
> +     "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
                                               ^ Wirelss-Core ? Is it really called that ?

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-12-06 19:56 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-17  3:29 [PATCH] gnu: Add openfwwf-firmware Eric Bavier
2016-11-18 21:04 ` Leo Famulari
2016-11-19  3:14   ` Eric Bavier
2016-11-19  4:13     ` Leo Famulari
2016-11-21  9:05     ` Ludovic Courtès
2016-11-22 15:42       ` Eric Bavier
2016-12-06 19:56 ` Danny Milosavljevic

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).