summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2016-01-30 11:27:53 +0100
committerJeroen Roovers <jer@gentoo.org>2016-01-30 11:29:54 +0100
commit731131ec436e6f4ca4db21db46ea2502641fe048 (patch)
treeaaf7d4dcc5df9fb4099f5888946e71aafea3a2ff /x11-drivers/nvidia-drivers/nvidia-drivers-304.131-r1.ebuild
parenteclass/gnome2-utils.eclass: fix DGSEAL_ENABLE sed (#530490 by Alexander Tsoy) (diff)
downloadgentoo-731131ec436e6f4ca4db21db46ea2502641fe048.tar.gz
gentoo-731131ec436e6f4ca4db21db46ea2502641fe048.tar.bz2
gentoo-731131ec436e6f4ca4db21db46ea2502641fe048.zip
x11-drivers/nvidia-drivers: Build tools from source (bug #562910 by Christian Strahl).
Package-Manager: portage-2.2.27
Diffstat (limited to 'x11-drivers/nvidia-drivers/nvidia-drivers-304.131-r1.ebuild')
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-304.131-r1.ebuild78
1 files changed, 52 insertions, 26 deletions
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-304.131-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-304.131-r1.ebuild
index 3d255f007224..50aa1069b5fd 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-304.131-r1.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-304.131-r1.ebuild
@@ -19,27 +19,19 @@ SRC_URI="
amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+ tools? ( ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2 )
"
LICENSE="GPL-2 NVIDIA-r1"
SLOT="0/${PV%.*}"
KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
-IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel +tools +X"
+IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel static-libs +tools +X"
RESTRICT="bindist mirror strip"
EMULTILIB_PKG="true"
-COMMON="app-eselect/eselect-opencl
+COMMON="
+ app-eselect/eselect-opencl
kernel_linux? ( >=sys-libs/glibc-2.6.1 )
- X? (
- >=app-eselect/eselect-opengl-1.0.9
- )"
-DEPEND="${COMMON}
- kernel_linux? (
- virtual/linux-sources
- virtual/pkgconfig
- )"
-RDEPEND="${COMMON}
- acpi? ( sys-power/acpid )
tools? (
dev-libs/atk
dev-libs/glib:2
@@ -51,6 +43,18 @@ RDEPEND="${COMMON}
x11-libs/pangox-compat
)
X? (
+ >=app-eselect/eselect-opengl-1.0.9
+ )
+"
+DEPEND="${COMMON}
+ kernel_linux? (
+ virtual/linux-sources
+ virtual/pkgconfig
+ )"
+RDEPEND="${COMMON}
+ acpi? ( sys-power/acpid )
+ tools? ( !media-video/nvidia-settings )
+ X? (
<x11-base/xorg-server-1.18.99:=
x11-libs/libXvMC
multilib? (
@@ -142,15 +146,6 @@ pkg_setup() {
fi
}
-src_unpack() {
- if ! use kernel_FreeBSD; then
- cd "${S}"
- unpack_makeself
- else
- unpack ${A}
- fi
-}
-
src_prepare() {
# Please add a brief description for every added patch
@@ -191,6 +186,25 @@ src_compile() {
elif use kernel_linux; then
MAKEOPTS=-j1 linux-mod_src_compile
fi
+
+ if use tools; then
+ emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl clean
+ emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ RANLIB="$(tc-getRANLIB)" \
+ libXNVCtrl.a
+ emake -C "${S}"/nvidia-settings-${PV}/src \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC)" \
+ LIBDIR="$(get_libdir)" \
+ NVML_ENABLED=0 \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1 \
+ RANLIB="$(tc-getRANLIB)" \
+ STRIP_CMD=true
+ fi
}
# Install nvidia library:
@@ -323,17 +337,29 @@ src_install() {
newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
fi
- if use tools; then
- doexe ${NV_OBJ}/nvidia-settings
- fi
-
dobin ${NV_OBJ}/nvidia-bug-report.sh
# Desktop entries for nvidia-settings
if use tools ; then
+ emake -C "${S}"/nvidia-settings-${PV}/src/ \
+ DESTDIR="${D}" \
+ LIBDIR="${D}/usr/$(get_libdir)" \
+ PREFIX=/usr \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ install
+
+ use static-libs && \
+ dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
+
+ insinto /usr/include/NVCtrl
+ doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
+
# There is no icon in the FreeBSD tarball.
- use kernel_FreeBSD || newicon ${NV_OBJ}/nvidia-settings.png ${PN}-settings.png
+ use kernel_FreeBSD || \
+ newicon ${NV_OBJ}/nvidia-settings.png ${PN}-settings.png
+
domenu "${FILESDIR}"/${PN}-settings.desktop
+
exeinto /etc/X11/xinit/xinitrc.d
doexe "${FILESDIR}"/95-nvidia-settings
fi