summaryrefslogtreecommitdiff
path: root/system/nvidia-driver/nvidia-driver.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'system/nvidia-driver/nvidia-driver.SlackBuild')
-rw-r--r--system/nvidia-driver/nvidia-driver.SlackBuild89
1 files changed, 64 insertions, 25 deletions
diff --git a/system/nvidia-driver/nvidia-driver.SlackBuild b/system/nvidia-driver/nvidia-driver.SlackBuild
index b711add41d..c063fa2340 100644
--- a/system/nvidia-driver/nvidia-driver.SlackBuild
+++ b/system/nvidia-driver/nvidia-driver.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for nvidia-driver
-# Copyright 2007-2010 Heinz Wiesinger, Amsterdam, The Netherlands
+# Copyright 2007-2011 Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
# Thanks to Robby Workman for suggestions to improve this script.
PRGNAM=nvidia-driver
-VERSION=256.44
+VERSION=260.19.29
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -43,14 +43,17 @@ PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
TARGET="x86"
SRCSUFFIX=""
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
TARGET="x86"
SRCSUFFIX=""
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
TARGET="x86_64"
SRCSUFFIX="-no-compat32"
LIBDIRSUFFIX="64"
@@ -67,6 +70,12 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
+rm -rf nvidia-installer-$VERSION
+tar xvf $CWD/nvidia-installer-$VERSION.tar.bz2
+rm -rf nvidia-settings-$VERSION
+tar xvf $CWD/nvidia-settings-$VERSION.tar.bz2
+rm -rf nvidia-xconfig-$VERSION
+tar xvf $CWD/nvidia-xconfig-$VERSION.tar.bz2
rm -rf $SRCNAM
sh $CWD/$SRCNAM.run --extract-only
cd $SRCNAM
@@ -74,9 +83,8 @@ chown -R root:root .
chmod -R u+w,go+r-w,a-s .
mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/{drivers,extensions} \
- $PKG/usr/include/{CL,cuda,GL} $PKG/etc/OpenCL/vendors/ \
- $PKG/usr/lib$LIBDIRSUFFIX/{tls,vdpau} $PKG/usr/{bin,man/man1,sbin} \
- $PKG/usr/share/{applications,pixmaps}
+ $PKG/etc/OpenCL/vendors/ $PKG/usr/lib$LIBDIRSUFFIX/{tls,vdpau} \
+ $PKG/usr/{bin,man/man1,sbin} $PKG/usr/share/{applications,pixmaps}
install -m 755 nvidia_drv.so $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/drivers/
install -m 755 libglx.so.$VERSION \
@@ -94,32 +102,14 @@ install -m 755 libOpenCL.so.1.0.0 $PKG/usr/lib$LIBDIRSUFFIX/
install -m 755 libnvidia-cfg.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
install -m 755 libnvidia-compiler.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
-for i in glxext.h glext.h gl.h glx.h; do
- install -m 644 $i $PKG/usr/include/GL/$i-nvidia
-done
-
-for i in cuda.h cudaGL.h cudaVDPAU.h; do
- install -m 644 $i $PKG/usr/include/cuda/$i
-done
-
-for i in cl.h cl_gl.h cl_platform.h; do
- install -m 644 $i $PKG/usr/include/CL/$i
-done
-
install -m 644 nvidia.icd $PKG/etc/OpenCL/vendors/
# # Next come the apps
-for i in nvidia-installer nvidia-xconfig nvidia-settings \
- nvidia-smi nvidia-bug-report.sh; do
+for i in nvidia-smi nvidia-bug-report.sh; do
install -m 755 $i $PKG/usr/bin/
done
-install -m 644 nvidia-settings.desktop $PKG/usr/share/applications/
-install -m 644 nvidia-settings.png $PKG/usr/share/pixmaps/
-
-for i in *.1.gz; do
- install -m 644 $i $PKG/usr/man/man1/$i
-done
+install -m 644 nvidia-smi.1.gz $PKG/usr/man/man1/
# symlinks
cd $PKG/usr/lib$LIBDIRSUFFIX
@@ -144,6 +134,52 @@ cd $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules
ln -sf libnvidia-wfb.so.$VERSION libnvidia-wfb.so.1
cd -
+# Compiling nvidia-installer from source
+cd $TMP/nvidia-installer-$VERSION
+ chown -R root:root .
+ chmod -R u+w,go+r-w,a-s .
+
+ CFLAGS="$SLKCFLAGS" \
+ LDFLAGS="-lz" \
+ make
+
+ install -m 755 _out/Linux_$TARGET/nvidia-installer $PKG/usr/bin/
+ install -m 644 _out/Linux_$TARGET/nvidia-installer.1.gz $PKG/usr/man/man1/
+cd -
+
+# Compiling nvidia-settings from source
+cd $TMP/nvidia-settings-$VERSION
+ chown -R root:root .
+ chmod -R u+w,go+r-w,a-s .
+
+ cd src/libXNVCtrl
+ make clean
+ CFLAGS="$SLKCFLAGS" \
+ make
+ cd ../../
+
+ CFLAGS="$SLKCFLAGS" \
+ make
+
+ install -m 755 _out/Linux_$TARGET/nvidia-settings $PKG/usr/bin/
+ install -m 644 _out/Linux_$TARGET/nvidia-settings.1.gz $PKG/usr/man/man1/
+ install -m 644 doc/nvidia-settings.desktop $PKG/usr/share/applications/
+ install -m 644 doc/nvidia-settings.png $PKG/usr/share/pixmaps/
+cd ../
+
+# Compiling nvidia-xconfig from source
+cd $TMP/nvidia-xconfig-$VERSION
+ chown -R root:root .
+ chmod -R u+w,go+r-w,a-s .
+
+ CFLAGS="$SLKCFLAGS" \
+ make
+
+ install -m 755 _out/Linux_$TARGET/nvidia-xconfig $PKG/usr/bin/
+ install -m 644 _out/Linux_$TARGET/nvidia-xconfig.1.gz $PKG/usr/man/man1/
+cd -
+
+
# Self written bash script which I use to switch between nvidia and nv.
# It is now also used by doinst.sh to switch to the nvidia-driver right
# after installation.
@@ -158,8 +194,11 @@ sed -i "s|__UTILS_PATH__|/usr/bin|" \
$PKG/usr/share/applications/nvidia-settings.desktop
sed -i "s|__PIXMAP_PATH__|/usr/share/pixmaps|" \
$PKG/usr/share/applications/nvidia-settings.desktop
+sed -i "s|__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__|Application;Settings;|" \
+ $PKG/usr/share/applications/nvidia-settings.desktop
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cd $TMP/$SRCNAM
cp -a LICENSE NVIDIA_Changelog README.txt html $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README.Slackware
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild