commit:     a1fb90228efd57317e311536ef8ffe6ae68d6c49
Author:     Peter Alfredsen <crabbedhaloablution <AT> icloud <DOT> com>
AuthorDate: Wed Nov 25 16:26:57 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Nov 26 04:53:45 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1fb9022

sys-firmware/raspberrypi-wifi-ucode: new package package (raspberry pi wifi 
ucode)

This package installs the most up-to-date firmware for the Broadcom
wifi chips found in the Raspberry Pi line of SBCs.

Closes: https://bugs.gentoo.org/756739
Package-Manager: Portage-3.0.10, Repoman-3.0.2
Signed-off-by: Peter Alfredsen <crabbedhaloablution <AT> icloud.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-firmware/raspberrypi-wifi-ucode/Manifest       |  1 +
 sys-firmware/raspberrypi-wifi-ucode/metadata.xml   | 19 ++++++
 .../raspberrypi-wifi-ucode-20190114.1_p9.ebuild    | 67 ++++++++++++++++++++++
 3 files changed, 87 insertions(+)

diff --git a/sys-firmware/raspberrypi-wifi-ucode/Manifest 
b/sys-firmware/raspberrypi-wifi-ucode/Manifest
new file mode 100644
index 00000000000..7e0c1fe7bcf
--- /dev/null
+++ b/sys-firmware/raspberrypi-wifi-ucode/Manifest
@@ -0,0 +1 @@
+DIST firmware-nonfree_20190114-1+rpt9.debian.tar.xz 2040560 BLAKE2B 
923adb08e4033f1f70c8e373464b5a4881f354fb218b163accb957b99ed1adf104f496b2156c772d881e7e01ed393d0f6c1563dbe797e1b1600a1f7f768292c4
 SHA512 
80df5df213105bfae231dbc81d17941258063971ea82e5d321b31d92a0be7101b9ecfe03aed02d9b7a0263d13bbcdcb862d4892a9e789da781af1430d81a821d

diff --git a/sys-firmware/raspberrypi-wifi-ucode/metadata.xml 
b/sys-firmware/raspberrypi-wifi-ucode/metadata.xml
new file mode 100644
index 00000000000..bbecf8cc3a3
--- /dev/null
+++ b/sys-firmware/raspberrypi-wifi-ucode/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Sam James</name>
+       </maintainer>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Peter Alfredsen</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>[email protected]</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">RPi-Distro/firmware-nonfree</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git 
a/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p9.ebuild
 
b/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p9.ebuild
new file mode 100644
index 00000000000..2d901028a83
--- /dev/null
+++ 
b/sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p9.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Most up-to-date uCode for the Broadcom wifi chips on Raspberry Pi 
SBCs"
+HOMEPAGE="https://github.com/RPi-Distro/firmware-nonfree
+       https://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree";
+MY_PN=firmware-nonfree
+SRC_URI="https://archive.raspberrypi.org/debian/pool/main/f/${MY_PN}/${MY_PN}_$(ver_cut
 1)-$(ver_cut 2)+rpt$(ver_cut 4).debian.tar.xz"
+
+LICENSE="Broadcom"
+SLOT="0"
+KEYWORDS="~arm ~arm64"
+
+RDEPEND="!sys-kernel/linux-firmware[-savedconfig]"
+DEPEND=""
+
+S="${WORKDIR}"
+
+pkg_setup() {
+       local -a BADFILES=()
+       local txt file
+       # /lib/firmware/brcm/brcmfmac434{30,36,55,56}-sdio.*.txt
+       # The above pattern works because the files we want to hit
+       # have names of the form:
+       # * /lib/firmware/brcm/brcmfmac43430-sdio.AP6212.txt
+       # * /lib/firmware/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt
+       # * /lib/firmware/brcm/brcmfmac43430-sdio.MUR1DX.txt
+       # * /lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
+       # * /lib/firmware/brcm/brcmfmac43455-sdio.MINIX-NEO Z83-4.txt
+       # * /lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
+       # * /lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
+       # * /lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
+       # While the files installed by raspberrypi-wifi-ucode have names
+       # of the form:
+       # * /lib/firmware/brcm/brcmfmac43430-sdio.txt
+       # * /lib/firmware/brcm/brcmfmac43436-sdio.txt
+       # * /lib/firmware/brcm/brcmfmac43455-sdio.txt
+       # * /lib/firmware/brcm/brcmfmac43456-sdio.txt
+       # So no overlap is assured.
+       for txt in /lib/firmware/brcm/brcmfmac434{30,36,55,56}-sdio.*.txt; do
+               [[ -e "${txt}" ]] && BADFILES+=( "${txt}" )
+       done
+       if (( "${#BADFILES[@]}" >= 1)); then
+               eerror "The following files should be excluded from the 
savedconfig of"
+               eerror "linux-firmware and linux-firmware should be re-emerged. 
Even"
+               eerror "though they do not collide with files from ${PN},"
+               eerror "they may be loaded preferentially to the files included 
in"
+               eerror "${PN}, leading to undefined behaviour."
+               eerror "List of files:"
+               for file in "${BADFILES[@]}"; do
+                       eerror "${file}"
+               done
+       fi
+}
+
+src_prepare() {
+       default
+       eapply -p1 debian/patches/sdio-txt-files.patch
+}
+
+src_install() {
+       insinto /lib/firmware/brcm
+       doins brcm/*
+       dodoc debian/changelog
+}

Reply via email to