diff options
Diffstat (limited to 'system/nvidia-driver/nvidia-driver.SlackBuild')
-rw-r--r-- | system/nvidia-driver/nvidia-driver.SlackBuild | 82 |
1 files changed, 22 insertions, 60 deletions
diff --git a/system/nvidia-driver/nvidia-driver.SlackBuild b/system/nvidia-driver/nvidia-driver.SlackBuild index c86736ded8..e52adae023 100644 --- a/system/nvidia-driver/nvidia-driver.SlackBuild +++ b/system/nvidia-driver/nvidia-driver.SlackBuild @@ -25,12 +25,13 @@ # see changelog.txt PRGNAM=nvidia-driver -VERSION=${VERSION:-430.14} +VERSION=${VERSION:-430.40} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} -GLVND=${GLVND:-yes} -# libglnvd may land in mesa and is Nvidia recommended +GLVND=yes +# libglnvd landed in mesa and is Nvidia recommended; no longer optional +# future will remove set -e @@ -68,7 +69,7 @@ mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/{drivers,extensions} \ $PKG/etc/OpenCL/vendors/ $PKG/usr/{bin,doc,man/man1,sbin} \ $PKG/usr/share/{applications,nvidia,pixmaps,egl/egl_external_platform.d} \ $PKG/usr/include/GL $PKG/etc/vulkan/icd.d $PKG/etc/X11/xorg.conf.d \ - $PKG/etc/X11/glvnd/egl_vendor.d $PKG/var/log/nvidia/{32,64} \ + $PKG/etc/X11/glvnd/egl_vendor.d $PKG/var/log/nvidia/{32,64} if [ "$COMPAT32" = "yes" ]; then mkdir -p $PKG/usr/lib/tls @@ -170,6 +171,17 @@ if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then cd - fi +# Only one conflicting lib +cd $PKG/usr/lib$LIBDIRSUFFIX +mv libGL.la libGL.la-nvidia +cd - + +if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then + cd $PKG/usr/lib + mv libGL.la libGL.la-nvidia + cd - +fi + # Compile utilites from source, replacing the precompiled versions # # Compiling nvidia-settings @@ -255,68 +267,23 @@ cd - install -m 0755 $CWD/nvidia-switch $PKG/usr/sbin/ sed -i s/PKGVERSION/$VERSION/g $PKG/usr/sbin/nvidia-switch sed -i s/LIBDIRSUFFIX/$LIBDIRSUFFIX/g $PKG/usr/sbin/nvidia-switch -if [ "$GLVND" = "yes" ]; then - sed -i s/GLVNDFLAG/yes/g $PKG/usr/sbin/nvidia-switch -else - sed -i s/GLVNDFLAG/no/g $PKG/usr/sbin/nvidia-switch -fi + if [ ${COMPAT32} = "yes" ]; then sed -i s/LIB32FLAG/yes/g $PKG/usr/sbin/nvidia-switch else sed -i s/LIB32FLAG/no/g $PKG/usr/sbin/nvidia-switch fi -# These add or correct wrong paths -sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la -sed -i "s|/usr/X11R6/lib|/usr/lib$LIBDIRSUFFIX|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la +# These update or correct wrong paths +sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la-nvidia +sed -i "s|/usr/X11R6/lib|/usr/lib$LIBDIRSUFFIX|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la-nvidia 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 if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then - sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib/libGL.la - sed -i "s|/usr/X11R6/lib|/usr/lib|" $PKG/usr/lib/libGL.la - sed -i "s|'/usr/'|'/usr/lib'|" $PKG/usr/lib/libGL.la -fi - -# rename wrong/conficting files as needed; remove conflicting symlinks created by installer -# since nvidia-switch tracks them. -cd $PKG/usr/lib$LIBDIRSUFFIX - if [ "$GLVND" = "yes" ]; then - mv libEGL.so.1.1.0 libEGL.so.1.1.0-nvidia - fi - mv libGL.la libGL.la-nvidia - mv libGLESv1_CM.so.1.2.0 libGLESv1_CM.so.1.2.0-nvidia - mv libGLESv2.so.2.1.0 libGLESv2.so.2.1.0-nvidia - rm -f libEGL.so - rm -f libEGL.so.1 - rm -f libGL.so - rm -f libGL.so.1 - rm -f libGLESv1_CM.so - rm -f libGLESv1_CM.so.1 - rm -f libGLESv2.so - rm -f libGLESv2.so.1 - rm -f xorg/modules/libwfb.so -cd - - -if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then - cd $PKG/usr/lib - if [ "$GLVND" = "yes" ]; then - mv libEGL.so.1.1.0 libEGL.so.1.1.0-nvidia - fi - mv libGL.la libGL.la-nvidia - mv libGLESv1_CM.so.1.2.0 libGLESv1_CM.so.1.2.0-nvidia - mv libGLESv2.so.2.1.0 libGLESv2.so.2.1.0-nvidia - rm -f libEGL.so - rm -f libGL.so - rm -f libGL.so.1 - rm -f libGLESv1_CM.so - rm -f libGLESv1_CM.so.1 - rm -f libGLESv2.so - rm -f libGLESv2.so.1 - cd - -# FIXME With COMPAT32=yes on pure x86_64, a weird /usr/lib/libGL.so.1 symlink to $PKG/usr/lib64/libGL.so.1 -# appears? Who would do this, so ignoring for now. + sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib/libGL.la-nvidia + sed -i "s|/usr/X11R6/lib|/usr/lib|" $PKG/usr/lib/libGL.la-nvidia fi # Move ICDs to $PKG and cleanup (no switch option in installer?) @@ -328,11 +295,6 @@ rm -rf /etc/vulkan # Remove xorg conf file since we take care of that in nvidia-driver rm -rf $PKG/etc/X11/xorg.conf.d -cat <<EOF > $PKG/var/log/nvidia/README.txt -Do NOT delete this directory! -nvidia-switch will backup the original X.org libraries here. -EOF - cd $TMP/$SRCNAM # put docs in the right place mv $PKG/usr/share/man/man1/nvidia-* $PKG/usr/man/man1 |