# Co-Maintainer: Alicja Michalska <ellyqw@mainlining.org>
# Co-Maintainer: Ingo Reitz <9l@9lo.re>
# Co-Maintainer: WeirdTreeThing <bradyn127@protonmail.com>
maintainer="Adam Thiede <me@adamthiede.com>"
pkgname=linux-postmarketos-mediatek-mt8173
pkgver=7.1.1
pkgrel=0
pkgdesc="Mainline kernel fork for Mediatek MT8173 devices"
arch="aarch64"
_carch="arm64"
_flavor="${pkgname#linux-}"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps
	pmb:cross-native
	pmb:kconfigcheck-community
"
makedepends="
	bash
	bison
	clang
	elfutils-dev
	findutils
	flex
	linux-headers
	lld
	llvm
	openssl-dev
	pahole
	perl
	postmarketos-installkernel
	python3
	xz
	zstd
"

# Source
_config="config-$_flavor.$arch"
case $pkgver in
	*.*.*)	_kernver=${pkgver%.0};;
	*.*)	_kernver=$pkgver;;
esac
# patches:
# https://lore.kernel.org/bpf/20260619-resolve-btfids-implicit-args-use-after-free-v1-1-2af87d4704c8@mainlining.org/
# https://lore.kernel.org/linux-mediatek/42607fa4-485d-4142-b31c-7bfac71118d2@adamthiede.com/
source="
	https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-${pkgver//_/-}.tar.xz
	$_config
	0001-resolve_btfids-preserve-parameter-names-when-process.patch
	0002-fix-display-blank-revert-commit.patch
"
builddir="$srcdir/linux-${_kernver//_/-}"

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

build() {
	unset LDFLAGS
	make ARCH="$_carch" LLVM=1 \
		KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
}

package() {
	mkdir -p "$pkgdir"/boot
	make zinstall modules_install dtbs_install \
		ARCH="$_carch" \
		LLVM=1 \
		INSTALL_PATH="$pkgdir"/boot \
		INSTALL_MOD_PATH="$pkgdir"/usr \
		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="
a8b618dadad2d84ff569c038dfb068943e251bb63e2694820fcac501dcc81791393e7cf1694ffb0aa5326ae8bc67e95840b489594e9a1de892752a0fb910371c  linux-7.1.1.tar.xz
c262ffced4df825ea0660d2b4303ff07f80b0fd58592506c4ae0340cb9c50013e122756380420793b0a1a9f51b030210f3c3e732c6b5556455bd13eb6589a7fb  config-postmarketos-mediatek-mt8173.aarch64
901780c4c468ebf8b6af7c27530fafb0439dfae889208c35f22aa7447902078d147db69a1c8e2115cd13f51c641eef878d9335b7527dc7fa2240cd617e045aab  0001-resolve_btfids-preserve-parameter-names-when-process.patch
f141bc09d99a08e615b35fe82ffd11ed0b41c24701dfd541aece6af8859ca8c44769064bf8c8afa7c341b63c6fd1bcb2cf15ae9a23d3b8966c8be3da8a59c21b  0002-fix-display-blank-revert-commit.patch
"
