diff options
Diffstat (limited to 'abs/core/nvidia-utils/PKGBUILD')
-rw-r--r-- | abs/core/nvidia-utils/PKGBUILD | 163 |
1 files changed, 100 insertions, 63 deletions
diff --git a/abs/core/nvidia-utils/PKGBUILD b/abs/core/nvidia-utils/PKGBUILD index b265eea..88c2709 100644 --- a/abs/core/nvidia-utils/PKGBUILD +++ b/abs/core/nvidia-utils/PKGBUILD @@ -1,73 +1,110 @@ +# $Id: PKGBUILD 83977 2010-06-25 06:51:43Z pierre $ +# Maintainer: Thomas Baechler <thomas@archlinux.org> +# Contributor: James Rayner <iphitus@gmail.com> + pkgname=nvidia-utils -pkgver=185.18.36 -pkgrel=1 -pkgdesc="NVIDIA beta drivers utilities and libraries." -provides=('nvidia-utils' 'libgl') +pkgver=256.35 +pkgrel=4 +pkgdesc="NVIDIA drivers utilities and libraries." arch=('i686' 'x86_64') -[ "$CARCH" = "i686" ] && ARCH=x86 && NV=0 -[ "$CARCH" = "x86_64" ] && ARCH=x86_64 && NV=0 url="http://www.nvidia.com/" -depends=('xorg-server>=1.5') -conflicts=('libgl' 'libgl-dri' 'ati-fglrx-utils' 'nvidia-legacy-utils' \ - 'nvidia-71xx-utils' 'nvidia-96xx-utils' ) +depends=('xorg-server' 'libxvmc') +optdepends=('gtk2: nvidia-settings' 'pkg-config: nvidia-xconfig') +conflicts=('libgl') +provides=('libgl') license=('custom') install=nvidia.install -source=(ftp://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg${NV}.run \ - supported-cards.txt) - -options=(docs) +options=('!strip') +backup=('etc/X11/xorg.conf.d/20-nvidia.conf') + +if [ "$CARCH" = "i686" ]; then + _arch='x86' + _pkg="NVIDIA-Linux-${_arch}-${pkgver}" + source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run") + md5sums=('f6af8917a500de28396a438f3f548c88') +elif [ "$CARCH" = "x86_64" ]; then + _arch='x86_64' + _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32" + source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run") + md5sums=('7b5924f14a4d2326b4d916efdb7852ff') +fi + +source[1]='20-nvidia.conf' +md5sums[1]='a3ddac4732c06d5cec7aefeed4d719c3' + +build() { + cd $srcdir + sh ${_pkg}.run --extract-only +} + +package() { + cd $srcdir/${_pkg} + + # X driver + install -D -m755 nvidia_drv.so $pkgdir/usr/lib/xorg/modules/drivers/nvidia_drv.so + # GLX extension module for X + install -D -m755 libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so.$pkgver + ln -s libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so # X doesn't find glx otherwise + # OpenGL library + install -D -m755 libGL.so.$pkgver $pkgdir/usr/lib/libGL.so.$pkgver + # OpenGL core library + install -D -m755 libnvidia-glcore.so.$pkgver $pkgdir/usr/lib/libnvidia-glcore.so.$pkgver + # XvMC + install -D -m644 libXvMCNVIDIA.a $pkgdir/usr/lib/libXvMCNVIDIA.a + install -D -m755 libXvMCNVIDIA.so.$pkgver $pkgdir/usr/lib/libXvMCNVIDIA.so.$pkgver + # VDPAU + install -D -m755 libvdpau_nvidia.so.$pkgver $pkgdir/usr/lib/vdpau/libvdpau_nvidia.so.$pkgver + # CUDA + install -D -m755 libcuda.so.$pkgver $pkgdir/usr/lib/libcuda.so.$pkgver + install -D -m644 cuda.h $pkgdir/usr/include/cuda/cuda.h + install -D -m644 cudaGL.h $pkgdir/usr/include/cuda/cudaGL.h + install -D -m644 cudaVDPAU.h $pkgdir/usr/include/cuda/cudaVDPAU.h + # nvidia-tls libraries + install -D -m755 libnvidia-tls.so.$pkgver $pkgdir/usr/lib/libnvidia-tls.so.$pkgver + install -D -m755 tls/libnvidia-tls.so.$pkgver $pkgdir/usr/lib/tls/libnvidia-tls.so.$pkgver + # OpenCL + install -D -m755 libnvidia-compiler.so.$pkgver $pkgdir/usr/lib/libnvidia-compiler.so.$pkgver + install -D -m755 libOpenCL.so.1.0.0 $pkgdir/usr/lib/libOpenCL.so.1.0.0 + install -D -m644 cl.h $pkgdir/usr/include/CL/cl.h + install -D -m644 cl_gl.h $pkgdir/usr/include/CL/cl_gl.h + install -D -m644 nvidia.icd $pkgdir/etc/OpenCL/vendors/nvidia.icd + install -D -m644 cl_platform.h $pkgdir/usr/include/CL/cl_platform.h + + install -D -m755 libnvidia-cfg.so.$pkgver $pkgdir/usr/lib/libnvidia-cfg.so.$pkgver + + # create soname links + for _lib in $(find $pkgdir -name '*.so*'); do + _soname="$(dirname ${_lib})/$(readelf -d "$_lib" | sed -nr 's/.*Library soname: \[(.*)\].*/\1/p')" + if [ ! -e "${_soname}" ]; then + ln -s "$(basename ${_lib})" "${_soname}" + ln -s "$(basename ${_soname})" "${_soname/.[0-9]*/}" + fi + done + + + # nvidia-xconfig + install -D -m755 nvidia-xconfig $pkgdir/usr/bin/nvidia-xconfig + install -D -m644 nvidia-xconfig.1.gz $pkgdir/usr/share/man/man1/nvidia-xconfig.1.gz + # nvidia-settings + install -D -m755 nvidia-settings $pkgdir/usr/bin/nvidia-settings + install -D -m644 nvidia-settings.1.gz $pkgdir/usr/share/man/man1/nvidia-settings.1.gz + install -D -m644 nvidia-settings.desktop $pkgdir/usr/share/applications/nvidia-settings.desktop + install -D -m644 nvidia-settings.png $pkgdir/usr/share/pixmaps/nvidia-settings.png + sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $pkgdir/usr/share/applications/nvidia-settings.desktop + # nvidia-bug-report + install -D -m755 nvidia-bug-report.sh $pkgdir/usr/bin/nvidia-bug-report.sh + # nvidia-smi + install -D -m755 nvidia-smi $pkgdir/usr/bin/nvidia-smi + install -D -m644 nvidia-smi.1.gz $pkgdir/usr/share/man/man1/nvidia-smi.1.gz -build() -{ - # override nvida install routine and do it the long way. - cd $startdir/src/ - sh NVIDIA-Linux-${ARCH}-${pkgver}-pkg${NV}.run --extract-only - cd NVIDIA-Linux-${ARCH}-${pkgver}-pkg${NV}/usr/ - mkdir -p $startdir/pkg/usr/{lib,bin,share/applications,share/pixmaps,man/man1} - mkdir -p $startdir/pkg/usr/lib/xorg/modules/{extensions,drivers} - mkdir -p $startdir/pkg/usr/share/licenses/nvidia/ - - #install lib/{libGLcore,libGL,libnvidia-cfg,libcuda,tls/libnvidia-tls}.so.${pkgver} \ - mkdir -p $startdir/pkg/usr/include/{,GL,cuda,vdpau} - - install -m644 include/cuda/{cudaGL,cuda}.h $startdir/pkg/usr/include/cuda - install -m644 include/vdpau/{vdpau_x11,vdpau}.h $startdir/pkg/usr/include/vdpau - # Conflicts with MESA; if you want to develop opengl app, enable this line - #install -m644 include/GL/{glxext,gl,glx,glext}.h $startdir/pkg/usr/include/GL - - install lib/{libGLcore,libGL,libnvidia-cfg,libcuda,tls/libnvidia-tls,libvdpau_nvidia,libvdpau,libvdpau_trace}.so.${pkgver} \ - $startdir/pkg/usr/lib/ || return 1 - - install -m644 share/man/man1/* $startdir/pkg/usr/man/man1/ || return 1 - rm $startdir/pkg/usr/man/man1/nvidia-installer.1.gz || return 1 - install X11R6/lib/libXv* $startdir/pkg/usr/lib/ || return 1 - install -m644 share/applications/nvidia-settings.desktop $startdir/pkg/usr/share/applications/ || return 1 - # fix nvidia .desktop file - sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $startdir/pkg/usr/share/applications/nvidia-settings.desktop - install -m644 share/pixmaps/nvidia-settings.png $startdir/pkg/usr/share/pixmaps/ || return 1 - install X11R6/lib/modules/libnvidia-wfb.so.$pkgver $startdir/pkg/usr/lib/xorg/modules || return 1 - install X11R6/lib/modules/drivers/nvidia_drv.so $startdir/pkg/usr/lib/xorg/modules/drivers || return 1 - install X11R6/lib/modules/extensions/libglx.so.$pkgver $startdir/pkg/usr/lib/xorg/modules/extensions || return 1 - install -m755 bin/nvidia-{settings,xconfig,bug-report.sh} $startdir/pkg/usr/bin/ || return 1 - cd $startdir/pkg/usr/lib/ - ln -s libGL.so.$pkgver libGL.so || return 1 - ln -s libGL.so.$pkgver libGL.so.1 || return 1 - ln -s libGLcore.so.$pkgver libGLcore.so.1 || return 1 - ln -s libnvidia-cfg.so.$pkgver libnvidia-cfg.so.1 || return 1 - ln -s libnvidia-tls.so.$pkgver libnvidia-tls.so.1 || return 1 - ln -s libcuda.so.$pkgver libcuda.so.1 || return 1 - ln -s libXvMCNVIDIA.so.$pkgver libXvMCNVIDIA_dynamic.so.1 || return 1 - ln -s libvdpau.so.$pkgver libvdpau.so.1 || return 1 - ln -s libvdpau.so.$pkgver libvdpau.so || return 1 - cd $startdir/pkg/usr/lib/xorg/modules/extensions - ln -s libglx.so.$pkgver libglx.so || return 1 + install -D -m644 LICENSE $pkgdir/usr/share/licenses/nvidia/LICENSE + ln -s nvidia $pkgdir/usr/share/licenses/nvidia-utils + install -D -m644 README.txt $pkgdir/usr/share/doc/nvidia/README + install -D -m644 NVIDIA_Changelog $pkgdir/usr/share/doc/nvidia/NVIDIA_Changelog + ln -s nvidia $pkgdir/usr/share/doc/nvidia-utils - install -m644 $startdir/src/NVIDIA-Linux-${ARCH}-${pkgver}-pkg${NV}/LICENSE $startdir/pkg/usr/share/licenses/nvidia/ || return 1 - ln -s nvidia $startdir/pkg/usr/share/licenses/nvidia-utils || return 1 - install -D -m644 $startdir/src/NVIDIA-Linux-${ARCH}-${pkgver}-pkg${NV}/usr/share/doc/README.txt $startdir/pkg/usr/share/doc/nvidia/README || return 1 - install -D -m644 $startdir/src/supported-cards.txt $startdir/pkg/usr/share/doc/nvidia/supported-cards.txt || return 1 - - find $startdir/pkg/usr -type d -exec chmod 755 {} \; + # Install xorg.conf.d file for nvidia autodetection in xorg.conf-less configurations + install -D -m644 $srcdir/20-nvidia.conf $pkgdir/etc/X11/xorg.conf.d/20-nvidia.conf } |