# Maintainer: Martijn Braam <martijn@brixit.nl>
# Co-Maintainer: Luca Weiss <luca@z3ntu.xyz>
# Co-Maintainer: Bart Ribbers <bribbers@disroot.org>
# Co-Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
# Co-Maintainer: Clayton Craft <clayton@craftyguy.net>
_flavor=postmarketos-allwinner
_config="config-$_flavor.$CARCH"
pkgname=linux-$_flavor
pkgver=5.17.0_git20220313
pkgrel=0
_tag="orange-pi-5.17-20220313-2345"
pkgdesc="Kernel fork with Pine64 patches (megi's tree, slightly patched)"
arch="aarch64 armv7"
url="https://megous.com/git/linux/"
license="GPL-2.0-only"
makedepends="
	bison
	devicepkg-dev
	findutils
	flex
	gmp-dev
	installkernel
	mpc1-dev
	mpfr-dev
	openssl-dev
	perl
	rsync
	xz
	bash
	"
options="!strip !check !tracedeps
	pmb:cross-native
	pmb:kconfigcheck-anbox
	pmb:kconfigcheck-iwd
	pmb:kconfigcheck-nftables
	pmb:kconfigcheck-zram
	"
source="$pkgname-$_tag.tar.gz::https://github.com/megous/linux/archive/$_tag.tar.gz
	config-$_flavor.aarch64
	config-$_flavor.armv7
	0001-dts-add-dontbeevil-pinephone-devkit.patch
	0002-dts-add-pinetab-dev-old-display-panel.patch
	0003-dts-pinetab-add-missing-bma223-ohci1.patch
	0004-arm64-dts-allwinner-Add-bluetooth-node-to-the-PineTa.patch
	0005-dts-pinetab-make-audio-routing-consistent-with-pinep.patch
	0006-dts-pinephone-drop-modem-power-node.patch
	0007-drm-panel-simple-Add-Hannstar-TQTM070CB501.patch
	0008-ARM-dts-sun6i-Add-GoClever-Orion-70L-tablet.patch
	0009-drm-panel-simple-Add-Hannstar-HSD070IDW1-A.patch
	0010-ARM-dts-sun6i-Add-Lark-FreeMe-70.2S-tablet.patch
	0011-eMMC-workaround.patch
	0012-arm64-dts-allwinner-orangepi-3-fix-ethernet.patch
	"
subpackages="$pkgname-dev"
builddir="$srcdir/linux-$_tag"

case "$CARCH" in
	aarch64*) _carch="arm64" ;;
	arm*) _carch="arm" ;;
esac


prepare() {
	default_prepare

	REPLACE_GCCH=0 \
		. downstreamkernel_prepare
}

build() {
	unset LDFLAGS
	make ARCH="$_carch" CC="${CC:-gcc}" \
		KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-$_flavor" \
		CFLAGS_MODULE=-fno-pic \
		DTC_FLAGS="-@"
}

package() {
	downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor"

	make -j1 modules_install dtbs_install \
		ARCH="$_carch" \
		INSTALL_MOD_STRIP=1 \
		INSTALL_MOD_PATH="$pkgdir" \
		INSTALL_DTBS_PATH="$pkgdir/usr/share/dtb"
}

