# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-tablet-x64uefi
pkgdesc="Various tablets with atom CPU"
pkgver=0.4
pkgrel=2
url="https://postmarketos.org"
license="MIT"
arch="x86_64"
# pmb:strict: avoid grub-related install error during build with pmbootstrap
options="!check !archcheck pmb:strict"
depends="
	postmarketos-base
	"
makedepends="
	devicepkg-dev
	grub
	grub-efi
	"
subpackages="
	$pkgname-libva
	$pkgname-kernel-lts:kernel_lts
	$pkgname-kernel-edge:kernel_edge
	$pkgname-vulkan
	"
source="
	deviceinfo
	modules-initfs
	grub_early.cfg
	grub_edge.cfg
	grub_lts.cfg
	"

build() {
	devicepkg_build $startdir $pkgname

	grub-mkimage \
		--config="$srcdir/grub_early.cfg" \
		--prefix="" \
		--output="bootx64.efi" \
		--format="x86_64-efi" \
		--compression="xz" \
		\
		all_video \
		cat \
		configfile \
		disk \
		echo \
		efi_gop \
		fat \
		gzio \
		help \
		iso9660 \
		linux \
		ls \
		normal \
		part_gpt \
		part_msdos \
		search \
		search_label \
		test \
		true
}

package() {
	devicepkg_package $startdir $pkgname

	install -Dm644 "$srcdir"/bootx64.efi \
		"$pkgdir"/boot/EFI/Boot/bootx64.efi
}

libva() {
	install_if="$pkgname libva"
	depends="intel-media-driver libva-intel-driver"
	mkdir "$subpkgdir"
}

kernel_edge() {
	pkgdesc="Alpine Edge kernel"
	depends="linux-edge"
	devicepkg_subpackage_kernel $startdir $pkgname $subpkgname

	install -Dm644 "$srcdir"/grub_edge.cfg \
		"$pkgdir"/boot/grub/grub.cfg
}

kernel_lts() {
	pkgdesc="Alpine LTS kernel"
	depends="linux-lts"
	devicepkg_subpackage_kernel $startdir $pkgname $subpkgname

	install -Dm644 "$srcdir"/grub_lts.cfg \
		"$pkgdir"/boot/grub/grub.cfg
}

vulkan() {
	install_if="$pkgname vulkan-loader"
	depends="mesa-vulkan-intel"
	mkdir "$subpkgdir"
}

sha512sums="
1035baaccf774d6db6166b3f13b7fe4ac709dc681c7e846c67d1394fcd30753430dac8751ddce5dd79c9ba1a1c3ad11dd47559b7fd13ea7b5d75aa30b8b9a7a4  deviceinfo
9606a2f61bfd9e0a2ea04fbe45e25093b702fd5b5cccf9f4f50768ee3b501251d8d3e1605485e5ec8f485b4bff7e44fe20d488f80736837654a9951391a97789  modules-initfs
0f9357d4eea089628fbceb1e3e96d21a3f4329aeb6743158a6f877f967ef274506404eba949d5f01b7e1adea149f9a3aef992a5e8cd4181f93ab00909b1c5ecd  grub_early.cfg
1fcae6891028bc07051e6e6faf9dd3ec2304c6165f9df05198f28a7fa2ba85c1dd8d07b72a5122d9628b67a2b0096ac180a9a2de0f391f9ce850c07dc79ac857  grub_edge.cfg
e15beaf385a350a7c36be249cf9495e4622f7888c8def6ac47359ebd2ef2c994f954abec8ccb16b402269f949e6f6016d41711e6596f46ba3dad240f84ba163f  grub_lts.cfg
"
