summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--metadata/repository_mask.conf2
-rw-r--r--packages/x11-drivers/nvidia-drivers/nvidia-drivers-340.76-r2.exheres-0 (renamed from packages/x11-drivers/nvidia-drivers/nvidia-drivers-340.76-r1.exheres-0)0
-rw-r--r--packages/x11-drivers/nvidia-drivers/nvidia-drivers-346.72-r1.exheres-0 (renamed from packages/x11-drivers/nvidia-drivers/nvidia-drivers-346.72.exheres-0)0
-rw-r--r--packages/x11-drivers/nvidia-drivers/nvidia-drivers-349.16-r2.exheres-0 (renamed from packages/x11-drivers/nvidia-drivers/nvidia-drivers-349.16-r1.exheres-0)0
-rw-r--r--packages/x11-drivers/nvidia-drivers/nvidia-drivers.exlib99
5 files changed, 77 insertions, 24 deletions
diff --git a/metadata/repository_mask.conf b/metadata/repository_mask.conf
index cd2faf2..5a8d96b 100644
--- a/metadata/repository_mask.conf
+++ b/metadata/repository_mask.conf
@@ -25,7 +25,7 @@ x11-dri/primus[~scm] [[
# Please do *not* remove this mask but, if necessary, use a high imaginary
# version to mask things.
-x11-drivers/nvidia-drivers[>349.16-r1] [[
+x11-drivers/nvidia-drivers[>349.16-r2] [[
author = [ Wulf C. Krueger <philantrop@exherbo.org> ]
date = [ 30 Apr 2015 ]
token = testing
diff --git a/packages/x11-drivers/nvidia-drivers/nvidia-drivers-340.76-r1.exheres-0 b/packages/x11-drivers/nvidia-drivers/nvidia-drivers-340.76-r2.exheres-0
index 0462c3e..0462c3e 100644
--- a/packages/x11-drivers/nvidia-drivers/nvidia-drivers-340.76-r1.exheres-0
+++ b/packages/x11-drivers/nvidia-drivers/nvidia-drivers-340.76-r2.exheres-0
diff --git a/packages/x11-drivers/nvidia-drivers/nvidia-drivers-346.72.exheres-0 b/packages/x11-drivers/nvidia-drivers/nvidia-drivers-346.72-r1.exheres-0
index 0462c3e..0462c3e 100644
--- a/packages/x11-drivers/nvidia-drivers/nvidia-drivers-346.72.exheres-0
+++ b/packages/x11-drivers/nvidia-drivers/nvidia-drivers-346.72-r1.exheres-0
diff --git a/packages/x11-drivers/nvidia-drivers/nvidia-drivers-349.16-r1.exheres-0 b/packages/x11-drivers/nvidia-drivers/nvidia-drivers-349.16-r2.exheres-0
index 0462c3e..0462c3e 100644
--- a/packages/x11-drivers/nvidia-drivers/nvidia-drivers-349.16-r1.exheres-0
+++ b/packages/x11-drivers/nvidia-drivers/nvidia-drivers-349.16-r2.exheres-0
diff --git a/packages/x11-drivers/nvidia-drivers/nvidia-drivers.exlib b/packages/x11-drivers/nvidia-drivers/nvidia-drivers.exlib
index e12ac57..33cd9ac 100644
--- a/packages/x11-drivers/nvidia-drivers/nvidia-drivers.exlib
+++ b/packages/x11-drivers/nvidia-drivers/nvidia-drivers.exlib
@@ -26,24 +26,26 @@ BUGS_TO="philantrop@exherbo.org"
LICENCES="NVIDIA"
SLOT="0"
-MYOPTIONS=""
+MYOPTIONS="
+ doc
+ tools [[ description = [ Install nvidia-settings GUI application ] ]]
+"
DEPENDENCIES="
build:
- virtual/pkg-config
+ virtual/pkg-config [[ note = [ used in the exlib below ] ]]
run:
- dev-libs/atk
- dev-libs/glib:2
x11-libs/libX11
x11-libs/libXau
- x11-libs/libXdmcp
x11-libs/libXext
- x11-libs/libXv
- x11-libs/libXvMC
- x11-libs/pango
!x11-dri/eclectic-opengl
+ tools? (
+ dev-libs/atk
+ dev-libs/glib:2
+ x11-libs/pango
+ )
build+run:
- x11-server/xorg-server[xinerama(+)]
+ x11-server/xorg-server [[ note = [ used in the pkg-config check below ] ]]
suggestion:
x11-libs/libvdpau[>=0.3]
"
@@ -51,12 +53,21 @@ DEPENDENCIES="
if ever at_least 346.16; then
DEPENDENCIES+="
run:
- x11-libs/gtk+:3
+ tools? ( x11-libs/gtk+:3 )
"
else
DEPENDENCIES+="
run:
- x11-libs/gtk+:2
+ tools? ( x11-libs/gtk+:2 )
+ "
+fi
+
+if ! ever at_least 349.16; then
+ DEPENDENCIES+="
+ run:
+ x11-libs/libXdmcp
+ x11-libs/libXv
+ x11-libs/libXvMC
"
fi
@@ -93,6 +104,24 @@ src_install_256() {
# libvdpau{,_trace}.so* collide with x11-libs/libvdpau
edo sed -e '/libvdpau\.so/d' -e '/libvdpau_trace\.so/d' -i .manifest
+ # we do not install nvidia-installer, remove the manpage
+ edo sed -e '/nvidia-installer\.1\.gz/d' -i .manifest
+
+ # use only gtk3 for nvidia-settings in recent versions
+ if ever at_least 346.16; then
+ edo sed -e '/libnvidia-gtk2.so/d' -i .manifest
+ fi
+
+ # remove disabled stuff
+ if ! option tools ; then
+ if ever at_least 346.16 ; then
+ edo sed -e '/libnvidia-gtk3.so/d' -i .manifest
+ else
+ edo sed -e '/libnvidia-gtk2.so/d' -i .manifest
+ fi
+ edo sed -e '/nvidia-settings/d' -i .manifest
+ fi
+
# parse the .manifest file to figure out where to install stuff
while read line ; do
line=( $line )
@@ -111,10 +140,14 @@ src_install_256() {
XMODULE_SYMLINK|GLX_MODULE_SYMLINK)
;;
XLIB_SHARED_LIB|UTILITY_LIB)
- dolib.so ${line[0]}
+ if [[ ${line[3]} == "NATIVE" ]] ; then
+ dolib.so ${line[0]}
+ fi
;;
XLIB_SYMLINK|UTILITY_LIB_SYMLINK)
- dosym ${line[3]} /usr/$(exhost --target)/lib/${line[0]}
+ if [[ ${line[3]} == "NATIVE" ]] ; then
+ dosym ${line[4]} /usr/$(exhost --target)/lib/${line[0]}
+ fi
;;
OPENGL_LIB|VDPAU_LIB|CUDA_LIB)
if [[ ${line[3]} == "NATIVE" ]] ; then
@@ -133,23 +166,33 @@ src_install_256() {
doexe ${line[0]}
fi
;;
+ DOT_DESKTOP)
+ if option tools ; then
+ insinto /usr/share/applications
+ doins ${line[0]}
+ fi
+ ;;
+ APPLICATION_PROFILE)
+ if option tools ; then
+ insinto /usr/share/nvidia
+ doins ${line[0]}
+ fi
+ ;;
esac
done < .manifest
- # nvidia-settings .desktop file, icon
- insinto /usr/share/applications
- doins nvidia-settings.desktop
- insinto /usr/share/pixmaps
- doins nvidia-settings.png
- if ever at_least 346.16; then
- insinto /usr/share/nvidia
- doins nvidia-application-profiles-${PV}-{key-documentation,rc}
+ # nvidia-settings icon
+ if option tools ; then
+ insinto /usr/share/pixmaps
+ doins nvidia-settings.png
fi
# docs
dodoc pkg-history.txt NVIDIA_Changelog README.txt
- docinto html
- dodoc -r html/*
+ if option doc; then
+ docinto html
+ dodoc -r html/*
+ fi
# kernel module source
insinto /usr/src/nvidia-drivers
@@ -208,6 +251,16 @@ nvidia-drivers_src_install() {
LDPATH="/usr/$(exhost --target)/lib/vdpau"
EOF
+ if option tools ; then
+ insinto /etc/X11/xinit/xinitrc.d
+ hereins 95-nvidia-settings <<EOF
+#!/bin/sh
+
+/usr/$(exhost --target)/bin/nvidia-settings --load-config-only
+EOF
+ edo chmod ugo+x "${IMAGE}"/etc/X11/xinit/xinitrc.d/95-nvidia-settings
+ fi
+
local alternatives=()
nvidia_alternatives