void-packages/srcpkgs/rpi-firmware/template

65 lines
2.8 KiB
Bash

# Template file for 'rpi-firmware'
pkgname=rpi-firmware
version=20231221
revision=1
_rpi_fw=0da53ed7928f20b5f4e9e36a3a63fb80b700d908
_rpi_brcm=88aa085bfa1a4650e1ccd88896f8343c22a24055
_rpi_bt=d9d4741caba7314d6500f588b1eaa5ab387a4ff5
create_wrksrc=yes
archs="aarch64* armv6l* armv7l*"
short_desc="Firmware files for the Raspberry Pi"
maintainer="classabbyamp <void@placeviolette.net>"
license="BSD-3-Clause, custom:Cypress"
homepage="https://github.com/raspberrypi/firmware"
distfiles="
https://github.com/raspberrypi/firmware/archive/${_rpi_fw}.tar.gz
https://github.com/RPi-Distro/firmware-nonfree/archive/${_rpi_brcm}.tar.gz
https://github.com/RPi-Distro/bluez-firmware/archive/${_rpi_bt}.tar.gz
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/LICENCE.cypress>LICENCE.cypress"
checksum="c9288ecc2d314f12517b05378634d4fd73408245100e0cfae4c11ccaa84fcadd
bb3d8fed40546e03e29d9e635745433f8083391e62d6ff151c895b892776964a
ae076a08ece89624b0449ea2495b0dfe2ea1223f683f5b57f2b89966e6a093d6
ae0db6cc4db33941148df0f67de53e76a77b1b5a46b3165edb7040aa2750015f"
skip_extraction="LICENCE.cypress"
conf_files="/boot/cmdline.txt /boot/config.txt"
nostrip=yes
replaces="rpi-firmware-network>=0"
do_install() {
# bootloader
vlicense "firmware-${_rpi_fw}/boot/LICENCE.broadcom"
rm -rf "firmware-${_rpi_fw}/boot/"*.img \
"firmware-${_rpi_fw}/boot/overlays" \
"firmware-${_rpi_fw}/boot/"*.dtb \
"firmware-${_rpi_fw}/boot/COPYING.linux" \
"firmware-${_rpi_fw}/boot/LICENCE.broadcom"
vmkdir boot
vcopy "firmware-${_rpi_fw}/boot/*" boot
# Install configuration files.
vinstall "${FILESDIR}/cmdline.txt" 644 boot
vinstall "${FILESDIR}/config.txt" 644 boot
# firmware
# we can use either the -standard or -minimal 43455 file so use standard by default
ln -sfv cyfmac43455-sdio-standard.bin "firmware-nonfree-${_rpi_brcm}/debian/config/brcm80211/cypress/cyfmac43455-sdio.bin"
vlicense "${XBPS_SRCDISTDIR}/${pkgname}-${version}/LICENCE.cypress"
# add original Pi Foundation firmware files
# install deref's symlinks and copies a whole file, which makes rpi use duplicated variants specifically from downstream firmware
install -Dm644 \
"firmware-nonfree-${_rpi_brcm}/debian/config/brcm80211/brcm/"brcmfmac*raspberrypi* \
-t "${DESTDIR}/usr/lib/firmware/brcm"
# but 43436/43436s/43456 is not in linux-firmware, so copy it normally
vcopy "firmware-nonfree-${_rpi_brcm}/debian/config/brcm80211/brcm/brcmfmac43456"* usr/lib/firmware/brcm
vcopy "firmware-nonfree-${_rpi_brcm}/debian/config/brcm80211/brcm/brcmfmac43436"* usr/lib/firmware/brcm
vcopy "bluez-firmware-${_rpi_bt}/debian/firmware/broadcom/"*.hcd usr/lib/firmware/brcm
vmkdir usr/lib/firmware/synaptics
vcopy "bluez-firmware-${_rpi_bt}/debian/firmware/synaptics/"*.hcd usr/lib/firmware/synaptics
vlicense "bluez-firmware-${_rpi_bt}/debian/firmware/synaptics/LICENSE.synaptics"
}