[arch-commits] Commit in nvidia-304xx/trunk (3 files)

Jan Steffens heftig at archlinux.org
Sun Nov 19 00:02:53 UTC 2017


    Date: Sunday, November 19, 2017 @ 00:02:48
  Author: heftig
Revision: 310412

304.137-6

Added:
  nvidia-304xx/trunk/kernel-4.14.patch
Modified:
  nvidia-304xx/trunk/PKGBUILD
Deleted:
  nvidia-304xx/trunk/nvidia-304xx.install

----------------------+
 PKGBUILD             |   58 ++++++++++++++++++++++++-------------------------
 kernel-4.14.patch    |   29 ++++++++++++++++++++++++
 nvidia-304xx.install |   13 ----------
 3 files changed, 58 insertions(+), 42 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-11-18 23:55:38 UTC (rev 310411)
+++ PKGBUILD	2017-11-19 00:02:48 UTC (rev 310412)
@@ -5,31 +5,32 @@
 pkgbase=nvidia-304xx
 pkgname=(nvidia-304xx nvidia-304xx-dkms)
 pkgver=304.137
-_extramodules=extramodules-4.13-ARCH
-pkgrel=5
+_extramodules=extramodules-4.14-ARCH
+pkgrel=6
+pkgdesc="NVIDIA drivers for linux, 304xx legacy branch"
 arch=('x86_64')
 url="http://www.nvidia.com/"
-makedepends=('linux' 'linux-headers>=4.13' 'linux-headers<4.14')
+makedepends=("nvidia-304xx-utils=${pkgver}" 'linux' 'linux-headers>=4.14' 'linux-headers<4.15')
 conflicts=('nvidia')
 license=('custom')
 options=('!strip')
-source=('disable-mtrr.patch')
-source_i686+=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
-source_x86_64+=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
-sha512sums=('54e8825e523f11706890e09e476498f3a30f75ce4e350ff2ff8a1e1c3af574d9ccfb8903543766b6863d94cdfbf46e68cd3d33380867dd976cafc8dd2dd78774')
-sha512sums_i686=('021c5a88d50489aa0a1c7eac14259e23542b93578ae339995a2e38b786d06d239968c07933cab3fb78a922cffc7e213d6fa3fe07e34065a9c7f03e24f8729370')
-sha512sums_x86_64=('4ab648647e4f3e2c352b2eab6454c264fe4728d8eb1264fafee2a4ab1a4ce59516abcf8490044d31e35309ea951e564cc217e13f7139a48bbf650a4238c5b87c')
+source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
+        'disable-mtrr.patch' 'kernel-4.14.patch')
+sha512sums=('4ab648647e4f3e2c352b2eab6454c264fe4728d8eb1264fafee2a4ab1a4ce59516abcf8490044d31e35309ea951e564cc217e13f7139a48bbf650a4238c5b87c'
+            '54e8825e523f11706890e09e476498f3a30f75ce4e350ff2ff8a1e1c3af574d9ccfb8903543766b6863d94cdfbf46e68cd3d33380867dd976cafc8dd2dd78774'
+            'ccaa40e085d985ec4280003e36dd06e60958ed1408867379fd21a68a18d48aa4be311bf9ad1e804f7a7245c90be98e919d2ec30f45d290f1cdb19c866bdb8a8d')
 
