diff options
author | Daniel Bermond | 2018-10-27 15:56:53 +0000 |
---|---|---|
committer | Daniel Bermond | 2018-11-10 16:25:33 +0000 |
commit | 91a2bfd002f73469424306df959c20851edfd945 (patch) | |
tree | 222c61f6f3b3ff86819b81251798c01949ad5836 /PKGBUILD | |
parent | 26f982929289a409f4a455489246a082c4ec21b0 (diff) | |
download | aur-91a2bfd002f73469424306df959c20851edfd945.tar.gz |
Cosmetic changes
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 667 |
1 files changed, 338 insertions, 329 deletions
@@ -11,7 +11,7 @@ _lib32=0 pkgbase=nvidia-full-beta pkgname=('nvidia-full-beta' 'nvidia-utils-full-beta' 'nvidia-egl-wayland-full-beta' 'nvidia-libgl-full-beta' 'opencl-nvidia-full-beta') pkgver=410.73 -pkgrel=1 +pkgrel=2 pkgdesc="Full NVIDIA driver package for Arch's official 'linux' package (drivers, utilities, and libraries) (beta version)" arch=('x86_64') url='http://www.nvidia.com/' @@ -41,17 +41,22 @@ sha256sums=('7d6b6c9931f8b89404149a5fdf7a580edae0cd567cc2d4ffe3823b1af02a705d' _eglver=1.1.0 _extramodules=extramodules-ARCH +# create missing soname links _create_links() { - # create missing soname links - for _lib in $(find "$pkgdir" -name '*.so*' | grep -v 'xorg/'); do - # Get soname/base name - _soname=$(dirname "$_lib")/$(readelf -d "$_lib" | grep -Po 'SONAME.*: \[\K[^]]*' || true) - _base=$(echo "$_soname" | sed -r 's/(.*).so.*/\1.so/') - - # Create missing links - [[ -e $_soname ]] || ln -s $(basename "$_lib") "$_soname" - [[ -e $_base ]] || ln -s $(basename "$_soname") "$_base" - done + local _lib + local _soname + local _base + + for _lib in $(find "$pkgdir" -name '*.so*' | grep -v 'xorg/') + do + # get soname/base name + _soname="$(dirname "$_lib")/$(readelf -d "$_lib" | grep -Po 'SONAME.*: \[\K[^]]*' || true)" + _base="$(echo "$_soname" | sed -r 's/(.*).so.*/\1.so/')" + + # create missing links + [ -e "$_soname" ] || ln -s "$(basename "$_lib")" "$_soname" + [ -e "$_base" ] || ln -s "$(basename "$_soname")" "$_base" + done } prepare() { @@ -80,228 +85,231 @@ build() { } package_opencl-nvidia-full-beta() { - pkgdesc="NVIDIA's OpenCL implemention for 'nvidia-utils-full-beta'" - depends=('zlib') - optdepends=('opencl-headers: headers necessary for OpenCL development') - provides=("opencl-nvidia=$pkgver" 'opencl-driver') - conflicts=('opencl-nvidia') - cd $_pkg - - # OpenCL - install -Dm644 nvidia.icd "$pkgdir"/etc/OpenCL/vendors/nvidia.icd - install -Dm755 libnvidia-compiler.so.$pkgver "$pkgdir"/usr/lib/libnvidia-compiler.so.$pkgver - install -Dm755 libnvidia-opencl.so.$pkgver "$pkgdir"/usr/lib/libnvidia-opencl.so.$pkgver - - # create missing soname links - _create_links - - # license - install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + pkgdesc="NVIDIA's OpenCL implemention for 'nvidia-utils-full-beta'" + depends=('zlib') + optdepends=('opencl-headers: headers necessary for OpenCL development') + provides=("opencl-nvidia=${pkgver}" 'opencl-driver') + conflicts=('opencl-nvidia') + + cd "$_pkg" + + # libraries + install -D -m755 "libnvidia-compiler.so.${pkgver}" -t "${pkgdir}/usr/lib" + install -D -m755 "libnvidia-opencl.so.${pkgver}" -t "${pkgdir}/usr/lib" + _create_links + + # vendor icd + install -D -m644 nvidia.icd -t "${pkgdir}/etc/OpenCL/vendors" + + # license + install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" } package_nvidia-libgl-full-beta() { - pkgdesc="NVIDIA driver library symlinks for 'nvidia-utils-full-beta'" - depends=('nvidia-utils-full-beta') - provides=("nvidia-libgl=$pkgver" 'libgl' 'libegl' 'libgles') - conflicts=('nvidia-libgl' 'libgl' 'libegl' 'libgles') - cd $_pkg - - mkdir -p "${pkgdir}/usr/lib/" - - # libGL (link) - ln -s /usr/lib/nvidia/libGL.so.1.7.0 "$pkgdir"/usr/lib/libGL.so.1 - ln -s libGL.so.1 "$pkgdir"/usr/lib/libGL.so - - # EGL (link) - ln -s /usr/lib/nvidia/libEGL.so.1.1.0 "$pkgdir"/usr/lib/libEGL.so.1 - ln -s libEGL.so.1 "$pkgdir"/usr/lib/libEGL.so - - # OpenGL ES 1 (link) - ln -s /usr/lib/nvidia/libGLESv1_CM.so.1.2.0 "$pkgdir"/usr/lib/libGLESv1_CM.so.1 - ln -s libGLESv1_CM.so.1 "$pkgdir"/usr/lib/libGLESv1_CM.so - - # OpenGL ES 2 (link) - ln -s /usr/lib/nvidia/libGLESv2.so.2.1.0 "$pkgdir"/usr/lib/libGLESv2.so.2 - ln -s libGLESv2.so.2 "$pkgdir"/usr/lib/libGLESv2.so - - # license - install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + pkgdesc="NVIDIA driver library symlinks for 'nvidia-utils-full-beta'" + depends=('nvidia-utils-full-beta') + provides=("nvidia-libgl=${pkgver}" 'libgl' 'libegl' 'libgles') + conflicts=('nvidia-libgl' 'libgl' 'libegl' 'libgles') + + cd "$_pkg" + + mkdir -p "${pkgdir}/usr/lib/" + + # libGL (link) + ln -s /usr/lib/nvidia/libGL.so.1.7.0 "${pkgdir}/usr/lib/libGL.so.1" + ln -s libGL.so.1 "${pkgdir}/usr/lib/libGL.so" + + # EGL (link) + ln -s /usr/lib/nvidia/libEGL.so.1.1.0 "${pkgdir}/usr/lib/libEGL.so.1" + ln -s libEGL.so.1 "${pkgdir}/usr/lib/libEGL.so" + + # OpenGL ES 1 (link) + ln -s /usr/lib/nvidia/libGLESv1_CM.so.1.2.0 "${pkgdir}/usr/lib/libGLESv1_CM.so.1" + ln -s libGLESv1_CM.so.1 "${pkgdir}/usr/lib/libGLESv1_CM.so" + + # OpenGL ES 2 (link) + ln -s /usr/lib/nvidia/libGLESv2.so.2.1.0 "${pkgdir}/usr/lib/libGLESv2.so.2" + ln -s libGLESv2.so.2 "${pkgdir}/usr/lib/libGLESv2.so" + + # license + install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" } package_nvidia-egl-wayland-full-beta() { - pkgdesc="NVIDIA EGL Wayland library (libnvidia-egl-wayland.so.${_eglver}) for 'nvidia-utils-beta'" - depends=('nvidia-utils-full-beta') - provides=('egl-wayland') - conflicts=('egl-wayland') - cd $_pkg - - install -D -m755 "libnvidia-egl-wayland.so.${_eglver}" -t "$pkgdir"/usr/lib - ln -s "libnvidia-egl-wayland.so.${_eglver}" "${pkgdir}/usr/lib/libnvidia-egl-wayland.so" - ln -s "libnvidia-egl-wayland.so.${_eglver}" "${pkgdir}/usr/lib/libnvidia-egl-wayland.so.1" - - # license - install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + pkgdesc="NVIDIA EGL Wayland library (libnvidia-egl-wayland.so.${_eglver}) for 'nvidia-utils-full-beta'" + depends=('nvidia-utils-full-beta') + provides=('egl-wayland') + conflicts=('egl-wayland') + + cd "$_pkg" + + # libraries + install -D -m755 "libnvidia-egl-wayland.so.${_eglver}" -t "${pkgdir}/usr/lib" + ln -s "libnvidia-egl-wayland.so.${_eglver}" "${pkgdir}/usr/lib/libnvidia-egl-wayland.so" + ln -s "libnvidia-egl-wayland.so.${_eglver}" "${pkgdir}/usr/lib/libnvidia-egl-wayland.so.1" + + # license + install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" } package_nvidia-utils-full-beta() { - pkgdesc="NVIDIA driver utilities and libraries for 'nvidia-full-beta'" - depends=('xorg-server' 'mesa>=17.0.2-2') - optdepends=('gtk2: nvidia-settings (GTK+ v2)' - 'gtk3: nvidia-settings (GTK+ v3)' - 'opencl-nvidia-full-beta: OpenCL support' - 'xorg-server-devel: nvidia-xconfig' - "egl-wayland-git: for alternative, more advanced Wayland library (libnvidia-egl-wayland.so.${_eglver})") - provides=("nvidia-utils=$pkgver" "nvidia-settings=$pkgver" 'libglvnd' 'vulkan-driver') - conflicts=('nvidia-utils' 'nvidia-settings' 'libglvnd') - - cd $_pkg - - # X driver - install -Dm755 nvidia_drv.so "$pkgdir"/usr/lib/xorg/modules/drivers/nvidia_drv.so - - # GLX extension for X - install -D -m755 "libglxserver_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib/nvidia/xorg" - ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1" # X doesn't find glx otherwise - ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so" # X doesn't find glx otherwise - - # X wrapped software rendering - install -D -m755 "libnvidia-wfb.so.${pkgver}" -t "${pkgdir}/usr/lib" - - # libGL & OpenGL - install -Dm755 libGL.so.1.7.0 "$pkgdir"/usr/lib/nvidia/libGL.so.1.7.0 - install -Dm755 libGLdispatch.so.0 "$pkgdir"/usr/lib/libGLdispatch.so.0 - install -Dm755 libnvidia-glcore.so.$pkgver "$pkgdir"/usr/lib/libnvidia-glcore.so.$pkgver - install -Dm755 libOpenGL.so.0 "$pkgdir"/usr/lib/libOpenGL.so.0 - install -Dm755 libnvidia-glvkspirv.so.$pkgver "$pkgdir"/usr/lib/libnvidia-glvkspirv.so.$pkgver - - # GLX - install -Dm755 libGLX.so.0 "$pkgdir"/usr/lib/libGLX.so.0 - install -Dm755 libGLX_nvidia.so.$pkgver "$pkgdir"/usr/lib/libGLX_nvidia.so.$pkgver - # now in mesa driver - #ln -s libGLX_nvidia.so.$pkgver "$pkgdir"/usr/lib/libGLX_indirect.so.0 - - # EGL - install -Dm755 libEGL.so.1.1.0 "$pkgdir"/usr/lib/nvidia/libEGL.so.1.1.0 - install -Dm755 libEGL_nvidia.so.$pkgver "$pkgdir"/usr/lib/libEGL_nvidia.so.$pkgver - install -Dm755 libnvidia-eglcore.so.$pkgver "$pkgdir"/usr/lib/libnvidia-eglcore.so.$pkgver - install -Dm644 10_nvidia.json "$pkgdir"/usr/share/glvnd/egl_vendor.d/10_nvidia.json - install -Dm644 10_nvidia_wayland.json "$pkgdir"/usr/share/egl/egl_external_platform.d/10_nvidia_wayland.json - - # OpenGL ES - install -Dm755 libGLESv1_CM.so.1.2.0 "$pkgdir"/usr/lib/nvidia/libGLESv1_CM.so.1.2.0 - install -Dm755 libGLESv1_CM_nvidia.so.$pkgver "$pkgdir"/usr/lib/libGLESv1_CM_nvidia.so.$pkgver - install -Dm755 libGLESv2.so.2.1.0 "$pkgdir"/usr/lib/nvidia/libGLESv2.so.2.1.0 - install -Dm755 libGLESv2_nvidia.so.$pkgver "$pkgdir"/usr/lib/libGLESv2_nvidia.so.$pkgver - install -Dm755 libnvidia-glsi.so.$pkgver "$pkgdir"/usr/lib/libnvidia-glsi.so.$pkgver - - # VDPAU (Video Decode and Presentation API for Unix) - install -Dm755 libvdpau_nvidia.so.$pkgver "$pkgdir"/usr/lib/vdpau/libvdpau_nvidia.so.$pkgver - - # GPU-accelerated video encoding - install -Dm755 libnvidia-encode.so.$pkgver "$pkgdir"/usr/lib/libnvidia-encode.so.$pkgver - - # GTK+ for nvidia-settings - install -Dm755 libnvidia-gtk2.so.$pkgver "$pkgdir"/usr/lib/libnvidia-gtk2.so.$pkgver - install -Dm755 libnvidia-gtk3.so.$pkgver "$pkgdir"/usr/lib/libnvidia-gtk3.so.$pkgver - - # Component of nvidia-xconfig - install -Dm755 libnvidia-cfg.so.$pkgver "$pkgdir"/usr/lib/libnvidia-cfg.so.$pkgver - - # CUDA (Compute Unified Device Architecture) (perform traditional CPU calculations with the GPU) - install -Dm755 libcuda.so.$pkgver "$pkgdir"/usr/lib/libcuda.so.$pkgver - install -Dm755 libnvcuvid.so.$pkgver "$pkgdir"/usr/lib/libnvcuvid.so.$pkgver - - # PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA) - install -Dm755 libnvidia-ptxjitcompiler.so.$pkgver "$pkgdir"/usr/lib/libnvidia-ptxjitcompiler.so.$pkgver - - # Fat (multiarchitecture) binary loader - install -Dm755 libnvidia-fatbinaryloader.so.$pkgver "$pkgdir"/usr/lib/libnvidia-fatbinaryloader.so.$pkgver - - # TLS (Thread local storage) support for OpenGL libs - install -Dm755 libnvidia-tls.so.$pkgver "$pkgdir"/usr/lib/libnvidia-tls.so.$pkgver # Classic - install -Dm755 tls/libnvidia-tls.so.$pkgver "$pkgdir"/usr/lib/tls/libnvidia-tls.so.$pkgver # New - - # GPU monitoring and management (1/2) - install -Dm755 libnvidia-ml.so.$pkgver "$pkgdir"/usr/lib/libnvidia-ml.so.$pkgver - - # Vulkan icd - install -Dm644 nvidia_icd.json.template "$pkgdir"/usr/share/vulkan/icd.d/nvidia_icd.json - - # Vulkan real-time ray tracing extensions (VK_NV_raytracing) - install -D -m755 "libnvidia-rtcore.so.${pkgver}" -t "${pkgdir}/usr/lib" - install -D -m755 "libnvidia-cbl.so.${pkgver}" -t "${pkgdir}/usr/lib" - - # Helper libs for approved partners' GRID remote apps - install -Dm755 libnvidia-ifr.so.$pkgver "$pkgdir"/usr/lib/libnvidia-ifr.so.$pkgver - install -Dm755 libnvidia-fbc.so.$pkgver "$pkgdir"/usr/lib/libnvidia-fbc.so.$pkgver - - # OptiX ray tracing engine - install -D -m755 "libnvoptix.so.${pkgver}" -t "${pkgdir}/usr/lib" - - # create missing soname links - _create_links - + pkgdesc="NVIDIA driver utilities and libraries for 'nvidia-full-beta'" + depends=('xorg-server' 'mesa>=17.0.2-2') + optdepends=('gtk2: nvidia-settings (GTK+ v2)' + 'gtk3: nvidia-settings (GTK+ v3)' + 'opencl-nvidia-full-beta: OpenCL support' + 'xorg-server-devel: nvidia-xconfig' + "egl-wayland-git: for alternative, more advanced Wayland library (libnvidia-egl-wayland.so.${_eglver})") + provides=("nvidia-utils=${pkgver}" "nvidia-settings=${pkgver}" 'libglvnd' 'vulkan-driver') + conflicts=('nvidia-utils' 'nvidia-settings' 'libglvnd') + install=nvidia-utils-full-beta.install + + cd "$_pkg" + +##### LIBRARIES AND COMPONENTS ##### + + # X driver + install -D -m755 nvidia_drv.so -t "${pkgdir}/usr/lib/xorg/modules/drivers/" + + # GLX extension for X + install -D -m755 "libglxserver_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib/nvidia/xorg" + ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1" # X doesn't find glx otherwise + ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so" # X doesn't find glx otherwise + + # X wrapped software rendering + install -D -m755 "libnvidia-wfb.so.${pkgver}" -t "${pkgdir}/usr/lib" + + # libGL & OpenGL + install -D -m755 libGL.so.1.7.0 -t "${pkgdir}/usr/lib/nvidia" + install -D -m755 libGLdispatch.so.0 -t "${pkgdir}/usr/lib" + install -D -m755 "libnvidia-glcore.so.${pkgver}" -t "${pkgdir}/usr/lib" + install -D -m755 libOpenGL.so.0 -t "${pkgdir}/usr/lib" + install -D -m755 "libnvidia-glvkspirv.so.${pkgver}" -t "${pkgdir}/usr/lib" + + # GLX + install -D -m755 libGLX.so.0 -t "${pkgdir}/usr/lib" + install -D -m755 "libGLX_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib" + # now in mesa driver + #ln -s "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLX_indirect.so.0" + + # EGL + install -D -m755 libEGL.so.1.1.0 -t "${pkgdir}/usr/lib/nvidia" + install -D -m755 "libEGL_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib" + install -D -m755 "libnvidia-eglcore.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_wayland.json -t "${pkgdir}/usr/share/egl/egl_external_platform.d" + + # OpenGL ES + install -D -m755 libGLESv1_CM.so.1.2.0 -t "${pkgdir}/usr/lib/nvidia" + install -D -m755 "libGLESv1_CM_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib" + install -D -m755 libGLESv2.so.2.1.0 -t "${pkgdir}/usr/lib/nvidia" + install -D -m755 "libGLESv2_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib" + install -D -m755 "libnvidia-glsi.so.${pkgver}" -t "${pkgdir}/usr/lib" + + # VDPAU (Video Decode and Presentation API for Unix) + install -D -m755 "libvdpau_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib/vdpau" + + # GPU-accelerated video encoding + install -D -m755 "libnvidia-encode.so.${pkgver}" -t "${pkgdir}/usr/lib" + + # GTK+ for nvidia-settings + install -D -m755 "libnvidia-gtk2.so.${pkgver}" -t "${pkgdir}/usr/lib" + install -D -m755 "libnvidia-gtk3.so.${pkgver}" -t "${pkgdir}/usr/lib" + + # component of nvidia-xconfig + install -D -m755 "libnvidia-cfg.so.${pkgver}" -t "${pkgdir}/usr/lib" + + # CUDA (Compute Unified Device Architecture) (perform traditional CPU calculations with the GPU) + install -D -m755 "libcuda.so.${pkgver}" -t "${pkgdir}/usr/lib" + install -D -m755 "libnvcuvid.so.${pkgver}" -t "${pkgdir}/usr/lib" + + # 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" + + # TLS (Thread local storage) support for OpenGL libs + install -D -m755 "libnvidia-tls.so.${pkgver}" -t "${pkgdir}/usr/lib" # classic + install -D -m755 "tls/libnvidia-tls.so.${pkgver}" -t "${pkgdir}/usr/lib/tls" # new + + # GPU monitoring and management (1/2) + install -D -m755 "libnvidia-ml.so.${pkgver}" -t "${pkgdir}/usr/lib" + + # vulkan icd + install -D -m644 nvidia_icd.json.template "${pkgdir}/usr/share/vulkan/icd.d/nvidia_icd.json" + + # vulkan real-time ray tracing extensions (VK_NV_raytracing) + install -D -m755 "libnvidia-rtcore.so.${pkgver}" -t "${pkgdir}/usr/lib" + install -D -m755 "libnvidia-cbl.so.${pkgver}" -t "${pkgdir}/usr/lib" + + # helper libs for approved partners GRID remote apps + install -D -m755 "libnvidia-ifr.so.${pkgver}" -t "${pkgdir}/usr/lib" + install -D -m755 "libnvidia-fbc.so.${pkgver}" -t "${pkgdir}/usr/lib" + + # OptiX ray tracing engine + install -D -m755 "libnvoptix.so.${pkgver}" -t "${pkgdir}/usr/lib" + + _create_links + ##### BINARIES AND MANPAGES ##### - - # CUDA MPS (Multi Process Service) - install -Dm755 nvidia-cuda-mps-control "$pkgdir"/usr/bin/nvidia-cuda-mps-control - install -Dm644 nvidia-cuda-mps-control.1.gz "$pkgdir"/usr/share/man/man1/nvidia-cuda-mps-control.1.gz - install -Dm755 nvidia-cuda-mps-server "$pkgdir"/usr/bin/nvidia-cuda-mps-server - - # For loading the kernel module and creating the character device files - install -Dm4755 nvidia-modprobe "$pkgdir"/usr/bin/nvidia-modprobe - install -Dm644 nvidia-modprobe.1.gz "$pkgdir"/usr/share/man/man1/nvidia-modprobe.1.gz - - # Daemon for maintaining persistent software state in the driver - install -Dm755 nvidia-persistenced "$pkgdir"/usr/bin/nvidia-persistenced - install -Dm644 nvidia-persistenced.1.gz "$pkgdir"/usr/share/man/man1/nvidia-persistenced.1.gz - install -Dm644 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 - - # GUI for configuring the driver - install -Dm755 nvidia-settings "$pkgdir"/usr/bin/nvidia-settings - install -Dm644 nvidia-settings.1.gz "$pkgdir"/usr/share/man/man1/nvidia-settings.1.gz - install -Dm644 nvidia-settings.png "$pkgdir"/usr/share/pixmaps/nvidia-settings.png - install -Dm644 nvidia-settings.desktop "$pkgdir"/usr/share/applications/nvidia-settings.desktop - sed -e 's:__UTILS_PATH__:/usr/bin:' \ - -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \ - -i "$pkgdir"/usr/share/applications/nvidia-settings.desktop - - # GPU monitoring and management (2/2) - install -Dm755 nvidia-smi "$pkgdir"/usr/bin/nvidia-smi - install -Dm644 nvidia-smi.1.gz "$pkgdir"/usr/share/man/man1/nvidia-smi.1.gz - - # Basic control over configuration options in the driver - install -Dm755 nvidia-xconfig "$pkgdir"/usr/bin/nvidia-xconfig - install -Dm644 nvidia-xconfig.1.gz "$pkgdir"/usr/share/man/man1/nvidia-xconfig.1.gz - - # Debugging and bug reporting - install -Dm755 nvidia-bug-report.sh "$pkgdir"/usr/bin/nvidia-bug-report.sh - install -Dm755 nvidia-debugdump "$pkgdir"/usr/bin/nvidia-debugdump - + + # CUDA MPS (Multi Process Service) + 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" + + # for loading the kernel module and creating the character device files + install -D -m4755 nvidia-modprobe -t "${pkgdir}/usr/bin" + install -D -m644 nvidia-modprobe.1.gz -t "${pkgdir}/usr/share/man/man1" + + # daemon for maintaining persistent software state in the driver + install -D -m755 nvidia-persistenced -t "$pkgdir/usr/bin" + install -D -m644 nvidia-persistenced.1.gz -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" + + # GUI for configuring the driver + 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.png -t "${pkgdir}/usr/share/pixmaps" + install -D -m644 nvidia-settings.desktop -t "${pkgdir}/usr/share/applications" + sed -e 's:__UTILS_PATH__:/usr/bin:' \ + -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \ + -i "${pkgdir}/usr/share/applications/nvidia-settings.desktop" + + # GPU monitoring and management (2/2) + install -D -m755 nvidia-smi -t "${pkgdir}/usr/bin" + install -D -m644 nvidia-smi.1.gz -t "${pkgdir}/usr/share/man/man1" + + # basic control over configuration options in the driver + install -D -m755 nvidia-xconfig -t "${pkgdir}/usr/bin" + install -D -m644 nvidia-xconfig.1.gz -t "${pkgdir}/usr/share/man/man1" + + # debugging and bug reporting + install -D -m755 nvidia-bug-report.sh -t "${pkgdir}/usr/bin" + install -D -m755 nvidia-debugdump -t "${pkgdir}/usr/bin" + ##### MISCELLANEOUS ##### - - # Vendor profiles - install -Dm644 nvidia-application-profiles-$pkgver-rc \ - "$pkgdir"/usr/share/nvidia/nvidia-application-profiles-$pkgver-rc - install -Dm644 nvidia-application-profiles-$pkgver-key-documentation \ - "$pkgdir"/usr/share/nvidia/nvidia-application-profiles-$pkgver-key-documentation - - # Documentation - install -Dm644 README.txt "$pkgdir"/usr/share/doc/nvidia/README - install -Dm644 NVIDIA_Changelog "$pkgdir"/usr/share/doc/nvidia/NVIDIA_Changelog - cp -r html "$pkgdir"/usr/share/doc/nvidia/ - ln -s nvidia/ "$pkgdir"/usr/share/doc/nvidia-utils - - # license - install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" - - # 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" - - # sysusers - install -Dm644 "${srcdir}/nvidia-utils-full-beta.sysusers" -t "${pkgdir}/usr/lib/sysusers.d" + + # vendor profiles + install -D -m644 "nvidia-application-profiles-${pkgver}-rc" -t "${pkgdir}/usr/share/nvidia" + install -D -m644 "nvidia-application-profiles-${pkgver}-key-documentation" -t "${pkgdir}/usr/share/nvidia" + + # documentation + install -D -m644 README.txt "${pkgdir}/usr/share/doc/${pkgname}/README" + install -D -m644 NVIDIA_Changelog -t "${pkgdir}/usr/share/doc/${pkgname}" + cp -a html "${pkgdir}/usr/share/doc/${pkgname}" + + # 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" + + # sysusers + install -D -m644 "${srcdir}/nvidia-utils-full-beta.sysusers" -t "${pkgdir}/usr/lib/sysusers.d" + + # license + install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" } package_nvidia-full-beta() { @@ -319,117 +327,118 @@ package_nvidia-full-beta() { } package_lib32-opencl-nvidia-full-beta() { - pkgdesc="NVIDIA's OpenCL implemention for 'lib32-nvidia-utils-full-beta' " - depends=('lib32-zlib' 'lib32-gcc-libs') - optdepends=('opencl-headers: headers necessary for OpenCL development') - provides=("lib32-opencl-nvidia=$pkgver" 'lib32-opencl-driver') - conflicts=('lib32-opencl-nvidia') - cd $_pkg - - # OpenCL - install -Dm755 32/libnvidia-compiler.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-compiler.so.$pkgver - install -Dm755 32/libnvidia-opencl.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-opencl.so.$pkgver - - # create missing soname links - _create_links - - # license - install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + pkgdesc="NVIDIA's OpenCL implemention for 'lib32-nvidia-utils-full-beta' " + depends=('lib32-zlib' 'lib32-gcc-libs') + optdepends=('opencl-headers: headers necessary for OpenCL development') + provides=("lib32-opencl-nvidia=${pkgver}" 'lib32-opencl-driver') + conflicts=('lib32-opencl-nvidia') + + cd "$_pkg" + + # libraries + install -D -m755 "32/libnvidia-compiler.so.${pkgver}" -t "${pkgdir}/usr/lib32" + install -D -m755 "32/libnvidia-opencl.so.${pkgver}" -t "${pkgdir}/usr/lib32" + _create_links + + # license + install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" } package_lib32-nvidia-libgl-full-beta() { - pkgdesc="NVIDIA driver library symlinks for 'lib32-nvidia-utils-full-beta'" - depends=('lib32-nvidia-utils-full-beta' 'nvidia-libgl-full-beta') - provides=("lib32-nvidia-libgl=$pkgver" 'lib32-libgl' 'lib32-libegl' 'lib32-libgles') - conflicts=('lib32-nvidia-libgl' 'lib32-libgl' 'lib32-libegl' 'lib32-libgles') - replaces=('lib32-nvidia-utils<=313.26-1') - cd $_pkg - - mkdir -p "${pkgdir}/usr/lib32/" - - # libGL (link) - ln -s /usr/lib32/nvidia/libGL.so.1.7.0 "$pkgdir"/usr/lib32/libGL.so.1 - ln -s libGL.so.1 "$pkgdir"/usr/lib32/libGL.so - - # EGL (link) - ln -s /usr/lib32/nvidia/libEGL.so.1.1.0 "$pkgdir"/usr/lib32/libEGL.so.1 - ln -s libEGL.so.1 "$pkgdir"/usr/lib32/libEGL.so - - # OpenGL ES 1 (link) - ln -s /usr/lib32/nvidia/libGLESv1_CM.so.1.2.0 "$pkgdir"/usr/lib32/libGLESv1_CM.so.1 - ln -s libGLESv1_CM.so.1 "$pkgdir"/usr/lib32/libGLESv1_CM.so - - # OpenGL ES 2 (link) - ln -s /usr/lib32/nvidia/libGLESv2.so.2.1.0 "$pkgdir"/usr/lib32/libGLESv2.so.2 - ln -s libGLESv2.so.2 "$pkgdir"/usr/lib32/libGLESv2.so - - # license - install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + pkgdesc="NVIDIA driver library symlinks for 'lib32-nvidia-utils-full-beta'" + depends=('lib32-nvidia-utils-full-beta' 'nvidia-libgl-full-beta') + provides=("lib32-nvidia-libgl=${pkgver}" 'lib32-libgl' 'lib32-libegl' 'lib32-libgles') + conflicts=('lib32-nvidia-libgl' 'lib32-libgl' 'lib32-libegl' 'lib32-libgles') + replaces=('lib32-nvidia-utils<=313.26-1') + + cd "$_pkg" + + mkdir -p "${pkgdir}/usr/lib32/" + + # libGL (link) + ln -s /usr/lib32/nvidia/libGL.so.1.7.0 "${pkgdir}/usr/lib32/libGL.so.1" + ln -s libGL.so.1 "${pkgdir}/usr/lib32/libGL.so" + + # EGL (link) + ln -s /usr/lib32/nvidia/libEGL.so.1.1.0 "${pkgdir}/usr/lib32/libEGL.so.1" + ln -s libEGL.so.1 "${pkgdir}/usr/lib32/libEGL.so" + + # OpenGL ES 1 (link) + ln -s /usr/lib32/nvidia/libGLESv1_CM.so.1.2.0 "${pkgdir}/usr/lib32/libGLESv1_CM.so.1" + ln -s libGLESv1_CM.so.1 "${pkgdir}/usr/lib32/libGLESv1_CM.so" + + # OpenGL ES 2 (link) + ln -s /usr/lib32/nvidia/libGLESv2.so.2.1.0 "${pkgdir}/usr/lib32/libGLESv2.so.2" + ln -s libGLESv2.so.2 "${pkgdir}/usr/lib32/libGLESv2.so" + + # license + install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" } package_lib32-nvidia-utils-full-beta() { - pkgdesc="NVIDIA driver utilities and libraries for 'nvidia-full-beta' (32-bit)" - depends=('lib32-zlib' 'lib32-gcc-libs' 'nvidia-utils-full-beta' 'lib32-mesa>=17.0.2-1') - optdepends=('lib32-opencl-nvidia-full-beta: OpenCL support') - provides=("lib32-nvidia-utils=$pkgver" 'lib32-libglvnd' 'lib32-vulkan-driver') - conflicts=('lib32-nvidia-utils' 'lib32-libglvnd') - cd $_pkg - - # libGL & OpenGL - install -Dm755 32/libGL.so.1.7.0 "$pkgdir"/usr/lib32/nvidia/libGL.so.1.7.0 - install -Dm755 32/libGLdispatch.so.0 "$pkgdir"/usr/lib32/libGLdispatch.so.0 - install -Dm755 32/libnvidia-glcore.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-glcore.so.$pkgver - install -Dm755 32/libOpenGL.so.0 "$pkgdir"/usr/lib32/libOpenGL.so.0 - install -Dm755 32/libnvidia-glvkspirv.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-glvkspirv.so.$pkgver - - # GLX - install -Dm755 32/libGLX.so.0 "$pkgdir"/usr/lib32/libGLX.so.0 - install -Dm755 32/libGLX_nvidia.so.$pkgver "$pkgdir"/usr/lib32/libGLX_nvidia.so.$pkgver - # now in lib32-mesa driver - #ln -s libGLX_nvidia.so.$pkgver "$pkgdir"/usr/lib32/libGLX_indirect.so.0 - - # EGL - install -Dm755 32/libEGL.so.1.1.0 "$pkgdir"/usr/lib32/nvidia/libEGL.so.1.1.0 - install -Dm755 32/libEGL_nvidia.so.$pkgver "$pkgdir"/usr/lib32/libEGL_nvidia.so.$pkgver - install -Dm755 32/libnvidia-eglcore.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-eglcore.so.$pkgver - - # OpenGL ES - install -Dm755 32/libGLESv1_CM.so.1.2.0 "$pkgdir"/usr/lib32/nvidia/libGLESv1_CM.so.1.2.0 - install -Dm755 32/libGLESv1_CM_nvidia.so.$pkgver "$pkgdir"/usr/lib32/libGLESv1_CM_nvidia.so.$pkgver - install -Dm755 32/libGLESv2.so.2.1.0 "$pkgdir"/usr/lib32/nvidia/libGLESv2.so.2.1.0 - install -Dm755 32/libGLESv2_nvidia.so.$pkgver "$pkgdir"/usr/lib32/libGLESv2_nvidia.so.$pkgver - install -Dm755 32/libnvidia-glsi.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-glsi.so.$pkgver - - # VDPAU (Video Decode and Presentation API for Unix) - install -Dm755 32/libvdpau_nvidia.so.$pkgver "$pkgdir"/usr/lib32/vdpau/libvdpau_nvidia.so.$pkgver - - # GPU-accelerated video encoding - install -Dm755 32/libnvidia-encode.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-encode.so.$pkgver - - # CUDA (Compute Unified Device Architecture) - install -Dm755 32/libcuda.so.$pkgver "$pkgdir"/usr/lib32/libcuda.so.$pkgver - install -Dm755 32/libnvcuvid.so.$pkgver "$pkgdir"/usr/lib32/libnvcuvid.so.$pkgver - - # PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA) - install -Dm755 32/libnvidia-ptxjitcompiler.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-ptxjitcompiler.so.$pkgver - - # Fat (multiarchitecture) binary loader - install -Dm755 32/libnvidia-fatbinaryloader.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-fatbinaryloader.so.$pkgver - - # TLS (Thread local storage) support for OpenGL libs - install -Dm755 32/libnvidia-tls.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-tls.so.$pkgver # Classic - install -Dm755 32/tls/libnvidia-tls.so.$pkgver "$pkgdir"/usr/lib32/tls/libnvidia-tls.so.$pkgver # New - - # GPU monitoring and management - install -Dm755 32/libnvidia-ml.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-ml.so.$pkgver - - # Helper libs for approved partners' GRID remote apps - install -Dm755 32/libnvidia-ifr.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-ifr.so.$pkgver - install -Dm755 32/libnvidia-fbc.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-fbc.so.$pkgver - - # create missing soname links - _create_links - - # license - install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" + pkgdesc="NVIDIA driver utilities and libraries for 'nvidia-full-beta' (32-bit)" + depends=('lib32-zlib' 'lib32-gcc-libs' 'nvidia-utils-full-beta' 'lib32-mesa>=17.0.2-1') + optdepends=('lib32-opencl-nvidia-full-beta: OpenCL support') + provides=("lib32-nvidia-utils=${pkgver}" 'lib32-libglvnd' 'lib32-vulkan-driver') + conflicts=('lib32-nvidia-utils' 'lib32-libglvnd') + + cd "${_pkg}" + + # libGL & OpenGL + install -D -m755 libGL.so.1.7.0 -t "${pkgdir}/usr/lib32/nvidia" + install -D -m755 libGLdispatch.so.0 -t "${pkgdir}/usr/lib32" + install -D -m755 "libnvidia-glcore.so.${pkgver}" -t "${pkgdir}/usr/lib32" + install -D -m755 libOpenGL.so.0 -t "${pkgdir}/usr/lib32" + install -D -m755 "libnvidia-glvkspirv.so.${pkgver}" -t "${pkgdir}/usr/lib32" + + # GLX + install -D -m755 libGLX.so.0 -t "${pkgdir}/usr/lib32" + install -D -m755 "libGLX_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib32" + # now in lib32-mesa driver + #ln -s "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib32/libGLX_indirect.so.0" + + # EGL + install -D -m755 libEGL.so.1.1.0 -t "${pkgdir}/usr/lib32/nvidia" + install -D -m755 "libEGL_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib32" + install -D -m755 "libnvidia-eglcore.so.${pkgver}" -t "${pkgdir}/usr/lib32" + + # OpenGL ES + install -D -m755 libGLESv1_CM.so.1.2.0 -t "${pkgdir}/usr/lib32/nvidia" + install -D -m755 "libGLESv1_CM_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib32" + install -D -m755 libGLESv2.so.2.1.0 -t "${pkgdir}/usr/lib32/nvidia" + install -D -m755 "libGLESv2_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib32" + install -D -m755 "libnvidia-glsi.so.${pkgver}" -t "${pkgdir}/usr/lib32" + + # VDPAU (Video Decode and Presentation API for Unix) + install -D -m755 "libvdpau_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib32/vdpau" + + # GPU-accelerated video encoding + install -D -m755 "libnvidia-encode.so.${pkgver}" -t "${pkgdir}/usr/lib32" + + # CUDA (Compute Unified Device Architecture) (perform traditional CPU calculations with the GPU) + install -D -m755 "libcuda.so.${pkgver}" -t "${pkgdir}/usr/lib32" + install -D -m755 "libnvcuvid.so.${pkgver}" -t "${pkgdir}/usr/lib32" + + # PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA) + install -D -m755 "32/libnvidia-ptxjitcompiler.so.${pkgver}" -t "${pkgdir}/usr/lib32" + + # Fat (multiarchitecture) binary loader + install -D -m755 "libnvidia-fatbinaryloader.so.${pkgver}" -t "${pkgdir}/usr/lib32" + + # TLS (Thread local storage) support for OpenGL libs + install -D -m755 "libnvidia-tls.so.${pkgver}" -t "${pkgdir}/usr/lib32" # classic + install -D -m755 "tls/libnvidia-tls.so.${pkgver}" -t "${pkgdir}/usr/lib32" # new + + # GPU monitoring and management + install -D -m755 "libnvidia-ml.so.${pkgver}" -t "${pkgdir}/usr/lib32" + + # helper libs for approved partners GRID remote apps + install -D -m755 "libnvidia-ifr.so.${pkgver}" -t "${pkgdir}/usr/lib32" + install -D -m755 "libnvidia-fbc.so.${pkgver}" -t "${pkgdir}/usr/lib32" + + _create_links + + # license + cd "${srcdir}/${_pkg}" + install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" } |