commit:     731131ec436e6f4ca4db21db46ea2502641fe048
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 30 10:27:53 2016 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Sat Jan 30 10:29:54 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=731131ec

x11-drivers/nvidia-drivers: Build tools from source (bug #562910 by Christian 
Strahl).

Package-Manager: portage-2.2.27

 x11-drivers/nvidia-drivers/Manifest                |  1 +
 .../nvidia-drivers-304.131-r1.ebuild               | 78 ++++++++++++++--------
 .../nvidia-drivers/nvidia-drivers-361.18-r2.ebuild | 17 ++---
 3 files changed, 62 insertions(+), 34 deletions(-)

diff --git a/x11-drivers/nvidia-drivers/Manifest 
b/x11-drivers/nvidia-drivers/Manifest
index 64992d8..24cc8f1 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -40,4 +40,5 @@ DIST NVIDIA-Linux-x86_64-355.11.run 76490009 SHA256 
a59b425381add9d9058dc2d987bf
 DIST NVIDIA-Linux-x86_64-358.16.run 77353969 SHA256 
a942cdb29ed715ff1ce25beb06b6c2490126b98ef8bee5d9973967b557596bf2 SHA512 
4ae43f5e8c311d6c97eb89b02504bf52e3a947c71662f30641988a78eb9fe083370124aeee3b89db74f8ee50f454338db98dc7abeb35a242ba5729fefccead77
 WHIRLPOOL 
3dd0dcd4b455fcac12d55f40cfb8db0536af82d90c32b8471528b44a9fa1b3f3706ac26558d7395f82649c37550fded17b48d75d5584b3a41390c94bb1135c48
 DIST NVIDIA-Linux-x86_64-361.18.run 86447500 SHA256 
94cccc3ff10ee9544f60bf1d32d04dddabc5103880b57895ea60e1167b89a155 SHA512 
d307b50226b145761de69892c51af3cd4498b91f9c56b5d5bf7b1f4f00cc073af586008cb060a16c036426240853ed30d244e63d3f727eadf39338736a5c0b02
 WHIRLPOOL 
87e03bfe694f708d57fb548c01d853bbae1335a696bce225ce997000387189b55c27644922a051e9a50dfa94ec917bda14b6ed4b76f345c8adc8d8f54aebff97
 DIST NVIDIA-Linux-x86_64-96.43.23-pkg2.run 15962375 SHA256 
ce8d8253e7dab7da63fbdac449ebf190cd0c10cbfffea0f8d0165515f851bc64 SHA512 
04bec1187a6024a2b9839f008ec829281f1f2602dae2e639030bc385943186506bcaa2b46a230b2ab87f9217190841abc62f9e2d6395ab5559623389c31c6563
 WHIRLPOOL 
0651c44a51a1a06fcff5bfddbf9c3e408977e03263c7fe806cb6c01f9fe92f716dfe4e5190ffe1048bde72fcffdc8bca8267e74dd43ba5c9dfb22b6201fcc2bb
+DIST nvidia-settings-304.131.tar.bz2 1480447 SHA256 
d36d2d1ae7c1bb72cd18e713470546d2aa7057624b1f61319daf559a94054d29 SHA512 
9269f54f87581e29e6d7cabeaf989c70cb27aa55f6b8f5f1c71b8a14401326d06ea194710722b41283cca56f5808b90a9b1fb12158d48c6332cce15a701c5796
 WHIRLPOOL 
be8e38a09a0bfa40267b9cdae2800a9ef00a89e28e618b743b7acb0cd9ece4b242b74ced32018d735989592300b49b2ee683caa11a1e161bcecf070a58952dfd
 DIST nvidia-settings-361.18.tar.bz2 1570821 SHA256 
5e821bf9c92931da7c4ac2cac4c61a83e7f74641902935232cad747511fab363 SHA512 
1a19ebb6773b53564a7996c8f963c161df599ed8ca577f505fbed1181f144a5e53fa970e3fee7fceed16909bd012f74f9af74080314ae9de9356894df9b1be4d
 WHIRLPOOL 
23ff413900fca81427d755ecb5889dbb69033e101cf7c2f3edea4971defd03aedee95f5488779f634c690c05bfabe0763baf3dbf6377de950cabe48ad9c72684

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 3d255f0..50aa106 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

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-361.18-r2.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-361.18-r2.ebuild
index e5687ec..e2759ed 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-361.18-r2.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-361.18-r2.ebuild
@@ -373,25 +373,26 @@ src_install() {
                doins nvidia-application-profiles-${PV}-key-documentation
 
                insinto /etc/nvidia
-               newins nvidia-application-profiles-${PV}-rc 
nvidia-application-profiles-rc
+               newins \
+                       nvidia-application-profiles-${PV}-rc 
nvidia-application-profiles-rc
 
-               use static-libs && dolib 
"${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
+               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
-       fi
-
-       dobin ${NV_OBJ}/nvidia-bug-report.sh
 
-       # Desktop entries for nvidia-settings
-       if use tools; then
                # 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
 
+       dobin ${NV_OBJ}/nvidia-bug-report.sh
        #doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
 
        if has_multilib_profile && use multilib; then

Reply via email to