# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/pinenote_defconfig
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=linux-pine64-pinenote
pkgver=6.15.11
_kernver=${pkgver%.*}
pkgrel=0
pkgdesc="Pine64 PineNote close to mainline fork"
arch="aarch64"
_carch="arm64"
_flavor="pine64-pinenote"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native"
makedepends="
	bash
	bc
	bison
	findutils
	flex
	openssl-dev
	perl
"

# Source
_config="config-$_flavor.$arch"
_commit="fa594ab9a7c3f6cf1e1fb69a112d709472bddba7"
source="
	https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$_kernver.tar.xz
	$pkgname-$pkgver.patch.xz::https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/patch-$pkgver.xz
	$pkgname-$_kernver-$_commit.patch::https://ayakael.net/forge/linux-pinenote/compare/$_commit..v$_kernver.patch
	pmos-kconfig-default.patch
	$_config
	arch-boot-dts-pinenote-use-sw-lid-to-susepend.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 ))-postmarketOS"
}

package() {
	mkdir -p "$pkgdir"/boot

	install -Dm644 "$builddir/arch/$_carch/boot/Image" \
		"$pkgdir/boot/vmlinuz"

	make modules_install dtbs_install \
		ARCH="$_carch" \
		INSTALL_PATH="$pkgdir"/boot/ \
		INSTALL_MOD_PATH="$pkgdir" \
		INSTALL_MOD_STRIP=1 \
		INSTALL_DTBS_PATH="$pkgdir"/boot/dtbs
	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="
d03788ffa8d8ae1b84ef1286bb44a08fc01432e509dfec6cccae5c5a5a47201d378aec2bcd21e6f0bbd1e625b26f47780c06ee9c1cef3775358f98b160923f30  linux-6.15.tar.xz
ce15c84d462d5b751bb8d535880116d28dce2151402835a8bdddfc5bb181c799e80a630022b49ea7d229e46002f3c4842c1361e007f560c56112421621e0df7b  linux-pine64-pinenote-6.15.11.patch.xz
4d35ee18a5631b8cdb381caad81fcc8ab64f050e197bfda168c7f4f12339eced201b8cc89f8f7353b405fde7e9734de04c4c63f7413db9e73d3f70d3e366a9b5  linux-pine64-pinenote-6.15-fa594ab9a7c3f6cf1e1fb69a112d709472bddba7.patch
522c7c38800ac0479f6e99e4e97ba88add5021fe6ab6eeba6e604a37635e48622c113919a425607edbe0abf2aa6bb95b2e824d5d2fe293e149fe588e05374122  pmos-kconfig-default.patch
1752b556065885fd3c229d2c4231cf3f7421c0f788b30fb6f61443d422582c6e1a4bdac82789f7502691754bcbec591fbe279ad28ea4149bf947b0c5eb727240  config-pine64-pinenote.aarch64
c1b755c620ca5c159462b97436e561e94268848008249c1ffa82492fa33582266d56172e4bcfc4ec18dba31a717aa8ff465db276ee21effb21c36384fd017a28  arch-boot-dts-pinenote-use-sw-lid-to-susepend.patch
"
