# Unmaintained: Downstream port, only for testing. Use mainline port (samsung-a5lte)!
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on:
#   make msm8916_sec_defconfig VARIANT_DEFCONFIG=msm8916_sec_a5_eur_defconfig SELINUX_DEFCONFIG=selinux_defconfig

pkgname=linux-samsung-a5lte-downstream
pkgver=3.10.49
pkgrel=1
pkgdesc="Samsung Galaxy A5 (SM-A500F) kernel fork"
arch="armv7"
_carch="arm"
_flavor="samsung-a5lte-downstream"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native"
makedepends="bash bc bison devicepkg-dev flex openssl-dev perl dtbtool gcc4 linux-headers"

# Compiler: GCC 4
if [ "${CC:0:5}" != "gcc4-" ]; then
	CC="gcc4-$CC"
	HOSTCC="gcc4-gcc"
	CROSS_COMPILE="gcc4-$CROSS_COMPILE"
fi

# Source
_repository="linux-downstream"
_commit="f3644d9f7508b0e9384786e021c5adaa24a7f743"
_config="config-$_flavor.$arch"
source="
	$pkgname-$_commit.tar.gz::https://github.com/msm8916-mainline/$_repository/archive/$_commit.tar.gz
	$_config
	cpr-dump.patch
	gpio-debug.patch
	memshare-debug.patch
	remove-gcc-wrapper.patch
	samsung-usb-ethaddr.patch
"
builddir="$srcdir/$_repository-$_commit"
_outdir="out"

prepare() {
	default_prepare
	REPLACE_GCCH=0 . downstreamkernel_prepare
}

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

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

	# Master DTB (deviceinfo_bootimg_qcdt)
	dtbTool -p scripts/dtc/ -o "$pkgdir"/boot/dt.img "$_outdir/arch/$_carch/boot/"
}

sha512sums="
96c27721621944f3b7e9000dd33753c93704da20aac80cf5860387bd20a3ac59b6db9fcbf224f53a73436f83bfcb8589c23c874d420bb323936f26aca69d840a  linux-samsung-a5lte-downstream-f3644d9f7508b0e9384786e021c5adaa24a7f743.tar.gz
cb7530bdec93504f166cc0f044ffda47a7b0eeacf77066ed1b5a2a4eeaec25b284c63f337bd5ac835bac8943c78d40ac9ba1863ed3e418564bbdf2452c9146a2  config-samsung-a5lte-downstream.armv7
f040a1d7169b9ddb5baabb7de1838441e8608894dc6dc61ececb1acb4fe9851289934b37d74afb61addc01d7a1e4f1d2413f5e542c2a4aeb0c01f680797d37c6  cpr-dump.patch
e9f809b6659375cd7e854821f9925faa263d287c06e44071017cd4afb32f79c47e63760c9c95b4f0c15b79b6b1af4a36911861104a7b56dea2195baf9e4f4685  gpio-debug.patch
56083a8b290a7b1b1ffc9c8e3333db6d786a20d6e91ee400e895ecee8d31cccc75d809be13bcfe5cfb7d5b53a687b25281e8fd454cf420468ded3f77dcea9897  memshare-debug.patch
4a09fdcf99a4716a4ced11b7d74b7867423e5f6fa6c62674e57f496a10647c0b704fd5f91c46711e363337b54d3b7917b6c685230568eab44b6303bd285a2b61  remove-gcc-wrapper.patch
04f7df03f4c9e4b144c24c33b6fadc98381dacf891535ba18d791c250366550c59dba19418e47dbe575671e253d19a1e8076dd7f46743c0123e624a65366aaa6  samsung-usb-ethaddr.patch
"
