diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 114 |
1 files changed, 44 insertions, 70 deletions
@@ -1,4 +1,4 @@ -# Maintainer : Daniel Bermond < gmail-com: danielbermond > +# Maintainer : Daniel Bermond <dbermond@archlinux.org> # Contributor: Det <nimetonmaili g-mail> pkgbase=nvidia-full-beta-all @@ -8,25 +8,25 @@ pkgname=('nvidia-full-beta-all' 'nvidia-settings-full-beta-all' 'lib32-nvidia-utils-full-beta-all' 'lib32-opencl-nvidia-full-beta-all') -pkgver=440.31 -pkgrel=1 +pkgver=455.23.04 +pkgrel=2 pkgdesc='Full NVIDIA driver package for all kernels on the system (drivers, utilities and libraries) (beta version)' arch=('x86_64') url='https://www.nvidia.com/' license=('custom') -makedepends=('linux' 'linux-headers') +makedepends=('linux' 'linux-headers' 'dkms') options=('!strip') _pkg="NVIDIA-Linux-${CARCH}-${pkgver}" source=("https://us.download.nvidia.com/XFree86/Linux-${CARCH}/${pkgver}/${_pkg}.run" 'nvidia-drm-outputclass.conf' - 'nvidia-utils-full-beta-all.sysusers' - 'FS62142.patch' - 'nvidia-settings-full-beta-all-change-desktop-paths.patch') -sha256sums=('cd592f385c9bfb798f973225dfd086654973984762b669c7d765b074c0d8850f' - '5519cdb420a45c15030f99c5c8c73eff322dc24b55d20e0167f0f5e97ebf0a97' + 'nvidia-utils.sysusers' + '110-nvidia-change-dkms-conf.patch' + '120-nvidia-settings-change-desktop-paths.patch') +sha256sums=('8fe033313ac02d455609dee9497cc594d4f816642335a6a37f60c948745a6b67' + 'be99ff3def641bb900c2486cce96530394c5dc60548fc4642f19d3a4c784134d' 'd8d1caa5d72c71c6430c2a0d9ce1a674787e9272ccce28b9d5898ca24e60a167' - 'c961006882afb691410c017c239e2c2ef61badb88f15735d37112b513ef0a99d' - '633bf69c39b8f35d0e64062eb0365c9427c2191583f2daa20b14e51772e8423a') + '9d3267c1f22455aff7058951f587a2cf04c9b7830aac98e3944df0692edf0321' + '6bbc832f4f91a7c9ec4778eac5fffd633f5f547bc2d8bb89afe4f442ad3c8dda') # create soname links _create_links() { @@ -47,60 +47,36 @@ prepare() { [ -d "$_pkg" ] && rm -rf "$_pkg" printf '%s\n' " -> Self-Extracting ${_pkg}.run..." sh "${_pkg}.run" --extract-only - cd "${_pkg}" - bsdtar -xf nvidia-persistenced-init.tar.bz2 + bsdtar -C "$_pkg" -xf "${_pkg}/nvidia-persistenced-init.tar.bz2" + gunzip "$_pkg"/nvidia-{cuda-mps-control,modprobe,persistenced,settings,smi,xconfig}.1.gz + ln -s kernel "${_pkg}/nvidia-${pkgver}" - patch -Np1 -i "${srcdir}/nvidia-settings-full-beta-all-change-desktop-paths.patch" - - # create a build directory for each installed kernel - local _kernel - local -a _kernels - mapfile -t _kernels < <(find /usr/lib/modules/*/build/version -exec cat {} +) - for _kernel in "${_kernels[@]}" - do - cp -a kernel "kernel-${_kernel}" - printf '%s\n' " -> Applying patch(es) for kernel ${_kernel}..." - cd "kernel-${_kernel}" - - # fix https://bugs.archlinux.org/task/62142 - patch -Np2 -i "${srcdir}/FS62142.patch" - - cd .. - done + patch -d "$_pkg" -Np1 -i "${srcdir}/110-nvidia-change-dkms-conf.patch" + patch -d "$_pkg" -Np1 -i "${srcdir}/120-nvidia-settings-change-desktop-paths.patch" } build() { local _kernel - local -a _kernels - mapfile -t _kernels < <(find /usr/lib/modules/*/build/version -exec cat {} +) - - for _kernel in "${_kernels[@]}" + while read -r _kernel do - cd "${srcdir}/${_pkg}/kernel-${_kernel}" - - printf '%s\n' " -> Building Nvidia module for ${_kernel}..." - make SYSSRC="/usr/lib/modules/${_kernel}/build" module - done + printf '%s\n' " -> Building NVIDIA module for kernel ${_kernel}..." + fakeroot dkms build --dkmstree "$srcdir" --sourcetree "${srcdir}/${_pkg}" -m "nvidia/${pkgver}" -k "$_kernel" + done < <(find /usr/lib/modules/*/build/version -exec cat {} +) } package_nvidia-full-beta-all() { depends=("nvidia-utils-full-beta-all>=${pkgver}" 'libglvnd') - provides=("nvidia=${pkgver}" "nvidia-beta=${pkgver}") + provides=("nvidia=${pkgver}" "nvidia-beta=${pkgver}" 'NVIDIA-MODULE') conflicts=('nvidia') local _kernel - local -a _kernels - mapfile -t _kernels < <(find /usr/lib/modules/*/build/version -exec cat {} +) - - for _kernel in "${_kernels[@]}" + while read -r _kernel do - install -D -m644 "${_pkg}/kernel-${_kernel}/"nvidia{,-drm,-modeset,-uvm}.ko -t "${pkgdir}/usr/lib/modules/${_kernel}/extramodules" - - find "$pkgdir" -name '*.ko' -exec gzip -n {} + - done + install -D -m644 "nvidia/${pkgver}/${_kernel}/${CARCH}/module"/* -t "${pkgdir}/usr/lib/modules/${_kernel}/extramodules" + done < <(find /usr/lib/modules/*/build/version -exec cat {} +) + find "$pkgdir" -name '*.ko' -exec xz -T1 {} + printf '%s\n' 'blacklist nouveau' | install -D -m644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf" - install -D -m644 "${_pkg}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}" } @@ -113,7 +89,7 @@ package_nvidia-settings-full-beta-all() { cd "$_pkg" install -D -m755 nvidia-settings -t "${pkgdir}/usr/bin" - install -D -m644 nvidia-settings.1.gz -t "${pkgdir}/usr/share/man/man1" + install -D -m644 nvidia-settings.1 -t "${pkgdir}/usr/share/man/man1" install -D -m644 nvidia-settings.png -t "${pkgdir}/usr/share/pixmaps" install -D -m644 nvidia-settings.desktop -t "${pkgdir}/usr/share/applications" install -D -m755 "libnvidia-gtk3.so.${pkgver}" -t "${pkgdir}/usr/lib" @@ -152,7 +128,7 @@ package_nvidia-utils-full-beta-all() { "nvidia-libgl-beta=${pkgver}") conflicts=('nvidia-utils' 'nvidia-libgl') replaces=('nvidia-libgl') - install=nvidia-utils-full-beta-all.install + install=nvidia-utils.install cd "$_pkg" @@ -171,7 +147,7 @@ package_nvidia-utils-full-beta-all() { install -D -m755 "libEGL_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib" install -D -m755 "libGLESv1_CM_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib" install -D -m755 "libGLESv2_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib" - install -D -m644 "10_nvidia.json" -t "${pkgdir}/usr/share/glvnd/egl_vendor.d" + install -D -m644 10_nvidia.json -t "${pkgdir}/usr/share/glvnd/egl_vendor.d" # OpenGL core library install -D -m755 "libnvidia-glcore.so.${pkgver}" -t "${pkgdir}/usr/lib" @@ -203,9 +179,6 @@ package_nvidia-utils-full-beta-all() { # PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA) install -D -m755 "libnvidia-ptxjitcompiler.so.${pkgver}" -t "${pkgdir}/usr/lib" - # Fat (multiarchitecture) binary loader - install -D -m755 "libnvidia-fatbinaryloader.so.${pkgver}" -t "${pkgdir}/usr/lib" - # raytracing install -D -m755 "libnvoptix.so.${pkgver}" -t "${pkgdir}/usr/lib" install -D -m755 "libnvidia-rtcore.so.${pkgver}" -t "${pkgdir}/usr/lib" @@ -214,33 +187,36 @@ package_nvidia-utils-full-beta-all() { # Optical flow install -D -m755 "libnvidia-opticalflow.so.${pkgver}" -t "${pkgdir}/usr/lib" + # NGX + install -D -m755 "libnvidia-ngx.so.${pkgver}" -t "${pkgdir}/usr/lib" + # DEBUG install -D -m755 nvidia-debugdump -t "${pkgdir}/usr/bin" # nvidia-xconfig - install -D -m755 nvidia-xconfig -t "${pkgdir}/usr/bin" - install -D -m644 nvidia-xconfig.1.gz -t "${pkgdir}/usr/share/man/man1" + install -D -m755 nvidia-xconfig -t "${pkgdir}/usr/bin" + install -D -m644 nvidia-xconfig.1 -t "${pkgdir}/usr/share/man/man1" # nvidia-bug-report install -D -m755 nvidia-bug-report.sh -t "${pkgdir}/usr/bin" # nvidia-smi - install -D -m755 nvidia-smi -t "${pkgdir}/usr/bin" - install -D -m644 nvidia-smi.1.gz -t "${pkgdir}/usr/share/man/man1" + install -D -m755 nvidia-smi -t "${pkgdir}/usr/bin" + install -D -m644 nvidia-smi.1 -t "${pkgdir}/usr/share/man/man1" # nvidia-cuda-mps - install -D -m755 nvidia-cuda-mps-server -t "${pkgdir}/usr/bin" - install -D -m755 nvidia-cuda-mps-control -t "${pkgdir}/usr/bin" - install -D -m644 nvidia-cuda-mps-control.1.gz -t "${pkgdir}/usr/share/man/man1" + install -D -m755 nvidia-cuda-mps-server -t "${pkgdir}/usr/bin" + install -D -m755 nvidia-cuda-mps-control -t "${pkgdir}/usr/bin" + install -D -m644 nvidia-cuda-mps-control.1 -t "${pkgdir}/usr/share/man/man1" # nvidia-modprobe # This should be removed if nvidia fixed their uvm module! - install -D -m4755 nvidia-modprobe -t "${pkgdir}/usr/bin" - install -D -m644 nvidia-modprobe.1.gz -t "${pkgdir}/usr/share/man/man1" + install -D -m4755 nvidia-modprobe -t "${pkgdir}/usr/bin" + install -D -m644 nvidia-modprobe.1 -t "${pkgdir}/usr/share/man/man1" # nvidia-persistenced - install -D -m755 nvidia-persistenced -t "${pkgdir}/usr/bin" - install -D -m644 nvidia-persistenced.1.gz -t "${pkgdir}/usr/share/man/man1" + install -D -m755 nvidia-persistenced -t "${pkgdir}/usr/bin" + install -D -m644 nvidia-persistenced.1 -t "${pkgdir}/usr/share/man/man1" install -D -m644 nvidia-persistenced-init/systemd/nvidia-persistenced.service.template "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service" sed -i 's/__USER__/nvidia-persistenced/' "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service" @@ -251,6 +227,7 @@ package_nvidia-utils-full-beta-all() { install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" install -D -m644 README.txt "${pkgdir}/usr/share/doc/${pkgname}/README" install -D -m644 NVIDIA_Changelog -t "${pkgdir}/usr/share/doc/${pkgname}" + install -D -m644 supported-gpus.json -t "${pkgdir}/usr/share/doc/${pkgname}" cp -a html "${pkgdir}/usr/share/doc/${pkgname}/" #ln -s nvidia "${pkgdir}/usr/share/doc/nvidia-utils" @@ -264,7 +241,7 @@ package_nvidia-utils-full-beta-all() { # distro specific files must be installed in /usr/share/X11/xorg.conf.d install -D -m644 "${srcdir}/nvidia-drm-outputclass.conf" "${pkgdir}/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf" - install -D -m644 "${srcdir}/nvidia-utils-full-beta-all.sysusers" -t "${pkgdir}/usr/lib/sysusers.d" + install -D -m644 "${srcdir}/nvidia-utils.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf" _create_links } @@ -331,9 +308,6 @@ package_lib32-nvidia-utils-full-beta-all() { # PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA) install -D -m755 "libnvidia-ptxjitcompiler.so.${pkgver}" -t "${pkgdir}/usr/lib32" - # Fat (multiarchitecture) binary loader - install -D -m755 "libnvidia-fatbinaryloader.so.${pkgver}" -t "${pkgdir}/usr/lib32" - # Optical flow install -D -m755 "libnvidia-opticalflow.so.${pkgver}" -t "${pkgdir}/usr/lib32" |