dev() {
	provides="linux-headers"
	replaces="linux-headers"

	cd $builddir

	# https://github.com/torvalds/linux/blob/master/Documentation/kbuild/headers_install.rst
	make -j1 headers_install \
		ARCH="$_carch" \
		INSTALL_HDR_PATH="$subpkgdir"/usr
}
sha512sums="
b24b34e9a8ef66d37891c1d21eb71f9de83e0fde167ac08d776ac3e7b6262e9911908b453b598eb2e01658ec141d4d08337e4cc20f77af298e639ef9119edb61  linux-postmarketos-allwinner-orange-pi-5.17-20220313-2345.tar.gz
c2473cbe6e94004ad7e285e6b8f374f857a0bc0ea8bab4b82a868796c5ad7dc612f2b80b32025803d93a7bd4148429ebb35ce7a238daf990f496331cd5f899af  config-postmarketos-allwinner.aarch64
18738214275280f45375de9ccff83df7c9f37eb66dfd0834780e6b155d95a7d39c55f00fd66be4dde4a8b85accd285b6ef10285b41f75618ad7f44ddcdd0b9a9  config-postmarketos-allwinner.armv7
244d2c1356f5de77a5d05ba16d10e0d19915f634b3b1b96259857b1a3d57a023027a94622ffb56d5c72aeaeb7a9a220d629d51cfbb24225a7eca0140eb1ba19b  0001-dts-add-dontbeevil-pinephone-devkit.patch
31e2f5e0f590f017a355469609b5fd97fbc18d54c42a98bd44944a91a8e42eade0963def4704bc04d6cc5316a8adfe97b7854a2053fc33847ee797830218e029  0002-dts-add-pinetab-dev-old-display-panel.patch
8b7f5b3fccc030d3278725131d1af4c13efbc6ba037f3d734ff8bd1bcd5d2f2a2f024d83b90f0f780e9ddbfbdc20c8f5f1541580c5da3fb3cefb7f391c285aaa  0003-dts-pinetab-add-missing-bma223-ohci1.patch
f5c8e1acd9f3a25915d22d94e380c1e6cde1d7b056d0d7080ae4e012f0eeccbe5d4fb57847049564c7d8eb791e6622619004af25a8f62646403c171d4ed10c82  0004-arm64-dts-allwinner-Add-bluetooth-node-to-the-PineTa.patch
f6ec1e0cc5b0a34e5b98535f9ff45dc0b1b6b5ec1f622ef6780cc9fac0db2ada455aae37d731e4ae7d7c51be773e400a8d6215bbcc97f9dd223ae4f2b0c8782e  0005-dts-pinetab-make-audio-routing-consistent-with-pinep.patch
623a08ef4138b150917edaa76f5d2c1b099acae6dab01bd255f55824d967424537c731cb83fe85597ac46506361b7ed7a68b0d35feb537c25daa6e7e03641b6d  0006-dts-pinephone-drop-modem-power-node.patch
139c78ffcd66d813f2bd729b7aa81550608f1fc97667dbcd0cb55d00807e69adcbe86e59b637a3dad5336afabbb8e8d7d045955506a4a382d63ddb5caf5f4f01  0007-drm-panel-simple-Add-Hannstar-TQTM070CB501.patch
e9897068210edd3295fb813390b263ccc146541f4bc89e66fea4a48ce9114ac0ac0b2ef584943fbc590d111cb6748247c3c3f6f2da122ba6b9bd20e9c3ea45f4  0008-ARM-dts-sun6i-Add-GoClever-Orion-70L-tablet.patch
7d6a1c7c916f817104f40615be410de9015a1356bd77f087ded5259c80a979d8c4e2baf5f35555eb648f6ab5d43c585c67a2f9a5db10156df4eeb6ea8e762147  0009-drm-panel-simple-Add-Hannstar-HSD070IDW1-A.patch
f1e4658bc699cfb3f0e0eba7833a7e09da266b8817c427de6312c270379d9d8c6cc55d4a270984c5b95cd04cf3be85c36f0d1127abe513698f874b8cde0b1a95  0010-ARM-dts-sun6i-Add-Lark-FreeMe-70.2S-tablet.patch
6235d08a6a90ca2234cee4d092a4314cb8efdbe7d68fb9c954abe9a6921c93e160db3f680a408210755ed71c429171919320592ea1f6769f74f55b70b7dbf22e  0011-eMMC-workaround.patch
9ac8d531fe25365c6d1d1bf2903febc573746abde80b54852f31160a98bd31bb8ac29f6a0b7883706ef0bafbd4e0696a0a9f30bede5b211fae98cd93f453e8a3  0012-arm64-dts-allwinner-orangepi-3-fix-ethernet.patch
"
