# Maintainer: Clayton Craft <clayton@craftyguy.net>
# Co-Maintainer: jane400 <jane400@postmarketos.org>
# Contributor: Konrad Dybcio <konradybcio@kernel.org>
# Contributor: Aster Boese <asterboese@mailbox.org>
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-lenovo-21bx
pkgdesc="Lenovo ThinkPad X13s"
pkgver=14
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck !strip"
depends="
	alsa-ucm-conf
	dtbloader
	libmbim-tools
	linux-firmware-ath11k
	linux-firmware-qca
	linux-firmware-qcom
	linux-postmarketos-qcom-laptop
	postmarketos-base
	qmi-utils
	systemd-boot
"
makedepends="devicepkg-dev"
source="
	01_$pkgname.override
	deviceinfo
	firmware.files
	modules-initfs
	pipewire.conf
	usbguard.conf
"
subpackages="
	$pkgname-gnome
	$pkgname-pipewire
	$pkgname-usbguard
	$pkgname-vulkan
"

build() {
	devicepkg_build $startdir $pkgname
}

package() {
	devicepkg_package $startdir $pkgname

	install -Dm644 "$srcdir"/firmware.files \
		-t "$pkgdir"/usr/share/mkinitfs/files
	install -Dm644 "$srcdir"/pipewire.conf \
		-t "$pkgdir"/usr/share/pipewire.conf.d
	install -Dm644 "$srcdir"/01_"$pkgname".override \
		-t "$pkgdir"/usr/share/glib-2.0/schemas
	install -Dm600 "$srcdir"/usbguard.conf \
		"$pkgdir"/etc/usbguard/rules.d/"$pkgname".conf
}

gnome() {
	install_if="$pkgname=$pkgver-r$pkgrel postmarketos-base-ui-gnome"

	amove usr/share/glib-2.0/schemas/01_"$pkgname".override
}

pipewire() {
	install_if="$pkgname=$pkgver-r$pkgrel postmarketos-base-ui-audio-pipewire"

	amove usr/share/pipewire.conf.d/pipewire.conf
}

vulkan() {
	install_if="$pkgname=$pkgver-r$pkgrel vulkan-loader"
	depends="mesa-vulkan-freedreno"
	mkdir "$subpkgdir"
}

usbguard() {
	install_if="$pkgname=$pkgver-r$pkgrel usbguard"

	amove etc/usbguard/rules.d/"$pkgname".conf
}

sha512sums="
0254e1277ad0971c50e6e69b377983e8b25f8f45773fdef98fe3a9df7cb06e1c5b9553109e8bd20472099562f82a08b2c9329c72d0ef97210840b5c00a048caa  01_device-lenovo-21bx.override
d2c2266c7db3b018cb1324ad4259fec664fa9d500f701795c6198b2318cec6466a9ad908c7217bb43c03d236dfdf3fb84280faf0cfa484bbdf90bda680822309  deviceinfo
5f4e6a80455c8a2ed879bfd457a89f81790824657ed4101e03b7ec288a274e63340f48e2ad5028cf83744263a4529584b1e94c36d10b98912e5b31804fa98ff0  firmware.files
27705e998db262602b50004083fe160dbcde88e9fdcaeb43e3d1d79be0b7af371f84855bb93ba16ada3cf5fa8ff8da6ca159cda4b1de08fb54ac451c57169c57  modules-initfs
52bbb9564ec713db5d46937701b121afe0c6c644fffe189a05766f491b4997b1bbc4c1f90229efb5764d795df8d40a57d4c840ee4b32d426e7a84520364b8bf5  pipewire.conf
0d0412eb1f01af39000c39391f622640461305d83dae1a53aa7eef640cc17fd265cabca4e4e57dea053c47a4e50f9feb90f12ee5310d5b6425783e83efc5f9d8  usbguard.conf
"
