diff options
Diffstat (limited to 'abs/core/nvidia-173xx')
-rw-r--r-- | abs/core/nvidia-173xx/PKGBUILD | 34 | ||||
-rw-r--r-- | abs/core/nvidia-173xx/nvidia-96.43.11-2.6.30.patch | 103 | ||||
-rw-r--r-- | abs/core/nvidia-173xx/nvidia.install | 14 |
3 files changed, 151 insertions, 0 deletions
diff --git a/abs/core/nvidia-173xx/PKGBUILD b/abs/core/nvidia-173xx/PKGBUILD new file mode 100644 index 0000000..845e606 --- /dev/null +++ b/abs/core/nvidia-173xx/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 69360 2010-02-20 11:24:15Z tpowa $ +# Maintainer : Thomas Baechler <thomas@archlinux.org> + +pkgname=nvidia-173xx +pkgver=173.14.25 +_kernver='2.6.28-LinHES' + +pkgrel=1 +pkgdesc="NVIDIA drivers for kernel26, 173xx 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-173xx-utils') +makedepends=('kernel-headers>=2.6.28' 'kernel-headers<2.6.29') +conflicts=('nvidia' 'nvidia-173xx') +license=('custom') +install=nvidia.install +source=("http://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run") + +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 + + 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/nvidia.install +} +md5sums=('397bac51f760505ea57e863c1db9c572') diff --git a/abs/core/nvidia-173xx/nvidia-96.43.11-2.6.30.patch b/abs/core/nvidia-173xx/nvidia-96.43.11-2.6.30.patch new file mode 100644 index 0000000..44d44fd --- /dev/null +++ b/abs/core/nvidia-173xx/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-173xx/nvidia.install b/abs/core/nvidia-173xx/nvidia.install new file mode 100644 index 0000000..ab86ea2 --- /dev/null +++ b/abs/core/nvidia-173xx/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 +} |