From 2465400986b182fd94bf11d6bee683a08d78bc1b Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Sun, 10 Dec 2023 17:40:43 -0500 Subject: [PATCH] sys-firmware/openfwwf: New package. Free firmware for some broadcom wireless chips. --- dev-util/b43-assembler/Manifest | 2 + .../b43-assembler-0_p20220704.ebuild | 64 +++++++++++++++++++ sys-firmware/openfwwf/Manifest | 2 + sys-firmware/openfwwf/openfwwf-5.2.ebuild | 22 +++++++ 4 files changed, 90 insertions(+) create mode 100644 dev-util/b43-assembler/Manifest create mode 100644 dev-util/b43-assembler/b43-assembler-0_p20220704.ebuild create mode 100644 sys-firmware/openfwwf/Manifest create mode 100644 sys-firmware/openfwwf/openfwwf-5.2.ebuild diff --git a/dev-util/b43-assembler/Manifest b/dev-util/b43-assembler/Manifest new file mode 100644 index 0000000..802af7e --- /dev/null +++ b/dev-util/b43-assembler/Manifest @@ -0,0 +1,2 @@ +DIST b43-tools-2fe10ea6690df9a068cb21cde537236bae784a14.tar.xz 108144 BLAKE2B e8e58d130e6c63b529712341f9c57e29c6026477449e34b6b67b2929d58b7ded47d006e12c2b369cd242e47edff277e972ae4ee66c5d41c0fc021b30f4ba36c3 SHA512 d167cda22dc96c7d5bbe92f5d59540fe82bc279b2e234ef6dfda6a914c59f09185da63a15f3ec924c32b5fcb4bf03fa9169953d775c6d051a5c1551614e33c75 +EBUILD b43-assembler-0_p20220704.ebuild 1534 BLAKE2B 3fe8eb9eef033fbd168ba1b829dace137e6d30157158b073b3c267292910693eb5b73189a4ac1f12679793d3c72d76351de75e4b4fa794383655fabd017afe26 SHA512 202095040cd62124984dc0f1823ad94177a5fae66d796a7275b8702662095a7a78490e5ed8cc5896d275cad50002a6026a224e6be2a74b64e1ce70f70f1b4645 diff --git a/dev-util/b43-assembler/b43-assembler-0_p20220704.ebuild b/dev-util/b43-assembler/b43-assembler-0_p20220704.ebuild new file mode 100644 index 0000000..6b84379 --- /dev/null +++ b/dev-util/b43-assembler/b43-assembler-0_p20220704.ebuild @@ -0,0 +1,64 @@ +# Copyright © 2023 Nick Bowler +# License GPLv3+: GNU General Public License version 3 or any later version. +# This is free software: you are free to change and redistribute it. +# There is NO WARRANTY, to the extent permitted by law. + +EAPI=7 + +inherit toolchain-funcs + +SHA1="2fe10ea6690df9a068cb21cde537236bae784a14" +MY_P="b43-tools-$SHA1" + +DESCRIPTION="b43 wireless firmware (dis)assembler" +HOMEPAGE="https://bues.ch/cms/hacking/misc.html#linux_b43_driver_firmware_tools" +SRC_URI="https://bues.ch/cgit/b43-tools.git/snapshot/$MY_P.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc" + +S=$WORKDIR/$MY_P + +BDEPEND="sys-devel/bison + sys-devel/flex" + +src_prepare () { + cat >build.mk <<'EOF' +all: assembler/all disassembler/all +install: assembler/install disassembler/install +assembler/all disassembler/all: ; $(MAKE) -C $(@D) $(@F) +assembler/install disassembler/install: ; $(MAKE) -C $(@D) $(@F) +EOF + + default +} + +src_compile () { + emake -f build.mk V=1 CC="$(tc-getCC)" +} + +src_install () { + mkdir bin + emake -f build.mk PREFIX=$PWD install + + # For now, don't install the python scripts under disassembler/ since + # that's just extra pain and is not needed to build openfwwf. + dobin bin/*asm* + + einstalldocs +} + +src_test () { + ebegin "running b43-asm test.asm test.bin" + ( cd assembler && { + ./b43-asm test.asm test.bin; } + ) || { eend $?; die "b43-asm failed"; } + eend 0 + + ebegin "running selftest.sh" + ( cd assembler && { + PATH=:../disassembler:$PATH ./selftest.sh test.bin; } + ) || { eend $?; die "selftest.sh failed"; } + eend 0 +} diff --git a/sys-firmware/openfwwf/Manifest b/sys-firmware/openfwwf/Manifest new file mode 100644 index 0000000..8c414d2 --- /dev/null +++ b/sys-firmware/openfwwf/Manifest @@ -0,0 +1,2 @@ +DIST openfwwf-5.2.tar.gz 48525 BLAKE2B d1e17dccbe2e40c5a51e6eb004b0abb375c424cf78a78f83b7a7622cc03b9cb654e0b190866b2d189f2b4e4edfb3ed232f71cdac933f594f333d614a27691d25 SHA512 17c2332dea6d0e49a3916bcf46394cb81d9bfa7c2bee56c16267c9b2919f079c240617549f0998acd53a5b63b61a3b04ea1af84b304977c061eff508feaf4bf5 +EBUILD openfwwf-5.2.ebuild 568 BLAKE2B 9ad291bd9f8c4d680e6b43ab092428d3d2d4f956cd1c9f0229defed29979ce3cbf2eb07c3d09c013ee0277112493af4b956cdaf1596576d2403f9d066893ef70 SHA512 7f256dd60eb121c221684ca0106c9d8165529a87f3e40826de8456928a834f8ef6c9cadc665b41d9502e2151dbce4f59ea94d30e0d2f7e791c6f4f958feb2b59 diff --git a/sys-firmware/openfwwf/openfwwf-5.2.ebuild b/sys-firmware/openfwwf/openfwwf-5.2.ebuild new file mode 100644 index 0000000..9c2f9a6 --- /dev/null +++ b/sys-firmware/openfwwf/openfwwf-5.2.ebuild @@ -0,0 +1,22 @@ +# Copyright © 2023 Nick Bowler +# License GPLv3+: GNU General Public License version 3 or any later version. +# This is free software: you are free to change and redistribute it. +# There is NO WARRANTY, to the extent permitted by law. + +EAPI=7 + +DESCRIPTION="Free firmware for b43 wireless cards" +HOMEPAGE="http://netweb.ing.unibs.it/openfwwf/" +SRC_URI="http://netweb.ing.unibs.it/openfwwf/firmware/$P.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc" + +BDEPEND="dev-util/b43-assembler" + +src_install () { + insinto /lib/firmware/b43-open + doins *.fw + einstalldocs +} -- 2.43.2