# Reference: <https://postmarketos.org/devicepkg>
maintainer="Clayton Craft <clayton@craftyguy.net>"
pkgname=device-apple-mac-aarch64
pkgdesc="Apple M-series Macs"
pkgver=5
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
	alsa-ucm-conf-asahi
	asahi-audio
	asahi-scripts
	linux-postmarketos-asahi
	postmarketos-base
	systemd-boot
	u-boot-asahi
"
makedepends="devicepkg-dev systemd-boot"
source="
	deviceinfo
	initramfs_copy_vendorfw.sh
	initramfs_setup_vendorfw.sh
	modules-initfs
	os-installer-deploy.sh
"
subpackages="
	$pkgname-audio
	$pkgname-os-installer:os_installer
	$pkgname-vulkan
"

build() {
	devicepkg_build $startdir $pkgname
}

package() {
	devicepkg_package $startdir $pkgname

	# vendor firmware management scripts
	install -Dm755 "$srcdir"/initramfs_setup_vendorfw.sh \
		-t "$pkgdir"/usr/share/mkinitfs/hooks/
	install -Dm755 "$srcdir"/initramfs_copy_vendorfw.sh \
		-t "$pkgdir"/usr/share/mkinitfs/hooks-cleanup/

	# os-installer support
	install -Dm755 "$srcdir"/os-installer-deploy.sh \
		"$pkgdir"/etc/os-installer/deploy.sh

	# u-boot-asahi has a trigger that installs m1n1+u-boot and expects this dir to
	# exist, or else it crashes. This dir won't exist when building a new
	# install/image so we have to create it manually.
	mkdir -p "$pkgdir/boot/m1n1"
}

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

	mkdir -p "$subpkgdir"
}

os_installer() {
	install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-os-installer"
	description="Support for using os-installer"
	depends="gojq"

	amove etc/os-installer/deploy.sh
}

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

sha512sums="
42a8fe25e024a9cec7b900ddbb2bd1275810b80bafadc043e571e060c76c8aa0eb545c5ad4714aa6ce0354785187ae987827dfc3b3948d7d9901575bbc2a70b0  deviceinfo
f111ddc0484f079af23520dcc9b4d909b55da327aec91545921a4ceafc52b21d88f37fbdb702e51ca1e49440b6afc2011ada8b681c1801f572bddc9cd34c9d9e  initramfs_copy_vendorfw.sh
11d5d6af50ed73e7e6940f7d56730f94a1bb42990d5dba9a798522060e7717c410c025b12def0345b4f43c97da268dabcb484c3004d23c1ac39b1eeaaefd2967  initramfs_setup_vendorfw.sh
d85e4c6660fe53ffaca5600fb907bf564dfe5e40a9a8069b1ee74701e58910d9d67c899c345e850c7cc29f8ae29f433883beae7eb84d375e8a4ae225c8dc0d78  modules-initfs
7b9a75b2d471be7eef06d4f4b6bff64a2164fd23332311388e1a1962a63b18dfed4d2252a910302313f556c84030ef92cdca4f853f9076874776db070b1c09cc  os-installer-deploy.sh
"
