# Reference: https://github.com/archlinuxarm/PKGBUILDs/blob/d2ee78cab3c298583eb3f3bed4d75970f54885be/core/linux-armv7/config
# Kernel config based on: ~2021 mainline kernel of the linux-armv7 package (5.x mainline) from archlinux arm
# Co-Maintainer: exkc <exkc@exkc.moe>
maintainer="Robert Eckelmann <longnoserob@postmarketos.org>"
pkgname=linux-postmarketos-marvell
pkgver=6.18.40
pkgrel=0
pkgdesc="mainline (stable) for Marvell SoC"
arch="armv7"
_carch="arm"
_flavor="${pkgname#linux-}"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native pmb:kconfigcheck-community"
makedepends="
	bc
	bison
	clang
	devicepkg-dev
	elfutils-dev
	findutils
	flex
	linux-headers
	lld
	llvm
	openssl-dev
	pahole
	perl
	python3
	xz
	zstd
"
replaces="linux-postmarketos-marvell-dove"

# Source
_config="config-$_flavor.$arch"
source="
	0001-dts-marvell-mmp3-merge-parts-from-linux-mmp.patch
	0002-dts-marvell-mmp3-dell-ariel-merge-parts-from-linux-m.patch
	0003-dts-marvell-mmp-dell-ariel-add-framebuffer.patch
	0010.patch
	0011.patch
	0012.patch
	0013.patch
	0014.patch
	wd-glacier.patch
	$pkgname-$pkgver.tar.xz::https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$pkgver.tar.xz
	$_config
"
builddir="$srcdir/linux-$pkgver"

prepare() {
	default_prepare
	cp -v "$srcdir"/$_config .config
}

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

package() {
	install -Dm644 "$builddir/arch/$_carch/boot/zImage" \
		"$pkgdir/boot/vmlinuz"

	make 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
}


sha512sums="
3ebc58600a07e07fba681c497b36a7f21de9f9034dab70988ad54e606affa33c49ba3580f92b8343e42b6cfad3b23531ac133d97c2c998878d96bd21d738475d  0001-dts-marvell-mmp3-merge-parts-from-linux-mmp.patch
ac8471bae424aa0e5835f8c6ed04834918ca665941910fe132353bc35735f1e848e3c34b11e3cd50a49487ba8b5e7cd2a22efb678f19aa85a584efa01d8b49b1  0002-dts-marvell-mmp3-dell-ariel-merge-parts-from-linux-m.patch
107416ff25b85f1ae28cb44bbe859f854f075927437c0e6b1f6fe687baff68410ed7deac7b1d44bfca4f4868964105941800ee3887da8d12efd9d893c43d755d  0003-dts-marvell-mmp-dell-ariel-add-framebuffer.patch
f025cf1e61516a133f52087a851ace4e074933dc36c6e02269503739c6c0ac6651477c27911135f8fabbe466c118746535285710259ece023236d46e12731249  0010.patch
7a7c4d2c7203fc1304f9736ced52f8c4fced6c987d025be67794cb944c20f63f2cddd72b706ef71523bc65a0b55cd4eddba8f44ebe4ef5d9c78219fefca4f456  0011.patch
2499c089eb16d49081fe28a40e1054fee9bc817450fdf80fb6b224007de622b9f419671733aa418532ea9a75b401177ed380dc4b082db6f64f01a53eeeee09aa  0012.patch
bece6f2dc2ca6c775224084d9a3bf282141751cdd1dcddea98427f2aab8f8b0be89b9e5c8577c33b668756e95f4721b083c310f0c393f6cf0b6609ff2e286c5e  0013.patch
25eca1ce39c8986323f127d09e4028861a11e3272c900d0f41ca620782191aadba731c9d7b3ea45389f99631ab160be13a1e71954401636ec19c7d6a12a41cd6  0014.patch
6b5298ffabacbdfa454187114a2854b5e5873e718b3282115eda68fd151d37c064e574ac1d082cbbde96a6675f5a32ce8de9ed3f8daa9f8dac3038e288bd97bb  wd-glacier.patch
c79b74b450c00c3da75da59bee5659687f06d3814ebc1c9e6304a89ec756c02caedcb6067897842ea2444c794dbfb83b2feaa6a22c463fe51323ce730554f9a1  linux-postmarketos-marvell-6.18.40.tar.xz
1648082c694ebcaab1582f4ffbfe87c144e04c2a109cc1943e6e8d10866bec9ebe2a4eb42e6e681c82a8f62945b5e1a8cfc19522bc8ef0bdbfaf91db6713151d  config-postmarketos-marvell.armv7
"
