SliTaz Packages

Community Doc Forum Pro Shop Bugs Hg
.

Receipt for package "nvidia-96xx"

# SliTaz package receipt.

PACKAGE="nvidia-96xx"
VERSION="96.43.23"
CATEGORY="network"
MAINTAINER="psychomaniak@xakep.ru"
LICENSE="other"
SHORT_DESC="NVIDIA-legacy drivers (from Geforce MX200 to 7950) (non-free)"
WEB_SITE="https://www.nvidia.com/"
SOURCE="NVIDIA-Linux-x86-${VERSION}-pkg0"
TARBALL="${SOURCE}.run"
WGET_URL="http://download.nvidia.com/XFree86/Linux-x86/$VERSION/$TARBALL"
RUN_OPTS="--extract-only"
TAGS="drivers graphic video"
PROVIDE="mesa"

DEPENDS="linux xorg-server gtk+ cairo linux-agp linux-drm"
BUILD_DEPENDS="linux-module-headers coreutils-file-summarize xz"

current_version()
{
    wget -O - http://download.nvidia.com/XFree86/Linux-x86 2>/dev/null | \
    sed '/href=.96/!d;s|.*>96|96|;s|/.*||' | sort -Vr | sed q
}

# Rules to configure and make the package.
compile_rules()
{
    cd $src/usr/src/nv/
    # 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
    mkdir -p $fs/lib/modules/$kvers-slitaz/kernel/drivers/video
    mkdir -p $fs/usr/share/doc/$PACKAGE

    # Compress and install module
    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/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    

    # Links
    for i in $(find $fs -iname *.so*); do
        ln -s $(basename $i) $(dirname $i)/$(basename ${i/so.${VERSION}/so/})
        ln -s $(basename $i) $(dirname $i)/$(basename ${i/so.${VERSION}/so.1/})
    done
    
    # 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
}

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

    newline
    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 /usr/share/licenses/"$PACKAGE"/LICENSE
        echo
    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
}

TAZBB_NO_INSTALL="because this is not hardware neutral"
6047 packages and 209931 files in current database (Wed Jun 26 15:35:30 2024)