# Template file for 'rpi-firmware'
pkgname=rpi-firmware
version=20260715
revision=1
_rpi_fw=ed05d403048f2956d9d3653acd996157363e94fe
_rpi_brcm=3bab0f823f5b53150b76aab77093adef6655b920
_rpi_bt=cdf61dc691a49ff01a124752bd04194907f0f9cd
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/LICENSES/LICENCE.cypress>LICENCE.cypress"
checksum="9ef35afb282242d4f82e44e651f4ce73b921e7a6daa04ec6ca91118e3d778cd0
 8ecd0b46fbbc6921ae1d60faea9848516b193cc773ba6f1c9969eccebe6947fd
 5e027003671a8b129d3e44b6f13845f0a51596047d2310cb69e04a22ea16e70f
 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/added-firmware/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/added-firmware/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/added-firmware/brcm/brcmfmac43456"* usr/lib/firmware/brcm
	vcopy "firmware-nonfree-${_rpi_brcm}/debian/added-firmware/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"
}
