commit:     c92eaa6a7d93400503334e9c65df2b8e400ab90f
Author:     Ross Charles Campbell <rossbridger.cc <AT> gmail <DOT> com>
AuthorDate: Sun Oct 18 14:59:46 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov  3 07:18:26 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c92eaa6a

media-libs/opencv: various fixes

 - Explicitly depends on virtual/lapacke to prevent its cmake build scripts from
implicitly disabling lapack support when it can't find lapacke.h.

 - Link with cblas when sci-libs/lapack is supplimented as the default lapack
implementation.

 - examples USE requires contribdnn USE to be enabled to prevent build failure.

Closes: https://bugs.gentoo.org/700176
Closes: https://bugs.gentoo.org/749681
Closes: https://bugs.gentoo.org/717812
Closes: https://bugs.gentoo.org/701790
Closes: https://bugs.gentoo.org/704518
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Ross Charles Campbell <rossbridger.cc <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/17964
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../opencv-4.5.0-link-with-cblas-for-lapack.patch      | 18 ++++++++++++++++++
 media-libs/opencv/opencv-4.5.0.ebuild                  |  8 +++++++-
 2 files changed, 25 insertions(+), 1 deletion(-)

diff --git 
a/media-libs/opencv/files/opencv-4.5.0-link-with-cblas-for-lapack.patch 
b/media-libs/opencv/files/opencv-4.5.0-link-with-cblas-for-lapack.patch
new file mode 100644
index 00000000000..acee677052d
--- /dev/null
+++ b/media-libs/opencv/files/opencv-4.5.0-link-with-cblas-for-lapack.patch
@@ -0,0 +1,18 @@
+diff --git a/cmake/OpenCVFindLAPACK.cmake b/cmake/OpenCVFindLAPACK.cmake
+index 342bebc..9ebd206 100644
+--- a/cmake/OpenCVFindLAPACK.cmake
++++ b/cmake/OpenCVFindLAPACK.cmake
+@@ -136,10 +136,12 @@ if(WITH_LAPACK)
+         ocv_lapack_check()
+       endif()
+       if(NOT HAVE_LAPACK)
+-        if(LAPACKE_INCLUDE_DIR)
++        find_package(CBLAS)
++        if(LAPACKE_INCLUDE_DIR AND CBLAS_FOUND)
+           set(LAPACK_INCLUDE_DIR  ${LAPACKE_INCLUDE_DIR})
+           set(LAPACK_CBLAS_H      "cblas.h")
+           set(LAPACK_LAPACKE_H    "lapacke.h")
++          set(LAPACK_LIBRARIES    ${LAPACK_LIBRARIES} ${CBLAS_LIBRARIES})
+           set(LAPACK_IMPL         "LAPACK/Generic")
+           ocv_lapack_check()
+         elseif(APPLE)

diff --git a/media-libs/opencv/opencv-4.5.0.ebuild 
b/media-libs/opencv/opencv-4.5.0.ebuild
index 54bb9292356..21f4784aa91 100644
--- a/media-libs/opencv/opencv-4.5.0.ebuild
+++ b/media-libs/opencv/opencv-4.5.0.ebuild
@@ -70,6 +70,7 @@ REQUIRED_USE="
        contribovis? ( contrib )
        contribsfm? ( contrib eigen gflags glog )
        contribxfeatures2d? ( contrib download )
+       examples? ( contribdnn )
        java? ( python )
        opengl? ( qt5 )
        python? ( ${PYTHON_REQUIRED_USE} )
@@ -111,7 +112,11 @@ RDEPEND="
        java? ( >=virtual/jre-1.6:* )
        jpeg? ( virtual/jpeg:0[${MULTILIB_USEDEP}] )
        jpeg2k? ( media-libs/openjpeg:2=[${MULTILIB_USEDEP}] )
-       lapack? ( virtual/lapack )
+       lapack? (
+               virtual/cblas
+               virtual/lapack
+               virtual/lapacke
+       )
        opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
        openexr? ( media-libs/openexr[${MULTILIB_USEDEP}] )
        opengl? (
@@ -274,6 +279,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.5.0-link-with-cblas-for-lapack.patch
 )
 
 pkg_pretend() {

Reply via email to