# Maintainer: Jami Kettunen <jami.kettunen@protonmail.com>
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-oneplus-dumpling
pkgdesc="OnePlus 5T"
pkgver=4
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
	mkbootimg
	postmarketos-base
	postmarketos-update-kernel
"
makedepends="devicepkg-dev"
source="
	deviceinfo
	phoc.ini
"
subpackages="
	$pkgname-kernel-alpine:kernel_alpine
	$pkgname-kernel-mainline:kernel_mainline
	$pkgname-nonfree-firmware:nonfree_firmware
	$pkgname-phosh
"

build() {
	devicepkg_build $startdir $pkgname
}

package() {
	devicepkg_package $startdir $pkgname
}

kernel_alpine() {
	# FIXME: msm-modem-uim-selection hangs boot for some 20 seconds when installed with non-free FW
	pkgdesc="Pure mainline kernel, unpatched Alpine linux-edge"
	depends="linux-edge linux-firmware-none"
	devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}

kernel_mainline() {
	pkgdesc="Close to mainline kernel, plenty of working features and fixes"
	depends="linux-postmarketos-qcom-msm8998 soc-qcom-msm8998"
	devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}

nonfree_firmware() {
	pkgdesc="Firmware for GPU, Wi-Fi, Bluetooth etc. (also needed for full disk encryption)"
	depends="firmware-oneplus-msm8998"
	mkdir "$subpkgdir"
}

phosh() {
	install_if="$pkgname postmarketos-ui-phosh"
	# some scaling tweaks
	install -Dm644 "$srcdir"/phoc.ini \
		"$subpkgdir"/etc/phosh/phoc.ini
}

sha512sums="
cf52087ee21e05d6b9851c6d5b582277ebc631cf36dd48570a5553cdc16d8381c5c7f84ebe38a1f8c4dfe83ab2a7bc66a4e0e8b19314a17472349fae8ee03164  deviceinfo
2288f08a44aae5136c0c0c846501c2bd4bcb10f05454b40c6e4490d398385b8a7129216047b5eb7982ca6d62d3aa71f3e18bfb8661d0cd32c8a600685ca0da48  phoc.ini
"
