summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2008-11-29 20:36:38 (GMT)
committerJames Meyer <james.meyer@operamail.com>2008-11-29 20:36:38 (GMT)
commitc93b924dcc87709cb91e6d3a454c24fdba8779ce (patch)
tree463fa308cba84d0551106186a3c4e2600223924f
parente64ae16a10e7c506efbfd473d8738eddd7c46c7b (diff)
downloadlinhes_pkgbuild-c93b924dcc87709cb91e6d3a454c24fdba8779ce.zip
linhes_pkgbuild-c93b924dcc87709cb91e6d3a454c24fdba8779ce.tar.gz
linhes_pkgbuild-c93b924dcc87709cb91e6d3a454c24fdba8779ce.tar.bz2
older nvidia pkg's straight from arch/modified for .26 kernel
-rw-r--r--abs/core-testing/nvidia-71xx-utils/PKGBUILD63
-rw-r--r--abs/core-testing/nvidia-71xx-utils/nvidia-71xx.install29
-rw-r--r--abs/core-testing/nvidia-71xx-utils/supported-cards.txt236
-rw-r--r--abs/core-testing/nvidia-71xx/NVIDIA_173.14.12_2.6.27.patch87
-rw-r--r--abs/core-testing/nvidia-71xx/PKGBUILD45
-rw-r--r--abs/core-testing/nvidia-71xx/nvidia-71xx.install23
-rw-r--r--abs/core-testing/nvidia-96xx-utils/PKGBUILD65
-rw-r--r--abs/core-testing/nvidia-96xx-utils/nvidia-96xx.install22
-rw-r--r--abs/core-testing/nvidia-96xx-utils/supported-cards.txt236
-rw-r--r--abs/core-testing/nvidia-96xx/NVIDIA_173.14.12_2.6.27.patch87
-rw-r--r--abs/core-testing/nvidia-96xx/PKGBUILD44
-rw-r--r--abs/core-testing/nvidia-96xx/nvidia-96xx.install22
12 files changed, 959 insertions, 0 deletions
diff --git a/abs/core-testing/nvidia-71xx-utils/PKGBUILD b/abs/core-testing/nvidia-71xx-utils/PKGBUILD
new file mode 100644
index 0000000..8d3ac30
--- /dev/null
+++ b/abs/core-testing/nvidia-71xx-utils/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id: PKGBUILD 5949 2008-07-21 20:32:38Z thomas $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: James Rayner <iphitus@gmail.com>
+
+pkgname=nvidia-71xx-utils
+pkgver=71.86.06
+pkgrel=1
+pkgdesc="NVIDIA legacy drivers utilities and libraries, 71xx branch."
+arch=(i686 x86_64)
+[ "$CARCH" = "i686" ] && ARCH=x86
+[ "$CARCH" = "x86_64" ] && ARCH=x86_64
+url="http://www.nvidia.com/"
+depends=('xorg-server')
+conflicts=('libgl' 'libgl-dri' 'ati-fglrx-utils' 'nvidia-utils' \
+ 'nvidia-96xx-utils' 'nvidia-legacy-utils')
+replaces=('nvidia-legacy-utils')
+provides=('libgl')
+license=('custom')
+install=nvidia-71xx.install
+source=(http://us.download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run \
+ supported-cards.txt)
+options=(docs !strip)
+md5sums=('61e4511d1bbb2962ca139091210b61ea'
+ '6363d7e494d33729609540088e33e73f')
+[ "$CARCH" = "x86_64" ] && md5sums=('205599549ddd6fadecfbc1adb090dfe2'
+ '6363d7e494d33729609540088e33e73f')
+
+build()
+{
+ # override nvida install routine and do it the long way.
+ cd $startdir/src/
+ sh NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run --extract-only
+ cd NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/
+
+ mkdir -p $startdir/pkg/usr/{lib,bin,share/applications,share/pixmaps}
+ mkdir -p $startdir/pkg/usr/lib/xorg/modules/{extensions,drivers}
+ mkdir -p $startdir/pkg/usr/share/licenses/nvidia-71xx/
+
+ install lib/{libGLcore.so.${pkgver},libGL.so.${pkgver},tls/libnvidia-tls.so.${pkgver}} \
+ $startdir/pkg/usr/lib/ || 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/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,bug-report.sh} $startdir/pkg/usr/bin/ || return 1
+ cd $startdir/pkg/usr/lib/
+ ln -s /usr/lib/libGL.so.$pkgver libGL.so || return 1
+ ln -s /usr/lib/libGL.so.$pkgver libGL.so.1 || return 1
+ ln -s /usr/lib/libGLcore.so.$pkgver libGLcore.so.1 || return 1
+ ln -s /usr/lib/libnvidia-tls.so.$pkgver libnvidia-tls.so.1 || return 1
+ cd $startdir/pkg/usr/lib/xorg/modules/extensions
+ ln -s /usr/lib/xorg/modules/extensions/libglx.so.$pkgver libglx.so || return 1
+
+ install -m644 $startdir/src/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/LICENSE $startdir/pkg/usr/share/licenses/nvidia-71xx/ || return 1
+ install -D -m644 $startdir/src/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/usr/share/doc/README $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 {} \;
+ # phew :)
+}
diff --git a/abs/core-testing/nvidia-71xx-utils/nvidia-71xx.install b/abs/core-testing/nvidia-71xx-utils/nvidia-71xx.install
new file mode 100644
index 0000000..cea8f32
--- /dev/null
+++ b/abs/core-testing/nvidia-71xx-utils/nvidia-71xx.install
@@ -0,0 +1,29 @@
+# arg 1: the new package version
+post_install() {
+
+ echo -------------------------------
+ echo By using this package you accept the NVIDIA license,
+ echo which has been installed in /usr/share/licenses/nvidia-71xx/LICENSE
+ echo If you do not accept this license, you must remove the package immediately.
+ echo Dont forget to update your /etc/X11/xorg.conf
+ echo In order to use nvidia-settings, you need to install 'gtk2' package.
+ echo -------------------------------
+
+ ### removing outdated workaround
+ if grep 'create-nvidia-nodes.sh' /etc/modprobe.conf >/dev/null 2>&1; then
+ cat /etc/modprobe.conf | grep -v 'create-nvidia-nodes.sh' \
+ >/tmp/.pacnvidia
+ mv /tmp/.pacnvidia /etc/modprobe.conf
+ chmod 644 etc/modprobe.conf
+ fi
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core-testing/nvidia-71xx-utils/supported-cards.txt b/abs/core-testing/nvidia-71xx-utils/supported-cards.txt
new file mode 100644
index 0000000..d4f26ea
--- /dev/null
+++ b/abs/core-testing/nvidia-71xx-utils/supported-cards.txt
@@ -0,0 +1,236 @@
+Archlinux currently manages three branches of the NVIDIA binary driver:
+
+nvidia (latest nvidia release)
+nvidia-96xx (96xx legacy branch)
+nvidia-71xx (71xx legacy branch)
+
+This excerpt from the NVIDIA 1.0.9746 README lists the supported devices
+for each of those:
+
+______________________________________________________________________________
+
+Appendix A. Supported NVIDIA Graphics Chips
+______________________________________________________________________________
+
+For the most complete and accurate listing of supported GPUs, please see the
+Supported Products List, available from the NVIDIA Linux x86 Graphics Driver
+download page. Please go to http://www.nvidia.com/object/unix.html, follow the
+Archive link under the Linux x86 heading, follow the link for the 1.0-9746
+driver, and then go to the Supported Products List.
+
+
+ NVIDIA chip name Device PCI ID
+ ---------------------------------- ----------------------------------
+ GeForce 6800 Ultra 0x0040
+ GeForce 6800 0x0041
+ GeForce 6800 XE 0x0043
+ GeForce 6800 XT 0x0044
+ GeForce 6800 GT 0x0045
+ GeForce 6800 GT 0x0046
+ GeForce 6800 GS 0x0047
+ GeForce 6800 XT 0x0048
+ Quadro FX 4000 0x004E
+ GeForce 7800 GTX 0x0090
+ GeForce 7800 GTX 0x0091
+ GeForce 7800 GT 0x0092
+ GeForce 7800 GS 0x0093
+ GeForce Go 7800 0x0098
+ GeForce Go 7800 GTX 0x0099
+ Quadro FX 4500 0x009D
+ GeForce 6800 GS 0x00C0
+ GeForce 6800 0x00C1
+ GeForce 6800 LE 0x00C2
+ GeForce 6800 XT 0x00C3
+ GeForce Go 6800 0x00C8
+ GeForce Go 6800 Ultra 0x00C9
+ Quadro FX Go1400 0x00CC
+ Quadro FX 3450/4000 SDI 0x00CD
+ Quadro FX 1400 0x00CE
+ GeForce 6800 Ultra/GeForce 6800 0x00F0
+ GeForce 6600 GT 0x00F1
+ GeForce 6600 0x00F2
+ GeForce 6200 0x00F3
+ GeForce 6600 LE 0x00F4
+ GeForce 7800 GS 0x00F5
+ GeForce 6800 GS 0x00F6
+ Quadro FX 3400/4400 0x00F8
+ GeForce 6800 Ultra 0x00F9
+ GeForce PCX 5750 0x00FA
+ GeForce PCX 5900 0x00FB
+ GeForce PCX 5300/Quadro FX 330 0x00FC
+ Quadro NVS 280 PCI-E/Quadro FX 330 0x00FD
+ Quadro FX 1300 0x00FE
+ GeForce PCX 4300 0x00FF
+ GeForce 6600 GT 0x0140
+ GeForce 6600 0x0141
+ GeForce 6600 LE 0x0142
+ GeForce 6600 VE 0x0143
+ GeForce Go 6600 0x0144
+ GeForce 6610 XL 0x0145
+ GeForce Go 6600 TE/6200 TE 0x0146
+ GeForce 6700 XL 0x0147
+ GeForce Go 6600 0x0148
+ GeForce Go 6600 GT 0x0149
+ Quadro NVS 440 0x014A
+ Quadro FX 550 0x014C
+ Quadro FX 540 0x014E
+ GeForce 6200 0x014F
+ GeForce 6500 0x0160
+ GeForce 6200 TurboCache(TM) 0x0161
+ GeForce 6200 LE 0x0163
+ GeForce Go 6200 0x0164
+ Quadro NVS 285 0x0165
+ GeForce Go 6400 0x0166
+ GeForce Go 6200 0x0167
+ GeForce Go 6400 0x0168
+ GeForce 8800 GTX 0x0191
+ GeForce 8800 GTS 0x0193
+ GeForce 7300 LE 0x01D1
+ GeForce 7300 SE 0x01D3
+ Quadro NVS 110M/GeForce Go 7300 0x01D7
+ GeForce Go 7400 0x01D8
+ Quadro NVS 110M 0x01DA
+ Quadro NVS 120M 0x01DB
+ Quadro FX 350M 0x01DC
+ Quadro FX 350 0x01DE
+ GeForce 7300 GS 0x01DF
+ GeForce 6800 0x0211
+ GeForce 6800 LE 0x0212
+ GeForce 6800 GT 0x0215
+ GeForce 6800 XT 0x0218
+ GeForce 6200 0x0221
+ GeForce 6150 0x0240
+ GeForce 6150 LE 0x0241
+ GeForce 6100 0x0242
+ GeForce Go 6100 0x0247
+ GeForce 7900 GTX 0x0290
+ GeForce 7900 GT/GTO 0x0291
+ GeForce 7900 GS 0x0292
+ GeForce 7950 GX2 0x0294
+ GeForce Go 7900 GS 0x0298
+ GeForce Go 7900 GTX 0x0299
+ Quadro FX 2500M 0x029A
+ Quadro FX 1500M 0x029B
+ Quadro FX 5500 0x029C
+ Quadro FX 3500M 0x029D
+ Quadro FX 1500 0x029E
+ Quadro FX 4500 X2 0x029F
+ GeForce 7600 GS 0x02E1
+ GeForce FX 5800 Ultra 0x0301
+ GeForce FX 5800 0x0302
+ Quadro FX 2000 0x0308
+ Quadro FX 1000 0x0309
+ GeForce FX 5600 Ultra 0x0311
+ GeForce FX 5600 0x0312
+ GeForce FX 5600XT 0x0314
+ GeForce FX Go5600 0x031A
+ GeForce FX Go5650 0x031B
+ Quadro FX Go700 0x031C
+ GeForce FX 5200 0x0320
+ GeForce FX 5200 Ultra 0x0321
+ GeForce FX 5200 0x0322
+ GeForce FX 5200LE 0x0323
+ GeForce FX Go5200 0x0324
+ GeForce FX Go5250 0x0325
+ GeForce FX 5500 0x0326
+ GeForce FX 5100 0x0327
+ GeForce FX Go5200 32M/64M 0x0328
+ Quadro NVS 55/280 PCI 0x032A
+ Quadro FX 500/FX 600 0x032B
+ GeForce FX Go53xx 0x032C
+ GeForce FX Go5100 0x032D
+ GeForce FX 5900 Ultra 0x0330
+ GeForce FX 5900 0x0331
+ GeForce FX 5900XT 0x0332
+ GeForce FX 5950 Ultra 0x0333
+ GeForce FX 5900ZT 0x0334
+ Quadro FX 3000 0x0338
+ Quadro FX 700 0x033F
+ GeForce FX 5700 Ultra 0x0341
+ GeForce FX 5700 0x0342
+ GeForce FX 5700LE 0x0343
+ GeForce FX 5700VE 0x0344
+ GeForce FX Go5700 0x0347
+ GeForce FX Go5700 0x0348
+ Quadro FX Go1000 0x034C
+ Quadro FX 1100 0x034E
+ GeForce 7600 GT 0x0391
+ GeForce 7600 GS 0x0392
+ GeForce 7300 GT 0x0393
+ GeForce Go 7600 0x0398
+ Quadro FX 560 0x039E
+
+
+Below are the legacy GPUs that are no longer supported in the unified driver.
+These GPUs will continue to be maintained through the special legacy NVIDIA
+GPU driver releases.
+
+The 1.0-96xx driver supports the following set of GPUs:
+
+
+ NVIDIA chip name Device PCI ID
+ ---------------------------------- ----------------------------------
+ GeForce2 MX/MX 400 0x0110
+ GeForce2 MX 100/200 0x0111
+ GeForce2 Go 0x0112
+ Quadro2 MXR/EX/Go 0x0113
+ GeForce4 MX 460 0x0170
+ GeForce4 MX 440 0x0171
+ GeForce4 MX 420 0x0172
+ GeForce4 MX 440-SE 0x0173
+ GeForce4 440 Go 0x0174
+ GeForce4 420 Go 0x0175
+ GeForce4 420 Go 32M 0x0176
+ GeForce4 460 Go 0x0177
+ Quadro4 550 XGL 0x0178
+ GeForce4 440 Go 64M 0x0179
+ Quadro NVS 0x017A
+ Quadro4 500 GoGL 0x017C
+ GeForce4 410 Go 16M 0x017D
+ GeForce4 MX 440 with AGP8X 0x0181
+ GeForce4 MX 440SE with AGP8X 0x0182
+ GeForce4 MX 420 with AGP8X 0x0183
+ GeForce4 MX 4000 0x0185
+ Quadro4 580 XGL 0x0188
+ Quadro NVS 280 SD 0x018A
+ Quadro4 380 XGL 0x018B
+ Quadro NVS 50 PCI 0x018C
+ GeForce2 Integrated GPU 0x01A0
+ GeForce4 MX Integrated GPU 0x01F0
+ GeForce3 0x0200
+ GeForce3 Ti 200 0x0201
+ GeForce3 Ti 500 0x0202
+ Quadro DCC 0x0203
+ GeForce4 Ti 4600 0x0250
+ GeForce4 Ti 4400 0x0251
+ GeForce4 Ti 4200 0x0253
+ Quadro4 900 XGL 0x0258
+ Quadro4 750 XGL 0x0259
+ Quadro4 700 XGL 0x025B
+ GeForce4 Ti 4800 0x0280
+ GeForce4 Ti 4200 with AGP8X 0x0281
+ GeForce4 Ti 4800 SE 0x0282
+ GeForce4 4200 Go 0x0286
+ Quadro4 980 XGL 0x0288
+ Quadro4 780 XGL 0x0289
+ Quadro4 700 GoGL 0x028C
+
+
+The 1.0-71xx driver supports the following set of GPUs:
+
+
+ NVIDIA chip name Device PCI ID
+ ---------------------------------- ----------------------------------
+ RIVA TNT 0x0020
+ RIVA TNT2/TNT2 Pro 0x0028
+ RIVA TNT2 Ultra 0x0029
+ Vanta/Vanta LT 0x002C
+ RIVA TNT2 Model 64/Model 64 Pro 0x002D
+ Aladdin TNT2 0x00A0
+ GeForce 256 0x0100
+ GeForce DDR 0x0101
+ Quadro 0x0103
+ GeForce2 GTS/GeForce2 Pro 0x0150
+ GeForce2 Ti 0x0151
+ GeForce2 Ultra 0x0152
+ Quadro2 Pro 0x0153
diff --git a/abs/core-testing/nvidia-71xx/NVIDIA_173.14.12_2.6.27.patch b/abs/core-testing/nvidia-71xx/NVIDIA_173.14.12_2.6.27.patch
new file mode 100644
index 0000000..1ba936b
--- /dev/null
+++ b/abs/core-testing/nvidia-71xx/NVIDIA_173.14.12_2.6.27.patch
@@ -0,0 +1,87 @@
+diff -Nru NVIDIA-Linux-x86-173.14.12-pkg0.orig/usr/src/nv/nv.c NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv.c
+--- usr/src/nv/nv.c 2008-07-18 03:42:50.000000000 +0200
++++ NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv.c 2008-08-12 00:35:45.000000000 +0200
+@@ -1296,14 +1296,22 @@
+ if (get_cpu() == cpu)
+ __nv_setup_pat_entries(NULL);
+ else
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ smp_call_function(__nv_setup_pat_entries, hcpu, 1);
++ #else
+ smp_call_function(__nv_setup_pat_entries, hcpu, 1, 1);
++ #endif
+ put_cpu();
+ break;
+ case CPU_DOWN_PREPARE:
+ if (get_cpu() == cpu)
+ __nv_restore_pat_entries(NULL);
+ else
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ smp_call_function(__nv_restore_pat_entries, hcpu, 1);
++ #else
+ smp_call_function(__nv_restore_pat_entries, hcpu, 1, 1);
++ #endif
+ put_cpu();
+ break;
+ }
+diff -Nru NVIDIA-Linux-x86-173.14.12-pkg0.orig/usr/src/nv/nv-linux.h NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv-linux.h
+--- usr/src/nv/nv-linux.h 2008-07-18 03:42:51.000000000 +0200
++++ NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv-linux.h 2008-08-12 00:44:27.000000000 +0200
+@@ -104,7 +104,10 @@
+ #endif
+
+ #include <linux/spinlock.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++#else
+ #include <asm/semaphore.h>
++#endif
+ #include <linux/completion.h>
+ #include <linux/highmem.h>
+
+@@ -665,13 +668,21 @@
+ #if defined(preempt_disable)
+ preempt_disable();
+ #endif
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ ret = smp_call_function(func, info, 1);
++ #else
+ ret = smp_call_function(func, info, 1, 1);
++ #endif
+ func(info);
+ #if defined(preempt_enable)
+ preempt_enable();
+ #endif
+ #else
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ ret = on_each_cpu(func, info, 1);
++ #else
+ ret = on_each_cpu(func, info, 1, 1);
++ #endif
+ #endif
+ return ret;
+ }
+diff -Nru NVIDIA-Linux-x86-173.14.12-pkg0.orig/usr/src/nv/os-interface.c NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/os-interface.c
+--- usr/src/nv/os-interface.c 2008-07-18 03:42:50.000000000 +0200
++++ NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/os-interface.c 2008-08-12 00:48:07.000000000 +0200
+@@ -48,7 +48,11 @@
+ #endif
+ local_bh_disable();
+ atomic_set(&os_smp_barrier, 1);
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ ret = smp_call_function(ipi_handler, NULL, 0);
++ #else
+ ret = smp_call_function(ipi_handler, NULL, 1, 0);
++ #endif
+ #endif
+ return (ret == 0) ? RM_OK : RM_ERROR;
+ }
+@@ -704,7 +708,9 @@
+ U032 sig
+ )
+ {
++ #if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 26)
+ return kill_proc(pid, sig, 1) ? RM_ERR_OPERATING_SYSTEM : RM_OK;
++ #endif
+ }
+
+ /*******************************************************************************/
diff --git a/abs/core-testing/nvidia-71xx/PKGBUILD b/abs/core-testing/nvidia-71xx/PKGBUILD
new file mode 100644
index 0000000..e879abe
--- /dev/null
+++ b/abs/core-testing/nvidia-71xx/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 14777 2008-10-10 15:34:50Z thomas $
+# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=nvidia-71xx
+pkgver=71.86.06
+_kernver='2.6.26-ARCH'
+pkgrel=3
+pkgdesc="NVIDIA legacy drivers for kernel26, 71xx branch"
+arch=(i686 x86_64)
+[ "$CARCH" = "i686" ] && ARCH=x86
+[ "$CARCH" = "x86_64" ] && ARCH=x86_64
+url="http://www.nvidia.com/"
+depends=('nvidia-71xx-utils' 'kernel26>=2.6.26' 'kernel26<2.6.28')
+conflicts=('nvidia' 'nvidia-96xx' 'nvidia-legacy')
+replaces=('nvidia-legacy')
+license=('custom')
+source=(http://us.download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run
+ NVIDIA_173.14.12_2.6.27.patch)
+install="nvidia-71xx.install"
+md5sums=('61e4511d1bbb2962ca139091210b61ea'
+ 'cd4a68b5a88be6976b90cd0df6bfe89e')
+[ "$CARCH" = "x86_64" ] && md5sums=('205599549ddd6fadecfbc1adb090dfe2'
+ 'cd4a68b5a88be6976b90cd0df6bfe89e')
+
+build() {
+ cd $startdir/src
+
+ # Extract
+ cd $startdir/src/
+ sh NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run --extract-only
+ cd NVIDIA-Linux-${ARCH}-${pkgver}-pkg0
+
+ # Any extra patches are applied in here...
+ patch -Np1 -i ../NVIDIA_173.14.12_2.6.27.patch || return 1
+
+ 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
+
+ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
+}
diff --git a/abs/core-testing/nvidia-71xx/nvidia-71xx.install b/abs/core-testing/nvidia-71xx/nvidia-71xx.install
new file mode 100644
index 0000000..18b7435
--- /dev/null
+++ b/abs/core-testing/nvidia-71xx/nvidia-71xx.install
@@ -0,0 +1,23 @@
+# arg 1: the new package version
+post_install() {
+ KERNEL_VERSION='2.6.26-ARCH'
+ depmod -v $KERNEL_VERSION > /dev/null 2>&1
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+ rmmod nvidia >/dev/null 2>&1 || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
+}
+
+# arg 1: the old package version
+post_remove() {
+ KERNEL_VERSION='2.6.26-ARCH'
+ depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ rmmod nvidia >/dev/null 2>&1
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core-testing/nvidia-96xx-utils/PKGBUILD b/abs/core-testing/nvidia-96xx-utils/PKGBUILD
new file mode 100644
index 0000000..b745a3c
--- /dev/null
+++ b/abs/core-testing/nvidia-96xx-utils/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 5959 2008-07-21 20:38:14Z thomas $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: James Rayner <iphitus@gmail.com>
+
+pkgname=nvidia-96xx-utils
+pkgver=96.43.07
+pkgrel=1
+pkgdesc="NVIDIA legacy drivers utilities and libraries, 96xx branch."
+arch=(i686 x86_64)
+license=('custom')
+[ "$CARCH" = "i686" ] && ARCH=x86
+[ "$CARCH" = "x86_64" ] && ARCH=x86_64
+url="http://www.nvidia.com/"
+depends=('xorg-server')
+conflicts=('libgl' 'libgl-dri' 'ati-fglrx-utils' 'nvidia-utils' \
+ 'nvidia-71xx-utils' 'nvidia-legacy-utils')
+provides=('libgl')
+install=nvidia-96xx.install
+source=(http://us.download.nvidia.com/XFree86/Linux-${ARCH}/${pkgver}/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run \
+ supported-cards.txt)
+md5sums=('8fa2b7c5e4629850d4bd33033ec46166'
+ '6363d7e494d33729609540088e33e73f')
+[ "$CARCH" = "x86_64" ] && md5sums=('c03bd2469292d91dde8767af1418c4e1'
+ '6363d7e494d33729609540088e33e73f')
+options=(docs !strip)
+
+build()
+{
+ # override nvida install routine and do it the long way.
+ cd $startdir/src/
+ sh NVIDIA-Linux-${ARCH}-${pkgver}-pkg0.run --extract-only
+ cd NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/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-96xx/
+
+ install lib/{libGLcore.so.${pkgver},libGL.so.${pkgver},libnvidia-cfg.so.${pkgver},tls/libnvidia-tls.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/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 /usr/lib/libGL.so.$pkgver libGL.so || return 1
+ ln -s /usr/lib/libGL.so.$pkgver libGL.so.1 || return 1
+ ln -s /usr/lib/libGLcore.so.$pkgver libGLcore.so.1 || return 1
+ ln -s /usr/lib/libnvidia-cfg.so.$pkgver libnvidia-cfg.so.1 || return 1
+ ln -s /usr/lib/libnvidia-tls.so.$pkgver libnvidia-tls.so.1 || return 1
+ cd $startdir/pkg/usr/lib/xorg/modules/extensions
+ ln -s /usr/lib/xorg/modules/extensions/libglx.so.$pkgver libglx.so || return 1
+
+ install -m644 $startdir/src/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/LICENSE $startdir/pkg/usr/share/licenses/nvidia-96xx/ || return 1
+ install -D -m644 $startdir/src/NVIDIA-Linux-${ARCH}-${pkgver}-pkg0/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 {} \;
+ # phew :)
+}
diff --git a/abs/core-testing/nvidia-96xx-utils/nvidia-96xx.install b/abs/core-testing/nvidia-96xx-utils/nvidia-96xx.install
new file mode 100644
index 0000000..bb1fff2
--- /dev/null
+++ b/abs/core-testing/nvidia-96xx-utils/nvidia-96xx.install
@@ -0,0 +1,22 @@
+# arg 1: the new package version
+post_install() {
+
+ echo -------------------------------
+ echo By using this package you accept the NVIDIA license,
+ echo which has been installed in /usr/share/licenses/nvidia/LICENSE
+ echo If you do not accept this license, you must remove the package immediately.
+ echo Dont forget to update your /etc/X11/xorg.conf
+ echo In order to use nvidia-settings, you need to install 'gtk2' package.
+ echo -------------------------------
+
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core-testing/nvidia-96xx-utils/supported-cards.txt b/abs/core-testing/nvidia-96xx-utils/supported-cards.txt
new file mode 100644
index 0000000..d4f26ea
--- /dev/null
+++ b/abs/core-testing/nvidia-96xx-utils/supported-cards.txt
@@ -0,0 +1,236 @@
+Archlinux currently manages three branches of the NVIDIA binary driver:
+
+nvidia (latest nvidia release)
+nvidia-96xx (96xx legacy branch)
+nvidia-71xx (71xx legacy branch)
+
+This excerpt from the NVIDIA 1.0.9746 README lists the supported devices
+for each of those:
+
+______________________________________________________________________________
+
+Appendix A. Supported NVIDIA Graphics Chips
+______________________________________________________________________________
+
+For the most complete and accurate listing of supported GPUs, please see the
+Supported Products List, available from the NVIDIA Linux x86 Graphics Driver
+download page. Please go to http://www.nvidia.com/object/unix.html, follow the
+Archive link under the Linux x86 heading, follow the link for the 1.0-9746
+driver, and then go to the Supported Products List.
+
+
+ NVIDIA chip name Device PCI ID
+ ---------------------------------- ----------------------------------
+ GeForce 6800 Ultra 0x0040
+ GeForce 6800 0x0041
+ GeForce 6800 XE 0x0043
+ GeForce 6800 XT 0x0044
+ GeForce 6800 GT 0x0045
+ GeForce 6800 GT 0x0046
+ GeForce 6800 GS 0x0047
+ GeForce 6800 XT 0x0048
+ Quadro FX 4000 0x004E
+ GeForce 7800 GTX 0x0090
+ GeForce 7800 GTX 0x0091
+ GeForce 7800 GT 0x0092
+ GeForce 7800 GS 0x0093
+ GeForce Go 7800 0x0098
+ GeForce Go 7800 GTX 0x0099
+ Quadro FX 4500 0x009D
+ GeForce 6800 GS 0x00C0
+ GeForce 6800 0x00C1
+ GeForce 6800 LE 0x00C2
+ GeForce 6800 XT 0x00C3
+ GeForce Go 6800 0x00C8
+ GeForce Go 6800 Ultra 0x00C9
+ Quadro FX Go1400 0x00CC
+ Quadro FX 3450/4000 SDI 0x00CD
+ Quadro FX 1400 0x00CE
+ GeForce 6800 Ultra/GeForce 6800 0x00F0
+ GeForce 6600 GT 0x00F1
+ GeForce 6600 0x00F2
+ GeForce 6200 0x00F3
+ GeForce 6600 LE 0x00F4
+ GeForce 7800 GS 0x00F5
+ GeForce 6800 GS 0x00F6
+ Quadro FX 3400/4400 0x00F8
+ GeForce 6800 Ultra 0x00F9
+ GeForce PCX 5750 0x00FA
+ GeForce PCX 5900 0x00FB
+ GeForce PCX 5300/Quadro FX 330 0x00FC
+ Quadro NVS 280 PCI-E/Quadro FX 330 0x00FD
+ Quadro FX 1300 0x00FE
+ GeForce PCX 4300 0x00FF
+ GeForce 6600 GT 0x0140
+ GeForce 6600 0x0141
+ GeForce 6600 LE 0x0142
+ GeForce 6600 VE 0x0143
+ GeForce Go 6600 0x0144
+ GeForce 6610 XL 0x0145
+ GeForce Go 6600 TE/6200 TE 0x0146
+ GeForce 6700 XL 0x0147
+ GeForce Go 6600 0x0148
+ GeForce Go 6600 GT 0x0149
+ Quadro NVS 440 0x014A
+ Quadro FX 550 0x014C
+ Quadro FX 540 0x014E
+ GeForce 6200 0x014F
+ GeForce 6500 0x0160
+ GeForce 6200 TurboCache(TM) 0x0161
+ GeForce 6200 LE 0x0163
+ GeForce Go 6200 0x0164
+ Quadro NVS 285 0x0165
+ GeForce Go 6400 0x0166
+ GeForce Go 6200 0x0167
+ GeForce Go 6400 0x0168
+ GeForce 8800 GTX 0x0191
+ GeForce 8800 GTS 0x0193
+ GeForce 7300 LE 0x01D1
+ GeForce 7300 SE 0x01D3
+ Quadro NVS 110M/GeForce Go 7300 0x01D7
+ GeForce Go 7400 0x01D8
+ Quadro NVS 110M 0x01DA
+ Quadro NVS 120M 0x01DB
+ Quadro FX 350M 0x01DC
+ Quadro FX 350 0x01DE
+ GeForce 7300 GS 0x01DF
+ GeForce 6800 0x0211
+ GeForce 6800 LE 0x0212
+ GeForce 6800 GT 0x0215
+ GeForce 6800 XT 0x0218
+ GeForce 6200 0x0221
+ GeForce 6150 0x0240
+ GeForce 6150 LE 0x0241
+ GeForce 6100 0x0242
+ GeForce Go 6100 0x0247
+ GeForce 7900 GTX 0x0290
+ GeForce 7900 GT/GTO 0x0291
+ GeForce 7900 GS 0x0292
+ GeForce 7950 GX2 0x0294
+ GeForce Go 7900 GS 0x0298
+ GeForce Go 7900 GTX 0x0299
+ Quadro FX 2500M 0x029A
+ Quadro FX 1500M 0x029B
+ Quadro FX 5500 0x029C
+ Quadro FX 3500M 0x029D
+ Quadro FX 1500 0x029E
+ Quadro FX 4500 X2 0x029F
+ GeForce 7600 GS 0x02E1
+ GeForce FX 5800 Ultra 0x0301
+ GeForce FX 5800 0x0302
+ Quadro FX 2000 0x0308
+ Quadro FX 1000 0x0309
+ GeForce FX 5600 Ultra 0x0311
+ GeForce FX 5600 0x0312
+ GeForce FX 5600XT 0x0314
+ GeForce FX Go5600 0x031A
+ GeForce FX Go5650 0x031B
+ Quadro FX Go700 0x031C
+ GeForce FX 5200 0x0320
+ GeForce FX 5200 Ultra 0x0321
+ GeForce FX 5200 0x0322
+ GeForce FX 5200LE 0x0323
+ GeForce FX Go5200 0x0324
+ GeForce FX Go5250 0x0325
+ GeForce FX 5500 0x0326
+ GeForce FX 5100 0x0327
+ GeForce FX Go5200 32M/64M 0x0328
+ Quadro NVS 55/280 PCI 0x032A
+ Quadro FX 500/FX 600 0x032B
+ GeForce FX Go53xx 0x032C
+ GeForce FX Go5100 0x032D
+ GeForce FX 5900 Ultra 0x0330
+ GeForce FX 5900 0x0331
+ GeForce FX 5900XT 0x0332
+ GeForce FX 5950 Ultra 0x0333
+ GeForce FX 5900ZT 0x0334
+ Quadro FX 3000 0x0338
+ Quadro FX 700 0x033F
+ GeForce FX 5700 Ultra 0x0341
+ GeForce FX 5700 0x0342
+ GeForce FX 5700LE 0x0343
+ GeForce FX 5700VE 0x0344
+ GeForce FX Go5700 0x0347
+ GeForce FX Go5700 0x0348
+ Quadro FX Go1000 0x034C
+ Quadro FX 1100 0x034E
+ GeForce 7600 GT 0x0391
+ GeForce 7600 GS 0x0392
+ GeForce 7300 GT 0x0393
+ GeForce Go 7600 0x0398
+ Quadro FX 560 0x039E
+
+
+Below are the legacy GPUs that are no longer supported in the unified driver.
+These GPUs will continue to be maintained through the special legacy NVIDIA
+GPU driver releases.
+
+The 1.0-96xx driver supports the following set of GPUs:
+
+
+ NVIDIA chip name Device PCI ID
+ ---------------------------------- ----------------------------------
+ GeForce2 MX/MX 400 0x0110
+ GeForce2 MX 100/200 0x0111
+ GeForce2 Go 0x0112
+ Quadro2 MXR/EX/Go 0x0113
+ GeForce4 MX 460 0x0170
+ GeForce4 MX 440 0x0171
+ GeForce4 MX 420 0x0172
+ GeForce4 MX 440-SE 0x0173
+ GeForce4 440 Go 0x0174
+ GeForce4 420 Go 0x0175
+ GeForce4 420 Go 32M 0x0176
+ GeForce4 460 Go 0x0177
+ Quadro4 550 XGL 0x0178
+ GeForce4 440 Go 64M 0x0179
+ Quadro NVS 0x017A
+ Quadro4 500 GoGL 0x017C
+ GeForce4 410 Go 16M 0x017D
+ GeForce4 MX 440 with AGP8X 0x0181
+ GeForce4 MX 440SE with AGP8X 0x0182
+ GeForce4 MX 420 with AGP8X 0x0183
+ GeForce4 MX 4000 0x0185
+ Quadro4 580 XGL 0x0188
+ Quadro NVS 280 SD 0x018A
+ Quadro4 380 XGL 0x018B
+ Quadro NVS 50 PCI 0x018C
+ GeForce2 Integrated GPU 0x01A0
+ GeForce4 MX Integrated GPU 0x01F0
+ GeForce3 0x0200
+ GeForce3 Ti 200 0x0201
+ GeForce3 Ti 500 0x0202
+ Quadro DCC 0x0203
+ GeForce4 Ti 4600 0x0250
+ GeForce4 Ti 4400 0x0251
+ GeForce4 Ti 4200 0x0253
+ Quadro4 900 XGL 0x0258
+ Quadro4 750 XGL 0x0259
+ Quadro4 700 XGL 0x025B
+ GeForce4 Ti 4800 0x0280
+ GeForce4 Ti 4200 with AGP8X 0x0281
+ GeForce4 Ti 4800 SE 0x0282
+ GeForce4 4200 Go 0x0286
+ Quadro4 980 XGL 0x0288
+ Quadro4 780 XGL 0x0289
+ Quadro4 700 GoGL 0x028C
+
+
+The 1.0-71xx driver supports the following set of GPUs:
+
+
+ NVIDIA chip name Device PCI ID
+ ---------------------------------- ----------------------------------
+ RIVA TNT 0x0020
+ RIVA TNT2/TNT2 Pro 0x0028
+ RIVA TNT2 Ultra 0x0029
+ Vanta/Vanta LT 0x002C
+ RIVA TNT2 Model 64/Model 64 Pro 0x002D
+ Aladdin TNT2 0x00A0
+ GeForce 256 0x0100
+ GeForce DDR 0x0101
+ Quadro 0x0103
+ GeForce2 GTS/GeForce2 Pro 0x0150
+ GeForce2 Ti 0x0151
+ GeForce2 Ultra 0x0152
+ Quadro2 Pro 0x0153
diff --git a/abs/core-testing/nvidia-96xx/NVIDIA_173.14.12_2.6.27.patch b/abs/core-testing/nvidia-96xx/NVIDIA_173.14.12_2.6.27.patch
new file mode 100644
index 0000000..1ba936b
--- /dev/null
+++ b/abs/core-testing/nvidia-96xx/NVIDIA_173.14.12_2.6.27.patch
@@ -0,0 +1,87 @@
+diff -Nru NVIDIA-Linux-x86-173.14.12-pkg0.orig/usr/src/nv/nv.c NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv.c
+--- usr/src/nv/nv.c 2008-07-18 03:42:50.000000000 +0200
++++ NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv.c 2008-08-12 00:35:45.000000000 +0200
+@@ -1296,14 +1296,22 @@
+ if (get_cpu() == cpu)
+ __nv_setup_pat_entries(NULL);
+ else
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ smp_call_function(__nv_setup_pat_entries, hcpu, 1);
++ #else
+ smp_call_function(__nv_setup_pat_entries, hcpu, 1, 1);
++ #endif
+ put_cpu();
+ break;
+ case CPU_DOWN_PREPARE:
+ if (get_cpu() == cpu)
+ __nv_restore_pat_entries(NULL);
+ else
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ smp_call_function(__nv_restore_pat_entries, hcpu, 1);
++ #else
+ smp_call_function(__nv_restore_pat_entries, hcpu, 1, 1);
++ #endif
+ put_cpu();
+ break;
+ }
+diff -Nru NVIDIA-Linux-x86-173.14.12-pkg0.orig/usr/src/nv/nv-linux.h NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv-linux.h
+--- usr/src/nv/nv-linux.h 2008-07-18 03:42:51.000000000 +0200
++++ NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/nv-linux.h 2008-08-12 00:44:27.000000000 +0200
+@@ -104,7 +104,10 @@
+ #endif
+
+ #include <linux/spinlock.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++#else
+ #include <asm/semaphore.h>
++#endif
+ #include <linux/completion.h>
+ #include <linux/highmem.h>
+
+@@ -665,13 +668,21 @@
+ #if defined(preempt_disable)
+ preempt_disable();
+ #endif
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ ret = smp_call_function(func, info, 1);
++ #else
+ ret = smp_call_function(func, info, 1, 1);
++ #endif
+ func(info);
+ #if defined(preempt_enable)
+ preempt_enable();
+ #endif
+ #else
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ ret = on_each_cpu(func, info, 1);
++ #else
+ ret = on_each_cpu(func, info, 1, 1);
++ #endif
+ #endif
+ return ret;
+ }
+diff -Nru NVIDIA-Linux-x86-173.14.12-pkg0.orig/usr/src/nv/os-interface.c NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/os-interface.c
+--- usr/src/nv/os-interface.c 2008-07-18 03:42:50.000000000 +0200
++++ NVIDIA-Linux-x86-173.14.12-pkg0/usr/src/nv/os-interface.c 2008-08-12 00:48:07.000000000 +0200
+@@ -48,7 +48,11 @@
+ #endif
+ local_bh_disable();
+ atomic_set(&os_smp_barrier, 1);
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
++ ret = smp_call_function(ipi_handler, NULL, 0);
++ #else
+ ret = smp_call_function(ipi_handler, NULL, 1, 0);
++ #endif
+ #endif
+ return (ret == 0) ? RM_OK : RM_ERROR;
+ }
+@@ -704,7 +708,9 @@
+ U032 sig
+ )
+ {
++ #if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 26)
+ return kill_proc(pid, sig, 1) ? RM_ERR_OPERATING_SYSTEM : RM_OK;
++ #endif
+ }
+
+ /*******************************************************************************/
diff --git a/abs/core-testing/nvidia-96xx/PKGBUILD b/abs/core-testing/nvidia-96xx/PKGBUILD
new file mode 100644
index 0000000..3ccbbfe
--- /dev/null
+++ b/abs/core-testing/nvidia-96xx/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 14780 2008-10-10 15:35:36Z thomas $
+# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=nvidia-96xx
+pkgver=96.43.07
+_kernver='2.6.26-ARCH'
+pkgrel=6
+pkgdesc="NVIDIA legacy drivers for kernel26, 96xx branch"
+arch=(i686 x86_64)
+license=('custom:NVIDIA')
+[ "$CARCH" = "i686" ] && ARCH=x86
+[ "$CARCH" = "x86_64" ] && ARCH=x86_64
+url="http://www.nvidia.com/"
+depends=('kernel26>=2.6.26' 'kernel26<2.6.28' 'nvidia-96xx-utils')
+conflicts=('nvidia' 'nvidia-71xx' 'nvidia-legacy')
+install=nvidia-96xx.install
+license=('custom')
+source=(http://us.download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run
+ NVIDIA_173.14.12_2.6.27.patch)
+md5sums=('8fa2b7c5e4629850d4bd33033ec46166'
+ 'cd4a68b5a88be6976b90cd0df6bfe89e')
+[ "$CARCH" = "x86_64" ] && md5sums=('c03bd2469292d91dde8767af1418c4e1'
+ 'cd4a68b5a88be6976b90cd0df6bfe89e')
+
+build()
+{
+ # Extract
+ cd $startdir/src/
+ sh NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run --extract-only
+ cd NVIDIA-Linux-$ARCH-${pkgver}-pkg0
+
+ # Any extra patches are applied in here...
+ patch -Np1 -i ../NVIDIA_173.14.12_2.6.27.patch || return 1
+
+ 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
+
+ sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
+}
diff --git a/abs/core-testing/nvidia-96xx/nvidia-96xx.install b/abs/core-testing/nvidia-96xx/nvidia-96xx.install
new file mode 100644
index 0000000..dbbec39
--- /dev/null
+++ b/abs/core-testing/nvidia-96xx/nvidia-96xx.install
@@ -0,0 +1,22 @@
+# arg 1: the new package version
+post_install() {
+ KERNEL_VERSION='2.6.26-ARCH'
+ depmod -v $KERNEL_VERSION > /dev/null 2>&1
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+ rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
+}
+
+# arg 1: the old package version
+post_remove() {
+ KERNEL_VERSION='2.6.26-ARCH'
+ depmod -v $KERNEL_VERSION > /dev/null 2>&1
+}
+
+op=$1
+shift
+$op $*