pmaports/device/community/firmware-bq-picmt/APKBUILD
Minecrell 8833243e8b
firmware-<qcom-msm8916>: adjust for new venus firmware path (MR 4553)
Linux 6.7-rc1 looks for the venus (video) firmware in
qcom/venus-1.8/venus.mbn instead of qcom/venus-1.8/venus.mdt.

Let's install it in both places with a symlink so that the firmware
packages work for both older and newer Linux versions.

[ci:ignore-count]: lots of packages
[ci:skip-build] already built successfully in CI
2023-11-13 22:56:59 -08:00

66 lines
2.1 KiB
Text

pkgname=firmware-bq-picmt
pkgver=4
pkgrel=0
_commit="04cced17ab21d84ea6145e58f0b12fd67ef640d0"
pkgdesc="Firmware for BQ Aquaris X5"
url="https://github.com/JonnyMe/picmt-firmware"
subpackages="$pkgname-modem $pkgname-venus $pkgname-wcnss $pkgname-wcnss-nv:wcnss_nv"
arch="aarch64 armv7"
license="proprietary"
options="!check !strip !archcheck !tracedeps pmb:cross-native"
makedepends="pil-squasher"
source="https://github.com/JonnyMe/picmt-firmware/raw/$_commit/picmt_firmware_files.tar.xz"
_fwdir="/lib/firmware/postmarketos"
build() {
pil-squasher wcnss.mbn wcnss.mdt
pil-squasher modem.mbn modem.mdt
# venus.mbn exists already but seems a bit different
pil-squasher venus2.mbn venus.mdt
}
package() {
# parent package is empty
mkdir -p "$pkgdir"
}
modem() {
pkgdesc="BQ Aquaris X5 modem firmware"
install -Dm644 "$srcdir"/modem.mbn "$subpkgdir/$_fwdir"/modem.mbn
ln -s modem.mbn "$subpkgdir/$_fwdir"/modem.mdt
install -Dm644 "$srcdir"/mba.mbn "$subpkgdir/$_fwdir"/mba.mbn
}
venus() {
pkgdesc="BQ Aquaris X5 video firmware"
provides="firmware-qcom-msm8916-venus=$pkgver-r$pkgrel"
# Linux detects squashed (.mbn) vs non-squashed (.mdt + .b*) based on
# file contents, so it is fine to install venus.mbn to venus.mdt
# Older kernels look for venus.mdt, newer ones directly for venus.mbn
install -Dm644 "$srcdir"/venus2.mbn "$subpkgdir/$_fwdir"/qcom/venus-1.8/venus.mbn
ln -s venus.mbn "$subpkgdir/$_fwdir"/qcom/venus-1.8/venus.mdt
}
wcnss() {
pkgdesc="BQ Aquaris X5 WiFi/BT firmware"
provides="firmware-qcom-msm8916-wcnss=$pkgver-r$pkgrel"
install -Dm644 "$srcdir"/wcnss.mbn "$subpkgdir/$_fwdir"/wcnss.mbn
ln -s wcnss.mbn "$subpkgdir/$_fwdir"/wcnss.mdt
}
wcnss_nv() {
pkgdesc="BQ Aquaris X5 WiFi/BT firmware configuration"
case "$CARCH" in
# WCNSS_cfg.dat etc are only needed on downstream (armv7)
armv7) files="WCNSS_*" ;;
*) files="WCNSS_qcom_wlan_nv.bin" ;;
esac
install -Dm644 "$srcdir"/$files -t "$subpkgdir/$_fwdir"/wlan/prima
}
sha512sums="7f426e5fdb20319ed22c16be1ce13d069532bdfb8dc754a735c2a019342758b1f0210614dfeaa1d850802083a550ec8a6931d3572d203267cae8ec59f6613d82 picmt_firmware_files.tar.xz"