# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on make defconfig

pkgname=linux-samsung-a53x
pkgver=5.10.6
pkgrel=1
pkgdesc="Samsung Galaxy A53 5G kernel fork"
arch="aarch64"
_carch="arm64"
_flavor="samsung-a53x"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native"
makedepends="
	bash
	bc
	bison
	clang
	devicepkg-dev
	findutils flex
	openssl-dev
	perl
	python3
	xz
	llvm
	lld
	linux-headers
"

# Source
_repository="s5e8825"
_commit="b155b4e2fcf8ee5aa6f5f71d2133eef9f3ec5e4d"
source="
	$pkgname-$_commit.tar.gz::https://git.severkar.eu/SM-A536/Gabriel2392_android_kernel_samsung_a53x_xy/archive/$_commit.tar.gz
"
builddir="$srcdir/gabriel2392_android_kernel_samsung_a53x_xy"
_outdir="out"

prepare() {
	default_prepare

	local i
	local makefiles="$(find $builddir -type f -name Makefile)
		$(find . -type f -name Kbuild)"
	for i in $makefiles; do
		sed -i 's/-Werror-/-W/g' "$i"
		sed -i 's/-Werror//g' "$i"
		sed -i 's/=strict-prototypes//g' $i
		sed -i 's/=implicit-function-declaration//g' $i
		sed -i 's/=implicit-int//g' $i
		sed -i 's/=return-type//g' $i
		sed -i 's/=date-time//g' $i
		sed -i 's/=unknown-warning-option//g' $i
	done
	make PLATFORM_VERSION=12 ANDROID_MAJOR_VERSION=s \
		ARCH=$_carch TARGET_SOC=$_repository LLVM=1 \
		$_repository-a53xxx_defconfig
	echo "CONFIG_SECTION_MISMATCH_WARN_ONLY=y" >> $builddir/.config
}

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

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

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

	make modules_install dtbs_install \
		ARCH="$_carch" \
		LLVM=1 \
		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="
7c453806e8cf676e5000e7bdc83a4a745da980ab9fdd1163b54258a35b74e3a6f9b7b65965be086fd89649c1463bc88628092f8891316f570d0dbf7c571db2cc  linux-samsung-a53x-b155b4e2fcf8ee5aa6f5f71d2133eef9f3ec5e4d.tar.gz
"
