From f812f36efb39d4bbab07fd20a00867610bff2377 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Fri, 22 Jan 2016 22:22:12 +0000
Subject: nvidia & nvidia-utils: update to 361.18

---
 abs/core/nvidia-utils/PKGBUILD | 63 +++++++++++++++++++++++++++---------------
 abs/core/nvidia/PKGBUILD       | 28 +++++++++++--------
 abs/core/nvidia/nvidia.install |  2 +-
 3 files changed, 58 insertions(+), 35 deletions(-)

diff --git a/abs/core/nvidia-utils/PKGBUILD b/abs/core/nvidia-utils/PKGBUILD
index 47ce055..120b5d5 100644
--- a/abs/core/nvidia-utils/PKGBUILD
+++ b/abs/core/nvidia-utils/PKGBUILD
@@ -2,18 +2,19 @@
 # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
 # Maintainer: Thomas Baechler <thomas@archlinux.org>
 # Contributor: James Rayner <iphitus@gmail.com>
+
 pkgbase=nvidia-utils
 pkgname=('nvidia-utils' 'nvidia-libgl' 'opencl-nvidia')
-pkgver=355.11
-pkgrel=1
+pkgver=361.18
+pkgrel=2
 arch=('i686' 'x86_64')
 url="http://www.nvidia.com/"
 license=('custom')
 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")
