summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-libs/opencv/Manifest3
-rw-r--r--media-libs/opencv/files/opencv-3.3.0-remove-tiny-dnn-autodownload.patch27
-rw-r--r--media-libs/opencv/files/opencv-3.4.1-compilation-C-mode.patch56
-rw-r--r--media-libs/opencv/files/opencv-3.4.1-fix-build-with-va.patch26
-rw-r--r--media-libs/opencv/files/opencv-3.4.1-fix-on-x86.patch27
-rw-r--r--media-libs/opencv/files/opencv-3.4.1-popcnt.patch30
-rw-r--r--media-libs/opencv/files/opencv-3.4.1-python-lib-suffix-hack.patch13
-rw-r--r--media-libs/opencv/files/opencv-3.4.1-python37.patch12
-rw-r--r--media-libs/opencv/files/opencv-3.4.1-remove-git-autodetect.patch42
-rw-r--r--media-libs/opencv/opencv-3.4.1-r7.ebuild501
10 files changed, 0 insertions, 737 deletions
diff --git a/media-libs/opencv/Manifest b/media-libs/opencv/Manifest
index 079529c915c9..3f4b2dfa9bbf 100644
--- a/media-libs/opencv/Manifest
+++ b/media-libs/opencv/Manifest
@@ -1,8 +1,5 @@
DIST opencv-3.4.0-face_landmark_model.tar.gz 63299830 BLAKE2B 58f08cd8c030ee1c8b66e76a561fd625e112face427d001185f8d7c0eaace55adbd8474663021841a1382bfe393a210e64c51223441713cdb9156fac866a845c SHA512 2cd29ce42c08b2966db3ef4a2bc217ab3d07051819757ec6de8f3deea29e28f60abab39f101dba03f766f17018598e411bd687a7eaab0c681c113e10a2de2b23
DIST opencv-3.4.0-res10_300x300-caffeemodel.tar.gz 10036604 BLAKE2B 2a2de48fc420f13e7be146ac88f311901c5b4e409c30e466152e33cae1f8afd87dcb6d758af447c268d90bd67989c8798cd80cab172b10499a6ad5224509dbdf SHA512 96fee9f447d5739bc01a5cab37c453cf7237457dfb5d2bf93ac37f8e5aa557ac222316f449cd58e37e856abe4d8e9d4a7820daaba32f0b22cbcde8e340287d4b
-DIST opencv-3.4.1.tar.gz 87051748 BLAKE2B 87c83ab9b3d7fb048263f047aa5d6e95b153e1a28f3e34cc885eff7eb080a2258cfa1aa494cd56b32f1098ab158c17c23fc8464fcbe70642a3a1842f2fd1b4ac SHA512 e1fc14285090c6fe9e26e721f2d67d7096650c523147e925567426ef76aa7f4c6f12035d6f6ce3ec7991a75a6828a810fd4f9b75f78ed5fcccecefbadd79944b
-DIST opencv-3.4.1_contrib.tar.gz 57126844 BLAKE2B 63d9d5cb088371754eb132607789c8f1d4820f3e0e486593d6f64ee8f918ea4362152f050baec16f17904c03a6cdc0abc6e5fb2510308dcbabebe97b29285fbc SHA512 431dfba0f413071d7faa18bc6e6f5e4f015285e2cc730c5dd69b2a4d6aa4250b7e0bcb1814ac6f06f5c76f103aea1f93f72f32aee6bc0cd7ddacdaf1f40075c1
DIST opencv-4.1.2.tar.gz 87468598 BLAKE2B 9e0fbd8499f783cd1a2b5ffddf557aef424b0a446f71f826522ffd4526d04742e0c408b99810fe6b39753d40c475922d2e273732fdc0a0b4ee0bc56052a7a26c SHA512 d18d2cc35dc1c95c8870d35feb14459db27ebf6d09ff89a185918b1faff1b36dedacc18f268a6483570c404aca19b83ba627ce7af2265af7195a029cb766c09f
DIST opencv-4.1.2_contrib.tar.gz 60881937 BLAKE2B c461aaa62306b226bde9211e2d611dcf705510e32c8598458737eb09c510cfdb49c33e11f1a7c591090d8243590e915b779fdb55955550fe44dab7545e4cc308 SHA512 1e14f94f9228c5d6a598493eed265aab1d8a740d5bfa00639afb05287732220eb71f88bb374de47dcd440f4376486f9db0e8b338e90e5dc4f6af8d355340b622
-DIST tiny-dnn-1.0.0a3.tar.gz 12885646 BLAKE2B 85c0715ab6c692b77522487775e70b0db645528baed1830c83c9f44d2b67a5207e4f7ea1709b35c6a4217d287199549304e9be19f4a5cec9a1183b0b5dccc562 SHA512 5f2c1a161771efa67e85b1fea395953b7744e29f61187ac5a6c54c912fb195b3aef9a5827135c3668bd0eeea5ae04a33cc433e1f6683e2b7955010a2632d168b
DIST vgg_boostdesc-3.2.0.tar.gz 1867770 BLAKE2B 1fa5b58e73b6fa56ecf8d19af22298f729942ee1369082e173445d09d3de767bf844bad3d2b462efc1199c392f37c88ba49a9996ba8bfd84b4abeba7de94db63 SHA512 4a046aedd639c8eb4b295b0f499e756deb66210ca083f0124c75531e540663367cb58f6d175f66c4713324177036cd89a8869bdab2de8d1736dafc7f00ef9f44
diff --git a/media-libs/opencv/files/opencv-3.3.0-remove-tiny-dnn-autodownload.patch b/media-libs/opencv/files/opencv-3.3.0-remove-tiny-dnn-autodownload.patch
deleted file mode 100644
index 6929a4c2ce4c..000000000000
--- a/media-libs/opencv/files/opencv-3.3.0-remove-tiny-dnn-autodownload.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -purN a/modules/dnn_modern/CMakeLists.txt b/modules/dnn_modern/CMakeLists.txt
---- a/modules/dnn_modern/CMakeLists.txt 2017-07-31 15:58:38.000000000 +0100
-+++ b/modules/dnn_modern/CMakeLists.txt 2018-01-15 17:15:15.202454388 +0000
-@@ -15,23 +15,6 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_CU
- # MODULE REQUIREMENTS
- # ----------------------------------------------------------------------------
-
--set(TINY_DNN_CPP_PATH "${OpenCV_BINARY_DIR}/3rdparty/tinydnn")
--set(TINY_DNN_CPP_ROOT "${TINY_DNN_CPP_PATH}/tiny-dnn-1.0.0a3")
--ocv_download(FILENAME "v1.0.0a3.tar.gz"
-- HASH "adb1c512e09ca2c7a6faef36f9c53e59"
-- URL
-- "${OPENCV_TINY_DNN_URL}"
-- "$ENV{OPENCV_TINY_DNN_URL}"
-- "https://github.com/tiny-dnn/tiny-dnn/archive/"
-- DESTINATION_DIR "${TINY_DNN_CPP_PATH}"
-- STATUS TINY_DNN_DOWNLOAD_SUCCESS
-- ID "tiny-dnn"
-- UNPACK RELATIVE_URL)
--
--if(NOT TINY_DNN_DOWNLOAD_SUCCESS)
-- message(STATUS "Failed to download tiny-dnn sources")
--endif()
--
- find_package(TinyDNN QUIET)
-
- include(CheckCXXCompilerFlag)
diff --git a/media-libs/opencv/files/opencv-3.4.1-compilation-C-mode.patch b/media-libs/opencv/files/opencv-3.4.1-compilation-C-mode.patch
deleted file mode 100644
index c94f206ed4f1..000000000000
--- a/media-libs/opencv/files/opencv-3.4.1-compilation-C-mode.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 549b5df22520b60b91dd77096434d79425b31ac2 Mon Sep 17 00:00:00 2001
-From: Alexander Alekhin <alexander.alekhin@intel.com>
-Date: Mon, 28 May 2018 18:07:23 +0300
-Subject: [PATCH] build: workaround issues with C compilation mode
-
-- cvdef.h + cvRound (double only)
-- highgui_c.h
----
- modules/core/include/opencv2/core/cvdef.h | 8 +++++++-
- modules/highgui/include/opencv2/highgui/highgui_c.h | 2 ++
- 2 files changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/modules/core/include/opencv2/core/cvdef.h b/modules/core/include/opencv2/core/cvdef.h
-index a87ced09d78..4ab72b34cc1 100644
---- a/modules/core/include/opencv2/core/cvdef.h
-+++ b/modules/core/include/opencv2/core/cvdef.h
-@@ -480,7 +480,7 @@ Cv64suf;
- // Integer types portatibility
- #ifdef OPENCV_STDINT_HEADER
- #include OPENCV_STDINT_HEADER
--#else
-+#elif defined(__cplusplus)
- #if defined(_MSC_VER) && _MSC_VER < 1600 /* MSVS 2010 */
- namespace cv {
- typedef signed char int8_t;
-@@ -517,9 +517,15 @@ typedef ::int64_t int64_t;
- typedef ::uint64_t uint64_t;
- }
- #endif
-+#else // pure C
-+#include <stdint.h>
- #endif
-
-
- //! @}
-
-+#ifndef __cplusplus
-+#include "opencv2/core/fast_math.hpp" // define cvRound(double)
-+#endif
-+
- #endif // OPENCV_CORE_CVDEF_H
-diff --git a/modules/highgui/include/opencv2/highgui/highgui_c.h b/modules/highgui/include/opencv2/highgui/highgui_c.h
-index 1eb414a76ca..35413139c79 100644
---- a/modules/highgui/include/opencv2/highgui/highgui_c.h
-+++ b/modules/highgui/include/opencv2/highgui/highgui_c.h
-@@ -135,8 +135,10 @@ CVAPI(int) cvNamedWindow( const char* name, int flags CV_DEFAULT(CV_WINDOW_AUTOS
- CVAPI(void) cvSetWindowProperty(const char* name, int prop_id, double prop_value);
- CVAPI(double) cvGetWindowProperty(const char* name, int prop_id);
-
-+#ifdef __cplusplus // FIXIT remove in OpenCV 4.0
- /* Get window image rectangle coordinates, width and height */
- CVAPI(cv::Rect)cvGetWindowImageRect(const char* name);
-+#endif
-
- /* display image within window (highgui windows remember their content) */
- CVAPI(void) cvShowImage( const char* name, const CvArr* image );
diff --git a/media-libs/opencv/files/opencv-3.4.1-fix-build-with-va.patch b/media-libs/opencv/files/opencv-3.4.1-fix-build-with-va.patch
deleted file mode 100644
index 813eb7e4ae65..000000000000
--- a/media-libs/opencv/files/opencv-3.4.1-fix-build-with-va.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 20f5fa8e3e880bc8b2e5156e9f25f7fb756ed8e4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= <sergio@serjux.com>
-Date: Wed, 28 Feb 2018 19:21:31 +0000
-Subject: [PATCH] Fix build with VA
-
-This commit readd ${VA_LIBRARIES} ${VA_INTEL_LIBRARIES}
-that was missed in commit 2200e13c7193e0fe9db4b9f7c4bee3a7ef043909
-
- diff --git a/samples/va_intel/CMakeLists.txt b/samples/va_intel/CMakeLists.txt
- - ocv_target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} ${OPENCV_VA_INTEL_SAMPLES_REQUIRED_DEPS} ${VA_LIBRARIES} ${VA_INTEL_LIBRARIES})
- + ocv_target_link_libraries(${tgt} ${OPENCV_LINKER_LIBS} ${OPENCV_VA_INTEL_SAMPLES_REQUIRED_DEPS})
----
- samples/va_intel/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/samples/va_intel/CMakeLists.txt b/samples/va_intel/CMakeLists.txt
-index af51dd32061..04f2ea5fd40 100644
---- a/samples/va_intel/CMakeLists.txt
-+++ b/samples/va_intel/CMakeLists.txt
-@@ -17,5 +17,5 @@ ocv_include_modules_recurse(${OPENCV_VA_INTEL_SAMPLES_REQUIRED_DEPS})
- file(GLOB all_samples RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp)
- foreach(sample_filename ${all_samples})
- ocv_define_sample(tgt ${sample_filename} va_intel)
-- ocv_target_link_libraries(${tgt} ${OPENCV_LINKER_LIBS} ${OPENCV_VA_INTEL_SAMPLES_REQUIRED_DEPS})
-+ ocv_target_link_libraries(${tgt} ${OPENCV_LINKER_LIBS} ${OPENCV_VA_INTEL_SAMPLES_REQUIRED_DEPS} ${VA_LIBRARIES} ${VA_INTEL_LIBRARIES})
- endforeach()
diff --git a/media-libs/opencv/files/opencv-3.4.1-fix-on-x86.patch b/media-libs/opencv/files/opencv-3.4.1-fix-on-x86.patch
deleted file mode 100644
index f36d643cf731..000000000000
--- a/media-libs/opencv/files/opencv-3.4.1-fix-on-x86.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 7dc162cb4252ccf461f1c63650abde3c8807b79c Mon Sep 17 00:00:00 2001
-From: Alexander Alekhin <alexander.alekhin@intel.com>
-Date: Mon, 9 Apr 2018 18:25:51 +0300
-Subject: [PATCH] core: fix mm_pause() for non-SSE i386 builds
-
-replaced to safe binary compatible 'rep; nop' asm instruction
----
- modules/core/src/parallel_impl.cpp | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/modules/core/src/parallel_impl.cpp b/modules/core/src/parallel_impl.cpp
-index 78d9eb63694..bc64fce7a81 100644
---- a/modules/core/src/parallel_impl.cpp
-+++ b/modules/core/src/parallel_impl.cpp
-@@ -49,7 +49,11 @@ DECLARE_CV_YIELD
- DECLARE_CV_PAUSE
- #endif
- #ifndef CV_PAUSE
--#if defined __GNUC__ && (defined __i386__ || defined __x86_64__)
-+# if defined __GNUC__ && (defined __i386__ || defined __x86_64__)
-+# if !defined(__SSE__)
-+ static inline void cv_non_sse_mm_pause() { __asm__ __volatile__ ("rep; nop"); }
-+# define _mm_pause cv_non_sse_mm_pause
-+# endif
- # define CV_PAUSE(v) do { for (int __delay = (v); __delay > 0; --__delay) { _mm_pause(); } } while (0)
- # elif defined __GNUC__ && defined __aarch64__
- # define CV_PAUSE(v) do { for (int __delay = (v); __delay > 0; --__delay) { asm volatile("yield" ::: "memory"); } } while (0)
diff --git a/media-libs/opencv/files/opencv-3.4.1-popcnt.patch b/media-libs/opencv/files/opencv-3.4.1-popcnt.patch
deleted file mode 100644
index 51a6d554a252..000000000000
--- a/media-libs/opencv/files/opencv-3.4.1-popcnt.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From a2d6fc7ac040c6ef94a36515f9ea24428f8f1ecc Mon Sep 17 00:00:00 2001
-From: Alexander Alekhin <alexander.alekhin@intel.com>
-Date: Tue, 24 Apr 2018 12:40:25 +0300
-Subject: [PATCH] cmake: fix popcnt detection
-
-via GCC/Clang __POPCNT__ define
----
- cmake/checks/cpu_popcnt.cpp | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/cmake/checks/cpu_popcnt.cpp b/cmake/checks/cpu_popcnt.cpp
-index 16e5575108b..44c7deda053 100644
---- a/cmake/checks/cpu_popcnt.cpp
-+++ b/cmake/checks/cpu_popcnt.cpp
-@@ -4,12 +4,14 @@
- # define CV_POPCNT_U64 _mm_popcnt_u64
- # endif
- # define CV_POPCNT_U32 _mm_popcnt_u32
--#else
-+#elif defined(__POPCNT__)
- # include <popcntintrin.h>
- # if defined(__x86_64__)
- # define CV_POPCNT_U64 __builtin_popcountll
- # endif
- # define CV_POPCNT_U32 __builtin_popcount
-+#else
-+# error "__POPCNT__ is not defined by compiler"
- #endif
-
- int main()
diff --git a/media-libs/opencv/files/opencv-3.4.1-python-lib-suffix-hack.patch b/media-libs/opencv/files/opencv-3.4.1-python-lib-suffix-hack.patch
deleted file mode 100644
index 248e5034a218..000000000000
--- a/media-libs/opencv/files/opencv-3.4.1-python-lib-suffix-hack.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/cmake/OpenCVDetectPython.cmake 2018-05-31 09:14:42.998873104 +0200
-+++ b/cmake/OpenCVDetectPython.cmake 2018-05-31 09:26:08.444914001 +0200
-@@ -140,8 +140,8 @@
- else() #debian based assumed, install to the dist-packages.
- set(_packages_path "python${_version_major_minor}/dist-packages")
- endif()
-- if(EXISTS "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/${${packages_path}}")
-- set(_packages_path "lib${LIB_SUFFIX}/${_packages_path}")
-+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/lib${LIBPY_SUFFIX}/${${packages_path}}")
-+ set(_packages_path "lib${LIBPY_SUFFIX}/${_packages_path}")
- else()
- set(_packages_path "lib/${_packages_path}")
- endif()
diff --git a/media-libs/opencv/files/opencv-3.4.1-python37.patch b/media-libs/opencv/files/opencv-3.4.1-python37.patch
deleted file mode 100644
index 94d307b748c4..000000000000
--- a/media-libs/opencv/files/opencv-3.4.1-python37.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN a/modules/python/src2/cv2.cpp b/modules/python/src2/cv2.cpp
---- a/modules/python/src2/cv2.cpp 2018-02-23 11:38:33.000000000 +0300
-+++ b/modules/python/src2/cv2.cpp 2019-08-10 22:28:03.337071791 +0300
-@@ -886,7 +886,7 @@
- (void)name;
- if(!obj || obj == Py_None)
- return true;
-- char* str = PyString_AsString(obj);
-+ const char* str = PyString_AsString(obj);
- if(!str)
- return false;
- value = String(str);
diff --git a/media-libs/opencv/files/opencv-3.4.1-remove-git-autodetect.patch b/media-libs/opencv/files/opencv-3.4.1-remove-git-autodetect.patch
deleted file mode 100644
index 94b221ab9a8b..000000000000
--- a/media-libs/opencv/files/opencv-3.4.1-remove-git-autodetect.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- a/CMakeLists.txt 2019-01-10 19:29:06.831367707 +0100
-+++ b/CMakeLists.txt 2019-01-10 19:30:11.125364384 +0100
-@@ -522,23 +522,23 @@
- # ----------------------------------------------------------------------------
- # Autodetect if we are in a GIT repository
- # ----------------------------------------------------------------------------
--find_host_package(Git QUIET)
-+# find_host_package(Git QUIET)
-
--if(NOT DEFINED OPENCV_VCSVERSION AND GIT_FOUND)
-- execute_process(COMMAND "${GIT_EXECUTABLE}" describe --tags --always --dirty --match "[0-9].[0-9].[0-9]*"
-- WORKING_DIRECTORY "${OpenCV_SOURCE_DIR}"
-- OUTPUT_VARIABLE OPENCV_VCSVERSION
-- RESULT_VARIABLE GIT_RESULT
-- ERROR_QUIET
-- OUTPUT_STRIP_TRAILING_WHITESPACE
-- )
-- if(NOT GIT_RESULT EQUAL 0)
-- set(OPENCV_VCSVERSION "unknown")
-- endif()
--elseif(NOT DEFINED OPENCV_VCSVERSION)
-- # We don't have git:
-- set(OPENCV_VCSVERSION "unknown")
--endif()
-+# if(NOT DEFINED OPENCV_VCSVERSION AND GIT_FOUND)
-+# execute_process(COMMAND "${GIT_EXECUTABLE}" describe --tags --always --dirty --match "[0-9].[0-9].[0-9]*"
-+# WORKING_DIRECTORY "${OpenCV_SOURCE_DIR}"
-+# OUTPUT_VARIABLE OPENCV_VCSVERSION
-+# RESULT_VARIABLE GIT_RESULT
-+# ERROR_QUIET
-+# OUTPUT_STRIP_TRAILING_WHITESPACE
-+# )
-+# if(NOT GIT_RESULT EQUAL 0)
-+# set(OPENCV_VCSVERSION "unknown")
-+# endif()
-+# elseif(NOT DEFINED OPENCV_VCSVERSION)
-+# # We don't have git:
-+# set(OPENCV_VCSVERSION "unknown")
-+#endif()
-
-
- # ----------------------------------------------------------------------------
diff --git a/media-libs/opencv/opencv-3.4.1-r7.ebuild b/media-libs/opencv/opencv-3.4.1-r7.ebuild
deleted file mode 100644
index 76c7ada5db8c..000000000000
--- a/media-libs/opencv/opencv-3.4.1-r7.ebuild
+++ /dev/null
@@ -1,501 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
-inherit java-pkg-opt-2 java-ant-2 python-r1 toolchain-funcs cmake-multilib
-
-DESCRIPTION="A collection of algorithms and sample code for various computer vision problems"
-HOMEPAGE="https://opencv.org"
-TINY_DNN_PV="1.0.0a3"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
- dnnsamples? ( https://dev.gentoo.org/~amynka/snap/${PN}-3.4.0-res10_300x300-caffeemodel.tar.gz )
- contrib? (
- https://github.com/${PN}/${PN}_contrib/archive/${PV}.tar.gz -> ${P}_contrib.tar.gz
- contribdnn? (
- https://github.com/tiny-dnn/tiny-dnn/archive/v${TINY_DNN_PV}.tar.gz -> tiny-dnn-${TINY_DNN_PV}.tar.gz
- https://dev.gentoo.org/~amynka/snap/${PN}-3.4.0-face_landmark_model.tar.gz
- )
- contribxfeatures2d? ( https://dev.gentoo.org/~amynka/snap/vgg_boostdesc-3.2.0.tar.gz )
- )"
-
-LICENSE="BSD"
-SLOT="0/3.4.1" # subslot = libopencv* soname version
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86 ~amd64-linux"
-IUSE="contrib contribcvv contribdnn contribhdf contribsfm contribxfeatures2d cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 cpu_flags_x86_sse4_2 cpu_flags_x86_popcnt cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_fma3 cuda debug dnnsamples +eigen examples ffmpeg gdal gflags glog gphoto2 gstreamer gtk ieee1394 jpeg lapack opencl openexr opengl openmp pch png +python qt5 tesseract testprograms threads tiff vaapi v4l vtk webp xine"
-# OpenGL needs gtk or Qt installed to activate, otherwise build system
-# will silently disable it Wwithout the user knowing, which defeats the
-# purpose of the opengl use flag.
-REQUIRED_USE="
- cuda? ( tesseract? ( opencl ) )
- dnnsamples? ( examples )
- gflags? ( contrib )
- glog? ( contrib )
- contribcvv? ( contrib qt5 )
- contribdnn? ( contrib )
- contribhdf? ( contrib )
- contribsfm? ( contrib eigen gflags glog )
- contribxfeatures2d? ( contrib cuda )
- java? ( python )
- opengl? ( || ( gtk qt5 ) )
- python? ( ${PYTHON_REQUIRED_USE} )
- tesseract? ( contrib )"
-
-# The following logic is intrinsic in the build system, but we do not enforce
-# it on the useflags since this just blocks emerging pointlessly:
-# gtk? ( !qt5 )
-# openmp? ( !threads )
-
-RDEPEND="
- app-arch/bzip2[${MULTILIB_USEDEP}]
- dev-libs/protobuf:=[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- cuda? ( dev-util/nvidia-cuda-toolkit:0= )
- contribhdf? ( sci-libs/hdf5 )
- ffmpeg? ( media-video/ffmpeg:0=[${MULTILIB_USEDEP}] )
- gdal? ( sci-libs/gdal:= )
- gflags? ( dev-cpp/gflags[${MULTILIB_USEDEP}] )
- glog? ( dev-cpp/glog[${MULTILIB_USEDEP}] )
- gphoto2? ( media-libs/libgphoto2[${MULTILIB_USEDEP}] )
- gstreamer? (
- media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
- media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
- )
- gtk? (
- dev-libs/glib:2[${MULTILIB_USEDEP}]
- x11-libs/gtk+:2[${MULTILIB_USEDEP}]
- opengl? ( x11-libs/gtkglext[${MULTILIB_USEDEP}] )
- )
- ieee1394? (
- media-libs/libdc1394[${MULTILIB_USEDEP}]
- sys-libs/libraw1394[${MULTILIB_USEDEP}]
- )
- java? ( >=virtual/jre-1.6:* )
- jpeg? ( virtual/jpeg:0[${MULTILIB_USEDEP}] )
- lapack? ( virtual/lapack )
- opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
- openexr? ( media-libs/openexr[${MULTILIB_USEDEP}] )
- opengl? (
- virtual/opengl[${MULTILIB_USEDEP}]
- virtual/glu[${MULTILIB_USEDEP}]
- )
- png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
- python? ( ${PYTHON_DEPS} dev-python/numpy[${PYTHON_USEDEP}] )
- qt5? (
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- dev-qt/qttest:5
- dev-qt/qtconcurrent:5
- opengl? ( dev-qt/qtopengl:5 )
- )
- tesseract? ( app-text/tesseract[opencl=] )
- threads? ( dev-cpp/tbb[${MULTILIB_USEDEP}] )
- tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] )
- v4l? ( >=media-libs/libv4l-0.8.3[${MULTILIB_USEDEP}] )
- vtk? ( sci-libs/vtk[rendering] )
- webp? ( media-libs/libwebp[${MULTILIB_USEDEP}] )
- xine? ( media-libs/xine-lib )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- eigen? ( dev-cpp/eigen:3 )
- java? ( >=virtual/jdk-1.6 )
- vaapi? ( x11-libs/libva )"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/opencv2/cvconfig.h
- /usr/include/opencv2/opencv_modules.hpp
- # [contrib_cvv]
- /usr/include/opencv2/cvv.hpp
- /usr/include/opencv2/cvv/call_meta_data.hpp
- /usr/include/opencv2/cvv/cvv.hpp
- /usr/include/opencv2/cvv/debug_mode.hpp
- /usr/include/opencv2/cvv/dmatch.hpp
- /usr/include/opencv2/cvv/filter.hpp
- /usr/include/opencv2/cvv/final_show.hpp
- /usr/include/opencv2/cvv/show_image.hpp
- # [contrib_hdf]
- /usr/include/opencv2/hdf.hpp
- /usr/include/opencv2/hdf/hdf5.hpp
- # [vtk]
- /usr/include/opencv2/viz.hpp
- /usr/include/opencv2/viz/types.hpp
- /usr/include/opencv2/viz/viz3d.hpp
- /usr/include/opencv2/viz/vizcore.hpp
- /usr/include/opencv2/viz/widget_accessor.hpp
- /usr/include/opencv2/viz/widgets.hpp
- # [cudev]
- /usr/include/opencv2/cudaarithm.hpp
- /usr/include/opencv2/cudabgsegm.hpp
- /usr/include/opencv2/cudacodec.hpp
- /usr/include/opencv2/cudafeatures2d.hpp
- /usr/include/opencv2/cudafilters.hpp
- /usr/include/opencv2/cudaimgproc.hpp
- /usr/include/opencv2/cudalegacy.hpp
- /usr/include/opencv2/cudalegacy/NCVBroxOpticalFlow.hpp
- /usr/include/opencv2/cudalegacy/NCVHaarObjectDetection.hpp
- /usr/include/opencv2/cudalegacy/NCV.hpp
- /usr/include/opencv2/cudalegacy/NCVPyramid.hpp
- /usr/include/opencv2/cudalegacy/NPP_staging.hpp
- /usr/include/opencv2/cudaobjdetect.hpp
- /usr/include/opencv2/cudaoptflow.hpp
- /usr/include/opencv2/cudastereo.hpp
- /usr/include/opencv2/cudawarping.hpp
- /usr/include/opencv2/cudev/block/block.hpp
- /usr/include/opencv2/cudev/block/detail/reduce.hpp
- /usr/include/opencv2/cudev/block/detail/reduce_key_val.hpp
- /usr/include/opencv2/cudev/block/dynamic_smem.hpp
- /usr/include/opencv2/cudev/block/reduce.hpp
- /usr/include/opencv2/cudev/block/scan.hpp
- /usr/include/opencv2/cudev/block/vec_distance.hpp
- /usr/include/opencv2/cudev/common.hpp
- /usr/include/opencv2/cudev/expr/binary_func.hpp
- /usr/include/opencv2/cudev/expr/binary_op.hpp
- /usr/include/opencv2/cudev/expr/color.hpp
- /usr/include/opencv2/cudev/expr/deriv.hpp
- /usr/include/opencv2/cudev/expr/expr.hpp
- /usr/include/opencv2/cudev/expr/per_element_func.hpp
- /usr/include/opencv2/cudev/expr/reduction.hpp
- /usr/include/opencv2/cudev/expr/unary_func.hpp
- /usr/include/opencv2/cudev/expr/unary_op.hpp
- /usr/include/opencv2/cudev/expr/warping.hpp
- /usr/include/opencv2/cudev/functional/color_cvt.hpp
- /usr/include/opencv2/cudev/functional/detail/color_cvt.hpp
- /usr/include/opencv2/cudev/functional/functional.hpp
- /usr/include/opencv2/cudev/functional/tuple_adapter.hpp
- /usr/include/opencv2/cudev/grid/copy.hpp
- /usr/include/opencv2/cudev/grid/detail/copy.hpp
- /usr/include/opencv2/cudev/grid/detail/histogram.hpp
- /usr/include/opencv2/cudev/grid/detail/integral.hpp
- /usr/include/opencv2/cudev/grid/detail/minmaxloc.hpp
- /usr/include/opencv2/cudev/grid/detail/pyr_down.hpp
- /usr/include/opencv2/cudev/grid/detail/pyr_up.hpp
- /usr/include/opencv2/cudev/grid/detail/reduce.hpp
- /usr/include/opencv2/cudev/grid/detail/reduce_to_column.hpp
- /usr/include/opencv2/cudev/grid/detail/reduce_to_row.hpp
- /usr/include/opencv2/cudev/grid/detail/split_merge.hpp
- /usr/include/opencv2/cudev/grid/detail/transform.hpp
- /usr/include/opencv2/cudev/grid/detail/transpose.hpp
- /usr/include/opencv2/cudev/grid/histogram.hpp
- /usr/include/opencv2/cudev/grid/integral.hpp
- /usr/include/opencv2/cudev/grid/pyramids.hpp
- /usr/include/opencv2/cudev/grid/reduce.hpp
- /usr/include/opencv2/cudev/grid/reduce_to_vec.hpp
- /usr/include/opencv2/cudev/grid/split_merge.hpp
- /usr/include/opencv2/cudev/grid/transform.hpp
- /usr/include/opencv2/cudev/grid/transpose.hpp
- /usr/include/opencv2/cudev.hpp
- /usr/include/opencv2/cudev/ptr2d/constant.hpp
- /usr/include/opencv2/cudev/ptr2d/deriv.hpp
- /usr/include/opencv2/cudev/ptr2d/detail/gpumat.hpp
- /usr/include/opencv2/cudev/ptr2d/extrapolation.hpp
- /usr/include/opencv2/cudev/ptr2d/glob.hpp
- /usr/include/opencv2/cudev/ptr2d/gpumat.hpp
- /usr/include/opencv2/cudev/ptr2d/interpolation.hpp
- /usr/include/opencv2/cudev/ptr2d/lut.hpp
- /usr/include/opencv2/cudev/ptr2d/mask.hpp
- /usr/include/opencv2/cudev/ptr2d/remap.hpp
- /usr/include/opencv2/cudev/ptr2d/resize.hpp
- /usr/include/opencv2/cudev/ptr2d/texture.hpp
- /usr/include/opencv2/cudev/ptr2d/traits.hpp
- /usr/include/opencv2/cudev/ptr2d/transform.hpp
- /usr/include/opencv2/cudev/ptr2d/warping.hpp
- /usr/include/opencv2/cudev/ptr2d/zip.hpp
- /usr/include/opencv2/cudev/util/atomic.hpp
- /usr/include/opencv2/cudev/util/detail/tuple.hpp
- /usr/include/opencv2/cudev/util/detail/type_traits.hpp
- /usr/include/opencv2/cudev/util/limits.hpp
- /usr/include/opencv2/cudev/util/saturate_cast.hpp
- /usr/include/opencv2/cudev/util/simd_functions.hpp
- /usr/include/opencv2/cudev/util/tuple.hpp
- /usr/include/opencv2/cudev/util/type_traits.hpp
- /usr/include/opencv2/cudev/util/vec_math.hpp
- /usr/include/opencv2/cudev/util/vec_traits.hpp
- /usr/include/opencv2/cudev/warp/detail/reduce.hpp
- /usr/include/opencv2/cudev/warp/detail/reduce_key_val.hpp
- /usr/include/opencv2/cudev/warp/reduce.hpp
- /usr/include/opencv2/cudev/warp/scan.hpp
- /usr/include/opencv2/cudev/warp/shuffle.hpp
- /usr/include/opencv2/cudev/warp/warp.hpp
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.0.0-gles.patch"
- "${FILESDIR}/${PN}-3.4.0-disable-download.patch"
- "${FILESDIR}/${P}-compilation-C-mode.patch" # https://bugs.gentoo.org/656530
- "${FILESDIR}/${P}-python-lib-suffix-hack.patch"
- "${FILESDIR}/${P}-cuda-add-relaxed-constexpr.patch"
- "${FILESDIR}/${P}-remove-git-autodetect.patch"
- "${FILESDIR}/${P}-fix-build-with-va.patch" # bug https://bugs.gentoo.org/656576
- "${FILESDIR}/${P}-popcnt.patch" # https://bugs.gentoo.org/633900
- "${FILESDIR}/${P}-fix-on-x86.patch" # https://bugs.gentoo.org/682104
- "${FILESDIR}/${P}-python37.patch" # https://bugs.gentoo.org/691480
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- java-pkg-opt-2_pkg_setup
-}
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # remove bundled stuff
- rm -rf 3rdparty || die "Removing 3rd party components failed"
- sed -e '/add_subdirectory(.*3rdparty.*)/ d' \
- -i CMakeLists.txt cmake/*cmake || die
-
- if use dnnsamples; then
- mv "${WORKDIR}/res10_300x300_ssd_iter_140000.caffemodel" "${WORKDIR}/${P}/samples/dnn/" || die
- fi
-
- if use contrib; then
- cd "${WORKDIR}/${PN}_contrib-${PV}" || die
- eapply "${FILESDIR}/${PN}-3.3.0-remove-tiny-dnn-autodownload.patch"
-
- if use contribxfeatures2d; then
- mv "${WORKDIR}"/*.i "${WORKDIR}/${PN}_contrib-${PV}"/modules/xfeatures2d/src/ || die
- fi
- fi
-
- java-pkg-opt-2_src_prepare
-
- # this really belongs in src_prepare() too
- JAVA_ANT_ENCODING="iso-8859-1"
- # set encoding so even this cmake build will pick it up.
- export ANT_OPTS+=" -Dfile.encoding=iso-8859-1"
- java-ant-2_src_configure
-}
-
-multilib_src_configure() {
- # please dont sort here, order is the same as in CMakeLists.txt
- GLOBALCMAKEARGS=(
- # Optional 3rd party components
- # ===================================================
- -DENABLE_DOWNLOAD=OFF
- -DWITH_1394=$(usex ieee1394)
- # -DWITH_AVFOUNDATION=OFF # IOS
- -DWITH_VTK=$(multilib_native_usex vtk)
- -DWITH_EIGEN=$(usex eigen)
- -DWITH_VFW=OFF # Video windows support
- -DWITH_FFMPEG=$(usex ffmpeg)
- -DWITH_GSTREAMER=$(usex gstreamer)
- -DWITH_GSTREAMER_0_10=OFF # Don't want this
- -DWITH_GTK=$(usex gtk)
- -DWITH_GTK_2_X=$(usex gtk)
- -DWITH_IPP=OFF
- -DWITH_JASPER=OFF
- -DWITH_JPEG=$(usex jpeg)
- -DWITH_WEBP=$(usex webp)
- -DWITH_OPENEXR=$(usex openexr)
- -DWITH_OPENGL=$(usex opengl)
- -DWITH_OPENVX=OFF
- -DWITH_OPENNI=OFF # Not packaged
- -DWITH_OPENNI2=OFF # Not packaged
- -DWITH_PNG=$(usex png)
- -DWITH_GDCM=OFF
- -DWITH_PVAPI=OFF
- -DWITH_GIGEAPI=OFF
- -DWITH_ARAVIS=OFF
- -DWITH_QT=$(multilib_native_usex qt5 5 OFF)
- -DWITH_WIN32UI=OFF # Windows only
- # -DWITH_QUICKTIME=OFF
- # -DWITH_QTKIT=OFF
- -DWITH_TBB=$(usex threads)
- -DWITH_OPENMP=$(usex openmp)
- -DWITH_CSTRIPES=OFF
- -DWITH_PTHREADS_PF=ON
- -DWITH_TIFF=$(usex tiff)
- -DWITH_UNICAP=OFF # Not packaged
- -DWITH_V4L=$(usex v4l)
- -DWITH_LIBV4L=$(usex v4l)
- -DWITH_DSHOW=ON # direct show supp
- -DWITH_MSMF=OFF
- -DWITH_XIMEA=OFF # Windows only
- -DWITH_XINE=$(multilib_native_usex xine)
- -DWITH_CLP=OFF
- -DWITH_OPENCL=$(usex opencl)
- -DWITH_OPENCL_SVM=OFF
- -DWITH_OPENCLAMDFFT=$(usex opencl)
- -DWITH_OPENCLAMDBLAS=$(usex opencl)
- -DWITH_DIRECTX=OFF
- -DWITH_INTELPERC=OFF
- -DWITH_IPP_A=OFF
- -DWITH_MATLAB=OFF
- -DWITH_VA=$(usex vaapi)
- -DWITH_VA_INTEL=$(usex vaapi)
- -DWITH_GDAL=$(multilib_native_usex gdal)
- -DWITH_GPHOTO2=$(usex gphoto2)
- -DWITH_LAPACK=$(multilib_native_usex lapack)
- -DWITH_ITT=OFF # 3dparty libs itt_notify
- # ===================================================
- # CUDA build components: nvidia-cuda-toolkit takes care of GCC version
- # ===================================================
- -DWITH_CUDA=$(multilib_native_usex cuda)
- -DWITH_CUBLAS=$(multilib_native_usex cuda)
- -DWITH_CUFFT=$(multilib_native_usex cuda)
- -DWITH_NVCUVID=OFF
-# -DWITH_NVCUVID=$(usex cuda)
- -DCUDA_NPP_LIBRARY_ROOT_DIR=$(usex cuda "${EPREFIX}/opt/cuda" "")
- # ===================================================
- # OpenCV build components
- # ===================================================
- -DBUILD_SHARED_LIBS=ON
- -DBUILD_JAVA=$(multilib_native_usex java) # Ant needed, no compile flag
- -DBUILD_ANDROID_EXAMPLES=OFF
- -DBUILD_opencv_apps=
- -DBUILD_DOCS=OFF # Doesn't install anyways.
- -DBUILD_EXAMPLES=$(multilib_native_usex examples)
- -DBUILD_PERF_TESTS=OFF
- -DBUILD_TESTS=$(multilib_native_usex testprograms)
- -DBUILD_WITH_DEBUG_INFO=$(usex debug)
- # -DBUILD_WITH_STATIC_CRT=OFF
- -DBUILD_WITH_DYNAMIC_IPP=OFF
- -DBUILD_FAT_JAVA_LIB=$(multilib_native_usex java)
- # -DBUILD_ANDROID_SERVICE=OFF
- -DBUILD_CUDA_STUBS=$(multilib_native_usex cuda)
- -DOPENCV_EXTRA_MODULES_PATH=$(usex contrib "${WORKDIR}/opencv_contrib-${PV}/modules" "")
- # ===================================================
- # OpenCV installation options
- # ===================================================
- -DINSTALL_CREATE_DISTRIB=OFF
- -DINSTALL_C_EXAMPLES=$(multilib_native_usex examples)
- -DINSTALL_TESTS=$(multilib_native_usex testprograms)
- -DINSTALL_PYTHON_EXAMPLES=$(multilib_native_usex examples)
- # -DINSTALL_ANDROID_EXAMPLES=OFF
- -DINSTALL_TO_MANGLED_PATHS=OFF
- # opencv uses both ${CMAKE_INSTALL_LIBDIR} and ${LIB_SUFFIX}
- # to set its destination libdir
- -DLIB_SUFFIX=
- # ===================================================
- # OpenCV build options
- # ===================================================
- -DENABLE_CCACHE=OFF
- -DENABLE_PRECOMPILED_HEADERS=$(usex pch)
- -DENABLE_SOLUTION_FOLDERS=OFF
- -DENABLE_PROFILING=OFF
- -DENABLE_COVERAGE=OFF
-
- -DHAVE_opencv_java=$(multilib_native_usex java YES NO)
- -DENABLE_NOISY_WARNINGS=OFF
- -DOPENCV_WARNINGS_ARE_ERRORS=OFF
- -DENABLE_IMPL_COLLECTION=OFF
- -DENABLE_INSTRUMENTATION=OFF
- -DGENERATE_ABI_DESCRIPTOR=OFF
- -DDOWNLOAD_EXTERNAL_TEST_DATA=OFF
- # ===================================================
- # things we want to be hard off or not yet figured out
- # ===================================================
- -DBUILD_PACKAGE=OFF
- # ===================================================
- # Not building protobuf but update files bug #631418
- # ===================================================
- -DBUILD_PROTOBUF=OFF
- -DPROTOBUF_UPDATE_FILES=ON
- # ===================================================
- # things we want to be hard enabled not worth useflag
- # ===================================================
- -DCMAKE_SKIP_RPATH=ON
- -DOPENCV_DOC_INSTALL_PATH=
- # ==================================================
- # cpu flags, should solve 633900
- #===================================================
- -DOPENCV_CPU_OPT_IMPLIES_IGNORE=ON
- -DCPU_DISPATCH=
- -DENABLE_SSE=$(usex cpu_flags_x86_sse)
- -DENABLE_SSE2=$(usex cpu_flags_x86_sse2)
- -DENABLE_SSE3=$(usex cpu_flags_x86_sse3)
- -DENABLE_SSSE3=$(usex cpu_flags_x86_ssse3)
- -DENABLE_SSE41=$(usex cpu_flags_x86_sse4_1)
- -DENABLE_SSE42=$(usex cpu_flags_x86_sse4_2)
- -DENABLE_POPCNT=$(usex cpu_flags_x86_popcnt)
- -DENABLE_AVX=$(usex cpu_flags_x86_avx)
- -DENABLE_AVX2=$(usex cpu_flags_x86_avx2)
- -DENABLE_FMA3=$(usex cpu_flags_x86_fma3)
- )
-
- # ===================================================
- # OpenCV Contrib Modules
- # ===================================================
- if use contrib; then
- GLOBALCMAKEARGS+=(
- -DBUILD_opencv_dnn=$(usex contribdnn ON OFF)
- -DTINYDNN_ROOT="${WORKDIR}/tiny-dnn-${TINY_DNN_PV}"
- -DBUILD_opencv_dnns_easily_fooled=OFF
- -DBUILD_opencv_xfeatures2d=$(usex contribxfeatures2d ON OFF)
- -DBUILD_opencv_cvv=$(usex contribcvv ON OFF)
- -DBUILD_opencv_hdf=$(multilib_native_usex contribhdf ON OFF)
- -DBUILD_opencv_sfm=$(usex contribsfm ON OFF)
- )
-
- if multilib_is_native_abi; then
- GLOBALCMAKEARGS+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_Tesseract=$(usex !tesseract)
- )
- else
- GLOBALCMAKEARGS+=(
- -DCMAKE_DISABLE_FIND_PACKAGE_Tesseract=ON
- )
- fi
- fi
-
- # workaround for bug 413429
- tc-export CC CXX
-
- local mycmakeargs=( ${GLOBALCMAKEARGS[@]}
- -DPYTHON_EXECUTABLE=OFF
- -DINSTALL_PYTHON_EXAMPLES=OFF
- )
-
- cmake-utils_src_configure
-
- # Copy face_land_model to ${CMAKE_BINARY_DIR}/${OPENCV_TEST_DATA_INSTALL_PATH}
- # TODO patch ocv_download to copy files into destination dirs
- if use contribdnn; then
- mkdir -p "${BUILD_DIR}"/share/OpenCV/testdata/cv/face/ || die
- cp "${WORKDIR}"/face_landmark_model.dat "${BUILD_DIR}"/share/OpenCV/testdata/cv/face/ || die
- fi
-
-}
-
-python_module_compile() {
- local BUILD_DIR=${orig_BUILD_DIR}
- local mycmakeargs=( ${GLOBALCMAKEARGS[@]} )
-
- # Set all python variables to load the correct Gentoo paths
- mycmakeargs+=(
- # python_setup alters PATH and sets this as wrapper
- # to the correct interpreter we are building for
- -DPYTHON_DEFAULT_EXECUTABLE=python
- -DINSTALL_PYTHON_EXAMPLES=$(usex examples)
- -DLIBPY_SUFFIX=64
- )
-
- # Regenerate cache file. Can't use rebuild_cache as it won't
- # have the Gentoo specific options.
- rm -rf CMakeCache.txt || die "rm failed"
- cmake-utils_src_configure
- cmake-utils_src_compile
- cmake-utils_src_install
-
- # Remove compiled binary so new version compiles
- # Avoid conflicts with new module builds as build system doesn't
- # really support it.
- rm -rf modules/python2 || die "rm failed"
-}
-
-multilib_src_install() {
- cmake-utils_src_install
-
- # Build and install the python modules for all targets
- if multilib_is_native_abi && use python; then
- local orig_BUILD_DIR=${BUILD_DIR}
- python_foreach_impl python_module_compile
- fi
-}