# $Id$ # Maintainer: Felix Yan # Contributor: Thomas Baechler pkgbase=nvidia-340xx pkgname=(nvidia-340xx nvidia-340xx-dkms) pkgver=340.96 _extramodules=extramodules-4.4-ARCH pkgrel=7 arch=('i686' 'x86_64') url="http://www.nvidia.com/" makedepends=("nvidia-340xx-libgl=${pkgver}" "nvidia-340xx-utils=${pkgver}" 'linux' 'linux-headers>=4.4' 'linux-headers<4.5') conflicts=('nvidia') 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=('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 } 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() { pkgdesc="NVIDIA drivers for linux, 340xx legacy branch" depends=('linux>=4.4' 'linux<4.5' '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-dkms() { pkgdesc="NVIDIA driver sources for linux, 340xx legacy branch" 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') install=nvidia-340xx-dkms.install cd ${_pkg} make -C kernel clean install -dm 755 "${pkgdir}"/usr/{lib/modprobe.d,src} cp -dr --no-preserve='ownership' kernel "${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 }