-sha1sums=('5e944003366c2ec701ba5e0faf897cc1fd0defbf'
-          'e21f03e2f641e8b36ac6f2df0f632b1ce5b83d63')
+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")
+md5sums_i686=('ade4f7d0a5631ff492088671bc303a0a')
+md5sums_x86_64=('29a88f1538d622cebf751593396053e4')
 
 [[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
 [[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -43,7 +44,7 @@ package_opencl-nvidia() {
     # OpenCL
     install -D -m644 nvidia.icd "${pkgdir}/etc/OpenCL/vendors/nvidia.icd"
     install -D -m755 "libnvidia-compiler.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-compiler.so.${pkgver}"
-    install -D -m755 "libnvidia-opencl.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-opencl.so.${pkgver}" 
+    install -D -m755 "libnvidia-opencl.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-opencl.so.${pkgver}"
 
     create_links
 
@@ -63,21 +64,26 @@ package_nvidia-libgl() {
     ln -s "libglx.so.${pkgver}" "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so.1"
     ln -s "libglx.so.${pkgver}" "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so"
 
-    ln -s "/usr/lib/nvidia/libGL.so.${pkgver}" "${pkgdir}/usr/lib/libGL.so.${pkgver}"
-    ln -s "libGL.so.${pkgver}" "${pkgdir}/usr/lib/libGL.so.1"
-    ln -s "libGL.so.${pkgver}" "${pkgdir}/usr/lib/libGL.so"
+    ln -s "/usr/lib/nvidia/libGLX.so.0" "${pkgdir}/usr/lib/libGLX.so.0"
+    ln -s "libGLX.so.0" "${pkgdir}/usr/lib/libGLX.so.${pkgver}"
+    ln -s "libGLX.so.0" "${pkgdir}/usr/lib/libGLX.so"
+    ln -s "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLX_indirect.so.0"
+
+    ln -s "/usr/lib/nvidia/libGL.so.1" "${pkgdir}/usr/lib/libGL.so.1"
+    ln -s "libGL.so.1" "${pkgdir}/usr/lib/libGL.so.${pkgver}"
+    ln -s "libGL.so.1" "${pkgdir}/usr/lib/libGL.so"
 
     ln -s "/usr/lib/nvidia/libEGL.so.1" "${pkgdir}/usr/lib/libEGL.so.1"
-    ln -s "libEGL.so.1" "${pkgdir}/usr/lib/libEGL.so.$pkgver"
+    ln -s "libEGL.so.1" "${pkgdir}/usr/lib/libEGL.so.${pkgver}"
     ln -s "libEGL.so.1" "${pkgdir}/usr/lib/libEGL.so"
 
-    ln -s "/usr/lib/nvidia/libGLESv1_CM.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv1_CM.so.${pkgver}"
-    ln -s "libGLESv1_CM.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv1_CM.so.1"
-    ln -s "libGLESv1_CM.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv1_CM.so"
+    ln -s "/usr/lib/nvidia/libGLESv1_CM.so.1" "${pkgdir}/usr/lib/libGLESv1_CM.so.1"
+    ln -s "libGLESv1_CM.so.1" "${pkgdir}/usr/lib/libGLESv1_CM.so.${pkgver}"
+    ln -s "libGLESv1_CM.so.1" "${pkgdir}/usr/lib/libGLESv1_CM.so"
 
-    ln -s "/usr/lib/nvidia/libGLESv2.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv2.so.${pkgver}"
-    ln -s "libGLESv2.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv2.so.2"
-    ln -s "libGLESv2.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv2.so"
+    ln -s "/usr/lib/nvidia/libGLESv2.so.2" "${pkgdir}/usr/lib/libGLESv2.so.2"
+    ln -s "libGLESv2.so.2" "${pkgdir}/usr/lib/libGLESv2.so.${pkgver}"
+    ln -s "libGLESv2.so.2" "${pkgdir}/usr/lib/libGLESv2.so"
 
     mkdir -p "${pkgdir}/usr/share/licenses"
     ln -s nvidia "${pkgdir}/usr/share/licenses/nvidia-libgl"
@@ -98,13 +104,17 @@ package_nvidia-utils() {
     # GLX extension module for X
     install -D -m755 "libglx.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/modules/extensions/libglx.so.${pkgver}"
     ln -s "libglx.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/modules/extensions/libglx.so"	# X doesn't find glx otherwise
+    install -D -m755 "libGLX.so.0" "${pkgdir}/usr/lib/nvidia/libGLX.so.0"
+    install -D -m755 "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLX_nvidia.so.${pkgver}"
 
     # OpenGL libraries
-    install -D -m755 "libGL.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/libGL.so.${pkgver}"
+    install -D -m755 "libGL.so.1" "${pkgdir}/usr/lib/nvidia/libGL.so.1"
     install -D -m755 "libEGL.so.1" "${pkgdir}/usr/lib/nvidia/libEGL.so.1"
-    install -D -m755 "libEGL_nvidia.so.0" "${pkgdir}/usr/lib/libEGL_nvidia.so.0"
-    install -D -m755 "libGLESv1_CM.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/libGLESv1_CM.so.${pkgver}"
-    install -D -m755 "libGLESv2.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/libGLESv2.so.${pkgver}"
+    install -D -m755 "libEGL_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libEGL_nvidia.so.${pkgver}"
+    install -D -m755 "libGLESv1_CM.so.1" "${pkgdir}/usr/lib/nvidia/libGLESv1_CM.so.1"
+    install -D -m755 "libGLESv1_CM_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv1_CM_nvidia.so.${pkgver}"
+    install -D -m755 "libGLESv2.so.2" "${pkgdir}/usr/lib/nvidia/libGLESv2.so.2"
+    install -D -m755 "libGLESv2_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLESv2_nvidia.so.${pkgver}"
     install -D -m755 "libOpenGL.so.0" "${pkgdir}/usr/lib/libOpenGL.so.0"
     install -D -m755 "libGLdispatch.so.0" "${pkgdir}/usr/lib/libGLdispatch.so.0"
 
@@ -130,6 +140,12 @@ package_nvidia-utils() {
     install -D -m755 "libcuda.so.${pkgver}" "${pkgdir}/usr/lib/libcuda.so.${pkgver}"
     install -D -m755 "libnvcuvid.so.${pkgver}" "${pkgdir}/usr/lib/libnvcuvid.so.${pkgver}"
 
+    # PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA)
+    install -D -m755 "libnvidia-ptxjitcompiler.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-ptxjitcompiler.so.${pkgver}"
+
+    # Fat (multiarchitecture) binary loader
+    install -D -m755 "libnvidia-fatbinaryloader.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-fatbinaryloader.so.${pkgver}"
+
     # DEBUG
     install -D -m755 nvidia-debugdump "${pkgdir}/usr/bin/nvidia-debugdump"
 
@@ -179,6 +195,9 @@ package_nvidia-utils() {
     install -D -m644 NVIDIA_Changelog "${pkgdir}/usr/share/doc/nvidia/NVIDIA_Changelog"
     cp -r html "${pkgdir}/usr/share/doc/nvidia/"
     ln -s nvidia "${pkgdir}/usr/share/doc/nvidia-utils"
-
+    
+    # distro specific files must be installed in /usr/share/X11/xorg.conf.d
+    install -D -m644 nvidia-drm-outputclass.conf "${pkgdir}/usr/share/X11/xorg.conf.d/nvidia-drm-outputclass.conf"
+    
     create_links
 }
diff --git a/abs/core/nvidia/PKGBUILD b/abs/core/nvidia/PKGBUILD
index 62408d6..aff88f1 100644
--- a/abs/core/nvidia/PKGBUILD
+++ b/abs/core/nvidia/PKGBUILD
@@ -5,19 +5,19 @@
 
 pkgbase=nvidia
 pkgname=(nvidia nvidia-dkms)
-pkgver=355.11
-_extramodules=extramodules-3.18-ARCH
-pkgrel=4
+pkgver=361.18
+_extramodules=extramodules-4.4-ARCH
+pkgrel=2
 pkgdesc="NVIDIA drivers for linux"
 arch=('i686' 'x86_64')
 url="http://www.nvidia.com/"
-makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}" 'linux' 'linux-headers>=3.18' 'linux-headers<3.19')
+makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}" 'linux' 'linux-headers>=4.4' 'linux-headers<4.5')
 license=('custom')
-options=(!strip)
-source_i686="ftp://download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run"
-source_x86_64="ftp://download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
-md5sums_i686='16d143ccafe99328a2ca8e5a396fd4bc'
-md5sums_x86_64='30133d89690f4683c4e289ec6c0247dc'
+options=('!strip')
+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")
+md5sums_i686=('ade4f7d0a5631ff492088671bc303a0a')
+md5sums_x86_64=('29a88f1538d622cebf751593396053e4')
 
 [[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
 [[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
@@ -35,7 +35,9 @@ prepare() {
     sed -i '$iBUILT_MODULE_NAME[0]="nvidia"\
 DEST_MODULE_LOCATION[0]="/kernel/drivers/video"\
 BUILT_MODULE_NAME[1]="nvidia-uvm"\
-DEST_MODULE_LOCATION[1]="/kernel/drivers/video"' dkms.conf
+DEST_MODULE_LOCATION[1]="/kernel/drivers/video"\
+BUILT_MODULE_NAME[2]="nvidia-modeset"\
+DEST_MODULE_LOCATION[2]="/kernel/drivers/video"' dkms.conf
 }
 
 build() {
@@ -46,11 +48,13 @@ build() {
 
 package_nvidia() {
     pkgdesc="NVIDIA drivers for linux"
-    depends=('linux>=3.18' 'linux<3.19' "nvidia-utils=${pkgver}" 'libgl')
+    depends=('linux>=4.4' 'linux<4.5' "nvidia-utils=${pkgver}" 'libgl')
     install=nvidia.install
 
     install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
         "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
+    install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia-modeset.ko" \
+         "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-modeset.ko"
 
     if [[ "$CARCH" = "x86_64" ]]; then
         install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia-uvm.ko" \
@@ -65,7 +69,7 @@ package_nvidia() {
 
 package_nvidia-dkms() {
     pkgdesc="NVIDIA driver sources for linux"
-    depends=('dkms' "nvidia-utils=$pkgver")
+    depends=('dkms' "nvidia-utils=$pkgver" 'libgl')
     optdepends=('linux-headers: Build the module for Arch kernel'
                 'linux-lts-headers: Build the module for LTS Arch kernel')
     conflicts+=('nvidia')
diff --git a/abs/core/nvidia/nvidia.install b/abs/core/nvidia/nvidia.install
index 1a56d94..e08e837 100644
--- a/abs/core/nvidia/nvidia.install
+++ b/abs/core/nvidia/nvidia.install
@@ -1,5 +1,5 @@
 post_install() {
-    EXTRAMODULES='extramodules-3.18-ARCH'
+    EXTRAMODULES='extramodules-4.4-ARCH'
     depmod $(cat /usr/lib/modules/${EXTRAMODULES}/version)
     echo 'In order to use nvidia module, reboot the system.'
 }
-- 
cgit v0.12