Files
fempkg_recipes/nvidia.recipe.py

29 lines
1.7 KiB
Python

pkgname = "nvidia"
pkgver = "580.119.02"
kernel_ver = "6.18.2"
source = f"https://rocketleaguechatp.duckdns.org/pappalaugh.jpg"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
krl_src = f"https://rocketleaguechatp.duckdns.org/kernel-source-prep-{kernel_ver}.tar.xz"
deps = ["linux"]
build = [
# Extract
f"mkdir -p {builddir} && cd {fembuilddir} && mkdir -pv /var/tmp/fempkg/build/linux/linux-{kernel_ver}",
# 64-bit build
f"cd {builddir} && if [ -f \"/var/lib/fempkg/nvidia\" ]; then wget {krl_src} -O /var/lib/fempkg/pkgs/kernel-source-prep-{kernel_ver}.tar.xz && "
f"tar -xvf /var/lib/fempkg/pkgs/kernel-source-prep-{kernel_ver}.tar.xz -C /var/tmp/fempkg/build/linux/linux-{kernel_ver}/ && "
f"wget https://us.download.nvidia.com/XFree86/Linux-x86_64/{pkgver}/NVIDIA-Linux-x86_64-{pkgver}.run "
f"https://glfs-book.github.io/glfs/download/NVIDIA/install-NVIDIA-1 https://glfs-book.github.io/glfs/download/NVIDIA/manifest-NVIDIA-1 && "
f"sh NVIDIA-Linux-x86_64-{pkgver}.run -x && cd NVIDIA-Linux-x86_64-{pkgver}/kernel && make KERNEL_UNAME={kernel_ver} NV_EXCLUDE_KERNEL_MODULES= "
f"-j$(nproc) && make KERNEL_UNAME={kernel_ver} modules_install && cd .. && rm -rvf /usr/lib/firmware/nvidia/[0-9]* && "
f"mkdir -pv /usr/lib/firmware/nvidia/{pkgver} && cp -v firmware/*.bin /usr/lib/firmware/nvidia/{pkgver} && install -vdm755 /usr/share/nvidia && "
f"install -vDm755 ../install-NVIDIA-1 /usr/sbin/nvidia-install && install -vDm644 ../manifest-NVIDIA-1 /usr/share/nvidia/manifest && /sbin/nvidia-install; "
f"else echo \"Nvidia isn't enabled in fempkg's settings... Skipping\"; fi",
# Cleanup
f"rm -rf {builddir} /var/tmp/fempkg/build/linux"
]