pkgname=firmware-fairphone-fp5 pkgver=20240417 pkgrel=1 pkgdesc="Firmware for Fairphone 5" subpackages=" $pkgname-adreno $pkgname-adsp $pkgname-bluetooth $pkgname-cdsp $pkgname-hexagonfs $pkgname-ipa $pkgname-modem $pkgname-venus $pkgname-wpss " url="https://github.com/FairBlobs/FP5-firmware" arch="aarch64" license="proprietary" makedepends="pil-squasher" options="!check !strip !archcheck !tracedeps pmb:cross-native" _commit="798524050d9f4802450cd4f1bf46ddd105b6ae4f" source="https://github.com/FairBlobs/FP5-firmware/archive/$_commit/FP5-firmware-$_commit.tar.gz" builddir="$srcdir/FP5-firmware-$_commit" build() { for i in *.mdt; do pil-squasher "$(basename "$i" .mdt)".mbn "$i" done } package() { # parent package is empty mkdir -p "$pkgdir" } adreno() { pkgdesc="Fairphone 5 adreno firmware" install -Dm644 "$builddir"/a660_zap.mbn -t \ "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/" ln -s a660_zap.mbn "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/a660_zap.mdt" } adsp() { pkgdesc="Fairphone 5 adsp firmware" install -Dm644 "$builddir"/adsp.mbn -t \ "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/" ln -s adsp.mbn "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/adsp.mdt" install -Dm644 "$builddir"/adsp*.jsn -t \ "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/" install -Dm644 "$builddir"/battmgr.jsn -t \ "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/" } bluetooth() { pkgdesc="Fairphone 5 bluetooth firmware" install -Dm644 "$builddir"/msbtfw11.mbn -t \ "$subpkgdir/lib/firmware/qca/" install -Dm644 "$builddir"/msnv11.bin -t \ "$subpkgdir/lib/firmware/qca/" } cdsp() { pkgdesc="Fairphone 5 cdsp firmware" install -Dm644 "$builddir"/cdsp.mbn -t \ "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/" ln -s cdsp.mbn "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/cdsp.mdt" install -Dm644 "$builddir"/cdsp*.jsn -t \ "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/" } hexagonfs() { pkgdesc="Fairphone 5 hexagonfs files" mkdir -p "$subpkgdir"/usr/share/qcom/qcm6490/Fairphone/ cp -r "$builddir"/hexagonfs/ \ "$subpkgdir"/usr/share/qcom/qcm6490/Fairphone/fairphone5 # Remove files that we don't need - for now rm -r "$subpkgdir"/usr/share/qcom/qcm6490/Fairphone/fairphone5/acdb/ rm -r "$subpkgdir"/usr/share/qcom/qcm6490/Fairphone/fairphone5/dsp/ find "$subpkgdir/usr/share/qcom/qcm6490/Fairphone/fairphone5/" \ -type f -exec chmod 0644 {} \; } ipa() { pkgdesc="Fairphone 5 ipa firmware" install -Dm644 "$builddir"/yupik_ipa_fws.mbn \ "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/ipa_fws.mbn" ln -s ipa_fws.mbn "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/ipa_fws.mdt" } modem() { pkgdesc="Fairphone 5 modem firmware" install -Dm644 "$builddir"/modem.mbn -t \ "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/" ln -s modem.mbn "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/modem.mdt" install -Dm644 "$builddir"/modem*.jsn -t \ "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/" cp -r "$builddir"/modem_pr/ \ "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/" find "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/" \ -type f -exec chmod 0644 {} \; } venus() { pkgdesc="Fairphone 5 venus firmware" install -Dm644 "$builddir"/vpu20_1v.mbn \ "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/venus.mbn" } wpss() { pkgdesc="Fairphone 5 wpss firmware" install -Dm644 "$builddir"/wpss.mbn -t \ "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/" ln -s wpss.mbn "$subpkgdir/lib/firmware/qcom/qcm6490/fairphone5/wpss.mdt" } sha512sums=" b952aeb6dc953a66514aea00a32cc766c2554e59c9dbbdab723dbf65d5e5e5deeefdc80e88ec59214fdf89d2ffdd6e632e42304ef510431fb4ecc0374f81ba06 FP5-firmware-798524050d9f4802450cd4f1bf46ddd105b6ae4f.tar.gz "