commit: a2a45a58b8e6590a544dad4295f3aac6ba9fbaa3 Author: Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com> AuthorDate: Wed Sep 10 16:32:11 2025 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Wed Sep 10 20:27:41 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2a45a58
media-libs/opencv: 4.12.0 fix blas/lapack handling Closes: https://bugs.gentoo.org/962527 Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/43729 Closes: https://github.com/gentoo/gentoo/pull/43729 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> .../opencv-4.12.0-link-with-cblas-for-lapack.patch | 20 +++++++++++++++++ media-libs/opencv/opencv-4.12.0-r1.ebuild | 26 +++++++++++++++------- 2 files changed, 38 insertions(+), 8 deletions(-) diff --git a/media-libs/opencv/files/opencv-4.12.0-link-with-cblas-for-lapack.patch b/media-libs/opencv/files/opencv-4.12.0-link-with-cblas-for-lapack.patch new file mode 100644 index 000000000000..4f0fb04e0f1c --- /dev/null +++ b/media-libs/opencv/files/opencv-4.12.0-link-with-cblas-for-lapack.patch @@ -0,0 +1,20 @@ +diff --git a/cmake/OpenCVFindLAPACK.cmake b/cmake/OpenCVFindLAPACK.cmake +index 2ec1889..ff6adf2 100644 +--- a/cmake/OpenCVFindLAPACK.cmake ++++ b/cmake/OpenCVFindLAPACK.cmake +@@ -229,12 +229,13 @@ if(WITH_LAPACK) + if(NOT DEFINED CBLAS_INCLUDE_DIR) + find_path(CBLAS_INCLUDE_DIR "cblas.h") + endif() +- if(CBLAS_INCLUDE_DIR AND LAPACKE_INCLUDE_DIR) ++ find_package(CBLAS) ++ if(CBLAS_INCLUDE_DIR AND LAPACKE_INCLUDE_DIR AND CBLAS_FOUND) + ocv_lapack_check(IMPL "LAPACK/Generic" + CBLAS_H "cblas.h" + LAPACKE_H "lapacke.h" + INCLUDE_DIR "${CBLAS_INCLUDE_DIR}" "${LAPACKE_INCLUDE_DIR}" +- LIBRARIES "${LAPACK_LIBRARIES}") ++ LIBRARIES "${LAPACK_LIBRARIES};${CBLAS_LIBRARIES}") + elseif(APPLE) + ocv_lapack_check(IMPL "LAPACK/Apple" + CBLAS_H "Accelerate/Accelerate.h" diff --git a/media-libs/opencv/opencv-4.12.0-r1.ebuild b/media-libs/opencv/opencv-4.12.0-r1.ebuild index 87958fe8fabd..2ee715741560 100644 --- a/media-libs/opencv/opencv-4.12.0-r1.ebuild +++ b/media-libs/opencv/opencv-4.12.0-r1.ebuild @@ -239,7 +239,10 @@ COMMON_DEPEND=" ) lapack? ( atlas? ( sci-libs/atlas ) - mkl? ( sci-libs/mkl ) + mkl? ( + sci-libs/mkl[tbb?] + openmp? ( sci-libs/mkl[gnu-openmp] ) + ) !atlas? ( !mkl? ( virtual/cblas @@ -365,6 +368,7 @@ PATCHES=( "${FILESDIR}/${PN}-3.4.1-cuda-add-relaxed-constexpr.patch" "${FILESDIR}/${PN}-4.1.2-opencl-license.patch" "${FILESDIR}/${PN}-4.4.0-disable-native-cpuflag-detect.patch" + "${FILESDIR}/${PN}-4.12.0-link-with-cblas-for-lapack.patch" "${FILESDIR}/${PN}-4.8.1-use-system-flatbuffers.patch" "${FILESDIR}/${PN}-4.8.1-use-system-opencl.patch" @@ -1123,13 +1127,19 @@ multilib_src_configure() { ) fi - if use mkl; then - mycmakeargs+=( - -DLAPACK_IMPL="MKL" - -DWITH_MKL="yes" - -DMKL_WITH_OPENMP="$(usex openmp)" - -DMKL_WITH_TBB="$(usex tbb)" - ) + if multilib_native_use lapack; then + if use mkl; then + mycmakeargs+=( + -DWITH_MKL="yes" + -DMKL_WITH_OPENMP="$(usex openmp)" + -DMKL_WITH_TBB="$(usex tbb)" + ) + else + mycmakeargs+=( + -DSKIP_OPENBLAS_PACKAGE="yes" + -DOPENCV_LAPACK_DISABLE_MKL="yes" + ) + fi fi if use gtk3 || use qt6 || use wayland; then
