# SliTaz package receipt. PACKAGE="nvidia-173xx" VERSION="173.14.39" CATEGORY="non-free" MAINTAINER="jozee@slitaz.org" LICENSE="other" SHORT_DESC="NVIDIA drivers (non-free)" WEB_SITE="https://www.nvidia.com/" SOURCE="NVIDIA-Linux-x86-${VERSION}-pkg1" TARBALL="${SOURCE}.run" WGET_URL="http://download.nvidia.com/XFree86/Linux-x86/$VERSION/$TARBALL" RUN_OPTS="--extract-only" TAGS="driver graphic video" PROVIDE="nvidia mesa" DEPENDS="linux xorg-server gtk+ cairo linux-agp xorg-libXv" BUILD_DEPENDS="linux-module-headers coreutils-file-summarize xz" # What is the latest version available today? current_version() { wget -O - ${WGET_URL%/*/*}/ 2>/dev/null | \ sed '/173.[0-9]/!d;s|.*>173|173|;s|/.*||' | sort -Vr | sed q } # Rules to configure and make the package. compile_rules() { cd $src/usr/src/nv/ sed -i 's|.*utsname.*|&\n#include <linux/acpi.h>|' nv-linux.h sed -i 's|uname -m|echo i486|' Makefile* # Only use .unblocked_ioctl since 2.6.36 sed -i 's|\.ioctl|// &|' nv.c make SYSSRC="/usr/src/linux" module 2>&1 | sed s'/ERROR:/error:/' xz nvidia.ko } # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() { EXTRAVERSION=_${kvers} mkdir -p \ $fs/usr/share \ $fs/usr/lib/X11 \ $fs/usr/share/licenses/$PACKAGE \ $fs/lib/modules/$kvers-slitaz/kernel/drivers/video \ $fs/usr/share/doc/$PACKAGE cp $src/usr/src/nv/nvidia.ko.xz \ $fs/lib/modules/$kvers-slitaz/kernel/drivers/video/ chown root $fs/lib/modules/$kvers-slitaz/kernel/drivers/video/nvidia.ko.xz chmod 0644 $fs/lib/modules/$kvers-slitaz/kernel/drivers/video/nvidia.ko.xz cp -a $src/LICENSE $fs/usr/share/licenses/$PACKAGE cp -a $src/usr/bin $fs/usr cp -a $src/nvidia-installer $fs/usr/bin cp -a $src/usr/lib/*.so* $fs/usr/lib/ cp -a $src/usr/lib/tls $fs/usr/lib/ cp -a $src/usr/X11R6/lib/libXvMCNVIDIA.so.$VERSION $fs/usr/lib cp -a $src/usr/X11R6/lib/modules $fs/usr/lib/X11/ cp -a $src/usr/share/applications $fs/usr/share cp -a $src/usr/share/pixmaps $fs/usr/share cp -a $src/usr/share/doc/* $fs/usr/share/doc/$PACKAGE/ cp -a $src/usr/X11R6/lib/* $fs/usr/lib/X11 ln -s libcuda.so.$VERSION $fs/usr/lib/libcuda.so ln -s libcuda.so.$VERSION $fs/usr/lib/libcuda.so.1 ln -s libGL.so.$VERSION $fs/usr/lib/libGL.so ln -s libGL.so.$VERSION $fs/usr/lib/libGL.so.1 # exclude from files.list (for tazpkg's "find-depends") cd $fs/usr/lib for i in $(ls libGL.so*) ; do mv -f $i ${i//./-.-} ; done ln -s libGLcore.so.$VERSION $fs/usr/lib/libGLcore.so.1 ln -s libnvidia-cfg.so.$VERSION $fs/usr/lib/libnvidia-cfg.so ln -s libnvidia-cfg.so.$VERSION $fs/usr/lib/libnvidia-cfg.so.1 ln -s libnvidia-tls.so.$VERSION $fs/usr/lib/libnvidia-tls.so.1 ln -s libnvidia-tls.so.$VERSION $fs/usr/lib/tls/libnvidia-tls.so.1 ln -s libXvMCNVIDIA.so.$VERSION $fs/usr/lib/libXvMCNVIDIA.so.1 ln -s libXvMCNVIDIA.so.$VERSION $fs/usr/lib/libXvMCNVIDIA.so ln -s libXvMCNVIDIA.so.$VERSION $fs/usr/lib/libXvMCNVIDIA_dynamic.so.1 ln -s libXvMCNVIDIA.so.$VERSION $fs/usr/lib/libXvMCNVIDIA_dynamic.so ln -s libnvidia-wfb.so.$VERSION $fs/usr/lib/X11/modules/libnvidia-wfb.so ln -s libnvidia-wfb.so.$VERSION $fs/usr/lib/X11/modules/libnvidia-wfb.so.1 ln -s libglx.so.$VERSION $fs/usr/lib/X11/modules/extensions/libglx.so } pre_install() { title "PROPRIETARY LICENSE" echo "You are installing a package with proprietary license." echo "You must accept the license." footer } post_install() { # Restore excluded from files.list (for tazpkg's "find-depends") cd $1/usr/lib for i in $(ls libGL.so*) ; do mv -f $i ${i//-.-/.} ; done chroot "$1/" depmod -a ${EXTRAVERSION#_}-slitaz # correct .desktop file file sed -i 's:__UTILS_PATH__/::' "$1/usr/share/applications/nvidia-settings.desktop" sed -i 's:__PIXMAP_PATH__/::' "$1/usr/share/applications/nvidia-settings.desktop" title "NVIDIA LICENSE INFORMATION" echo "For installing this package, you have to accept the $PACKAGE license." echo "The license is stored in /usr/share/licenses/$PACKAGE " echo -n "Would you like to read the license (y/N) : "; read anser if [ "$anser" = 'y' ]; then more "$1/usr/share/licenses/$PACKAGE/LICENSE" newline fi separator echo -n 'Do you accept the license (y/N) : '; read anser if [ "$anser" = 'N' ]; then echo 'You did not accept the license, Removing the pkg.' tazpkg remove "$PACKAGE" fi }