nvidia-358 is needed since 361 breaks civ5
This commit is contained in:
		
							parent
							
								
									b6c336a574
								
							
						
					
					
						commit
						a4e80a313e
					
				
					 6 changed files with 455 additions and 0 deletions
				
			
		
							
								
								
									
										85
									
								
								nvidia/nvidia-358/PKGBUILD
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								nvidia/nvidia-358/PKGBUILD
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,85 @@
 | 
			
		|||
# $Id: PKGBUILD 257391 2015-12-31 08:27:22Z tpowa $
 | 
			
		||||
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
 | 
			
		||||
# Maintainer: Felix Yan <felixonmars@archlinux.org>
 | 
			
		||||
# Contributor: Thomas Baechler <thomas@archlinux.org>
 | 
			
		||||
 | 
			
		||||
pkgbase=nvidia
 | 
			
		||||
pkgname=('nvidia-358' 'nvidia-358-dkms')
 | 
			
		||||
pkgver=358.16
 | 
			
		||||
_extramodules=extramodules-4.4-ARCH
 | 
			
		||||
pkgrel=3
 | 
			
		||||
pkgdesc="NVIDIA drivers for linux"
 | 
			
		||||
arch=('i686' 'x86_64')
 | 
			
		||||
url="http://www.nvidia.com/"
 | 
			
		||||
makedepends=('nvidia-libgl' "nvidia-358-utils=${pkgver}" 'linux' 'linux-headers>=4.4' 'linux-headers<4.5')
 | 
			
		||||
license=('custom')
 | 
			
		||||
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")
 | 
			
		||||
sha512sums_i686=('a5d37fb56a59b9958f6c34139250baf13a1c42ffc70f7deb19ffaac1ae6c2ce80b96649c5797d60754050d75792d14141cd5ebc8820bb73ee4aad4aa6d6c5b20')
 | 
			
		||||
sha512sums_x86_64=('eb1abeebbfa807c784e9019afaa3f238d2142b28467c80dcac8d5199cf1082d72ab417e39660bda076023aecb7d04d9c3c91a2d494f1513cfe82b617b17a2297')
 | 
			
		||||
 | 
			
		||||
[[ "$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
 | 
			
		||||
 | 
			
		||||
    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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
package_nvidia-358() {
 | 
			
		||||
    pkgdesc="NVIDIA drivers for linux"
 | 
			
		||||
    depends=('linux>=4.4' 'linux<4.5' "nvidia-358-utils=${pkgver}" 'libgl')
 | 
			
		||||
    conflicts=('nvidia')
 | 
			
		||||
    provides=('nvidia')
 | 
			
		||||
    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" \
 | 
			
		||||
            "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-uvm.ko"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    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-358-dkms() {
 | 
			
		||||
    pkgdesc="NVIDIA driver sources for linux"
 | 
			
		||||
    depends=('dkms' "nvidia-358-utils=$pkgver" 'libgl')
 | 
			
		||||
    optdepends=('linux-headers: Build the module for Arch kernel'
 | 
			
		||||
                'linux-lts-headers: Build the module for LTS Arch kernel')
 | 
			
		||||
    conflicts+=('nvidia' 'nvidia-358')
 | 
			
		||||
    provides=('nvidia-dkms')
 | 
			
		||||
    install=nvidia-dkms.install
 | 
			
		||||
 | 
			
		||||
    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"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										30
									
								
								nvidia/nvidia-358/nvidia-dkms.install
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								nvidia/nvidia-358/nvidia-dkms.install
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,30 @@
 | 
			
		|||
#/bin/sh
 | 
			
		||||
 | 
			
		||||
# arg 1:  the new package version
 | 
			
		||||
post_install() {
 | 
			
		||||
  dkms add nvidia/${1%-*}
 | 
			
		||||
  cat << EOF
 | 
			
		||||
==> To build and install your modules run: dkms install nvidia/${1%-*}
 | 
			
		||||
==> To do this automatically at startup run: systemctl enable dkms.service
 | 
			
		||||
EOF
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# arg 1:  the new package version
 | 
			
		||||
# arg 2:  the old package version
 | 
			
		||||
pre_upgrade() {
 | 
			
		||||
  pre_remove "$2"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# arg 1:  the new package version
 | 
			
		||||
# arg 2:  the old package version
 | 
			
		||||
post_upgrade() {
 | 
			
		||||
  post_install "$1"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# arg 1:  the old package version
 | 
			
		||||
pre_remove() {
 | 
			
		||||
  # Remove modules using dkms
 | 
			
		||||
  [ -n "${1%-*}" ] && dkms remove nvidia/${1%-*} --all &>/dev/null || true
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# vim:set ts=2 sw=2 ft=sh et:
 | 
			
		||||
							
								
								
									
										13
									
								
								nvidia/nvidia-358/nvidia.install
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								nvidia/nvidia-358/nvidia.install
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,13 @@
 | 
			
		|||
post_install() {
 | 
			
		||||
    EXTRAMODULES='extramodules-4.4-ARCH'
 | 
			
		||||
    depmod $(cat /usr/lib/modules/${EXTRAMODULES}/version)
 | 
			
		||||
    echo 'In order to use nvidia module, reboot the system.'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
post_upgrade() {
 | 
			
		||||
    post_install
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
post_remove() {
 | 
			
		||||
    post_install
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue