void-packages/srcpkgs/linux-firmware/template
Jami Kettunen 1a32f61803 linux-firmware: subpackage for Qualcomm SoCs.
Split out the 20 MB of QCOM SoC blobs into it's own subpackage which can
be installed as needed on these ARM platforms.

As the modem remoteprocessor needs this FW for WLAN to work on e.g.
SDM845 also bring this in with linux-firmware-network for armv7/aarch64
targets.
2021-08-30 17:07:36 -03:00

110 lines
3 KiB
Bash

# Template file for 'linux-firmware'
pkgname=linux-firmware
version=20210511
revision=2
depends="${pkgname}-amd>=${version}_${revision} ${pkgname}-network>=${version}_${revision}"
short_desc="Binary firmware blobs for the Linux kernel"
maintainer="Érico Nogueira <ericonr@disroot.org>"
license="See /usr/share/licenses/${pkgname}"
homepage="https://www.kernel.org/"
distfiles="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/${pkgname}-${version}.tar.gz"
checksum=4c38e6a15775e2911e60898804f1d5720f8e3992a79487a5c1b2250df49a11c4
python_version=3
nostrip=yes
subpackages="linux-firmware-amd linux-firmware-broadcom
linux-firmware-intel linux-firmware-nvidia linux-firmware-network
linux-firmware-qualcomm"
do_install() {
make install FIRMWAREDIR=/usr/lib/firmware DESTDIR=$DESTDIR
for _l in LICEN* WHENCE
do
vlicense "$_l"
done
# XXX: should some firmwares, like carl9170, be pruned?
}
linux-firmware-amd_package() {
short_desc+=" - AMD CPU/GPU microcode"
nostrip=yes
pkg_install() {
vmove usr/lib/firmware/amd*
vmove usr/lib/firmware/radeon
vmove usr/share/licenses/linux-firmware/LICENSE.amdgpu
vmove usr/share/licenses/linux-firmware/LICENSE.amd-ucode
vmove usr/share/licenses/linux-firmware/LICENSE.radeon
}
}
linux-firmware-broadcom_package() {
short_desc+=" - Broadcom network blobs"
nostrip=yes
replaces="rpi-firmware-network>=0"
pkg_install() {
vmove usr/lib/firmware/brcm
vmove usr/share/licenses/linux-firmware/LICENCE.broadcom_bcm43xx
# firmware/brcm contains multiple symlinks to ../cypress/
vmove usr/lib/firmware/cypress
vmove usr/share/licenses/linux-firmware/LICENCE.cypress
}
}
linux-firmware-intel_package() {
short_desc+=" - Intel CPU/GPU microcode"
nostrip=yes
pkg_install() {
vmove usr/lib/firmware/i915
vmove usr/share/licenses/linux-firmware/LICENSE.i915
}
}
linux-firmware-nvidia_package() {
short_desc+=" NVIDIA GPU microcode"
nostrip=yes
pkg_install() {
vmove usr/lib/firmware/nvidia
vmove usr/share/licenses/linux-firmware/LICENCE.nvidia*
}
}
linux-firmware-network_package() {
short_desc+=" - network"
depends="linux-firmware-broadcom>=${version}_${revision}"
case "$XBPS_TARGET_MACHINE" in
armv7*|aarch64*)
depends+=" linux-firmware-qualcomm>=${version}_${revision}"
;;
esac
nostrip=yes
pkg_install() {
vmove usr/lib/firmware/3com
vmove usr/lib/firmware/RTL8192E
vmove "usr/lib/firmware/rt*"
vmove "usr/lib/firmware/ath*"
vmove "usr/lib/firmware/ar*"
vmove "usr/lib/firmware/bnx2*"
vmove "usr/lib/firmware/cxgb*"
vmove "usr/lib/firmware/htc*"
vmove "usr/lib/firmware/iwl*"
vmove "usr/lib/firmware/intel*"
vmove usr/lib/firmware/kaweth
vmove usr/lib/firmware/libertas
vmove usr/lib/firmware/mrvl
vmove "usr/lib/firmware/mt*.bin"
vmove usr/lib/firmware/ueagle-atm
vmove usr/lib/firmware/ti-connectivity
vmove usr/lib/firmware/dpaa2
vmove usr/lib/firmware/qca
}
}
linux-firmware-qualcomm_package() {
short_desc+=" - Qualcomm SoC blobs"
nostrip=yes
pkg_install() {
vmove usr/lib/firmware/qcom
}
}