New package: nvidia-304.48. The binary blob pkg with DKMS support (WIP).

This commit is contained in:
Juan RP 2012-09-14 17:05:39 +02:00
parent 4eeea37126
commit 11c71e80e5
5 changed files with 146 additions and 0 deletions

1
srcpkgs/nvidia-dkms Symbolic link
View file

@ -0,0 +1 @@
nvidia

16
srcpkgs/nvidia/INSTALL Normal file
View file

@ -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

View file

@ -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
}

View file

@ -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

90
srcpkgs/nvidia/template Normal file
View file

@ -0,0 +1,90 @@
# Template file for 'nvidia'
pkgname=nvidia
version=304.48
revision=1
short_desc="NVIDIA drivers for linux"
maintainer="Juan RP <xtraeme@gmail.com>"
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
}