# Reference: <https://postmarketos.org/vendorkernel>
# Maintainer: Newbyte <newbyte@disroot.org>
# Kernel config based on: arch/arm/configs/u8500_defconfig

_flavor="postmarketos-stericsson"
_config="config-$_flavor.armv7"
pkgname=linux-$_flavor
pkgver=5.19_rc2
pkgrel=0
pkgdesc="Mainline kernel fork for ST-Ericsson NovaThor devices"
arch="armv7"
_carch="arm"
url="https://github.com/stericsson-mainline/linux"
license="GPL-2.0-only"
options="!strip !check !tracedeps
	pmb:cross-native
	pmb:kconfigcheck-anbox
	pmb:kconfigcheck-containers
	pmb:kconfigcheck-zram
	pmb:kconfigcheck-nftables
	"
makedepends="
	bash
	bison
	findutils
	gmp-dev
	flex
	mpc1-dev
	mpfr-dev
	openssl-dev
	perl
	postmarketos-installkernel
"
case $pkgver in
	*.*.*)	_kernver=${pkgver%.0};;
	*.*)	_kernver=$pkgver;;
esac
source="
	https://git.kernel.org/torvalds/t/linux-${_kernver//_/-}.tar.gz
	config-$_flavor.armv7
	disable-busy-detect-on-ux500-mmci.patch
	power-supply-ab8500-exit-maintenance-if-too-low-voltage.patch
	power-supply-ab8500-respect-charge_restart_voltage_uv.patch
	pwm-ab8500-get-hw-id-from-reg-value.patch
	"
builddir="$srcdir/linux-${_kernver//_/-}"

prepare() {
	default_prepare
	cp "$srcdir/config-$_flavor.$CARCH" .config
}

build() {
	unset LDFLAGS
	make ARCH="$_carch" CC="${CC:-gcc}" \
		KBUILD_BUILD_VERSION=$((pkgrel + 1 ))
}

package() {
	mkdir -p "$pkgdir"/boot
	make zinstall modules_install dtbs_install \
		ARCH="$_carch" \
		INSTALL_PATH="$pkgdir"/boot \
		INSTALL_MOD_PATH="$pkgdir" \
		INSTALL_DTBS_PATH="$pkgdir"/usr/share/dtb
	rm -f "$pkgdir"/lib/modules/*/build "$pkgdir"/lib/modules/*/source

	install -D "$builddir"/include/config/kernel.release \
		"$pkgdir"/usr/share/kernel/$_flavor/kernel.release
}

sha512sums="
bb0016e3f9f2f42c3e1b8e7e5a067e65cb2e76c5dacac55625655d6e65d286e9520860d21b7faecc7f20c3cff4a330b3ccddfb588595ef325dd81c56660daa1d  linux-5.19-rc2.tar.gz
a9b342b511b342c877ee3a10334e596bee30a0d326715158a5071027e38eaf5d2767886febaf0d698cab9bc37c8b318cd0a40a2b977557ad4aaca2d065b166bb  config-postmarketos-stericsson.armv7
4ea0fd3fa602bab21f0cc2c31462d3ef6958c63394b41061ddf0bc2c8baa8b9c571cb5553a37c43315df84049eb7d6a6dc4f873c6d06d9ea4883c37dce40d7ec  disable-busy-detect-on-ux500-mmci.patch
56c0e375d9078abf1144bf6df25dab176794a18d5c33f77e76b5dc44fc60f0f40ffe26991f0529ff36deaef0b3b66f8ae880968aa2459f774feb4c7993658bdd  power-supply-ab8500-exit-maintenance-if-too-low-voltage.patch
81c1acf81a250326b6917503ec70572e18b06864248f704c1a691b0f2fd096f9d0a87acd4e05e258583b4c21c990a3f3230a360a7a02f00b6e83e3034902641c  power-supply-ab8500-respect-charge_restart_voltage_uv.patch
56126fcfee94121cddacf6987d64517c88fb35739285143fd2fb7f8c3c10d3e326d931c5a981d3cbc5a09d7286e41c9013866b36532a410441140b4af80a2808  pwm-ab8500-get-hw-id-from-reg-value.patch
"
