# nvidia-lts-drivers - NVIDIA driver built for the LTS kernel
# Generated from manifest.tsv by gen-ports.py. Edit the manifest, not this file,
# unless the package needs something the template cannot express - in which case
# drop a `recipe.local` beside it and it will be preserved.
name=nvidia-lts-drivers
version=590.48
release=1
desc="NVIDIA driver built for the LTS kernel"
url="https://www.nvidia.com/"
license="NVIDIA-proprietary"
depend="glibc Arctic-lts-kernel"
makedepend="linux-headers"
source="https://us.download.nvidia.com/XFree86/Linux-x86_64/590.48/NVIDIA-Linux-x86_64-590.48.run"
sha256="SKIP"

# Built against every installed kernel. alpm re-runs this from the package's
# post_upgrade hook whenever a kernel changes, which is what dkms is for.
#
# gmake, not make: Linux's kbuild is written against GNU make and bmake cannot
# drive it. /usr/bin/make on Arctic is bmake, so kernel modules ask for gmake
# explicitly.
build() {
	cd "NVIDIA-Linux-x86_64-590.48.run"
	for kdir in /usr/lib/modules/*/build; do
		[ -d "$kdir" ] || continue
		gmake -C "$kdir" M="$PWD" modules
	done
}

package() {
	cd "NVIDIA-Linux-x86_64-590.48.run"
	for kver in $(ls /usr/lib/modules); do
		install -d "$pkgdir/usr/lib/modules/$kver/extra"
		for ko in *.ko; do
			[ -f "$ko" ] && install -Dm644 "$ko" \
				"$pkgdir/usr/lib/modules/$kver/extra/$ko"
		done
	done
	true
}
