58 lines
2.5 KiB
Plaintext
58 lines
2.5 KiB
Plaintext
|
# Contributor: Stefan Reimer <stefan@zero-downtime.net>
|
||
|
# Maintainer: Stefan Reimer <stefan@zero-downtime.net>
|
||
|
pkgname=nvidia-drivers
|
||
|
pkgver=515.65.01
|
||
|
pkgrel=0
|
||
|
pkgdesc="NVIDIA Driver"
|
||
|
url="https://www.nvidia.com/download/index.aspx"
|
||
|
arch="x86_64"
|
||
|
license="MIT OR GPL-2.0"
|
||
|
makedepends="bash xz"
|
||
|
depends="glibc-bin"
|
||
|
options="!check !strip !tracedeps"
|
||
|
|
||
|
source="NVIDIA-Linux-x86_64-$pkgver.run::https://download.nvidia.com/XFree86/Linux-x86_64/$pkgver/NVIDIA-Linux-x86_64-$pkgver.run"
|
||
|
|
||
|
build() {
|
||
|
sh "$srcdir"/NVIDIA-Linux-x86_64-$pkgver.run -x -s
|
||
|
}
|
||
|
|
||
|
package() {
|
||
|
#/bin/bash
|
||
|
|
||
|
# Install basic nvidia-smi inck. libnvidia-ml, libcuda into /lib64 as this is hardcoded in the nvidia-container-toolkit bins
|
||
|
mkdir -p "$pkgdir"/usr/glibc-compat/lib/nvidia "$pkgdir"/usr/sbin
|
||
|
|
||
|
# tell glibc compat about our libs
|
||
|
mkdir -p "$pkgdir"/usr/glibc-compat/etc/ld.so.conf.d
|
||
|
echo "/usr/glibc-compat/lib/nvidia" > "$pkgdir"/usr/glibc-compat/etc/ld.so.conf.d/nvidia.conf
|
||
|
|
||
|
cd "$srcdir"/NVIDIA-Linux-x86_64-$pkgver
|
||
|
|
||
|
SBINS="nvidia-smi nvidia-debugdump nvidia-cuda-mps-control nvidia-cuda-mps-server nvidia-persistenced"
|
||
|
for f in $SBINS; do
|
||
|
cp $f "$pkgdir"/usr/sbin
|
||
|
done
|
||
|
|
||
|
# which libs are from debug log at runtime
|
||
|
# LIBS=$(grep "missing library" /var/log/nvidia-container-toolkit.log | awk '{print $7}' | sort | uniq)
|
||
|
# cross checked via .manifest for targets and symlinks
|
||
|
LIBS="libEGL_nvidia.so libGLESv1_CM_nvidia.so libGLESv2_nvidia.so libGLX_nvidia.so libcuda.so libcudadebugger.so libnvcuvid.so libnvidia-allocator.so libnvidia-cbl.so libnvidia-cfg.so libnvidia-compiler.so libnvidia-eglcore.so libnvidia-encode.so libnvidia-fatbinaryloader.so libnvidia-fbc.so libnvidia-glcore.so libnvidia-glsi.so libnvidia-glvkspirv.so libnvidia-ifr.so libnvidia-ml.so libnvidia-ngx.so libnvidia-nscq.so libnvidia-opencl.so libnvidia-opticalflow.so libnvidia-pkcs11.so libnvidia-ptxjitcompiler.so libnvidia-rtcore.so libnvidia-tls.so libnvoptix.so libvdpau_nvidia.so"
|
||
|
|
||
|
for lib in $LIBS; do
|
||
|
native=$(grep $lib .manifest | grep _LIB | grep NATIVE | grep -v SYMLINK | awk '{print $1}')
|
||
|
if [ -n "$native" ]; then
|
||
|
cp $native "$pkgdir"/usr/glibc-compat/lib/nvidia
|
||
|
|
||
|
links="$(grep $native .manifest | grep SYMLINK | grep -v COMPAT32 | awk '{print $1}')"
|
||
|
for target in $links; do
|
||
|
ln -s /usr/glibc-compat/lib/nvidia/$native "$pkgdir"/usr/glibc-compat/lib/nvidia/$target
|
||
|
done
|
||
|
fi
|
||
|
done
|
||
|
}
|
||
|
|
||
|
sha512sums='
|
||
|
5221a4ac071eb39a37a841f19cfe4983286dc35e918956b40604404ef36c122612475df7b9a391a9a70bd60f44e598c8a0e5ec54ccc3e90d51f01e1b2fbe5e33 NVIDIA-Linux-x86_64-515.65.01.run
|
||
|
'
|