Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Contributor: Dan Vratil <vratil@progdansoft.com>
- # Contributor: Ng Oon-Ee <n g o o n e e AT g mail dot com>
- # Contributor: Amaury Couste <amaury.couste@gmail.com>
- # Contributor: James Rayner <iphitus@gmail.com>
- # Contributor: Thomas Baechler <thomas@archlinux.org>
- # Contributor: Nuno Aniceto aka quarkup <nuno.aja@gmail.com>
- # Contributor: Det <nimetonmaili AT gmail dot com> ## This list soon should be a separate file
- pkgname='nvidia-all'
- true && pkgname=('nvidia-all' 'nvidia-utils')
- pkgver='260.19.44'
- pkgrel=1
- _arch='x86_64' && _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32" && md5sums=('3dfce350616ad70d626b531a15c8604f')
- [ "$CARCH" = "i686" ] && _arch='x86' && _pkg="NVIDIA-Linux-${_arch}-${pkgver}" && md5sums=('c99b0710a43db3aafb4f27408194e910')
- url='http://www.nvidia.com/'
- arch=('i686' 'x86_64')
- license=('custom')
- source=("http://us.download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run"
- '20-nvidia.conf')
- md5sums+=('541cb36684b6764ccba73d7afe268bf5')
- _KERNELS=`ls /usr/src | sed 's|linux-||'`
- build() {
- rm -rf ${_pkg}
- # Extract the nvidia drivers
- sh "${_pkg}.run" --extract-only
- # Loop through all detected kernels and build modules
- #for _kernver in `file /boot/* | grep 'Linux kernel.*boot executable' | grep 'vmlinuz' | sed 's|.*version \([^ ]\+\).*|\1|'`;
- for _kernver in $_KERNELS; do
- cd "${srcdir}/${_pkg}"
- cp -a kernel kernel-${_kernver}
- cd kernel-${_kernver}
- msg "Found kernel: $_kernver"
- msg2 "Building module..."
- make SYSSRC=/usr/src/linux-${_kernver} module &> /dev/null
- done
- }
- package_nvidia-utils() {
- pkgdesc='NVIDIA drivers utilities and libraries'
- depends=('xorg-server' 'libxvmc')
- optdepends=('gtk2: nvidia-settings')
- conflicts=('libgl')
- provides=('libgl' 'libcl')
- install='nvidia-utils.install'
- backup=('etc/X11/xorg.conf.d/20-nvidia.conf')
- cd ${_pkg}
- # X driver
- install -D -m755 nvidia_drv.so $pkgdir/usr/lib/xorg/modules/drivers/nvidia_drv.so
- # GLX extension module for X
- install -D -m755 libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so.$pkgver
- ln -s libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so # X doesn't find glx otherwise
- # OpenGL library
- install -D -m755 libGL.so.$pkgver $pkgdir/usr/lib/libGL.so.$pkgver
- # OpenGL core library
- install -D -m755 libnvidia-glcore.so.$pkgver $pkgdir/usr/lib/libnvidia-glcore.so.$pkgver
- # XvMC
- install -D -m644 libXvMCNVIDIA.a $pkgdir/usr/lib/libXvMCNVIDIA.a
- install -D -m755 libXvMCNVIDIA.so.$pkgver $pkgdir/usr/lib/libXvMCNVIDIA.so.$pkgver
- # VDPAU
- install -D -m755 libvdpau_nvidia.so.$pkgver $pkgdir/usr/lib/vdpau/libvdpau_nvidia.so.$pkgver
- # CUDA
- install -D -m755 libcuda.so.$pkgver $pkgdir/usr/lib/libcuda.so.$pkgver
- install -D -m755 libnvcuvid.so.$pkgver $pkgdir/usr/lib/libnvcuvid.so.$pkgver
- # nvidia-tls library
- install -D -m755 tls/libnvidia-tls.so.$pkgver $pkgdir/usr/lib/libnvidia-tls.so.$pkgver
- # OpenCL
- install -D -m755 libnvidia-compiler.so.$pkgver $pkgdir/usr/lib/libnvidia-compiler.so.$pkgver
- install -D -m755 libOpenCL.so.1.0.0 $pkgdir/usr/lib/libOpenCL.so.1.0.0
- install -D -m644 nvidia.icd $pkgdir/etc/OpenCL/vendors/nvidia.icd
- install -D -m755 libnvidia-cfg.so.$pkgver $pkgdir/usr/lib/libnvidia-cfg.so.$pkgver
- # create soname links
- for _lib in $(find $pkgdir -name '*.so*'); do
- _soname="$(dirname ${_lib})/$(readelf -d "$_lib" | sed -nr 's/.*Library soname: \[(.*)\].*/\1/p')"
- if [ ! -e "${_soname}" ]; then
- ln -s "$(basename ${_lib})" "${_soname}"
- ln -s "$(basename ${_soname})" "${_soname/.[0-9]*/}"
- fi
- done
- # nvidia-xconfig
- install -D -m755 nvidia-xconfig $pkgdir/usr/bin/nvidia-xconfig
- install -D -m644 nvidia-xconfig.1.gz $pkgdir/usr/share/man/man1/nvidia-xconfig.1.gz
- # nvidia-settings
- install -D -m755 nvidia-settings $pkgdir/usr/bin/nvidia-settings
- install -D -m644 nvidia-settings.1.gz $pkgdir/usr/share/man/man1/nvidia-settings.1.gz
- install -D -m644 nvidia-settings.desktop $pkgdir/usr/share/applications/nvidia-settings.desktop
- install -D -m644 nvidia-settings.png $pkgdir/usr/share/pixmaps/nvidia-settings.png
- sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $pkgdir/usr/share/applications/nvidia-settings.desktop
- # nvidia-bug-report
- install -D -m755 nvidia-bug-report.sh $pkgdir/usr/bin/nvidia-bug-report.sh
- # nvidia-smi
- install -D -m755 nvidia-smi $pkgdir/usr/bin/nvidia-smi
- install -D -m644 nvidia-smi.1.gz $pkgdir/usr/share/man/man1/nvidia-smi.1.gz
- install -D -m644 LICENSE $pkgdir/usr/share/licenses/nvidia/LICENSE
- ln -s nvidia $pkgdir/usr/share/licenses/nvidia-utils
- install -D -m644 README.txt $pkgdir/usr/share/doc/nvidia/README
- install -D -m644 NVIDIA_Changelog $pkgdir/usr/share/doc/nvidia/NVIDIA_Changelog
- ln -s nvidia $pkgdir/usr/share/doc/nvidia-utils
- # Install xorg.conf.d file for nvidia autodetection in xorg.conf-less configurations
- install -D -m644 $srcdir/20-nvidia.conf $pkgdir/etc/X11/xorg.conf.d/20-nvidia.conf
- }
- package_nvidia-all(){
- pkgdesc='NVIDIA drivers for all kernels on the system'
- conflicts=('nvidia-71xx' 'nvidia-96xx' 'nvidia-173xx' 'nvidia-legacy' 'nvidia')
- depends=("nvidia-utils=${pkgver}")
- makedepends=('kernel26-headers')
- install='nvidia-all.install'
- for _kernver in $_KERNELS; do
- msg2 "Installing module..."
- install -D -m644 ${_pkg}/kernel-${_kernver}/nvidia.ko "${pkgdir}/lib/modules/${_kernver}/kernel/drivers/video/nvidia.ko"
- done
- # Blacklist the Nouveau driver (avoiding possible conflicts by appending the -all suffix)
- install -d -m755 "${pkgdir}/etc/modprobe.d"
- echo "blacklist nouveau" > "${pkgdir}/etc/modprobe.d/nouveau_blacklist-all.conf"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement