_extramodules=extramodules-6.12-next _kver=$(cat /lib/modules/${_extramodules}/version) pkgname=nvidia-470xx-next pkgver=470.256.02 pkgrel=26 pkgdesc="NVIDIA drivers for linux." arch=('x86_64') url="http://www.nvidia.com/" depends=('linux-next>=6.12' 'linux-next<6.13.0' "nvidia-470xx-utils=${pkgver}") makedepends=('linux-next-headers') conflicts=('nvidia' 'nvidia-390xx') backup=('etc/X11/xorg.conf.d/20-nvidia.conf') install=nvidia.install license=('custom') options=('!strip') _pkg="NVIDIA-Linux-x86_64-${pkgver}" source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run" 'linux-6.10.patch' 'linux-6.12.patch' 'gcc14.patch') md5sums=('57f54d5f6ddef5417215645aabbf9b9c' '77df0c9cbc081a979a5207dc740616cd' '96b666ed713940189dbdb99a69d63066' 'ef4f76758ebd4559d3c6c7e50797d0fd') build() { cd ${srcdir} sh ${_pkg}.run --extract-only cd ${_pkg}/kernel # patches from https://gist.github.com/joanbm?direction=desc&sort=updated patch -p1 -i ${srcdir}/linux-6.10.patch patch -p1 -i ${srcdir}/linux-6.12.patch patch -p1 -i ${srcdir}/gcc14.patch cd ${srcdir}/${_pkg}/kernel make SYSSRC=/lib/modules/${_kver}/build module } package() { install -D -m644 ${srcdir}/${_pkg}/kernel/nvidia.ko ${pkgdir}/lib/modules/${_extramodules}/nvidia.ko install -D -m644 ${srcdir}/${_pkg}/kernel/nvidia-modeset.ko ${pkgdir}/lib/modules/${_extramodules}/nvidia-modeset.ko install -D -m644 ${srcdir}/${_pkg}/kernel/nvidia-uvm.ko ${pkgdir}/lib/modules/${_extramodules}/nvidia-uvm.ko install -D -m644 ${srcdir}/${_pkg}/kernel/nvidia-drm.ko ${pkgdir}/lib/modules/${_extramodules}/nvidia-drm.ko # sign the module _file=/usr/src/linux-${_kver}/scripts/sign-file _pem=/$HOME/signing_key.pem _key=/$HOME/signing_key.x509 ${_file} sha256 ${_pem} ${_key} ${pkgdir}/lib/modules/${_extramodules}/nvidia.ko ${_file} sha256 ${_pem} ${_key} ${pkgdir}/lib/modules/${_extramodules}/nvidia-modeset.ko ${_file} sha256 ${_pem} ${_key} ${pkgdir}/lib/modules/${_extramodules}/nvidia-uvm.ko ${_file} sha256 ${_pem} ${_key} ${pkgdir}/lib/modules/${_extramodules}/nvidia-drm.ko install -d -m755 ${pkgdir}/etc/modprobe.d echo "blacklist nouveau" >> ${pkgdir}/etc/modprobe.d/nouveau_blacklist.conf sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" ${startdir}/nvidia.install gzip ${pkgdir}/lib/modules/${_extramodules}/*.ko }