diff options
-rw-r--r-- | .SRCINFO | 47 | ||||
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | PKGBUILD | 161 |
3 files changed, 210 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..0f5ff704591d --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,47 @@ +pkgbase = lib32-nvidia-utils-llb + pkgver = 375.66 + pkgrel = 1 + url = http://www.nvidia.com/ + arch = x86_64 + license = custom:NVIDIA + makedepends = nvidia-libgl-llb + options = !strip + source = http://us.download.nvidia.com/XFree86/Linux-x86/375.66/NVIDIA-Linux-x86-375.66.run + md5sums = 47dddb796fe39497cf6ae374591f6eb9 + +pkgname = lib32-nvidia-utils-llb + pkgdesc = NVIDIA driver utilities and libraries (long lived branch) (32-bit) + depends = lib32-zlib + depends = lib32-gcc-libs + depends = nvidia-utils-llb + depends = lib32-mesa>=17.0.2-1 + optdepends = lib32-opencl-nvidia-llb: OpenCL support + provides = lib32-nvidia-utils=375.66 + provides = lib32-libglvnd + provides = lib32-vulkan-driver + conflicts = lib32-nvidia-utils + conflicts = lib32-libglvnd + +pkgname = lib32-nvidia-libgl-llb + pkgdesc = NVIDIA driver library symlinks for 'lib32-nvidia-utils-llb' + depends = lib32-nvidia-utils-llb + depends = nvidia-libgl-llb + provides = lib32-nvidia-libgl=375.66 + provides = lib32-libgl + provides = lib32-libegl + provides = lib32-libgles + conflicts = lib32-nvidia-libgl + conflicts = lib32-libgl + conflicts = lib32-libegl + conflicts = lib32-libgles + replaces = lib32-nvidia-utils<=313.26-1 + +pkgname = lib32-opencl-nvidia-llb + pkgdesc = NVIDIA's OpenCL implemention for 'lib32-nvidia-utils-llb' + depends = lib32-zlib + depends = lib32-gcc-libs + optdepends = opencl-headers: headers necessary for OpenCL development + provides = lib32-opencl-nvidia=375.66 + provides = lib32-opencl-driver + conflicts = lib32-opencl-nvidia + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..241e560df690 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +* + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..5637c97b00e1 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,161 @@ +# Maintainer: Daniel Playfair Cal <daniel dot playfair dot cal at gmail dot com> +# Contributor: Det <nimetonmaili g-mail> +# Contributors: Ng Oon-Ee, Dan Vratil, Jeremy Sands, Erik Hardesty, josephgbr +# Based on [multilib]'s lib32-nvidia-utils: https://www.archlinux.org/packages/multilib/x86_64/lib32-nvidia-utils/ + +pkgname=('lib32-nvidia-utils-llb' 'lib32-nvidia-libgl-llb' 'lib32-opencl-nvidia-llb') +pkgver=375.66 +pkgrel=1 +arch=('x86_64') +url="http://www.nvidia.com/" +makedepends=('nvidia-libgl-llb') # To avoid conflict during installation in the build chroot +license=('custom:NVIDIA') +options=('!strip') +_pkg="NVIDIA-Linux-x86-$pkgver" +source=("http://us.download.nvidia.com/XFree86/Linux-x86/$pkgver/$_pkg.run") +md5sums=('47dddb796fe39497cf6ae374591f6eb9') + +_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 +} + +prepare() { + # Remove previous builds + if [[ -d $_pkg ]]; then + rm -rf $_pkg + fi + + # Extract + msg2 "Self-Extracting $_pkg.run..." + sh $_pkg.run -x +} + +package_lib32-opencl-nvidia-llb() { + pkgdesc="NVIDIA's OpenCL implemention for 'lib32-nvidia-utils-llb' " + 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 libnvidia-compiler.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-compiler.so.$pkgver + install -Dm755 libnvidia-opencl.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-opencl.so.$pkgver + + # create missing soname links + _create_links + + # License (link) + install -d "$pkgdir"/usr/share/licenses/ + ln -s nvidia-utils/ "$pkgdir"/usr/share/licenses/lib32-opencl-nvidia +} + +package_lib32-nvidia-libgl-llb() { + pkgdesc="NVIDIA driver library symlinks for 'lib32-nvidia-utils-llb'" + depends=('lib32-nvidia-utils-llb' 'nvidia-libgl-llb') + 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.0.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 "$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 "$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 "$pkgdir"/usr/lib32/libGLESv2.so.2 + ln -s libGLESv2.so.2 "$pkgdir"/usr/lib32/libGLESv2.so + + # License (link) + install -d "$pkgdir"/usr/share/licenses/ + ln -s nvidia-utils/ "$pkgdir"/usr/share/licenses/lib32-nvidia-libgl +} + +package_lib32-nvidia-utils-llb() { + pkgdesc="NVIDIA driver utilities and libraries (long lived branch) (32-bit)" + depends=('lib32-zlib' 'lib32-gcc-libs' 'nvidia-utils-llb' 'lib32-mesa>=17.0.2-1') + optdepends=('lib32-opencl-nvidia-llb: OpenCL support') + provides=("lib32-nvidia-utils=$pkgver" 'lib32-libglvnd' 'lib32-vulkan-driver') + conflicts=('lib32-nvidia-utils' 'lib32-libglvnd') + cd $_pkg + + # libGL & OpenGL + install -Dm755 libGL.so.1.0.0 "$pkgdir"/usr/lib32/nvidia/libGL.so.1.0.0 + install -Dm755 libGLdispatch.so.0 "$pkgdir"/usr/lib32/libGLdispatch.so.0 + install -Dm755 libnvidia-glcore.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-glcore.so.$pkgver + install -Dm755 libOpenGL.so.0 "$pkgdir"/usr/lib32/libOpenGL.so.0 + + # GLX + install -Dm755 libGLX.so.0 "$pkgdir"/usr/lib32/libGLX.so.0 + install -Dm755 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 libEGL.so.1 "$pkgdir"/usr/lib32/nvidia/libEGL.so.1 + install -Dm755 libEGL_nvidia.so.$pkgver "$pkgdir"/usr/lib32/libEGL_nvidia.so.$pkgver + install -Dm755 libnvidia-eglcore.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-eglcore.so.$pkgver + + # OpenGL ES + install -Dm755 libGLESv1_CM.so.1 "$pkgdir"/usr/lib32/nvidia/libGLESv1_CM.so.1 + install -Dm755 libGLESv1_CM_nvidia.so.$pkgver "$pkgdir"/usr/lib32/libGLESv1_CM_nvidia.so.$pkgver + install -Dm755 libGLESv2.so.2 "$pkgdir"/usr/lib32/nvidia/libGLESv2.so.2 + install -Dm755 libGLESv2_nvidia.so.$pkgver "$pkgdir"/usr/lib32/libGLESv2_nvidia.so.$pkgver + install -Dm755 libnvidia-glsi.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-glsi.so.$pkgver + + # VDPAU (Video Decode and Presentation API for Unix) + install -Dm755 libvdpau_nvidia.so.$pkgver "$pkgdir"/usr/lib32/vdpau/libvdpau_nvidia.so.$pkgver + + # GPU-accelerated video encoding + install -Dm755 libnvidia-encode.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-encode.so.$pkgver + + # CUDA (Compute Unified Device Architecture) + install -Dm755 libcuda.so.$pkgver "$pkgdir"/usr/lib32/libcuda.so.$pkgver + install -Dm755 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 libnvidia-ptxjitcompiler.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-ptxjitcompiler.so.$pkgver + + # Fat (multiarchitecture) binary loader + install -Dm755 libnvidia-fatbinaryloader.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-fatbinaryloader.so.$pkgver + + # TLS (Thread local storage) support for OpenGL libs + install -Dm755 libnvidia-tls.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-tls.so.$pkgver # Classic + install -Dm755 tls/libnvidia-tls.so.$pkgver "$pkgdir"/usr/lib32/tls/libnvidia-tls.so.$pkgver # New + + # GPU monitoring and management + install -Dm755 libnvidia-ml.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-ml.so.$pkgver + + # Helper libs for approved partners' GRID remote apps + install -Dm755 libnvidia-ifr.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-ifr.so.$pkgver + install -Dm755 libnvidia-fbc.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-fbc.so.$pkgver + + # Not required (https://bugs.archlinux.org/task/38604): + # - libnvidia-wfb.so.$pkgver (provided by xorg-server: https://www.archlinux.org/packages/extra/x86_64/xorg-server/) + + # create missing soname links + _create_links + + # License (link) + install -d "$pkgdir"/usr/share/licenses/ + ln -s nvidia-utils/ "$pkgdir"/usr/share/licenses/lib32-nvidia-utils +} |