summaryrefslogtreecommitdiffstats
path: root/nvidia-custom
diff options
context:
space:
mode:
authorGravatar Tom Willemse2013-10-05 10:53:06 +0200
committerGravatar Tom Willemse2013-10-05 10:53:06 +0200
commit83907f392decb94561d63b48cefa4dcb461337dc (patch)
tree9c861328c2fdbf2dcf8c82403c598d8581d22b11 /nvidia-custom
parentbfd1c6836978eebb67a02dedef7cb36b818abeac (diff)
downloadpkgbuilds-83907f392decb94561d63b48cefa4dcb461337dc.tar.gz
pkgbuilds-83907f392decb94561d63b48cefa4dcb461337dc.zip
Add nvidia-custom
Diffstat (limited to 'nvidia-custom')
-rw-r--r--nvidia-custom/.gitignore1
-rw-r--r--nvidia-custom/PKGBUILD48
-rw-r--r--nvidia-custom/nvidia-linux-3.11.patch25
-rw-r--r--nvidia-custom/nvidia.install18
4 files changed, 92 insertions, 0 deletions
diff --git a/nvidia-custom/.gitignore b/nvidia-custom/.gitignore
new file mode 100644
index 0000000..9857323
--- /dev/null
+++ b/nvidia-custom/.gitignore
@@ -0,0 +1 @@
+*.run
diff --git a/nvidia-custom/PKGBUILD b/nvidia-custom/PKGBUILD
new file mode 100644
index 0000000..650fe63
--- /dev/null
+++ b/nvidia-custom/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 194514 2013-09-17 06:52:19Z tpowa $
+# Maintainer : Thomas Baechler <thomas@archlinux.org>
+
+pkgname=nvidia-custom
+pkgver=325.15
+_extramodules=extramodules-3.11-custom
+pkgrel=7
+pkgdesc="NVIDIA drivers for linux"
+arch=('i686' 'x86_64')
+url="http://www.nvidia.com/"
+depends=('linux-custom>=3.11' 'linux-custom<3.12' "nvidia-libgl" "nvidia-utils=${pkgver}")
+makedepends=('linux-custom-headers>=3.11' 'linux-custom-headers<3.12')
+conflicts=('nvidia-96xx' 'nvidia-173xx')
+license=('custom')
+install=nvidia.install
+options=(!strip)
+source=('nvidia-linux-3.11.patch')
+md5sums=('5c962760de069ed4ad34e64d5988686a')
+
+if [ "$CARCH" = "i686" ]; then
+ _arch='x86'
+ _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
+ source+=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
+ md5sums+=('528fc538584de6446384b9cec3099d6c')
+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+=('63b2caa0cb128efa1a7808d7bddb2074')
+fi
+
+build() {
+ _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+ cd "${srcdir}"
+ sh "${_pkg}.run" --extract-only
+ cd "${_pkg}/kernel"
+ patch -Np2 -i ${srcdir}/nvidia-linux-3.11.patch
+ make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
+}
+
+package() {
+ install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
+ "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
+ install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
+ echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia-custom.conf"
+ sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install"
+ gzip "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
+}
diff --git a/nvidia-custom/nvidia-linux-3.11.patch b/nvidia-custom/nvidia-linux-3.11.patch
new file mode 100644
index 0000000..bb6fad9
--- /dev/null
+++ b/nvidia-custom/nvidia-linux-3.11.patch
@@ -0,0 +1,25 @@
+From 8a8647ad942c8ac5161e1335f7f3e9dbb34dbf9e Mon Sep 17 00:00:00 2001
+From: Lukas Elsner <open@mindrunner.de>
+Date: Wed, 17 Jul 2013 01:16:04 +0200
+Subject: [PATCH] replace num_physpages with totalram_pages
+
+---
+ kernel/nv-linux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h
+index 4e5ed89..46c51ec 100644
+--- a/kernel/nv-linux.h
++++ b/kernel/nv-linux.h
+@@ -957,7 +957,7 @@ static inline int nv_execute_on_all_cpus(void (*func)(void *info), void *info)
+ #endif
+
+ #if !defined(NV_VMWARE)
+-#define NV_NUM_PHYSPAGES num_physpages
++#define NV_NUM_PHYSPAGES totalram_pages
+ #define NV_GET_CURRENT_PROCESS() current->tgid
+ #define NV_IN_ATOMIC() in_atomic()
+ #define NV_LOCAL_BH_DISABLE() local_bh_disable()
+--
+1.8.3.2
+
diff --git a/nvidia-custom/nvidia.install b/nvidia-custom/nvidia.install
new file mode 100644
index 0000000..28ea071
--- /dev/null
+++ b/nvidia-custom/nvidia.install
@@ -0,0 +1,18 @@
+post_install() {
+ EXTRAMODULES='extramodules-3.11-custom'
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+ echo 'In order to use nvidia module, reboot the system.'
+}
+
+post_upgrade() {
+ EXTRAMODULES='extramodules-3.11-custom'
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+ if [ "$(vercmp $2 310.19-2)" -lt 0 ]; then
+ echo 'If your card is from the 7xxx series or earlier, install nvidia-304xx'
+ fi
+}
+
+post_remove() {
+ EXTRAMODULES='extramodules-3.11-custom'
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}