# Maintainer: Minecrell <minecrell@minecrell.net>
# Kernel config based on: https://github.com/me176c-dev/archlinux-me176c/blob/master/linux-me176c/config

_flavor="asus-me176c"
pkgname="linux-$_flavor"
pkgver=5.4.20
_kernver=${pkgver%.*}
_me176cver=5.4.17
pkgrel=0
pkgdesc="Mainline kernel fork for ASUS MeMO Pad 7 (ME176C(X))"
arch="x86_64"
_carch="x86_64"
url="https://github.com/me176c-dev/linux-me176c"
license="GPL-2.0-only"
options="!strip !check !tracedeps"
depends_dev="perl gmp-dev elfutils-dev bash flex bison mpc1-dev mpfr-dev"
makedepends="$depends_dev sed installkernel bc linux-headers openssl-dev diffutils xz"

# Source
source="
	https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$_kernver.tar.xz
	linux-$pkgver.patch.xz::https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/patch-$pkgver.xz
	https://github.com/me176c-dev/linux-me176c/releases/download/$_me176cver/linux-me176c-$_me176cver.patch.xz
	config-$_flavor.$arch
"
builddir="$srcdir/linux-$_kernver"

prepare() {
	default_prepare

	# FIXME: Remove when https://gitlab.alpinelinux.org/alpine/abuild/merge_requests/23 is merged
	unxz -c "$srcdir/"*.patch.xz | patch -p1

	cp "$srcdir/config-$_flavor.$arch" .config
}

build() {
	unset LDFLAGS
	make ARCH="$_carch" CC="${CC:-gcc}" \
		KBUILD_BUILD_VERSION=$((pkgrel + 1 ))
}

package() {
	mkdir -p "$pkgdir"/boot
	make install modules_install \
		ARCH="$_carch" \
		INSTALL_PATH="$pkgdir"/boot \
		INSTALL_MOD_PATH="$pkgdir"
	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="9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f  linux-5.4.tar.xz
65fbcdbd41e35c17601ff15bbe33933be2ab7a694aa181a0b802cc11c1c653c9b688dbb382076cbad05983a0c07467955c035ae25f5175f7ce5bc24339303d77  linux-5.4.20.patch.xz
aa462bfcbba87469a617e2ffd4058cd41137b74f836aae47ac89bc70de2836b8f3ddce94f597e61bb287eb009bb71f4e831c487b0073011673d5db4a8d8ae080  linux-me176c-5.4.17.patch.xz
66b9350c59cc6853d8cf9efe98065df900e017d0e1ebf294b9de7a8bd888a6dee9589a8cfc0ac8ebdb757a1d710be2d7ec5b82169b525c3fa43601a6f57161a8  config-asus-me176c.x86_64"
