_flavor=postmarketos-allwinner
_config="config-$_flavor.$CARCH"
pkgname=linux-$_flavor
pkgver=5.5.0_git20200319
pkgrel=0

arch="aarch64"
pkgdesc="Kernel fork with Pine64 patches"
url="https://gitlab.com/pine64-org/linux/"
license="GPL-2.0-only"
makedepends="devicepkg-dev perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev openssl-dev file bison flex rsync"
options="!strip !check !tracedeps"
_commit="94cf851f0f4443c771a926102dee497def319b49"
source="
	$pkgname-$_commit.tar.gz::https://gitlab.com/pine64-org/linux/-/archive/$_commit/linux-$_commit.tar.gz
	config-$_flavor.aarch64
	disable-power-save.patch
	touch-dts.patch
"

subpackages="$pkgname-dev"

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

builddir="$srcdir/linux-$_commit"

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
}

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

	make -j1 modules_install dtbs_install \
		ARCH="$_carch" \
		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="cfaaf2334691105be22275c13c6f82d8630b070d0cdeb0e33e5c545d3673c8acce2ead6c2d0a1b7318414f12b50cc0aa3641842e05f4cc8187a690be13852341  linux-postmarketos-allwinner-94cf851f0f4443c771a926102dee497def319b49.tar.gz
b79e73d7508ccb93f1d01d3b43753e3d4d14fdf6144d5f6dfb9c6db3aaaf80b69bdc0285fe7c79786863507027399b7410c15ec3e88239ff626b6e07eb47698e  config-postmarketos-allwinner.aarch64
8cdfb6d8a894e610c261446663dfbe34c01612a091fa029645e86913634de4394db0d1ab7dedb190052dff82330f0ddabe31860bbf7cd6fe0cdf23e37d0a6ca6  disable-power-save.patch
5f403bb1e3e7528954adcba4429768ce26bf13382dc6325ced245babcfb5252d515bea812b9df16d0e5370c9d4e07b4e0267f4c750281faf3cb6ffb29906700c  touch-dts.patch"
