# Reference: <https://postmarketos.org/devicepkg>
maintainer=""
pkgname=device-oneplus-dumpling
pkgdesc="OnePlus 5T"
pkgver=7
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
	mkbootimg
	postmarketos-base
"
makedepends="devicepkg-dev"
source="
	deviceinfo
	modules-initfs.alpine
	modules-initfs.mainline
	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="Upstream stable kernel, unpatched Alpine linux-stable"
	depends="linux-stable 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="
796684a1ee073be5b420397223698a07bf9f2d5327c9a53b251f1b584254d2639df830adb4b2ea221c3e0d4a2cc2599baf2ae1954e6b8336190249ea8bbc642d  deviceinfo
53472343462865f6b44897a079edc62dbbefe1b3ad0c7ceb02fa85a21d0162c0505321b516fc37a9fa7fcfe946cd17fd03a70b24bca302aa18773b576e5f14c9  modules-initfs.alpine
27fa563174768cf1c3b0568b9e5b84cfb5eb54ed29ff4788eaba829ca484a053dff46ae7f64741c59a9e7652970f5858e8bf42af5ae23fe6f37660777ca40d4a  modules-initfs.mainline
2288f08a44aae5136c0c0c846501c2bd4bcb10f05454b40c6e4490d398385b8a7129216047b5eb7982ca6d62d3aa71f3e18bfb8661d0cd32c8a600685ca0da48  phoc.ini
"
