# Mainline Linux kernel fork with patches for MediaTek MT6768 devices
# Kernel config based on: arch/arm64/configs/mt6768_defconfig
maintainer="Abdullah AL Shohag <HackerShohag@outlook.com>"
_flavor="postmarketos-mediatek-mt6768"
pkgname=linux-$_flavor
pkgver=6.16.0
pkgrel=4
pkgdesc="Mainline Kernel fork for MT6768-based devices"
_commit="781287a2e573dc9bb85a1bc90b86a94f58671853"
arch="aarch64"
_carch="arm64"
_config="config-$_flavor.$arch"
url="https://github.com/mt6768-mainline/linux"
license="GPL-2.0-only"
options="!strip !check !tracedeps
	pmb:cross-native
"
makedepends="
	android-tools
	bison
	clang
	elfutils-dev
	findutils
	flex
	linux-headers
	lld
	llvm
	openssl-dev
	pahole
	perl
	postmarketos-installkernel
	python3
	zstd
"

# Source
source="
	https://github.com/mt6768-mainline/linux/archive/$_commit/linux-$_commit.tar.gz
	$_config
"
builddir="$srcdir/linux-$_commit"

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

build() {
	unset LDFLAGS
	make ARCH="$_carch" LLVM=1 HOSTLDFLAGS="-fuse-ld=lld" \
		KBUILD_BUILD_VERSION="$((pkgrel + 1))-$_flavor" \
		V=1
}

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"/usr/lib/modules/*/build "$pkgdir"/usr/lib/modules/*/source

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

	dtbodir="$builddir/$_outdir/arch/arm64/boot/dts/mediatek"
	mkdtboimg create "$pkgdir/boot/dtbo.img" \
		"$dtbodir/mt6769t-xiaomi-lancelot-minimal-dtbo.dtb"
}

sha512sums="
4dbce2873a545d35199a6b328915f3bb548ff4df41ebf1d5530cbfeb68faa802b028605a707f6aef806f3bfdb1d965f87b6c82b2fb25530fbd88e8fb36554ac6  linux-781287a2e573dc9bb85a1bc90b86a94f58671853.tar.gz
01c657267ae83c2fd27a694e2ccd3e3edb30802e0cbc221ca4c341a0670ff452627e69ee506e72d53b8be742d32c71244041d9825a14bd9597afd9954b9343a9  config-postmarketos-mediatek-mt6768.aarch64
"
