pkgname=nvidia-utils-256xx pkgver=256.29 pkgrel=1 pkgdesc="NVIDIA beta drivers utilities and libraries." arch=('x86_64') [ "$CARCH" = "x86_64" ] && ARCH=x86_64 && _srcname=NVIDIA-Linux-x86_64-${pkgver} url="http://www.nvidia.com/" depends=('xorg-server') optdepends=('gtk2: nvidia-settings' 'pkgconfig: nvidia-xconfig') conflicts=('libgl' 'nvidia-utils' 'nvidia-utils-beta') provides=('libgl' 'lib32-libgl') license=('custom') install=nvidia.install source=("ftp://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/${_srcname}.run") build() { cd $srcdir if [ -d ${srcdir}/${_srcname} ]; then rm -rf ${srcdir}/${_srcname} fi # Extract the source sh ${_srcname}.run --extract-only } package() { cd ${srcdir}/${_srcname} # Create install dirs mkdir -p $pkgdir/usr/{lib,bin,share/applications,share/pixmaps,share/man/man1} mkdir -p $pkgdir/usr/lib/xorg/modules/{extensions,drivers} mkdir -p $pkgdir/usr/lib/vdpau mkdir -p $pkgdir/usr/share/licenses/nvidia mkdir -p $pkgdir/usr/include/{cuda,CL} mkdir -p $pkgdir/etc/OpenCL/vendors mkdir -p $pkgdir/etc/X11/xorg.conf.d mkdir -p $pkgdir/opt/lib32/usr/lib mkdir -p $pkgdir/opt/lib32/usr/lib/tls mkdir -p $pkgdir/opt/lib32/usr/lib/vdpau # Install OpenCL configuration install nvidia.icd $pkgdir/etc/OpenCL/vendors # Install headers install -m644 cuda*.h $pkgdir/usr/include/cuda/ install -m644 cl*.h $pkgdir/usr/include/CL/ install -m644 gl*.h $pkgdir/usr/include # Install libraries install {libGL,libnvidia-cfg,libnvidia-compiler,libnvidia-glcore,libcuda,tls/libnvidia-tls,libnvidia-wfb}.so.${pkgver} $pkgdir/usr/lib/ || return 1 install -m755 libvdpau_nvidia.so.${pkgver} "${pkgdir}/usr/lib/vdpau/" || return 1 install -m755 libOpenCL.so.1.0.0 $pkgdir/usr/lib || return 1 install {libXvMCNVIDIA.a,libXvMCNVIDIA.so.${pkgver}} $pkgdir/usr/lib/ || return 1 install nvidia_drv.so $pkgdir/usr/lib/xorg/modules/drivers || return 1 install libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions || return 1 # Install 32bit libraries install 32/*.so.${pkgver} $pkgdir/opt/lib32/usr/lib/ install 32/tls/*.so.${pkgver} $pkgdir/opt/lib32/usr/lib/tls/ # Install manpages install -m644 nvidia-{settings,xconfig,smi}.1.gz $pkgdir/usr/share/man/man1/ || return 1 # Install license install -m644 LICENSE $pkgdir/usr/share/licenses/nvidia/ || return 1 ln -s nvidia $startdir/pkg/usr/share/licenses/nvidia-utils || return 1 # Install readme install -D -m644 README.txt $pkgdir/usr/share/doc/nvidia/README || return 1 # Install .desktop file install -m644 nvidia-settings.desktop $pkgdir/usr/share/applications/ || return 1 # Fix nvidia .desktop file sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $pkgdir/usr/share/applications/nvidia-settings.desktop # Install pixmaps install -m644 nvidia-settings.png $pkgdir/usr/share/pixmaps/ || return 1 # Install binaries install -m755 nvidia-{settings,xconfig,smi,bug-report.sh} $pkgdir/usr/bin/ || return 1 # Create symlinks cd $pkgdir/usr/lib/ ln -s libOpenCL.so.1.0.0 libOpenCL.so.1 || return 1 ln -s libOpenCL.so.1 libOpenCL.so || return 1 ln -s libGL.so.$pkgver libGL.so.1 || return 1 ln -s libGL.so.$pkgver libGL.so || return 1 ln -s libnvidia-glcore.so.$pkgver libnvidia-glcore.so.1 || return 1 ln -s libnvidia-glcore.so.$pkgver libnvidia-glcore.so || return 1 ln -s libnvidia-cfg.so.$pkgver libnvidia-cfg.so.1 || return 1 ln -s libnvidia-cfg.so.$pkgver libnvidia-cfg.so || return 1 ln -s libnvidia-compiler.so.$pkgver libnvidia-compiler.so.1 || return 1 ln -s libnvidia-compiler.so.$pkgver libnvidia-compiler.so || return 1 ln -s libnvidia-tls.so.$pkgver libnvidia-tls.so.1 || return 1 ln -s libnvidia-tls.so.$pkgver libnvidia-tls.so || return 1 ln -s libcuda.so.$pkgver libcuda.so.1 || return 1 ln -s libcuda.so.$pkgver libcuda.so || return 1 ln -s libvdpau_nvidia.so.$pkgver vdpau/libvdpau_nvidia.so.1 || return 1 ln -s libvdpau_nvidia.so.$pkgver vdpau/libvdpau_nvidia.so || return 1 ln -s libXvMCNVIDIA.so.$pkgver libXvMCNVIDIA_dynamic.so.1 || return 1 cd $pkgdir/usr/lib/xorg/modules/extensions ln -s libglx.so.$pkgver libglx.so || return 1 cd $pkgdir/opt/lib32/usr/lib ln -s libOpenCL.so.1.0.0 libOpenCL.so.1 || return 1 ln -s libOpenCL.so.1 libOpenCL.so || return 1 ln -s libGL.so.$pkgver libGL.so.1 || return 1 ln -s libGL.so.$pkgver libGL.so || return 1 ln -s libnvidia-glcore.so.$pkgver libnvidia-glcore.so.1 || return 1 ln -s libnvidia-glcore.so.$pkgver libnvidia-glcore.so || return 1 ln -s libnvidia-compiler.so.$pkgver libnvidia-compiler.so.1 || return 1 ln -s libnvidia-compiler.so.$pkgver libnvidia-compiler.so || return 1 ln -s libnvidia-tls.so.$pkgver libnvidia-tls.so.1 || return 1 ln -s libnvidia-tls.so.$pkgver libnvidia-tls.so || return 1 ln -s libcuda.so.$pkgver libcuda.so.1 || return 1 ln -s libcuda.so.$pkgver libcuda.so || return 1 ln -s libvdpau_nvidia.so.$pkgver vdpau/libvdpau_nvidia.so.1 || return 1 ln -s libvdpau_nvidia.so.$pkgver vdpau/libvdpau_nvidia.so || return 1 find $pkgdir/usr -type d -exec chmod 755 {} \; chmod 644 $pkgdir/usr/lib/libXvMCNVIDIA.a || return 1 # Install nvidia file for xorg autodection install -D -m644 $srcdir/20-nvidia.conf $pkgdir/etc/X11/xorg.conf.d/20-nvidia.conf || return 1 }