commit:     f4abc7ad9ee520d6c9f666757501855138e76926
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Sun Mar 31 17:41:42 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Apr  1 07:58:21 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f4abc7ad

media-libs/opencv: prohibit cuda-12.4

Also limit cuda interaction to ABI_X86_64.

Bug: https://github.com/opencv/opencv_contrib/issues/3690
Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/36020
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 media-libs/opencv/opencv-4.8.1-r1.ebuild |  6 +++---
 media-libs/opencv/opencv-4.9.0.ebuild    | 10 +++++-----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/media-libs/opencv/opencv-4.8.1-r1.ebuild 
b/media-libs/opencv/opencv-4.8.1-r1.ebuild
index d183c6f8d97a..0f6ed3e6a080 100644
--- a/media-libs/opencv/opencv-4.8.1-r1.ebuild
+++ b/media-libs/opencv/opencv-4.8.1-r1.ebuild
@@ -119,7 +119,7 @@ RDEPEND="
        app-arch/bzip2[${MULTILIB_USEDEP}]
        dev-libs/protobuf:=[${MULTILIB_USEDEP}]
        sys-libs/zlib[${MULTILIB_USEDEP}]
-       cuda? ( dev-util/nvidia-cuda-toolkit:0= )
+       cuda? ( <dev-util/nvidia-cuda-toolkit-12.4:0= )
        cudnn? ( dev-libs/cudnn:= )
        contribdnn? ( dev-libs/flatbuffers:= )
        contribhdf? ( sci-libs/hdf5:= )
@@ -231,7 +231,7 @@ pkg_pretend() {
                einfo "The CUDA architecture tuple for your device can be found 
at https://developer.nvidia.com/cuda-gpus.";
        fi
 
-       if [[ ${MERGE_TYPE} == "buildonly" ]] && [[ -n "${CUDA_GENERATION}" || 
-n "${CUDA_ARCH_BIN}" ]]; then
+       if use cuda && [[ ${MERGE_TYPE} == "buildonly" ]] && [[ -n 
"${CUDA_GENERATION}" || -n "${CUDA_ARCH_BIN}" ]]; then
                local info_message="When building a binary package it's 
recommended to unset CUDA_GENERATION and CUDA_ARCH_BIN"
                einfo "$info_message so all available architectures are build."
        fi
@@ -566,7 +566,7 @@ multilib_src_configure() {
        # workaround for bug 413429
        tc-export CC CXX
 
-       if use cuda; then
+       if multilib_is_native_abi && use cuda; then
                cuda_add_sandbox -w
 
                if [[ -n "${CUDA_GENERATION}" ]]; then

diff --git a/media-libs/opencv/opencv-4.9.0.ebuild 
b/media-libs/opencv/opencv-4.9.0.ebuild
index 8039acfa0f75..5ad9e4eabaaa 100644
--- a/media-libs/opencv/opencv-4.9.0.ebuild
+++ b/media-libs/opencv/opencv-4.9.0.ebuild
@@ -145,7 +145,7 @@ RDEPEND="
        app-arch/bzip2[${MULTILIB_USEDEP}]
        dev-libs/protobuf:=[${MULTILIB_USEDEP}]
        sys-libs/zlib[${MULTILIB_USEDEP}]
-       cuda? ( dev-util/nvidia-cuda-toolkit:0= )
+       cuda? ( <dev-util/nvidia-cuda-toolkit-12.4:0= )
        cudnn? ( dev-libs/cudnn:= )
        contribdnn? ( dev-libs/flatbuffers:= )
        contribhdf? ( sci-libs/hdf5:= )
@@ -315,7 +315,7 @@ pkg_pretend() {
                einfo "The CUDA architecture tuple for your device can be found 
at https://developer.nvidia.com/cuda-gpus.";
        fi
 
-       if [[ ${MERGE_TYPE} == "buildonly" ]] && [[ -n "${CUDA_GENERATION}" || 
-n "${CUDA_ARCH_BIN}" ]]; then
+       if use cuda && [[ ${MERGE_TYPE} == "buildonly" ]] && [[ -n 
"${CUDA_GENERATION}" || -n "${CUDA_ARCH_BIN}" ]]; then
                local info_message="When building a binary package it's 
recommended to unset CUDA_GENERATION and CUDA_ARCH_BIN"
                einfo "$info_message so all available architectures are build."
        fi
@@ -676,7 +676,7 @@ multilib_src_configure() {
        # workaround for bug 413429
        tc-export CC CXX
 
-       if use cuda; then
+       if multilib_is_native_abi && use cuda; then
                cuda_add_sandbox -w
                CUDAHOSTCXX="$(cuda_get_cuda_compiler)"
                CUDAARCHS="$(cuda_get_host_native_arch)"
@@ -791,7 +791,7 @@ multilib_src_test() {
                )
        fi
 
-       if use cuda; then
+       if multilib_is_native_abi && use cuda; then
                CMAKE_SKIP_TESTS+=(
                        'CUDA_OptFlow/BroxOpticalFlow.Regression/0'
                        'CUDA_OptFlow/BroxOpticalFlow.OpticalFlowNan/0'
@@ -817,7 +817,7 @@ multilib_src_test() {
                --test-timeout 180
        )
 
-       if use cuda; then
+       if multilib_is_native_abi && use cuda; then
                cuda_add_sandbox -w
                export OPENCV_PARALLEL_BACKEND="threads"
                export DNN_BACKEND_OPENCV="cuda"

Reply via email to