[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