Merge pull request #3986 from subsonik/update-nvidia

nvidia: update to 361.42.
This commit is contained in:
Juan RP 2016-04-06 15:29:24 +02:00
commit 076f905b0e
2 changed files with 98 additions and 49 deletions

View file

@ -0,0 +1,17 @@
PACKAGE_NAME="nvidia"
PACKAGE_VERSION="__PKGVER"
AUTOINSTALL="yes"
# By default, DKMS will add KERNELRELEASE to the make command line; however,
# this will cause the kernel module build to infer that it was invoked via
# Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting
# the 'make' command name to suppress this behavior.
MAKE[0]="'make' __MAKEJOBS NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=${kernelver} modules"
# The list of kernel modules was generated by nvidia-installer at runtime.
BUILT_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"

View file

@ -3,8 +3,8 @@
_desc="NVIDIA drivers for linux (long-lived series)"
pkgname=nvidia
version=352.79
revision=2
version=361.42
revision=1
maintainer="Juan RP <xtraeme@voidlinux.eu>"
license="Proprietary NVIDIA license"
homepage="http://www.nvidia.com"
@ -16,14 +16,18 @@ short_desc="${_desc} - Libraries and Utilities"
depends="nvidia-gtklibs-${version}_${revision} nvidia-dkms-${version}_${revision} pkg-config"
conflicts="catalyst>=0 xserver-abi-video>21_1"
build_options="glvnd"
desc_option_glvnd="Add support for NVIDIA's GL Vendor Neutral Dispatch implementation"
build_options_default="glvnd"
if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
_pkg="NVIDIA-Linux-x86-${version}"
distfiles="http://us.download.nvidia.com/XFree86/Linux-x86/${version}/${_pkg}.run"
checksum=2929d6e509ed4502312c1b7384f6d12cb63bd4af03fc847a281d3ccdd4db4f69
distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86/${version}/${_pkg}.run"
checksum=e32d047f62da3aaabe718a5b835e6efa2c0265e76dd0f4e6b9af35266b6e4e82
else
_pkg="NVIDIA-Linux-x86_64-${version}-no-compat32"
distfiles="http://us.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
checksum=8be6c64dddc2c2c5a0512bdacc71a77734de469ca11dfa435ca728fba57ccb9a
distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
checksum=04cfc16efde964e0b1c62585ea82dc9445dcc8e3aeb76ad08801ff4ee6cfde13
fi
subpackages="nvidia-gtklibs nvidia-dkms nvidia-opencl nvidia-libs"
@ -47,31 +51,74 @@ do_install() {
# GLX extension module for X
vinstall libglx.so.${version} 755 usr/lib/xorg/modules/extensions
ln -sf libglx.so.${version} ${DESTDIR}/usr/lib/xorg/modules/extensions/libglx.so
ln -sf libglx.so.${version} ${DESTDIR}/usr/lib/xorg/modules/extensions/libglx.so.1
# OpenGL library
vinstall libGL.so.${version} 755 usr/lib
ln -sf libGL.so.${version} ${DESTDIR}/usr/lib/libGL.so
ln -sf libGL.so.${version} ${DESTDIR}/usr/lib/libGL.so.1
# GLX client libs
if [ "${build_option_glvnd}" ]; then
# ----- Also provided by the libglvnd package (todo)
vinstall libGL.so.1.0.0 755 usr/lib
ln -sf libGL.so.1.0.0 ${DESTDIR}/usr/lib/libGL.so
ln -sf libGL.so.1.0.0 ${DESTDIR}/usr/lib/libGL.so.1
# EGL library
vinstall libEGL.so.${version} 755 usr/lib
ln -sf libEGL.so.${version} ${DESTDIR}/usr/lib/libEGL.so
ln -sf libEGL.so.${version} ${DESTDIR}/usr/lib/libEGL.so.1
vinstall libGLX.so.0 755 usr/lib
ln -sf libGLX.so.0 ${DESTDIR}/usr/lib/libGLX.so
# --------------------------------------------------
# Required for GLVND option
vinstall libGLX_nvidia.so.${version} 755 usr/lib
ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/usr/lib/libGLX_nvidia.so.0
ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/usr/lib/libGLX_indirect.so.0
else
vinstall libGL.so.${version} 755 usr/lib
ln -sf libGL.so.${version} ${DESTDIR}/usr/lib/libGL.so
ln -sf libGL.so.${version} ${DESTDIR}/usr/lib/libGL.so.1
# Not required for non-GLVND option but recommended
# more info: https://devtalk.nvidia.com/default/topic/915640/multiple-glx-client-libraries-in-the-nvidia-linux-driver-installer-package/
vinstall libGLX_nvidia.so.${version} 755 usr/lib
ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/usr/lib/libGLX_nvidia.so.0
ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/usr/lib/libGLX_indirect.so.0
fi
# OpenGL core library
vinstall libnvidia-glcore.so.${version} 755 usr/lib
ln -sf libnvidia-glcore.so.${version} ${DESTDIR}/usr/lib/libnvidia-glcore.so
vinstall libnvidia-eglcore.so.${version} 755 usr/lib
vinstall libnvidia-glsi.so.${version} 755 usr/lib
# EGL
# ----- Also provided by the libglvnd package (todo)
vinstall libOpenGL.so.0 755 usr/lib
ln -sf libOpenGL.so.0 ${DESTDIR}/usr/lib/libOpenGL.so
vinstall libGLdispatch.so.0 755 usr/lib
vinstall libGLESv1_CM.so.1 755 usr/lib
ln -sf libGLESv1_CM.so.1 ${DESTDIR}/usr/lib/libGLESv1_CM.so
vinstall libGLESv2.so.2 755 usr/lib
ln -sf libGLESv2.so.2 ${DESTDIR}/usr/lib/libGLESv2.so
# --------------------------------------------------
vinstall libEGL.so.1 755 usr/lib
ln -sf libEGL.so.1 ${DESTDIR}/usr/lib/libEGL.so
vinstall libEGL_nvidia.so.${version} 755 usr/lib
ln -sf libEGL_nvidia.so.${version} ${DESTDIR}/usr/lib/libEGL_nvidia.so.0
vinstall libGLESv1_CM_nvidia.so.${version} 755 usr/lib
ln -sf libGLESv1_CM_nvidia.so.${version} ${DESTDIR}/usr/lib/libGLESv1_CM_nvidia.so.1
vinstall libGLESv2_nvidia.so.${version} 755 usr/lib
ln -sf libGLESv2_nvidia.so.${version} ${DESTDIR}/usr/lib/libGLESv2_nvidia.so.2
# Thread Local Storage
vinstall tls/libnvidia-tls.so.${version} 755 usr/lib
# VDPAU
vinstall libvdpau_nvidia.so.${version} 755 usr/lib/vdpau
ln -sf libvdpau_nvidia.so.${version} ${DESTDIR}/usr/lib/vdpau/libvdpau_nvidia.so
ln -sf libvdpau_nvidia.so.${version} ${DESTDIR}/usr/lib/vdpau/libvdpau_nvidia.so.1
# misc libraries
vinstall tls/libnvidia-tls.so.${version} 755 usr/lib
ln -sf libnvidia-tls.so.${version} ${DESTDIR}/usr/lib/libnvidia-tls.so
vinstall libnvidia-cfg.so.${version} 755 usr/lib
ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so
ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so.1
@ -92,9 +139,7 @@ do_install() {
ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/usr/lib/libnvidia-fbc.so
ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/usr/lib/libnvidia-fbc.so.1
vinstall libnvidia-glsi.so.${version} 755 usr/lib
ln -sf libnvidia-glsi.so.${version} ${DESTDIR}/usr/lib/libnvidia-glsi.so
ln -sf libnvidia-glsi.so.${version} ${DESTDIR}/usr/lib/libnvidia-glsi.so.1
vinstall libnvidia-fatbinaryloader.so.${version} 755 usr/lib
# CUDA
vbin nvidia-cuda-mps-control
@ -110,6 +155,8 @@ do_install() {
ln -sf libnvcuvid.so.${version} ${DESTDIR}/usr/lib/libnvcuvid.so
ln -sf libnvcuvid.so.${version} ${DESTDIR}/usr/lib/libnvcuvid.so.1
vinstall libnvidia-ptxjitcompiler.so.${version} 755 usr/lib
# nvidia-xconfig
vbin nvidia-xconfig
gzip -d nvidia-xconfig.1.gz
@ -126,11 +173,7 @@ do_install() {
-i ${DESTDIR}/usr/share/applications/nvidia-settings.desktop
vinstall libnvidia-gtk3.so.${version} 755 usr/lib
ln -sf libnvidia-gtk3.so.${version} ${DESTDIR}/usr/lib/libnvidia-gtk3.so
ln -sf libnvidia-gtk3.so.${version} ${DESTDIR}/usr/lib/libnvidia-gtk3.so.1
vinstall libnvidia-gtk2.so.${version} 755 usr/lib
ln -sf libnvidia-gtk2.so.${version} ${DESTDIR}/usr/lib/libnvidia-gtk2.so
ln -sf libnvidia-gtk2.so.${version} ${DESTDIR}/usr/lib/libnvidia-gtk2.so.1
# application profiles (needed by nvidia-settings)
vinstall nvidia-application-profiles-${version}-key-documentation 644 usr/share/nvidia
@ -159,10 +202,6 @@ do_install() {
vinstall nvidia.icd 644 etc/OpenCL/vendors
vinstall libnvidia-compiler.so.${version} 755 usr/lib
ln -sf libnvidia-compiler.so.${version} \
${DESTDIR}/usr/lib/libnvidia-compiler.so
ln -sf libnvidia-compiler.so.${version} \
${DESTDIR}/usr/lib/libnvidia-compiler.so.1
vinstall libnvidia-opencl.so.${version} 755 usr/lib
ln -sf libnvidia-opencl.so.${version} \
@ -172,29 +211,23 @@ do_install() {
# dkms pkg
vmkdir usr/src/nvidia-${version}
# add nvidia-uvm dkms submodule too.
if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
cat kernel/uvm/dkms.conf.fragment >> kernel/dkms.conf
fi
vcopy "kernel/*" usr/src/nvidia-${version}
vcopy ${FILESDIR}/dkms.conf usr/src/nvidia-${version}
sed -e "s/__PKGVER/${version}/g" \
-e "s/__MAKEJOBS/-j$(nproc)/g" \
-i ${DESTDIR}/usr/src/nvidia-${version}/dkms.conf
# systemd modules-load.d(5) file.
vmkdir usr/lib/modules-load.d
echo "nvidia" > ${DESTDIR}/usr/lib/modules-load.d/nvidia.conf
chmod 644 ${DESTDIR}/usr/lib/modules-load.d/nvidia.conf
if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
echo "nvidia-uvm" > ${DESTDIR}/usr/lib/modules-load.d/nvidia-uvm.conf
chmod 644 ${DESTDIR}/usr/lib/modules-load.d/nvidia-uvm.conf
fi
# Blacklist nouveau.
# Blacklist nouveau
vmkdir usr/lib/modprobe.d
echo "blacklist nouveau" > ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf
chmod 644 ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf
# Omit drm dracut module too.
# Omit drm dracut module too
vmkdir usr/lib/dracut/dracut.conf.d
echo "omit_dracutmodules+=\" drm \"" > ${DESTDIR}/usr/lib/dracut/dracut.conf.d/99-nvidia.conf
vmkdir /usr/share/X11/xorg.conf.d/
vinstall nvidia-drm-outputclass.conf 644 /usr/share/X11/xorg.conf.d 30-nvidia-drm-outputclass.conf
}
nvidia-gtklibs_package() {
@ -205,8 +238,8 @@ nvidia-gtklibs_package() {
}
nvidia-libs_package() {
short_desc="${_desc} - common libraries"
provides="libEGL-${version}_${revision} libGL-${version}_${revision}"
replaces="libEGL>=0 libGL>=0"
provides="libEGL-${version}_${revision} libGL-${version}_${revision} libGLES-${version}_${revision}"
replaces="libEGL>=0 libGL>=0 libGLES>=0"
pkg_install() {
vmove usr/lib
}
@ -218,7 +251,6 @@ nvidia-dkms_package() {
depends="dkms"
pkg_install() {
vmove usr/src
vmove usr/lib/modules-load.d
vmove usr/lib/modprobe.d
vmove usr/lib/dracut
}