diff --git a/srcpkgs/nvidia-dkms b/srcpkgs/nvidia-dkms new file mode 120000 index 0000000000..746a30838a --- /dev/null +++ b/srcpkgs/nvidia-dkms @@ -0,0 +1 @@ +nvidia \ No newline at end of file diff --git a/srcpkgs/nvidia/INSTALL b/srcpkgs/nvidia/INSTALL new file mode 100644 index 0000000000..5765f6c778 --- /dev/null +++ b/srcpkgs/nvidia/INSTALL @@ -0,0 +1,16 @@ +# Overwrite libGL and libglx symlinks. +case ${ACTION} in +post) + rm -f usr/lib/libGL.so usr/lib/libGL.so.1 + rm -f usr/lib/xorg/modules/extensions/libglx.so + + # libGL + cd usr/lib + ln -sf libGL-nvidia.so.${VERSION%_*} libGL.so + ln -sf libGL-nvidia.so.${VERSION%_*} libGL.so.1 + + # libglx + cd ../../usr/lib/xorg/modules/extensions + ln -sf libglx-nvidia.so.${VERSION%_*} libglx.so + ;; +esac diff --git a/srcpkgs/nvidia/nvidia-dkms.template b/srcpkgs/nvidia/nvidia-dkms.template new file mode 100644 index 0000000000..a1466ae264 --- /dev/null +++ b/srcpkgs/nvidia/nvidia-dkms.template @@ -0,0 +1,20 @@ +# Template file for 'nvidia-dkms'. +# +short_desc="${short_desc} -- DKMS kernel module" +long_desc="${long_desc} + + This package contains the kernel module files for DKMS." + +nonfree=yes +triggers="dkms" +dkms_modules="nvidia ${version}" + +do_install() { + vmkdir usr/src/nvidia-${version} + vcopy "${_pkg}/kernel/*" usr/src/nvidia-${version} + + # 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 +} diff --git a/srcpkgs/nvidia/nvidia.rshlibs b/srcpkgs/nvidia/nvidia.rshlibs new file mode 100644 index 0000000000..e30328813d --- /dev/null +++ b/srcpkgs/nvidia/nvidia.rshlibs @@ -0,0 +1,19 @@ +libm.so.6 +libc.so.6 +libdl.so.2 +libX11.so.6 +libXext.so.6 +libXvMC.so.1 +libXv.so.1 +librt.so.1 +libpthread.so.0 +libz.so.1 +libgtk-x11-2.0.so.0 +libgdk-x11-2.0.so.0 +libatk-1.0.so.0 +libgdk_pixbuf-2.0.so.0 +libpangox-1.0.so.0 +libpango-1.0.so.0 +libgobject-2.0.so.0 +libgmodule-2.0.so.0 +libglib-2.0.so.0 diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template new file mode 100644 index 0000000000..04add85d82 --- /dev/null +++ b/srcpkgs/nvidia/template @@ -0,0 +1,90 @@ +# Template file for 'nvidia' +pkgname=nvidia +version=304.48 +revision=1 +short_desc="NVIDIA drivers for linux" +maintainer="Juan RP " +license="Propietary NVIDIA license" +homepage="http://www.nvidia.com" +long_desc=" + This package contains the non free NVIDIA Binary drivers for the Linux kernel." + +create_wrksrc=yes +noextract=yes +nostrip=yes +nonfree=yes +subpackages="nvidia-dkms" +depends="nvidia-dkms>=${version}_${revision}" + +if [ "${XBPS_MACHINE}" = "i686" ]; then + _pkg="NVIDIA-Linux-x86-${version}" + distfiles="ftp://download.nvidia.com/XFree86/Linux-x86/${version}/${_pkg}.run" + checksum=af25dab21e7f06e34cc63fb06f427c0e8de110f66b25fd571cd814a9525513b8 +else + _pkg="NVIDIA-Linux-x86_64-${version}-no-compat32" + distfiles="ftp://download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run" + checksum=691200dfcb7f29fb351b208485bf8f5a9f80b1ddf38b9e0369ec531754d4a721 +fi + +do_extract() { + install -m755 ${_pkg}.run ${wrksrc} + cd ${wrksrc} && ./${_pkg}.run --extract-only + rm -f ${_pkg}.run +} + +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/xorg/modules/extensions \ + libglx-nvidia.so.${version} + + # OpenGL library + vinstall libGL.so.${version} 755 usr/lib libGL-nvidia.so.${version} + + for f in libnvidia-glcore libXvMCNVIDIA libvdpau_nvidia libnvidia-tls \ + libnvidia-cfg libnvidia-ml libcuda libnvcuvid; do + if [ "${f}" = "libvdpau_nvidia" ]; then + _dir="usr/lib/vdpau" + else + _dir="usr/lib" + fi + if [ -e "${f}.so.${version}" ]; then + vinstall ${f}.so.${version} 755 ${_dir} + elif [ -e "tls/${f}.so.${version}" ]; then + vinstall tls/${f}.so.${version} 755 ${_dir} + fi + ln -sfr ${DESTDIR}/${_dir}/${f}.so.${version} \ + ${DESTDIR}/${_dir}/${f}.so + ln -sfr ${DESTDIR}/${_dir}/${f}.so.${version} \ + ${DESTDIR}/${_dir}/${f}.so.1 + done + + # nvidia-xconfig + vinstall nvidia-xconfig 755 usr/bin + vinstall nvidia-xconfig.1.gz 644 usr/share/man/man1 + + # nvidia-settings + vinstall nvidia-settings 755 usr/bin + vinstall nvidia-settings.1.gz 644 usr/share/man/man1 + 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 + vinstall nvidia-bug-report.sh 755 usr/bin nvidia-bug-report + + # nvidia-smi + vinstall nvidia-smi 755 usr/bin + vinstall nvidia-smi.1.gz 644 usr/share/man/man1 + + # License and documentation. + vinstall LICENSE 644 usr/share/licenses/nvidia + vinstall README.txt 644 usr/share/doc/nvidia README + vinstall NVIDIA_Changelog 644 usr/share/doc/nvidia +}