# $Id$ # Maintainer: Felix Yan # Contributor: Thomas Baechler pkgbase=nvidia-340xx pkgname=(nvidia-340xx nvidia-340xx-dkms) pkgver=340.102 _extramodules=extramodules-4.9-ARCH pkgrel=7 arch=('i686' 'x86_64') url="http://www.nvidia.com/" makedepends=("nvidia-340xx-utils=${pkgver}" 'linux' 'linux-headers>=4.9' 'linux-headers<4.10') conflicts=('nvidia') license=('custom') options=(!strip) source=('fs52243.patch' '4.10.0_kernel.patch' '4.11.0_kernel.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=('de4f697d64f8e73c4aadec1a407884a6bc459c0020d4bfd19740fe4177a60bb801fe8a74ef6f7fa2e89c6cd648ea4daf152799ae344a145c06480a6eef0c5bca' '88a2b448c1e8445dc43820328e86d8f20eb7e3cb5774e704cd44191a9fa26064264510c1adc9ea938fa2c92075496f3a27bd52ae6e6f4ec5fa6d4a829dd961e8' '48eb48dfd118a5d76d0e01c3bb5aedb7e6ec153a40680c0ebd6842c74fe1dda49e1cc8dc2b2493b7355de47d3013c578a13c254c5bb3eecdbfcf8f4ebc7c7c34') sha512sums_i686=('bea700c925a6044fcded40324bb389c5fa1aadc40831f685a76e7b0ded11161f492960950c201467e564d157dcbe0c330d13a2014f51d0073002c5a262a6f0ca') sha512sums_x86_64=('2a29e6418244ea384e4237d74057bd8e56247b1c503cf623dea34a3b1065d8783879aa7e6a802dd31f0a10cf81cfcab2a1b1a8269b97996f15fa1838c0a3a44b') [[ "$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 -Np0 < "${srcdir}"/fs52243.patch patch -Np1 < "${srcdir}"/4.10.0_kernel.patch patch -Np1 < "${srcdir}"/4.11.0_kernel.patch cp -a kernel kernel-dkms } 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.9' 'linux<4.10' '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') 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 }