[arch-commits] Commit in nvidia-340xx-lts/repos (4 files)

Andreas Radke andyrtr at archlinux.org
Tue Apr 24 17:43:06 UTC 2018


    Date: Tuesday, April 24, 2018 @ 17:43:05
  Author: andyrtr
Revision: 322939

archrelease: copy trunk to testing-x86_64

Added:
  nvidia-340xx-lts/repos/testing-x86_64/
  nvidia-340xx-lts/repos/testing-x86_64/PKGBUILD
    (from rev 322938, nvidia-340xx-lts/trunk/PKGBUILD)
  nvidia-340xx-lts/repos/testing-x86_64/kernel-4.11.patch
    (from rev 322938, nvidia-340xx-lts/trunk/kernel-4.11.patch)
  nvidia-340xx-lts/repos/testing-x86_64/nvidia-340xx-lts.install
    (from rev 322938, nvidia-340xx-lts/trunk/nvidia-340xx-lts.install)

--------------------------+
 PKGBUILD                 |   52 +++++++++++++++++++++++++++++++++++++++++++++
 kernel-4.11.patch        |   38 ++++++++++++++++++++++++++++++++
 nvidia-340xx-lts.install |   15 ++++++++++++
 3 files changed, 105 insertions(+)

Copied: nvidia-340xx-lts/repos/testing-x86_64/PKGBUILD (from rev 322938, nvidia-340xx-lts/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2018-04-24 17:43:05 UTC (rev 322939)
@@ -0,0 +1,52 @@
+# $Id$
+# Maintainer: Eric Bélanger <eric at archlinux.org>
+
+pkgname=nvidia-340xx-lts
+pkgver=340.106
+_extramodules=extramodules-4.14-lts
+pkgrel=9
+pkgdesc="NVIDIA drivers for linux-lts"
+arch=('x86_64')
+url="http://www.nvidia.com/"
+makedepends=('linux-lts>=4.14.36' 'linux-lts-headers>=4.14.36' "nvidia-340xx-utils=$pkgver")
+provides=('nvidia-340xx')
+conflicts=('nvidia-lts')
+license=('custom')
+install=${pkgname}.install
+options=(!strip)
+source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
+        'kernel-4.11.patch')
+sha512sums=('ea61d463148435b6c0d16203c06372e5dc93443607ece0709f789c5c08909a3ec51c1994df97b835bba58008cdc7fe588e403006eb00631482a2a9854a81ec0a'
+            'c25d90499e1deb26129a67dd7e953be8c1e31c5770e2b8b64d03af54cf1afec1a52636e74900f8ac468692207ab8a3765a12edd581142c4d2cfd2d6e66ac7ac2')
+
+[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
+
+prepare() {
+    sh ${_pkg}.run --extract-only
+    cd "${_pkg}"
+    # patches here
+    patch -Np0 < "${srcdir}/kernel-4.11.patch"
+}
+
+build() {
+  _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+  cd "${_pkg}/kernel"
+  make SYSSRC=/usr/lib/modules/${_kernver}/build module
+
+  cd uvm
+  make SYSSRC=/usr/lib/modules/${_kernver}/build module
+}
+
+package() {
+  depends=('linux-lts>=4.14.36' "nvidia-340xx-utils=$pkgver" 'libgl')
+
+  install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
+    "${pkgdir}/usr/lib/modules/${_extramodules}/kernel/drivers/video/nvidia.ko"
+  install -D -m644 "${srcdir}/${_pkg}/kernel/uvm/nvidia-uvm.ko" \
+    "${pkgdir}/usr/lib/modules/${_extramodules}/kernel/drivers/video/nvidia-uvm.ko"
+  gzip "${pkgdir}/usr/lib/modules/${_extramodules}/kernel/drivers/video/"*.ko
+  install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
+  echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia-lts.conf"
+  echo "blacklist nvidiafb" >> "${pkgdir}/usr/lib/modprobe.d/nvidia-lts.conf"
+  install -D -m644 "${srcdir}/${_pkg}/LICENSE" "${pkgdir}/usr/share/licenses/nvidia-lts/LICENSE"
+}

Copied: nvidia-340xx-lts/repos/testing-x86_64/kernel-4.11.patch (from rev 322938, nvidia-340xx-lts/trunk/kernel-4.11.patch)
===================================================================
--- testing-x86_64/kernel-4.11.patch	                        (rev 0)
+++ testing-x86_64/kernel-4.11.patch	2018-04-24 17:43:05 UTC (rev 322939)
@@ -0,0 +1,38 @@
+--- kernel/uvm/nvidia_uvm_lite.c	2017-09-27 13:50:46.334075042 +0200
++++ kernel/uvm/nvidia_uvm_lite.c	2017-09-27 13:56:06.358041280 +0200
+@@ -818,7 +818,11 @@
+ }
+ 
+ #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ int _fault(struct vm_area_struct *vma, struct vm_fault *vmf)
++#else 	
++int _fault(struct vm_fault *vmf) 	
++#endif
+ {
+ #if defined(NV_VM_FAULT_HAS_ADDRESS)
+     unsigned long vaddr = vmf->address;
+@@ -828,7 +832,11 @@
+     struct page *page = NULL;
+     int retval;
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+     retval = _fault_common(vma, vaddr, &page, vmf->flags);
++#else
++    retval = _fault_common(NULL, vaddr, &page, vmf->flags);
++#endif
+ 
+     vmf->page = page;
+ 
+@@ -866,7 +874,11 @@
+ // it's dealing with anonymous mapping (see handle_pte_fault).
+ //
+ #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+ int _sigbus_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
++#else
++int _sigbus_fault(struct vm_fault *vmf)
++#endif
+ {
+     vmf->page = NULL;
+     return VM_FAULT_SIGBUS;

Copied: nvidia-340xx-lts/repos/testing-x86_64/nvidia-340xx-lts.install (from rev 322938, nvidia-340xx-lts/trunk/nvidia-340xx-lts.install)
===================================================================
--- testing-x86_64/nvidia-340xx-lts.install	                        (rev 0)
+++ testing-x86_64/nvidia-340xx-lts.install	2018-04-24 17:43:05 UTC (rev 322939)
@@ -0,0 +1,15 @@
+post_install() {
+    EXTRAMODULES='extramodules-4.14-lts'
+    depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+    echo 'In order to use nvidia module, reboot the system.'
+}
+
+post_upgrade() {
+    EXTRAMODULES='extramodules-4.14-lts'
+    depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
+
+post_remove() {
+    EXTRAMODULES='extramodules-4.14-lts'
+    depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}



More information about the arch-commits mailing list