Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # $Id: PKGBUILD 269104 2016-06-08 05:42:05Z tpowa $
- # Maintainer: Felix Yan <felixonmars@archlinux.org>
- # Contributor: Thomas Baechler <thomas@archlinux.org>
- pkgbase=nvidia-340xx-zen
- pkgname=(nvidia-340xx-zen nvidia-340xx-zen-dkms)
- pkgver=340.96
- _extramodules=extramodules-4.6-zen
- pkgrel=13
- arch=('i686' 'x86_64')
- url="http://www.nvidia.com/"
- makedepends=("nvidia-340xx-libgl=${pkgver}" "nvidia-340xx-utils=${pkgver}" 'linux-zen' 'linux-zen-headers>=4.6' 'linux-zen-headers<4.7')
- conflicts=('nvidia-340xx')
- license=('custom')
- options=(!strip)
- source=('linux-4.6.patch')
- 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=('1f2baa65fd351ae7a2fc3dfd71ffcbfe')
- md5sums_i686=('cb64b165b638671bcdc75bcf297b8d90')
- md5sums_x86_64=('7bdbcee13bade63227933d9217571882')
- [[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
- [[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
- prepare() {
- sh "${_pkg}.run" --extract-only
- cd "${_pkg}"
- # patches here
- patch -p1 --no-backup-if-mismatch -i ../linux-4.6.patch
- cp -a kernel kernel-dkms
- cd kernel-dkms
- sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf
- sed -i 's/__JOBS/`nproc`/' dkms.conf
- sed -i 's/__DKMS_MODULES//' dkms.conf
- 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"\
- BUILT_MODULE_NAME[2]="nvidia-modeset"\
- DEST_MODULE_LOCATION[2]="/kernel/drivers/video"' dkms.conf
- }
- 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_nvidia-340xx-zen() {
- pkgdesc="NVIDIA drivers for linux, 340xx legacy branch, linux-zen"
- depends=('linux-zen>=4.6' 'linux-zen<4.7' '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" \
- "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-uvm.ko"
- gzip "${pkgdir}/usr/lib/modules/${_extramodules}/"*.ko
- install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
- echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
- }
- package_nvidia-340xx-zen-dkms() {
- pkgdesc="NVIDIA driver sources for linux, 340xx legacy branch, linux-zen"
- 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')
- conflicts+=('nvidia-340xx')
- cd ${_pkg}
- 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
- cat "${pkgdir}"/usr/src/nvidia-${pkgver}/uvm/dkms.conf.fragment >> "${pkgdir}"/usr/src/nvidia-${pkgver}/dkms.conf
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement