# Kernel config based on: arch/arm/configs/cyanogenmod_tuna_defconfig

pkgname="linux-samsung-maguro"
pkgver=3.0.31
pkgrel=13
pkgdesc="Samsung Galaxy Nexus kernel from LineageOS"
arch="armv7"
_carch="arm"
_flavor="samsung-maguro"
url="https://github.com/LineageOS/android_kernel_samsung_tuna"
license="GPL2"
options="!strip !check !tracedeps"
makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev gcc6"

# Compiler: this kernel was only tested with GCC6. Feel free to make a merge
# request if you find out that it is booting working with newer GCCs as
# well. See <https://postmarketos.org/vendorkernel> for instructions.
if [ "${CC:0:5}" != "gcc6-" ]; then
	CC="gcc6-$CC"
	HOSTCC="gcc6-gcc"
	CROSS_COMPILE="gcc6-$CROSS_COMPILE"
fi

# Source
_repository="android_kernel_samsung_tuna"
_commit="e14e5fe679a63eef92346cde874175d8b62b6a4a"
_config="config-${_flavor}.armv7"
source="
	$pkgname-$_commit.tar.gz::https://github.com/LineageOS/${_repository}/archive/${_commit}.tar.gz
	$_config
	compiler-gcc6.h
	android_paranoid_network.patch
	fix_old_perl_code.patch
"
builddir="$srcdir/${_repository}-${_commit}"

prepare() {
	default_prepare

	# gcc6 support
	cp -v "$srcdir/compiler-gcc6.h" "$builddir/include/linux/"

	cp "$srcdir"/$_config "$builddir"/.config
	make ARCH="$_carch" HOSTCC="$HOSTCC" silentoldconfig
}

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

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

	install -D "$builddir/include/config/kernel.release" \
		"$pkgdir/usr/share/kernel/$_flavor/kernel.release"
}

sha512sums="f117b3202c3db1a575598fd87ee27080db5c447c986ced677b63e6b00613ebfab58d634bf63b8bcf0c229eb0bec4dc81b13d7cfda3c2aee62e9ed8e26eeb860c  linux-samsung-maguro-e14e5fe679a63eef92346cde874175d8b62b6a4a.tar.gz
eb9bd3f80fd57a0f8be7e5236f4bc8d32159dae635327e656e598c48438e07e81085b4b687a325f18941fbea4d558c2408f8852f6f528500bd682a4f89c6bf22  config-samsung-maguro.armv7
d80980e9474c82ba0ef1a6903b434d8bd1b092c40367ba543e72d2c119301c8b2d05265740e4104ca1ac5d15f6c4aa49e8776cb44264a9a28dc551e0d1850dcc  compiler-gcc6.h
d8cdc1137e6a4ad78a3a31acc40f0c98f4db272eaf5b90ee850abb83b80916c4ff3c18a0a181e94eebead44213f6314e3363d0c4b91d95ee1adafbcad6dc57ab  android_paranoid_network.patch
65eb11dca6645073885228af6aae6efa40b6f063fd04157b501acf40368bf331dd701f746ed187659f654a9354ddf304aaefca8ffc9ea2b00c145c61162e1189  fix_old_perl_code.patch"
