[arch-commits] Commit in nvidia-340xx/trunk (3 files)
Felix Yan
fyan at archlinux.org
Fri Sep 4 05:45:54 UTC 2015
Date: Friday, September 4, 2015 @ 07:45:54
Author: fyan
Revision: 245255
upgpkg: nvidia-340xx 340.93-1
- upstream new version
- add a DKMS version
Added:
nvidia-340xx/trunk/nvidia-340xx-dkms.install
Modified:
nvidia-340xx/trunk/PKGBUILD (contents, properties)
Deleted:
nvidia-340xx/trunk/nvidia-4.0.patch
---------------------------+
PKGBUILD | 47 +++++++++++++++++++++++++++++---------------
nvidia-340xx-dkms.install | 30 ++++++++++++++++++++++++++++
nvidia-4.0.patch | 28 --------------------------
3 files changed, 61 insertions(+), 44 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2015-09-04 03:45:53 UTC (rev 245254)
+++ PKGBUILD 2015-09-04 05:45:54 UTC (rev 245255)
@@ -1,27 +1,23 @@
-# $Id: PKGBUILD 221857 2014-09-17 20:29:16Z tpowa $
+# $Id$
# Maintainer : Thomas Baechler <thomas at archlinux.org>
-pkgname=nvidia-340xx
-pkgver=340.76
+pkgbase=nvidia-340xx
+pkgname=(nvidia-340xx nvidia-340xx-dkms)
+pkgver=340.93
_extramodules=extramodules-4.2-ARCH
-pkgrel=15
-pkgdesc="NVIDIA drivers for linux, 340xx legacy branch"
+pkgrel=1
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
-depends=('linux>=4.2' 'linux<4.3' 'nvidia-340xx-libgl' "nvidia-340xx-utils=${pkgver}")
-makedepends=('linux-headers>=4.2' 'linux-headers<4.3')
+makedepends=("nvidia-340xx-utils=${pkgver}" 'linux' 'linux-headers>=4.2' 'linux-headers<4.3')
conflicts=('nvidia')
license=('custom')
-install=${pkgname}.install
options=(!strip)
source=("ftp://download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run"
"ftp://download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
- nv-drm.patch
- nvidia-4.0.patch)
-md5sums=('8064c0a0998c3e7ee3c98ac1832b8194'
- '440df290e213280d6e20d4d4be6f8b4c'
- '79671a27131da619a33eb02ed0c2c031'
- 'f42bdf589f52d4e6c38baa5bef15eef8')
+ nv-drm.patch)
+md5sums=('4a7edf6838a80c77a57fb6f6ec7f0437'
+ 'cb80e3f1cb6f2fb6e6eab35fad0884e4'
+ '79671a27131da619a33eb02ed0c2c031')
[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -31,7 +27,6 @@
cd "${_pkg}"
# patches here
patch -p0 -i ../nv-drm.patch
- patch -p0 -i ../nvidia-4.0.patch
}
build() {
@@ -43,7 +38,12 @@
make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
}
-package() {
+package_nvidia-340xx() {
+ pkgdesc="NVIDIA drivers for linux, 340xx legacy branch"
+ depends=('linux>=4.2' 'linux<4.3' 'libgl' "nvidia-340xx-utils=${pkgver}")
+ conflict+=('nvidia-340xx-dkms')
+ install=nvidia-340xx.install
+
install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
"${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
install -D -m644 "${srcdir}/${_pkg}/kernel/uvm/nvidia-uvm.ko" \
@@ -52,3 +52,18 @@
install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
}
+
+package_nvidia-340xx-dkms() {
+ pkgdesc="NVIDIA driver sources for linux, 340xx legacy branch"
+ depends=('dkms' "nvidia-340xx-utils=$pkgver")
+ optdepends=('linux-headers: Build the module for Arch kernel'
+ 'linux-lts-headers: Build the module for LTS Arch kernel')
+ conflict+=('nvidia-340xx')
+ install=nvidia-340xx-dkms.install
+
+ cd ${_pkg}
+ make -C kernel clean
+ install -dm 755 "${pkgdir}"/usr/{lib/modprobe.d,src}
+ cp -dr --no-preserve='ownership' kernel "${pkgdir}"/usr/src/nvidia-${pkgver}
+ echo 'blacklist nouveau' > "${pkgdir}"/usr/lib/modprobe.d/nvidia.conf
+}
Property changes on: nvidia-340xx/trunk/PKGBUILD
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: nvidia-340xx-dkms.install
===================================================================
--- nvidia-340xx-dkms.install (rev 0)
+++ nvidia-340xx-dkms.install 2015-09-04 05:45:54 UTC (rev 245255)
@@ -0,0 +1,30 @@
+#/bin/sh
+
+# arg 1: the new package version
+post_install() {
+ dkms add nvidia/${1%-*}
+ cat << EOF
+==> To build and install your modules run: dkms install nvidia/${1%-*}
+==> To do this automatically at startup run: systemctl enable dkms.service
+EOF
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_upgrade() {
+ pre_remove "$2"
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install "$1"
+}
+
+# arg 1: the old package version
+pre_remove() {
+ # Remove modules using dkms
+ [ -n "${1%-*}" ] && dkms remove nvidia/${1%-*} --all &>/dev/null || true
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
Deleted: nvidia-4.0.patch
===================================================================
--- nvidia-4.0.patch 2015-09-04 03:45:53 UTC (rev 245254)
+++ nvidia-4.0.patch 2015-09-04 05:45:54 UTC (rev 245255)
@@ -1,28 +0,0 @@
---- kernel/nv-pat.c~ 2015-02-22 20:39:43.889075396 -0800
-+++ kernel/nv-pat.c 2015-02-22 20:29:33.519735577 -0800
-@@ -35,8 +35,13 @@
- unsigned long cr0 = read_cr0();
- write_cr0(((cr0 & (0xdfffffff)) | 0x40000000));
- wbinvd();
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)
-+ *cr4 = __read_cr4();
-+ if (*cr4 & 0x80) __write_cr4(*cr4 & ~0x80);
-+#else
- *cr4 = read_cr4();
- if (*cr4 & 0x80) write_cr4(*cr4 & ~0x80);
-+#endif
- __flush_tlb();
- }
-
-@@ -46,7 +46,11 @@
- wbinvd();
- __flush_tlb();
- write_cr0((cr0 & 0x9fffffff));
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,0,0)
-+ if (cr4 & 0x80) __write_cr4(cr4);
-+#else
- if (cr4 & 0x80) write_cr4(cr4);
-+#endif
- }
-
- static int nv_determine_pat_mode(void)
More information about the arch-commits
mailing list