fa8ba0ae8a
Drop the patches we currently have, some of which are manjaro's old patches, and use the new ones which put all of the changes up to 5.7 in one patch.
223 lines
7.4 KiB
Bash
223 lines
7.4 KiB
Bash
# Template file for 'nvidia340'
|
|
|
|
_desc="NVIDIA drivers (GeForce 8, 9, 9M, 100, 100M, 200, 300 series)"
|
|
|
|
pkgname=nvidia340
|
|
version=340.108
|
|
revision=4
|
|
maintainer="Orphaned <orphan@voidlinux.org>"
|
|
license="custom:NVIDIA proprietary"
|
|
homepage="http://www.nvidia.com"
|
|
|
|
archs="i686 x86_64"
|
|
nopie=yes
|
|
repository=nonfree
|
|
create_wrksrc=yes
|
|
short_desc="${_desc} - Libraries and Utilities"
|
|
hostmakedepends="tar"
|
|
depends="${pkgname}-dkms-${version}_${revision} pkg-config"
|
|
conflicts="catalyst>=0 xserver-abi-video>24_1"
|
|
|
|
provides="nvidia-${version}_${revision}"
|
|
replaces="nvidia>=0 nvidia-stable>=0"
|
|
subpackages="${pkgname}-dkms ${pkgname}-opencl ${pkgname}-libs"
|
|
|
|
if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
|
|
_pkg="NVIDIA-Linux-x86-${version}"
|
|
distfiles="http://us.download.nvidia.com/XFree86/Linux-x86/${version}/${_pkg}.run"
|
|
checksum=2032aad612d9f3af1aecf979cfdfe423d79aa76929ef8bf8d3a403076f507cca
|
|
else
|
|
_pkg="NVIDIA-Linux-x86_64-${version}-no-compat32"
|
|
distfiles="http://us.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
|
|
checksum=995d44fef587ff5284497a47a95d71adbee0c13020d615e940ac928f180f5b77
|
|
fi
|
|
|
|
do_extract() {
|
|
install -m755 ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_pkg}.run ${wrksrc}
|
|
cd ${wrksrc}
|
|
./${_pkg}.run --extract-only
|
|
rm -f ${_pkg}.run
|
|
}
|
|
|
|
do_patch() {
|
|
cd ${_pkg}
|
|
patch -p1 < ${FILESDIR}/kernel-5.x.patch
|
|
patch -p1 < ${FILESDIR}/kernel-5.8.patch
|
|
patch -p1 < ${FILESDIR}/kernel-5.9.patch
|
|
}
|
|
|
|
do_install() {
|
|
cd ${_pkg}
|
|
|
|
# X driver
|
|
vinstall nvidia_drv.so 755 usr/lib/xorg/modules/drivers
|
|
|
|
# GLX extension module for X
|
|
vinstall libglx.so.${version} 755 usr/lib/nvidia/xorg
|
|
ln -sf libglx.so.${version} ${DESTDIR}/usr/lib/nvidia/xorg/libglx.so.1
|
|
ln -sf libglx.so.${version} ${DESTDIR}/usr/lib/nvidia/xorg/libglx.so
|
|
# Override default ModulePath to load nvidia's glx instead of xorg's
|
|
vinstall ${FILESDIR}/nvidia-glx.conf 644 /usr/share/X11/xorg.conf.d 10-nvidia-glx.conf
|
|
|
|
# OpenGL libraries (GL, EGL and GLES)
|
|
vinstall libGL.so.${version} 755 usr/lib
|
|
ln -sf libGL.so.${version} ${DESTDIR}/usr/lib/libGL.so.1
|
|
vinstall libEGL.so.${version} 755 usr/lib
|
|
ln -sf libEGL.so.${version} ${DESTDIR}/usr/lib/libEGL.so.1
|
|
vinstall libGLESv1_CM.so.${version} 755 usr/lib
|
|
ln -sf libGLESv1_CM.so.${version} ${DESTDIR}/usr/lib/libGLESv1_CM.so.1
|
|
vinstall libGLESv2.so.${version} 755 usr/lib
|
|
ln -sf libGLESv2.so.${version} ${DESTDIR}/usr/lib/libGLESv2.so.2
|
|
# Some programs link to these libglvnd links
|
|
ln -sf libGL.so.1 ${DESTDIR}/usr/lib/libOpenGL.so.0
|
|
ln -sf libGL.so.1 ${DESTDIR}/usr/lib/libGLX.so.0
|
|
|
|
# OpenGL core library
|
|
vinstall libnvidia-glcore.so.${version} 755 usr/lib
|
|
ln -sf libnvidia-glcore.so.${version} ${DESTDIR}/usr/lib/libnvidia-glcore.so
|
|
|
|
# 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
|
|
|
|
vinstall libnvidia-ml.so.${version} 755 usr/lib
|
|
ln -sf libnvidia-ml.so.${version} ${DESTDIR}/usr/lib/libnvidia-ml.so
|
|
ln -sf libnvidia-ml.so.${version} ${DESTDIR}/usr/lib/libnvidia-ml.so.1
|
|
|
|
vinstall libnvidia-encode.so.${version} 755 usr/lib
|
|
ln -sf libnvidia-encode.so.${version} ${DESTDIR}/usr/lib/libnvidia-encode.so
|
|
ln -sf libnvidia-encode.so.${version} ${DESTDIR}/usr/lib/libnvidia-encode.so.1
|
|
|
|
vinstall libnvidia-ifr.so.${version} 755 usr/lib
|
|
ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/usr/lib/libnvidia-ifr.so
|
|
ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/usr/lib/libnvidia-ifr.so.1
|
|
|
|
vinstall libnvidia-fbc.so.${version} 755 usr/lib
|
|
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
|
|
|
|
# CUDA
|
|
vbin nvidia-cuda-mps-control
|
|
vbin nvidia-cuda-mps-server
|
|
vman nvidia-cuda-mps-control.1.gz
|
|
|
|
vinstall libcuda.so.${version} 755 usr/lib
|
|
ln -sf libcuda.so.${version} ${DESTDIR}/usr/lib/libcuda.so
|
|
ln -sf libcuda.so.${version} ${DESTDIR}/usr/lib/libcuda.so.1
|
|
|
|
vinstall libnvcuvid.so.${version} 755 usr/lib
|
|
ln -sf libnvcuvid.so.${version} ${DESTDIR}/usr/lib/libnvcuvid.so
|
|
ln -sf libnvcuvid.so.${version} ${DESTDIR}/usr/lib/libnvcuvid.so.1
|
|
|
|
# nvidia-xconfig
|
|
vbin nvidia-xconfig
|
|
vman nvidia-xconfig.1.gz
|
|
|
|
# nvidia-settings
|
|
vbin nvidia-settings
|
|
vman nvidia-settings.1.gz
|
|
vinstall nvidia-settings.desktop 644 usr/share/applications
|
|
vinstall nvidia-settings.png 644 usr/share/pixmaps
|
|
sed -e 's:__UTILS_PATH__:/usr/bin:' \
|
|
-e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \
|
|
-i ${DESTDIR}/usr/share/applications/nvidia-settings.desktop
|
|
|
|
# nvidia-bug-report
|
|
vbin nvidia-bug-report.sh nvidia-bug-report
|
|
vbin nvidia-debugdump
|
|
|
|
# nvidia-smi
|
|
vbin nvidia-smi
|
|
vman nvidia-smi.1.gz
|
|
|
|
# License and documentation.
|
|
vlicense LICENSE
|
|
vdoc README.txt README
|
|
vdoc NVIDIA_Changelog
|
|
|
|
# opencl pkg
|
|
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} \
|
|
${DESTDIR}/usr/lib/libnvidia-opencl.so
|
|
ln -sf libnvidia-opencl.so.${version} \
|
|
${DESTDIR}/usr/lib/libnvidia-opencl.so.1
|
|
|
|
# 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}
|
|
|
|
# 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.
|
|
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.
|
|
vmkdir usr/lib/dracut/dracut.conf.d
|
|
echo "omit_dracutmodules+=\" drm \"" > ${DESTDIR}/usr/lib/dracut/dracut.conf.d/99-nvidia.conf
|
|
}
|
|
|
|
nvidia340-dkms_package() {
|
|
short_desc="${_desc} - DKMS kernel module"
|
|
dkms_modules="nvidia ${version}"
|
|
depends="dkms"
|
|
provides="nvidia-dkms-${version}_${revision}"
|
|
replaces="nvidia-dkms>=0 nvidia-stable-dkms>=0"
|
|
pkg_install() {
|
|
vmove usr/src
|
|
vmove usr/lib/modules-load.d
|
|
vmove usr/lib/modprobe.d
|
|
vmove usr/lib/dracut
|
|
}
|
|
}
|
|
nvidia340-opencl_package() {
|
|
short_desc="${_desc} - OpenCL implementation"
|
|
provides="nvidia-opencl-${version}_${revision}"
|
|
replaces="nvidia-opencl>=0 nvidia-stable-opencl>=0"
|
|
depends="libOpenCL"
|
|
pkg_install() {
|
|
vmove "usr/lib/libnvidia-compiler*"
|
|
vmove "usr/lib/libnvidia-opencl*"
|
|
vmove etc/OpenCL
|
|
}
|
|
}
|
|
nvidia340-libs_package() {
|
|
short_desc="${_desc} - libraries"
|
|
provides="libGL-7.11_1 libEGL-7.11_1 libGLES-7.11_1 libglvnd-1.3.0_1"
|
|
shlib_provides="libGLX.so.0 libOpenGL.so.0"
|
|
replaces="libGL>=0 libEGL>=0 libGLES>=0 libglvnd>=0"
|
|
pkg_install() {
|
|
vmove usr/lib
|
|
}
|
|
}
|