SliTaz Packages

Community Doc Forum Pro Shop Bugs Hg
.

Receipt for package "nvidia-173xx"

# 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
}
6047 packages and 209931 files in current database (Wed Jun 26 15:35:30 2024)