# Reference: <https://postmarketos.org/devicepkg>
# Contributor: Martijn Braam <martijn@brixit.nl>
pkgname="device-pine64-pinephone"
pkgdesc="PINE64 PinePhone"
pkgver=0.2
pkgrel=7
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
subpackages="
	$pkgname-nonfree-firmware:nonfree_firmware
"
depends="postmarketos-base u-boot-pinephone uboot-tools mesa-git-dri-gallium linux-postmarketos-allwinner gpsd atinout bluez"
makedepends="devicepkg-dev"
install="$pkgname.post-install"
source="
	deviceinfo
	uboot-script.cmd
	sysrq.conf
	weston.ini
	hwtest.ini
	gpsd_pinephone.initd
	gpsd_device-hook.sh
	90-modem-eg25.rules
	ucm/sun50i-a64-audio.conf
	ucm/HiFi
	ucm/VoiceCall
	eg25.initd
	setup-modem-audio.sh
	setup-modem-audio.initd
"

build() {
	devicepkg_build $startdir $pkgname
	mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n postmarketos -d "$srcdir"/uboot-script.cmd "$srcdir"/boot.scr
}

package() {
	devicepkg_package $startdir $pkgname
	install -D -m644 "$srcdir"/boot.scr \
		"$pkgdir"/boot/boot.scr
	install -D -m644 "$srcdir"/hwtest.ini \
		"$pkgdir"/usr/share/hwtest.ini

	# GPS
	install -D -m755 "$srcdir"/gpsd_pinephone.initd \
		"$pkgdir"/etc/init.d/gpsd_pinephone
	install -D -m755 "$srcdir"/gpsd_device-hook.sh \
		"$pkgdir"/etc/gpsd/device-hook
	install -D -m644 "$srcdir"/90-modem-eg25.rules \
		"$pkgdir"/usr/lib/udev/rules.d/90-modem-eg25.rules

	# Fix "sysrq: HELP..." messages in dmesg while playing audio
	# (Headphone output interferes with the serial console on the headphone jack)
	install -D -m644 "$srcdir"/sysrq.conf \
		"$pkgdir"/etc/sysctl.d/sysrq.conf

	# Alsa usecase manager config
	install -D -m644 "$srcdir"/sun50i-a64-audio.conf \
		"$pkgdir"/usr/share/alsa/ucm2/sun50i-a64-audio/sun50i-a64-audio.conf
	install -D -m644 "$srcdir"/HiFi \
		"$pkgdir"/usr/share/alsa/ucm2/sun50i-a64-audio/HiFi
	install -D -m644 "$srcdir"/VoiceCall \
		"$pkgdir"/usr/share/alsa/ucm2/sun50i-a64-audio/VoiceCall

	# Modem
	install -Dm755 "$srcdir"/eg25.initd "$pkgdir"/etc/init.d/eg25
	install -Dm755 "$srcdir"/setup-modem-audio.sh \
		"$pkgdir"/usr/bin/pinephone_setup-modem-audio
	install -Dm755 "$srcdir"/setup-modem-audio.initd \
		"$pkgdir"/etc/init.d/pinephone_setup-modem-audio
}

nonfree_firmware() {
	pkgdesc="Wifi and Bluetooth firmware"
	depends="linux-firmware-rtlwifi linux-firmware-rtl_bt firmware-rtl8723bt"
	mkdir "$subpkgdir"
}
sha512sums="89516a6fd13ae8fd9bfab7fabc5320a7fafdb8ca9b8c2a3dec173d3ef781c5f9d64cca4333f79503d6bdc8154569fe1b8b48d2acd195bade574d035a9b8edef8  deviceinfo
35d760c53dfc16a1b54d40a686ae4b5494245dd69a3c668e30499bf3b0bd6d06144a02ba8caf3a35bebb319bd24baa4fadfdd8f846e393bbe7ca8bb048f737b0  uboot-script.cmd
f4b5509fd6a8b23f3667f5e7262b3a19c607a37cb9eaf7d0e93eb826d45c26ec12df4810879bacb8e4042bb83cc80b2b436224c8d47b6d67361369a724bbf7ee  sysrq.conf
c4c57d1627dd451213e1ef20d89de9266cd4edcc2d33a69aa9a1f13e16d9f9742036b69dc149fd910d7213f7525c41eb79576d4457bc85cc96eba0d986382d27  weston.ini
3dd6d612c381cb0002049d1974d8fb5aa5a53a1eb4d6bcbf62eb2ad52cfdc45f0f6ad24a699716d3513b0371aa1316f25dc72afc10d7176cc3b99d0965c3f030  hwtest.ini
1017fc3f325227da58c77abdc59e9735288d91a7ccc63ec784fe0241c523786b617a11ce8045dab2a74ca12a7dd70aaa334af91836418db1e96a3266fecaa4fd  gpsd_pinephone.initd
ccbc83b84b5028bc2c8e526759004ce71b50b2675ecffee98f5676c70a3332197a231ff9d2fd46444dd3c0a637ec08ce6125b18240fe6bfc13f624a15192e648  gpsd_device-hook.sh
aa0b7191548e89ddfc6cf5b1f637c7ee7ab4c2025cbfc6328e7e482e5b179ea072779ca332a18094e3d424708b923c2334210591fc369831426992f540c07abc  90-modem-eg25.rules
08a019cad26a8cb298e26ab5b9360b90b981d15f8562d434a00762e4ba14e16ae11cf5e516385aa5b428b0e8b310caee1e8ef7a40bafd66ffe8dde3026c6e17e  sun50i-a64-audio.conf
b93d06efb23ab3c715494d79533bdd3e09ebf49b2d2bea4bcaac2a980d33ffa8d6cbe5c6f0673aa63b0fc926e2c50858fb24f23ed1cbaaf715568c33caf983fc  HiFi
6fc5b8eec52b6d81ff7ff57f96e66eb1f49ae61816ede80ae95c54d696bb25c8c4d9f7c44ea4bee3f7e2fa8e6f3a7a9b997ca9188ccf7f45e85f026b039f7ccd  VoiceCall
5a1a9c774253e8211cc54f4b3961c4bdc35427726d037b0ecad099915e856590e8267a4a47943ab753772d57261eef89924b407b305b1099a9c4ecd7b5f00b35  eg25.initd
dc110f617efe28df3001630836c7df0cab20e74e99c4bb9d2c2f86367ae024dd30060e8c051c7be0e66e86f4656bef345189a6c13276808c4301d1a6deb8be7d  setup-modem-audio.sh
dadfb8ceb7a82fd4a684a0fd4459bfdf0330fccc1d1781dd8549ee9ab5d571b97ee1e5b8dde66ec85e08db410e2d66e63f9da3d0c327ee80bd8303bf81d03eaf  setup-modem-audio.initd"
