# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=device-microsoft-surface-rt
pkgdesc="Microsoft Surface RT"
pkgver=6
pkgrel=3
url="https://postmarketos.org"
license="MIT"
arch="armv7"
# pmb:strict: avoid grub-related install error during build with pmbootstrap
options="!check !archcheck pmb:strict"
depends="postmarketos-base
	linux-postmarketos-grate
	libvdpau-tegra
	alsa-ucm-conf
"
makedepends="devicepkg-dev grub grub-efi"
subpackages="
	$pkgname-nonfree-firmware:nonfree_firmware
	$pkgname-x11
	$pkgname-phosh
"
source="
	deviceinfo
	grub.cfg
	initfs-hook.sh
	pointercal
	phoc.ini
"

build() {
	devicepkg_build $startdir $pkgname

	grub-mkimage \
		--prefix="/grub" \
		--output="bootarm.efi" \
		--format="arm-efi" \
		--compression="xz" \
		\
		disk \
		fat \
		gzio \
		iso9660 \
		linux \
		normal \
		part_gpt \
		part_msdos
}

package() {
	devicepkg_package $startdir $pkgname

	install -Dm644 "$srcdir"/pointercal \
		"$pkgdir"/etc/pointercal

	install -D "$srcdir"/grub.cfg \
		"$pkgdir"/boot/grub/grub.cfg
	install -D "$srcdir"/bootarm.efi \
		"$pkgdir"/boot/EFI/Boot/bootarm.efi
}

nonfree_firmware() {
	pkgdesc="WiFi firmware"
	depends="linux-firmware-mrvl"
	mkdir "$subpkgdir"
}

x11() {
	install_if="$pkgname xorg-server"
	depends="xf86-video-opentegra"
	mkdir "$subpkgdir"
}

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

sha512sums="
843b82db45fa110cc46f1abaf4f1c8b9e33edbf48233533e6748241b857ff2b5edfdff03520c2eac09e11a82a1ddcb67bd0cd71be324a08fd49352ca16b34f63  deviceinfo
40b507176edce2d141ff707aecad6f8d9636b828084e84d0015886d5e371127285bc80398fc13c1b88a7740c5b4694d2011286138249c95d27db0d9df3ca102f  grub.cfg
0c7640df35d29a5c2e168d1e54b73a90d903e51b16d67ad08c3ccb41972209086844357f82cf6a2b6de977ebfb7e1099da01db71dc0733e90662ba315f0cd1d0  initfs-hook.sh
34f6eb789d4688985a262c519017e0712a90ca5acf89e6b3f39e33792a7982155261c6b4f0dbf41595b512da9dc7c9002adb69a550e80be349a374d086799916  pointercal
064129c96a617d3e7bfc56f399b9b46ca3d56325c3777ab28b1f7de242e8199cf33c03a9a071c83a833180a12d9d2abb5d32174f0d8d792a370e6320ec4d7808  phoc.ini
"