# Unmaintained: Downstream port, only for testing. Use mainline port (alcatel-idol347)!
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm/configs/idol347_defconfig

pkgname=linux-alcatel-idol347-downstream
pkgver=3.10.49
pkgrel=1
pkgdesc="Alcatel Idol 3 4.7 downstream kernel fork"
arch="armv7"
_carch="arm"
_flavor="alcatel-idol347-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 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="e87abaceaaf3e67c25e1a734838ed277dc0c44a9"
_smb_tag="v5.11.7-msm8916"
_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
	idol347-like-mainline.patch
	memshare-debug.patch
	remove-gcc-wrapper.patch
	smb1360-debug-idol347.patch
	smb1360-dump-idol347.patch
	smb1360-dump-$_smb_tag.c::https://raw.githubusercontent.com/msm8916-mainline/linux/$_smb_tag/drivers/power/supply/smb1360-dump.c
	smb1360-like-mainline-idol347.patch
"
builddir="$srcdir/$_repository-$_commit"
_outdir="out"

prepare() {
	cp "$srcdir/smb1360-dump-$_smb_tag.c" drivers/power/smb1360-dump.c
	# Downstream doesn't define U8_MAX...
	sed -i 's/U8_MAX/0xff/g' drivers/power/smb1360-dump.c

	default_prepare
	REPLACE_GCCH=0 . downstreamkernel_prepare
}

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

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

sha512sums="
e09244e427be64d75450d692a7cd27cf2a035e5e2fd5382bab6d10f06b8d1ec455525748059627a35b4ce967192d68c19dd88cd5a748f2fa4f089b1468fdc8bc  linux-alcatel-idol347-downstream-e87abaceaaf3e67c25e1a734838ed277dc0c44a9.tar.gz
44174ab2e6af77f1b1dbb9d7f84f7756ce13a5e42618876eecbbcb3b4a4d7906b410ff75f9c192794d9ee49bbd34a4457279b43aa2ff22fb27415d08ad8ec4cd  config-alcatel-idol347-downstream.armv7
f040a1d7169b9ddb5baabb7de1838441e8608894dc6dc61ececb1acb4fe9851289934b37d74afb61addc01d7a1e4f1d2413f5e542c2a4aeb0c01f680797d37c6  cpr-dump.patch
e9f809b6659375cd7e854821f9925faa263d287c06e44071017cd4afb32f79c47e63760c9c95b4f0c15b79b6b1af4a36911861104a7b56dea2195baf9e4f4685  gpio-debug.patch
bab8a081879b5e4b0d8f280fda099fde5f47eab62e8eb3aa50c36475edafc2e6b70aba5b9eec56bcfa94dc1d483d43c1f5ca37d7a0ade4354f456b5fa30d53ae  idol347-like-mainline.patch
56083a8b290a7b1b1ffc9c8e3333db6d786a20d6e91ee400e895ecee8d31cccc75d809be13bcfe5cfb7d5b53a687b25281e8fd454cf420468ded3f77dcea9897  memshare-debug.patch
4a09fdcf99a4716a4ced11b7d74b7867423e5f6fa6c62674e57f496a10647c0b704fd5f91c46711e363337b54d3b7917b6c685230568eab44b6303bd285a2b61  remove-gcc-wrapper.patch
4f4ad8d9d8a7f04bf8f326e8bd87f17b3ff91d5792fd68c31ac777781ed44b97f06991ae9769bad01d8d1168a1cba0123ae69fd177dc8faa9cb663e115dc69ee  smb1360-debug-idol347.patch
594017763bc82b29a24f18e3b3f9275eebbb720422ef1c1ea4d2d598baa1bb54761bc6f452d94b2079f7a6c6f6d0b7606684cca137a2b91a1c5fb94b2140e8fa  smb1360-dump-idol347.patch
f61902474ab221a85a8910dcfbc48736e323a6bbc83896f778bb87d356464679c62ddf1c583e660a5c3c790dba420cce6cb9ca59b720234846dac7e80aa47368  smb1360-dump-v5.11.7-msm8916.c
33fe78be59acf7df9f0043819b66f79dba1fe2cd43cddedc361c17bb29454e1a55a5cd4825e9e61e45e7415986caddb795c0aefbd2fe8c631ffae24f2042bac1  smb1360-like-mainline-idol347.patch
"
