Advertisement
Guest User

arch linux nvidia-340xx-zen

a guest
Aug 13th, 2016
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.32 KB | None | 0 0
  1. # $Id: PKGBUILD 269104 2016-06-08 05:42:05Z tpowa $
  2. # Maintainer: Felix Yan <felixonmars@archlinux.org>
  3. # Contributor: Thomas Baechler <thomas@archlinux.org>
  4.  
  5. pkgbase=nvidia-340xx-zen
  6. pkgname=(nvidia-340xx-zen nvidia-340xx-zen-dkms)
  7. pkgver=340.96
  8. _extramodules=extramodules-4.6-zen
  9. pkgrel=13
  10. arch=('i686' 'x86_64')
  11. url="http://www.nvidia.com/"
  12. makedepends=("nvidia-340xx-libgl=${pkgver}" "nvidia-340xx-utils=${pkgver}" 'linux-zen' 'linux-zen-headers>=4.6' 'linux-zen-headers<4.7')
  13. conflicts=('nvidia-340xx')
  14. license=('custom')
  15. options=(!strip)
  16. source=('linux-4.6.patch')
  17. source_i686+=("ftp://download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run")
  18. source_x86_64+=("ftp://download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run")
  19. md5sums=('1f2baa65fd351ae7a2fc3dfd71ffcbfe')
  20. md5sums_i686=('cb64b165b638671bcdc75bcf297b8d90')
  21. md5sums_x86_64=('7bdbcee13bade63227933d9217571882')
  22.  
  23. [[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
  24. [[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
  25.  
  26. prepare() {
  27.     sh "${_pkg}.run" --extract-only
  28.     cd "${_pkg}"
  29.     # patches here
  30.     patch -p1 --no-backup-if-mismatch -i ../linux-4.6.patch
  31.  
  32.     cp -a kernel kernel-dkms
  33.     cd kernel-dkms
  34.     sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf
  35.     sed -i 's/__JOBS/`nproc`/' dkms.conf
  36.     sed -i 's/__DKMS_MODULES//' dkms.conf
  37.     sed -i '$iBUILT_MODULE_NAME[0]="nvidia"\
  38. DEST_MODULE_LOCATION[0]="/kernel/drivers/video"\
  39. BUILT_MODULE_NAME[1]="nvidia-uvm"\
  40. DEST_MODULE_LOCATION[1]="/kernel/drivers/video"\
  41. BUILT_MODULE_NAME[2]="nvidia-modeset"\
  42. DEST_MODULE_LOCATION[2]="/kernel/drivers/video"' dkms.conf
  43.  
  44. }
  45.  
  46. build() {
  47.     _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
  48.     cd "${_pkg}"/kernel
  49.     make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
  50.  
  51.     cd uvm
  52.     make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
  53. }
  54.  
  55. package_nvidia-340xx-zen() {
  56.     pkgdesc="NVIDIA drivers for linux, 340xx legacy branch, linux-zen"
  57.     depends=('linux-zen>=4.6' 'linux-zen<4.7' 'libgl' "nvidia-340xx-utils=${pkgver}")
  58.     conflict+=('nvidia-340xx-dkms')
  59.     install=nvidia-340xx.install
  60.  
  61.     install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
  62.         "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
  63.  
  64.     install -D -m644 "${srcdir}/${_pkg}/kernel/uvm/nvidia-uvm.ko" \
  65.         "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-uvm.ko"
  66.  
  67.     gzip "${pkgdir}/usr/lib/modules/${_extramodules}/"*.ko
  68.     install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
  69.  
  70.     echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
  71. }
  72.  
  73. package_nvidia-340xx-zen-dkms() {
  74.     pkgdesc="NVIDIA driver sources for linux, 340xx legacy branch, linux-zen"
  75.     depends=('dkms' "nvidia-340xx-utils=$pkgver")
  76.     optdepends=('linux-headers: Build the module for Arch kernel'
  77.                 'linux-lts-headers: Build the module for LTS Arch kernel')
  78.     conflicts+=('nvidia-340xx')
  79.  
  80.     cd ${_pkg}
  81.     install -dm 755 "${pkgdir}"/usr/{lib/modprobe.d,src}
  82.     cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}"/usr/src/nvidia-${pkgver}
  83.     echo 'blacklist nouveau' > "${pkgdir}"/usr/lib/modprobe.d/nvidia.conf
  84.     cat "${pkgdir}"/usr/src/nvidia-${pkgver}/uvm/dkms.conf.fragment >> "${pkgdir}"/usr/src/nvidia-${pkgver}/dkms.conf
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement