summaryrefslogtreecommitdiffstats
path: root/abs/core/nvidia-96xx
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/nvidia-96xx')
-rw-r--r--abs/core/nvidia-96xx/PKGBUILD53
-rw-r--r--abs/core/nvidia-96xx/nvidia-96.43.11-2.6.30.patch103
-rw-r--r--abs/core/nvidia-96xx/nvidia.install14
3 files changed, 142 insertions, 28 deletions
diff --git a/abs/core/nvidia-96xx/PKGBUILD b/abs/core/nvidia-96xx/PKGBUILD
index ee165d2..df89e5f 100644
--- a/abs/core/nvidia-96xx/PKGBUILD
+++ b/abs/core/nvidia-96xx/PKGBUILD
@@ -1,38 +1,35 @@
-# $Id: PKGBUILD 22496 2008-12-26 22:51:15Z tpowa $
-# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+# $Id: PKGBUILD 69360 2010-02-20 11:24:15Z tpowa $
+# Maintainer : Thomas Baechler <thomas@archlinux.org>
pkgname=nvidia-96xx
-pkgver=96.43.09
+pkgver=96.43.16
_kernver='2.6.28-LinHES'
-pkgrel=5
-pkgdesc="NVIDIA legacy drivers for kernel26, 96xx branch"
-arch=(i686 x86_64)
-license=('custom:NVIDIA')
+
+pkgrel=1
+pkgdesc="NVIDIA drivers for kernel26, 96xx branch."
+arch=('i686' 'x86_64')
[ "$CARCH" = "i686" ] && ARCH=x86
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
url="http://www.nvidia.com/"
-depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-96xx-utils' 'vdpinfo-96xx')
-conflicts=('nvidia' 'nvidia-71xx' 'nvidia-legacy')
-install=nvidia-96xx.install
+depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-96xx-utils')
+makedepends=('kernel-headers>=2.6.28' 'kernel-headers<2.6.29')
+conflicts=('nvidia' 'nvidia-173xx')
license=('custom')
-source=(http://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run)
-md5sums=('758c739114b81ea2cb7da7c22ab80a7e')
-[ "$CARCH" = "x86_64" ] && md5sums=('00a4cd93adc956f8cf173ab1036a5bf7')
+install=nvidia.install
+source=("http://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run")
+md5sums=('7479b25c747e29af95b9ccf06f43fbf9')
+[ "$CARCH" = "x86_64" ] && md5sums=('73e226d4ee0996b6df4bdf44cc1fc6f5')
+
+build() {
+ cd $srcdir
+ sh NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run --extract-only
+ cd NVIDIA-Linux-$ARCH-${pkgver}-pkg0
+ cd usr/src/nv/
+ ln -s Makefile.kbuild Makefile
+ make SYSSRC=/lib/modules/${_kernver}/build module || return 1
-build()
-{
- # Extract
- cd $startdir/src/
- sh NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run --extract-only
- cd NVIDIA-Linux-$ARCH-${pkgver}-pkg0
-
- cd usr/src/nv/
- ln -s Makefile.kbuild Makefile
- make SYSSRC=/lib/modules/$_kernver/build module || return 1
-
- # install kernel module
- mkdir -p $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
- install -m644 nvidia.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/ || return 1
+ mkdir -p $pkgdir/lib/modules/${_kernver}/kernel/drivers/video/
+ install -m644 nvidia.ko $pkgdir/lib/modules/${_kernver}/kernel/drivers/video/
- sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
+ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/nvidia.install
}
diff --git a/abs/core/nvidia-96xx/nvidia-96.43.11-2.6.30.patch b/abs/core/nvidia-96xx/nvidia-96.43.11-2.6.30.patch
new file mode 100644
index 0000000..44d44fd
--- /dev/null
+++ b/abs/core/nvidia-96xx/nvidia-96.43.11-2.6.30.patch
@@ -0,0 +1,103 @@
+--- usr/src/nv/nv.c.orig
++++ usr/src/nv/nv.c
+@@ -15,6 +15,7 @@
+ #include "nv_compiler.h"
+ #include "os-agp.h"
+ #include "nv-vm.h"
++#include <linux/version.h>
+
+ #ifdef MODULE_ALIAS_CHARDEV_MAJOR
+ MODULE_ALIAS_CHARDEV_MAJOR(NV_MAJOR_DEVICE_NUMBER);
+@@ -499,10 +500,12 @@
+ * Set the module owner to ensure that the reference
+ * count reflects accesses to the proc files.
+ */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+ proc_nvidia->owner = THIS_MODULE;
+ proc_nvidia_cards->owner = THIS_MODULE;
+ proc_nvidia_warnings->owner = THIS_MODULE;
+
++#endif
+ for (j = 0; j < num_nv_devices; j++)
+ {
+ nvl = &nv_linux_devices[j];
+@@ -521,7 +524,9 @@
+
+ entry->data = nv;
+ entry->read_proc = nv_kern_read_cardinfo;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+ entry->owner = THIS_MODULE;
++#endif
+
+ if (nvos_find_agp_capability(dev)) {
+ /*
+@@ -534,7 +539,9 @@
+ goto failed;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+ entry->owner = THIS_MODULE;
++#endif
+ proc_nvidia_agp = entry;
+
+ entry = create_proc_entry("status", flags, proc_nvidia_agp);
+@@ -545,7 +552,9 @@
+
+ entry->data = nv;
+ entry->read_proc = nv_kern_read_status;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+ entry->owner = THIS_MODULE;
++#endif
+
+ entry = create_proc_entry("host-bridge", flags, proc_nvidia_agp);
+ if (!entry) {
+@@ -555,8 +564,9 @@
+
+ entry->data = NULL;
+ entry->read_proc = nv_kern_read_agpinfo;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+ entry->owner = THIS_MODULE;
+-
++#endif
+ entry = create_proc_entry("card", flags, proc_nvidia_agp);
+ if (!entry) {
+ NV_PCI_DEV_PUT(dev);
+@@ -565,7 +575,9 @@
+
+ entry->data = nv;
+ entry->read_proc = nv_kern_read_agpinfo;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+ entry->owner = THIS_MODULE;
++#endif
+ }
+
+ NV_PCI_DEV_PUT(dev);
+@@ -576,14 +588,18 @@
+ goto failed;
+
+ entry->read_proc = nv_kern_read_version;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+ entry->owner = THIS_MODULE;
++#endif
+
+ entry = create_proc_entry("registry", flags, proc_nvidia);
+ if (!entry)
+ goto failed;
+
+ entry->read_proc = nv_kern_read_registry;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+ entry->owner = THIS_MODULE;
++#endif
+
+ return;
+
+@@ -610,7 +626,9 @@
+
+ entry->data = (void *)message;
+ entry->read_proc = nv_kern_read_warning;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+ entry->owner = THIS_MODULE;
++#endif
+ #endif
+ }
+
diff --git a/abs/core/nvidia-96xx/nvidia.install b/abs/core/nvidia-96xx/nvidia.install
new file mode 100644
index 0000000..ab86ea2
--- /dev/null
+++ b/abs/core/nvidia-96xx/nvidia.install
@@ -0,0 +1,14 @@
+post_install() {
+ KERNEL_VERSION='2.6.28-LinHES'
+ depmod $KERNEL_VERSION
+}
+
+post_upgrade() {
+ post_install
+ rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
+}
+
+post_remove() {
+ KERNEL_VERSION='2.6.28-LinHES'
+ depmod $KERNEL_VERSION
+}