# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=device-google-snow
pkgdesc="Samsung Chromebook"
pkgver=4
pkgrel=1
url="https://postmarketos.org"
license="MIT"
arch="armv7"
options="!check !archcheck"
depends="
	alsa-ucm-conf
	depthcharge-tools
	linux-postmarketos-exynos5
	postmarketos-base
	postmarketos-cros-common
	postmarketos-update-depthcharge-kernel
"
makedepends="devicepkg-dev"
source="
	deviceinfo
	modules-initfs
	i3wm/xorg.conf.d/90-tap-to-click.conf
	modprobe.d/mali.conf
	ucm/HiFi.conf
	ucm/Snow-I2S-MAX98090.conf
	mpv/mpv.conf.wayland
	mpv/mpv.conf.xorg
	sway/foot/foot.ini
	sway/tinydm/10-no-hardware-cursor.sh
"
subpackages="
	$pkgname-i3wm
	$pkgname-mpv-wayland:mpv_wayland
	$pkgname-mpv-xorg:mpv_xorg
	$pkgname-nonfree-firmware:nonfree_firmware
	$pkgname-sway
"

build() {
	devicepkg_build $startdir $pkgname
}

package() {
	devicepkg_package $startdir $pkgname

	# Block panfrost probe as it causes segfault in X11
	install -Dm644 "$srcdir"/mali.conf \
		"$pkgdir"/etc/modprobe.d/mali.conf

	# Alsa UCM configs
	install -Dm644 "$srcdir"/Snow-I2S-MAX98090.conf \
		"$pkgdir"/usr/share/alsa/ucm2/conf.d/Snow-I2S-MAX980/Snow-I2S-MAX98090.conf
	install -Dm644 "$srcdir"/HiFi.conf \
		"$pkgdir"/usr/share/alsa/ucm2/conf.d/Snow-I2S-MAX980/HiFi.conf
}

i3wm() {
	install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-i3wm"
	install -D -m644 "$srcdir"/90-tap-to-click.conf \
		"$subpkgdir"/etc/X11/xorg.conf.d/90-tap-to-click.conf
}

mpv_wayland() {
	# Looks like wayland libs are installed with some x11 UIs too, so match wlroots here
	install_if="$pkgname=$pkgver-r$pkgrel mpv wlroots"
	install -Dm644 "$srcdir"/mpv.conf.wayland \
		"$subpkgdir"/etc/mpv/mpv.conf
}

mpv_xorg() {
	install_if="$pkgname=$pkgver-r$pkgrel mpv xorg-server"
	install -Dm644 "$srcdir"/mpv.conf.xorg \
		"$subpkgdir"/etc/mpv/mpv.conf
}

nonfree_firmware() {
	pkgdesc="WiFi/BT and MFC firmware"
	depends="linux-firmware-mrvl linux-firmware-other"
	mkdir "$subpkgdir"
}

sway() {
	install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-sway"
	install -Dm644 "$srcdir"/foot.ini \
		"$subpkgdir"/etc/skel/.config/foot/foot.ini
	install -Dm755 "$srcdir"/10-no-hardware-cursor.sh \
		"$subpkgdir"/etc/tinydm.d/env-wayland.d/10-no-hardware-cursor.sh
}

sha512sums="
4be0a2e0ff5d5189b9adbea995b111724cf686eda3c191fac405757facee4621297314bb4d2015e8dc72b29f30d47d2e00253d70d64c51a02a5177cb4d4959cd  deviceinfo
a1fd6b4964b0bd4c66983430528f5906eea5cc9ddbe8485ba17e97496652240d0a93dbd3af34ecd3c273b7172202b8dcb24e0b5fa372512d01affec3914a023d  modules-initfs
e53ca475830930ecfc1fd537702e850e2abcb66fbed521cb6c3a2918d762649254bd0244ec93a47b20dfc593ec3afc9bdebdec1759a7bc96dcbe4800f40893da  90-tap-to-click.conf
c5fdd5a39a41044343d937a1ad31cc6bb893f19a329beb4ce09249064cac066d643c84ffcbfcd794113c228c5a56e28c82812092751546b49ab31142dc8245b1  mali.conf
8a8f593694528a9323ef4a0aff7e9c6ad45608957eb042d425663f682885c2f95eb01db4fe87b7c43a90de48f3e5f8b10cab4b13c547b5b0d31b924fcb083cad  HiFi.conf
b163535da7626e3866faa45768c3888f69f90c98d694650e16a7594a03eb91391e166931eb487901217d983bb2dc4e49b99a2a5531740a7d87f8f4f5c3d0cf59  Snow-I2S-MAX98090.conf
8f9dc3c7caeab6c5321dc2bf498f1a03a793f23cb776763316bc356b9d433d7a3337e61154069464dcda200bf390b99f3be8f657a40c6d2f6be3cbc6fb751080  mpv.conf.wayland
d6bc39df48ba0e985a796426039205335adf1c91b9c150b05a4239339fc78b1748b3a83c699de69e9a5829f29573a323f40788da58ed15b1951de1eab7e31c3d  mpv.conf.xorg
61c56cf84cf88371a2238845db1f8283c7eb7b417dec8c51d71e51fb96899bb026c0ee22dc94a43537a56477fb0db59de960949add4b0ce90552a1286e6afe69  foot.ini
8ddd237b14e8eea34b8716d155cdf199cf681b1287b482c8e184656d6d0440f018a2d46478c8b45eb790a1e71cfcfefd0f66798cd0b226647f11088549cfae64  10-no-hardware-cursor.sh
"
