From 24d5fba491b2b2387f1694fa43407e497cfad460 Mon Sep 17 00:00:00 2001
From: Michael Hanson <hansonorders@verison.net>
Date: Mon, 28 Jun 2010 20:20:28 +0000
Subject: nvidia-utils: update to 256.35 and PKGBUILD re-write (cribbed from
 Arch)

---
 abs/core-testing/nvidia-utils/20-nvidia.conf |   6 ++
 abs/core-testing/nvidia-utils/PKGBUILD       | 139 +++++++++++++++++----------
 2 files changed, 95 insertions(+), 50 deletions(-)
 create mode 100644 abs/core-testing/nvidia-utils/20-nvidia.conf

diff --git a/abs/core-testing/nvidia-utils/20-nvidia.conf b/abs/core-testing/nvidia-utils/20-nvidia.conf
new file mode 100644
index 0000000..171f613
--- /dev/null
+++ b/abs/core-testing/nvidia-utils/20-nvidia.conf
@@ -0,0 +1,6 @@
+Section "Device"
+        Identifier "Default nvidia Device"
+        Driver "nvidia"
+        Option "NoLogo" "True" 
+EndSection
+
diff --git a/abs/core-testing/nvidia-utils/PKGBUILD b/abs/core-testing/nvidia-utils/PKGBUILD
index 1fd4576..88c2709 100644
--- a/abs/core-testing/nvidia-utils/PKGBUILD
+++ b/abs/core-testing/nvidia-utils/PKGBUILD
@@ -1,71 +1,110 @@
-# $Id: PKGBUILD 62048 2009-12-31 10:30:10Z tpowa $
+# $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=195.36.24
-pkgrel=1
+pkgver=256.35
+pkgrel=4
 pkgdesc="NVIDIA drivers utilities and libraries."
 arch=('i686' 'x86_64')
-[ "$CARCH" = "i686"   ] && ARCH=x86 	 
-[ "$CARCH" = "x86_64" ] && ARCH=x86_64
 url="http://www.nvidia.com/"
-depends=('xorg-server')
-optdepends=('gtk2: nvidia-settings' 'pkgconfig: nvidia-xconfig')
-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=("http://download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run")
-[ "$CARCH" = "x86_64" ] && md5sums=('3d3e956366f9df0e4c64d2e0299d1029')
+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 NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run --extract-only
-	cd NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/
+        cd $srcdir
+        sh ${_pkg}.run --extract-only
+}
 
-	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
+package() {
+        cd $srcdir/${_pkg}
 
-	install -m644 include/cuda/cuda*.h $pkgdir/usr/include/cuda/
+        # 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 lib/{libGLcore,libGL,libnvidia-cfg,libcuda,tls/libnvidia-tls}.so.${pkgver} $pkgdir/usr/lib/ || return 1
-  install -m755 lib/vdpau/libvdpau_nvidia.so.${pkgver} "${pkgdir}/usr/lib/vdpau/" || return 1
-  ln -sf libvdpau_nvidia.so.${pkgver} "${pkgdir}/usr/lib/vdpau/libvdpau_nvidia.so.1"
+        install -D -m755 libnvidia-cfg.so.$pkgver $pkgdir/usr/lib/libnvidia-cfg.so.$pkgver
 
-	install -m644 share/man/man1/* $pkgdir/usr/share/man/man1/ || return 1
-	rm $pkgdir/usr/share/man/man1/nvidia-installer.1.gz || return 1
-	install X11R6/lib/libXv* $pkgdir/usr/lib/ || return 1
-	install -m644 share/applications/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 -m644 share/pixmaps/nvidia-settings.png $pkgdir/usr/share/pixmaps/ || return 1
-	install X11R6/lib/modules/drivers/nvidia_drv.so $pkgdir/usr/lib/xorg/modules/drivers || return 1
-	install X11R6/lib/modules/extensions/libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions || return 1
-	install -m755 bin/nvidia-{settings,xconfig,bug-report.sh} $pkgdir/usr/bin/ || return 1
-	cd $pkgdir/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 libcuda.so.$pkgver libcuda.so || return 1
-	ln -s libXvMCNVIDIA.so.$pkgver libXvMCNVIDIA_dynamic.so.1 || return 1
+        # 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
 
-	cd $pkgdir/usr/lib/xorg/modules/extensions
-	ln -s libglx.so.$pkgver libglx.so || return 1
 
-	install -m644 $srcdir/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/LICENSE $pkgdir/usr/share/licenses/nvidia/ || return 1
-	ln -s nvidia $startdir/pkg/usr/share/licenses/nvidia-utils || return 1
+        # 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
 
-	install -D -m644 $srcdir/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/share/doc/README.txt $pkgdir/usr/share/doc/nvidia/README || return 1
 
-	find $pkgdir/usr -type d -exec chmod 755 {} \;
-	chmod 644 $pkgdir/usr/lib/libXvMCNVIDIA.a
+        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 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
 }
-md5sums=('97d3e5f69707092aa643fb901bb94003')
+
-- 
cgit v0.12

