dev-util/nvidia-cuda-toolkit: nvprof/nsight fix
authorRobert Underwood <rr.underwood94@gmail.com>
Sat, 14 Dec 2019 22:20:13 +0000 (16:20 -0600)
committerJason Zaman <perfinion@gentoo.org>
Sun, 16 Feb 2020 13:34:15 +0000 (21:34 +0800)
Previously, there were bugs in the ebuilds that prevented nsight and
nvprof from being installed correctly.  For nvprof, a no longer needed
wrapper was begin installed on top of it.  In the case of nsight, it was
not setting the executable to a+x.  Additionally, cuda-config was being
installed in a way would cause ebuild to complain about permissions.
These were resolved with better use of doexe. Additionally, fixed
revdep-rebuild warnings with cuda profiling libraries.

Closes: https://github.com/gentoo/gentoo/pull/13986
Closes: https://bugs.gentoo.org/686738
Package-Manager: Portage-2.3.79, Repoman-2.3.16
Signed-off-by: Robert Underwood <rr.underwood94@gmail.com>
Signed-off-by: Jason Zaman <perfinion@gentoo.org>
dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.1.105-r2.ebuild [moved from dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.1.105-r1.ebuild with 92% similarity]
dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.1.168-r1.ebuild [moved from dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.1.168.ebuild with 92% similarity]
dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.1.243-r2.ebuild [moved from dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.1.243-r1.ebuild with 91% similarity]
dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.2.89-r1.ebuild [moved from dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.2.89.ebuild with 91% similarity]

similarity index 92%
rename from dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.1.105-r1.ebuild
rename to dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.1.105-r2.ebuild
index 8d87753545e223a17ffb9e0ccdd2511e22cccd80..044d47d5908eca48ab976fa26753429fc0b26ae0 100644 (file)
@@ -94,12 +94,14 @@ src_install() {
        into ${cudadir}
 
        # Install binaries separately to make sure the X permission is set
-       local bindirs=( bin nvvm/bin extras/demo_suite )
+       local bindirs=( bin nvvm/bin extras/demo_suite $(usex profiler "libnsight/nsight") )
        for i in $(find "${bindirs[@]}" -maxdepth 1 -type f); do
                exeinto ${cudadir}/${i%/*}
                doexe ${i}
                rm ${i} || die
        done
+       exeinto ${cudadir}/bin
+       doexe "${T}"/cuda-config
 
        # Install the rest
        insinto ${cudadir}
@@ -112,10 +114,10 @@ src_install() {
        EOF
        doenvd "${T}"/99cuda
 
-       use profiler && \
-               make_wrapper nvprof "${ecudadir}/bin/nvprof" "." "${ecudadir}/lib64:${ecudadir}/lib"
-
-       dobin "${T}"/cuda-config
+       #Cuda prepackages libraries, don't revdep-build on them
+       echo "SEARCH_DIRS_MASK=\"${ecudadir}\"" > "${T}/80${PN}" || die
+       insinto "/etc/revdep-rebuild"
+       doins "${T}/80${PN}"
 }
 
 pkg_postinst_check() {
similarity index 92%
rename from dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.1.168.ebuild
rename to dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.1.168-r1.ebuild
index 752313594b10b53d8bb092bee05e46d6e6313b8a..005fa2bc19312296d904e813c5b243dce82622ad 100644 (file)
@@ -94,12 +94,14 @@ src_install() {
        into ${cudadir}
 
        # Install binaries separately to make sure the X permission is set
-       local bindirs=( bin nvvm/bin extras/demo_suite )
+       local bindirs=( bin nvvm/bin extras/demo_suite $(usex profiler "libnsight/nsight") )
        for i in $(find "${bindirs[@]}" -maxdepth 1 -type f); do
                exeinto ${cudadir}/${i%/*}
                doexe ${i}
                rm ${i} || die
        done
+       exeinto ${cudadir}/bin
+       doexe "${T}"/cuda-config
 
        # Install the rest
        insinto ${cudadir}
@@ -112,10 +114,10 @@ src_install() {
        EOF
        doenvd "${T}"/99cuda
 
-       use profiler && \
-               make_wrapper nvprof "${ecudadir}/bin/nvprof" "." "${ecudadir}/lib64:${ecudadir}/lib"
-
-       dobin "${T}"/cuda-config
+       #Cuda prepackages libraries, don't revdep-build on them
+       echo "SEARCH_DIRS_MASK=\"${ecudadir}\"" > "${T}/80${PN}" || die
+       insinto "/etc/revdep-rebuild"
+       doins "${T}/80${PN}"
 }
 
 pkg_postinst_check() {
similarity index 91%
rename from dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.1.243-r1.ebuild
rename to dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.1.243-r2.ebuild
index 375c8aa7bc1a2fd9d820b14a465a8b0116f81625..be194aa5a032bee3c0a4615be71ae52431ea831d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -102,12 +102,14 @@ src_install() {
        into ${cudadir}
 
        # Install binaries separately to make sure the X permission is set
-       local bindirs=( bin nvvm/bin extras/demo_suite )
+       local bindirs=( bin nvvm/bin extras/demo_suite $(usex profiler "libnsight/nsight") )
        for i in $(find "${bindirs[@]}" -maxdepth 1 -type f); do
                exeinto ${cudadir}/${i%/*}
                doexe ${i}
                rm ${i} || die
        done
+       exeinto ${cudadir}/bin
+       doexe "${T}"/cuda-config
 
        # Install the rest
        insinto ${cudadir}
@@ -120,10 +122,10 @@ src_install() {
        EOF
        doenvd "${T}"/99cuda
 
-       use profiler && \
-               make_wrapper nvprof "${ecudadir}/bin/nvprof" "." "${ecudadir}/lib64:${ecudadir}/lib"
-
-       dobin "${T}"/cuda-config
+       #Cuda prepackages libraries, don't revdep-build on them
+       echo "SEARCH_DIRS_MASK=\"${ecudadir}\"" > "${T}/80${PN}" || die
+       insinto "/etc/revdep-rebuild"
+       doins "${T}/80${PN}"
 }
 
 pkg_postinst_check() {
similarity index 91%
rename from dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.2.89.ebuild
rename to dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-10.2.89-r1.ebuild
index ca7089f105fc4da019a60b1b83e7bba39c36a522..ddef237a69ede7f430dc49eeeb6cf2e95ddbd368 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -102,12 +102,14 @@ src_install() {
        into ${cudadir}
 
        # Install binaries separately to make sure the X permission is set
-       local bindirs=( bin nvvm/bin extras/demo_suite )
+       local bindirs=( bin nvvm/bin extras/demo_suite  $(usex profiler "libnsight/nsight") )
        for i in $(find "${bindirs[@]}" -maxdepth 1 -type f); do
                exeinto ${cudadir}/${i%/*}
                doexe ${i}
                rm ${i} || die
        done
+       exeinto ${cudadir}/bin
+       doexe "${T}"/cuda-config
 
        # Install the rest
        insinto ${cudadir}
@@ -120,10 +122,10 @@ src_install() {
        EOF
        doenvd "${T}"/99cuda
 
-       use profiler && \
-               make_wrapper nvprof "${ecudadir}/bin/nvprof" "." "${ecudadir}/lib64:${ecudadir}/lib"
-
-       dobin "${T}"/cuda-config
+       #Cuda prepackages libraries, don't revdep-build on them
+       echo "SEARCH_DIRS_MASK=\"${ecudadir}\"" > "${T}/80${PN}" || die
+       insinto "/etc/revdep-rebuild"
+       doins "${T}/80${PN}"
 }
 
 pkg_postinst_check() {