# Reference: <https://postmarketos.org/devicepkg>
# Co-Maintainer: Alper Nebi Yasak <alpernebiyasak@gmail.com>
maintainer="Aster Boese <asterboese@mailbox.org>"
pkgname=device-google-x64cros
pkgdesc="Google Chromebooks with x64 CPU"
pkgver=17
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="x86_64"
options="!check !archcheck"
depends="
	alsa-ucm-conf-cros
	depthcharge-tools
	postmarketos-base
	postmarketos-cros-common
	systemd-boot
	"
makedepends="devicepkg-dev"
install="$pkgname.post-install $pkgname.post-upgrade"
subpackages="
	$pkgname-kernel-lts:kernel_lts
	$pkgname-kernel-stable:kernel_stable
	$pkgname-firmware-intel:firmware_intel
	$pkgname-firmware-amd:firmware_amd
	"
source="
	00-amdgpu-firmware.files
	00-i915-firmware.files
	deviceinfo
	modules-initfs
	"
# TODO: package iwlwifi-7265D-29.ucode separetely, so we don't depend
# on linux-firmware-other
_pmb_recommends="
	amd-ucode
	intel-ucode
	linux-firmware-amdgpu
	linux-firmware-i915
	linux-firmware-intel
	linux-firmware-other
	linux-firmware-rtl_nic
	linux-firmware-rtw88
	"

build() {
	devicepkg_build $startdir $pkgname
}

package() {
	devicepkg_package $startdir $pkgname
}

kernel_stable() {
	pkgdesc="Alpine Stable kernel"
	depends="linux-stable"
	provides="$pkgname-kernel-edge=$pkgver-r$pkgrel"
	replaces="$pkgname-kernel-edge"
	devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}

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

firmware_amd() {
	install_if="$pkgname=$pkgver-r$pkgrel linux-firmware-amdgpu"

	install -Dm644 "$srcdir"/00-amdgpu-firmware.files \
		-t "$subpkgdir"/usr/share/mkinitfs/files-extra
}
firmware_intel() {
	install_if="$pkgname=$pkgver-r$pkgrel linux-firmware-i915"

	install -Dm644 "$srcdir"/00-i915-firmware.files \
		-t "$subpkgdir"/usr/share/mkinitfs/files-extra
}

sha512sums="
38c53d91a60d0402d4cc5428d65e1e8c26360c481c70b34593b1812c87241c32e91904a3bd31fbfe507f7fdb8b50c909eaad8c4c3a37ca962760567329f7f6ee  00-amdgpu-firmware.files
c17f5c505e0e280a9e51ac1b4264e7703b744fd3831d75ce95f41be4755ae4ccd24b7ca09ba1e236df499a5e748c64a0d2054c9d55d8c8c713fa8c5646ed9a3c  00-i915-firmware.files
28d58d3d4699dbb0d3a58f58cca79033670f1e284e0082af33d3c1a4c59cbaec2e87f1d584b11d396e7c468d89321033ac18cf7a26746f3762370c9e42ab66aa  deviceinfo
12d701be4f29b0d68b58156655c66b4cc969b6a449d8ab325c00fb5f8094901fe0105446e0e8c4c0dd7d1e1abf3157f336319c5dd638e4a5723493ad5d22fb60  modules-initfs
"
