summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p9.ebuild')
-rw-r--r--sys-firmware/raspberrypi-wifi-ucode/raspberrypi-wifi-ucode-20190114.1_p9.ebuild67
1 files changed, 67 insertions, 0 deletions
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 000000000000..2d901028a833
--- /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
+}