# Maintainer: xdavidwu <xdavidwuph@gmail.com>
pkgname=linux-xdavidwu-xps
pkgver=6.14.1
pkgrel=0
pkgdesc="Linux kernel customized for xps"
url="https://www.kernel.org/"
arch="all"
license="GPL-2.0-only"
depends=""
makedepends="sed bc bison flex openssl-dev coreutils linux-headers diffutils
	findutils elfutils-dev perl zstd installkernel kmod"
checkdepends=""
install=""
subpackages=""
source="https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-${pkgver}.tar.xz
	config
	tg3-57766-dma.patch
	fast_skylake.patch
	openwrt-402-ath_regd_optional.patch
	0101-i8042-decrease-debug-message-level-to-info.patch
	0102-increase-the-ext4-default-commit-age.patch
	0104-pci-pme-wakeups.patch
	0106-intel_idle-tweak-cpuidle-cstates.patch
	0108-smpboot-reuse-timer-calibration.patch
	0111-ipv4-tcp-allow-the-memory-tuning-for-tcp-to-go-a-lit.patch
	0115-enable-stateless-firmware-loading.patch
	0116-migrate-some-systemd-defaults-to-the-kernel-defaults.patch
	0120-do-accept-in-LIFO-order-for-cache-efficiency.patch
	0121-locking-rwsem-spin-faster.patch
	0122-ata-libahci-ignore-staggered-spin-up.patch
	0123-print-CPU-that-faults.patch
	0131-add-a-per-cpu-minimum-high-watermark-an-tune-batch-s.patch"
builddir="$srcdir/linux-${pkgver}"

build() {
	cp "$srcdir/config" .config
	sed -i 's/CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION="'"-$pkgrel-xdavidwu-xps"'"/' .config
	make syncconfig < /dev/null
	make KBUILD_BUILD_VERSION="$((pkgrel + 1))-Alpine"
}

check() {
	# Replace with proper check command(s)
	:
}

package() {
	mkdir -p "$pkgdir"/boot "$pkgdir"/lib/modules "$pkgdir"/usr/share/kernel/xdavidwu-xps
	env ZSTD_CLEVEL=19 ZSTD_NBTHREADS=$(nproc) make INSTALL_MOD_PATH="$pkgdir" INSTALL_PATH="$pkgdir"/boot INSTALL_MOD_STRIP=1 modules_install install
	rm -f "$pkgdir"/lib/modules/"$pkgver-$pkgrel-xdavidwu-xps"/build "$pkgdir"/lib/modules/"$pkgver-$pkgrel-xdavidwu-xps"/source
	echo "$pkgver-$pkgrel-xdavidwu-xps" > "$pkgdir"/usr/share/kernel/xdavidwu-xps/kernel.release
}

sha512sums="
97626b10117d3ce6b9c677d4a7ac903fca2e1e3bee387f494250484e7164ccebda644f6b0a0cf7c7df55804421897baff987264b43d414dc8ada1b07e958b261  linux-6.14.1.tar.xz
8a62835795fc30a99345b6095b8cd5c48283ea4f94e8becb5bcab87746e1d84deeef3efc380b06986adb9ea2e36f639d3793d4921c227aba106f6461b580be5f  config
b3691656d7191c80bdc10b2f520cad3503e3dd4ff3d03801fe65a77881d38ab45bb4d829c2109fe97423e8bb963edf16cea0d8b914f04e9d78e8c49f5c821a6a  tg3-57766-dma.patch
0691f5970ccdb2e297541f2436821738d3b215d5dfc3f388f903694e4f912139f41df69ccc3bf8a867241c7c8f8080870729c5d51cc30831f3eca1b6f5266dba  fast_skylake.patch
c0c5d023cac625dfe3086b37b5abb4be8981db301a468e93d495c08b7650debbf47b7a24c39293731951315658164e36783e5a46fb26fc51ed6fc72e3716307c  openwrt-402-ath_regd_optional.patch
b2de23b9f86fc670537f432cd0b141e28d6da1b879a3a6457b8597699ed8e55df5f44df014df3d6cef4efbc7f14685bf4720033ba94276e18c2aef825107ccc3  0101-i8042-decrease-debug-message-level-to-info.patch
edc8a2d463dc15ace6016b8da96c0de284a280534eade094c5fa6717760eed9ecdb90068bf0fa3db10bf246641615b8300ab5a7e25641cc43bb99a3fbd8bc000  0102-increase-the-ext4-default-commit-age.patch
303504654b1747c3aa923825ab67e48114edb9388b1f2ff897f1d1b18376b0c1b03c3d34dcd029ee78889a50310e7ae551272cd3b0c3240fc703847664ce6c43  0104-pci-pme-wakeups.patch
5483799f084b7a7c63660d9b9c0f392eaf734221b8e55480177aee06c0a24481008f74f33c3e9252e9c5982065918af7304d6786d7e7d2685d24ef92b958d7f2  0106-intel_idle-tweak-cpuidle-cstates.patch
828d66bb480dd974cfaa3b89e4839195ce6d24e37f39ba35e7a0c13a062f137b6875c2f9051384f4e7a51bf2f3b44e988ec1b8a310fdafff8b9dc77b34f59b6c  0108-smpboot-reuse-timer-calibration.patch
8a53deaf73a1fa8f7d68737a1ab446c18c73b1b1bb3e5eaec6ff39240eed1e76ed017504f180052e8ec7ccc26fc7f673ed5ddae2b1dc9f89b85288bbe54357bf  0111-ipv4-tcp-allow-the-memory-tuning-for-tcp-to-go-a-lit.patch
6e202984fefa1969a0bf6063b33e6fdd6d7e31917369edbf45b42e0a985721fd465252b235812780722f7163466314cd71810ae884f66c67567e4e26adee28aa  0115-enable-stateless-firmware-loading.patch
ead629b352126972268e96e6f0b34b558b96fbc9d0efbb7b6c560671fe61c97272492509f190b682c2b7db0da485886a941f58a502d72095c208e492f2f4ccd0  0116-migrate-some-systemd-defaults-to-the-kernel-defaults.patch
66cea1c904f3642bc23b0a609564b1bfb6b36dda2f927145354659b59ffaf412ccdf5ffaf37197edaf07a6be1ea5a5ace21007a883df41d6877264d734dd30f7  0120-do-accept-in-LIFO-order-for-cache-efficiency.patch
c0ee48709ba1e70e0c4fa99f7a41514f629db6383febf4e067fa452ac10b4de57a31a5955fdc654e739e6e46656b788ebc10ce89efe382b7533fd9a6e4774b89  0121-locking-rwsem-spin-faster.patch
d406b33ccc8ca6c2a0c5e8b32889a059ddbac68ec2e0ebc30251fc90f0784ceca21a25a25b09cff390593d2cc797df5c1620a323e6384e120ab91cd5b7a5108a  0122-ata-libahci-ignore-staggered-spin-up.patch
abd9e26d870848a12a274ffef19ff1ab495404c4e1787c0c07ce54eac2a1929698ee52c7ad6d0d17cd1d18dc53d7a40ee3acff911529a7d21951f351e2648bcc  0123-print-CPU-that-faults.patch
eed111149b697e0725f803559096f9328b3b95c04a3cedcca8b718b12699ffa5ad0c9b74fecf8acbed66b06de6ea56c2f130d79a6b67e15bd2a748e10182443f  0131-add-a-per-cpu-minimum-high-watermark-an-tune-batch-s.patch
"