-[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
-[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
+_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
 
 prepare() {
-    cd "${srcdir}"
     sh "${_pkg}.run" --extract-only
     cd "${_pkg}"
+    # patches here
 
+    patch -Np1 --no-backup-if-mismatch < "${srcdir}/kernel-4.14.patch"
+
     # FS#47092
-    #(cd kernel; patch -p1 --no-backup-if-mismatch -i "$srcdir"/disable-mtrr.patch)
+    #patch -d kernel -Np1 --no-backup-if-mismatch < "${srcdir}/disable-mtrr.patch"
 
     cp -a kernel kernel-dkms
 }
@@ -36,36 +37,35 @@
 
 build() {
     _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
-    cd "${_pkg}/kernel"
+    cd "${_pkg}"/kernel
     make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
 }
 
 package_nvidia-304xx() {
     pkgdesc="NVIDIA drivers for linux, 304xx legacy branch"
-    depends=('linux>=4.13' 'linux<4.14' 'libgl' "nvidia-304xx-utils=${pkgver}")
-    conflicts+=('nvidia-304xx-dkms')
-    install=nvidia-304xx.install
+    depends=('linux>=4.14' 'linux<4.15' "nvidia-304xx-utils=${pkgver}" 'libgl')
 
-    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.conf"
-    sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/${pkgname}.install"
-    gzip "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
+    install -Dt "${pkgdir}/usr/lib/modules/${_extramodules}" -m644 \
+      "${srcdir}/${_pkg}/kernel"/nvidia.ko
 
-    # the license file is part of nvidia-304xx-utils - the module depends on it, so we don't ship it another time.
+    find "${pkgdir}" -name '*.ko' -exec gzip -n {} +
+
+    echo "blacklist nouveau" |
+      install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
 }
 
 package_nvidia-304xx-dkms() {
     pkgdesc="NVIDIA driver sources for linux, 304xx legacy branch"
-    depends=('dkms' "nvidia-304xx-utils=$pkgver")
+    depends=('dkms' "nvidia-304xx-utils=$pkgver" 'libgl')
     optdepends=('linux-headers: Build the module for Arch kernel'
                 'linux-lts-headers: Build the module for LTS Arch kernel')
     conflicts+=('nvidia-304xx')
 
     cd ${_pkg}
-    make -C kernel clean
-    install -dm 755 "${pkgdir}"/usr/{lib/modprobe.d,src}
-    cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}"/usr/src/nvidia-${pkgver}
-    echo 'blacklist nouveau' > "${pkgdir}"/usr/lib/modprobe.d/nvidia.conf
+
+    install -dm 755 "${pkgdir}"/usr/src
+    cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}/usr/src/nvidia-${pkgver}"
+
+    echo "blacklist nouveau" |
+      install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
 }

Added: kernel-4.14.patch
===================================================================
--- kernel-4.14.patch	                        (rev 0)
+++ kernel-4.14.patch	2017-11-19 00:02:48 UTC (rev 310412)
@@ -0,0 +1,29 @@
+diff -u -r NVIDIA-Linux-x86_64-340.104-no-compat32/kernel/nv-drm.c NVIDIA-Linux-x86_64-340.104-no-compat32-kernel4.14/kernel/nv-drm.c
+--- NVIDIA-Linux-x86_64-340.104-no-compat32/kernel/nv-drm.c	2017-09-15 01:16:51.000000000 +0200
++++ NVIDIA-Linux-x86_64-340.104-no-compat32-kernel4.14/kernel/nv-drm.c	2017-11-19 00:51:45.006654148 +0100
+@@ -173,8 +173,12 @@
+ {
+     int ret = 0;
+ #if defined(NV_DRM_AVAILABLE)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++    ret = drm_legacy_pci_init(&nv_drm_driver, pci_driver);
++#else
+     ret = drm_pci_init(&nv_drm_driver, pci_driver);
+ #endif
++#endif
+     return ret;
+ }
+ 
+@@ -183,8 +187,12 @@
+ )
+ {
+ #if defined(NV_DRM_AVAILABLE)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++    drm_legacy_pci_exit(&nv_drm_driver, pci_driver);
++#else
+     drm_pci_exit(&nv_drm_driver, pci_driver);
+ #endif
++#endif
+ }
+ 
+ RM_STATUS NV_API_CALL nv_alloc_os_descriptor_handle(

Deleted: nvidia-304xx.install
===================================================================
--- nvidia-304xx.install	2017-11-18 23:55:38 UTC (rev 310411)
+++ nvidia-304xx.install	2017-11-19 00:02:48 UTC (rev 310412)
@@ -1,13 +0,0 @@
-post_install() {
-    EXTRAMODULES='extramodules-4.13-ARCH'
-    depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
-    echo 'In order to use nvidia module, reboot the system.'
-}
-
-post_upgrade() {
-    post_install
-}
-
-post_remove() {
-    post_install
-}


More information about the arch-commits mailing list