pkgname=nvidia-utils
pkgver=185.18.36
pkgrel=1
pkgdesc="NVIDIA beta drivers utilities and libraries."
provides=('nvidia-utils' 'libgl')
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' )
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)

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 -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 {} \;
}