pkgname=firmware-bq-picmt pkgver=3 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.mdt install -Dm644 "$srcdir"/mba.mbn "$subpkgdir/$_fwdir"/mba.mbn } venus() { pkgdesc="BQ Aquaris X5 video firmware" provides="firmware-qcom-msm8916-venus" # Linux detects squashed (.mbn) vs non-squashed (.mdt + .b*) based on # file contents, so it is fine to install venus.mbn to venus.mdt install -Dm644 "$srcdir"/venus2.mbn "$subpkgdir/$_fwdir"/qcom/venus-1.8/venus.mdt } wcnss() { pkgdesc="BQ Aquaris X5 WiFi/BT firmware" provides="firmware-qcom-msm8916-wcnss" install -Dm644 "$srcdir"/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"