public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Amy Winston" <amynka@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/opencv/, media-libs/opencv/files/
Date: Tue,  8 Nov 2016 07:01:12 +0000 (UTC)	[thread overview]
Message-ID: <1478587890.7701033807a21a0c5c52780efa1a1b059e3e9b95.amynka@gentoo> (raw)

commit:     7701033807a21a0c5c52780efa1a1b059e3e9b95
Author:     Jonathan Scruggs <j.scruggs <AT> gmail <DOT> com>
AuthorDate: Mon Nov  7 12:47:07 2016 +0000
Commit:     Amy Winston <amynka <AT> gentoo <DOT> org>
CommitDate: Tue Nov  8 06:51:30 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77010338

media-libs/opencv: revision bump to 3.1.0-r6

* Update SRC_URI to the new URLs
* Switch to downloading the tar.gz instead zip file
* Add git hash to end of contrib download to allow revision bumps
* Updated revision of contrib modules to fix various errors
* Remove Qt 4 support to follow the new Gentoo standard
* Use new OpenMP test logic
* Added patch to build against CUDA v8.
  Patch based on one submitted by Sven Eden
  Gentoo-bug: 598674
  Gentoo-bug: 597754
* Added Tesseract use flag and fixed building against it.
  Gentoo-bug: 572836
  Gentoo-bug: 584428
* Added use flag for the SFM module because of dependencies
  on several Google libraries
  Gentoo-bug: 597166
* Added use flag for the HDF module because of a dependency
  on media-libs/hdaf5
  Gentoo-bug: 596212
* Added use flag for the CVV module because it will silently
  fail if Qt 5 is not installed.
* Added patch to fix the finding of certain libraries
  Gentoo-Bug: 584478

Signed-off by: Jonathan Scruggs (j.scruggs <AT> gmail.com)

 media-libs/opencv/Manifest                         |   2 +
 .../files/opencv-3.1.0-find-libraries-fix.patch    |  48 ++++
 .../opencv-3.1.0-remove-graphcut-for-cuda-8.patch  |  23 ++
 media-libs/opencv/metadata.xml                     |   6 +
 media-libs/opencv/opencv-3.1.0-r6.ebuild           | 296 +++++++++++++++++++++
 5 files changed, 375 insertions(+)

diff --git a/media-libs/opencv/Manifest b/media-libs/opencv/Manifest
index 82a9d48..624ef49 100644
--- a/media-libs/opencv/Manifest
+++ b/media-libs/opencv/Manifest
@@ -1,5 +1,7 @@
 DIST opencv-2.4.12.zip 93261101 SHA256 2a7e47da87b9119be922f010a1059539e96130c242f4d38e2dbb445ccbeccbc1 SHA512 3f9142ef23181f93200413b456c11235ecac11c322ccf3f89cc3740bfa9d9228508948cee245583103029e9f6abf1c5d0c5d249eff400e65b3655153bc6dbb05 WHIRLPOOL 86488d91cfac4c980e4f794d6d7e40bf93803f4d79defc991647af742198b845db796b1578b5d79a12a71ecbb04d8430a49c1538d6f86f1288c2a31efefc2548
 DIST opencv-3.0.0.zip 100980799 SHA256 07094ea2f996f2622d572f0f3a162d698c8a547520341ca9109fbaf9363fb001 SHA512 108d0fdcc60b5688ebf61c930fb965ec81f0d3c36bb1797f6cc571fac35331f540773207fd1cb81b12c05c8f4d1af20c4a2452d9f75cd0cae4acd8131be92375 WHIRLPOOL 61cbbf5201b1dea75ffa998d1f55ee35f098bb8f76591cc9705de13b9f05eaefd19dcc74e93d2643d9b721e62483a36547617ec2e3d14fa6a2522e18ccf06747
+DIST opencv-3.1.0.tar.gz 76135587 SHA256 f00b3c4f42acda07d89031a2ebb5ebe390764a133502c03a511f67b78bbd4fbf SHA512 57e0fe41e3d5d1dc036e7fc5673523e53d54f5f62e4d3bcb95238a9cd53e79da7c1704dc136ce632f7cfce369ebf5eb27f629a9b6ac4f7fa34120b80b5c7438f WHIRLPOOL b2825d5cafa87e0fe9cacd093ddb969913d916c0370819073b2bde3c598798efcf23c406aae2116f2628c564ca99e5f871a448a3ece97d8d29ec73841ac283b4
 DIST opencv-3.1.0.zip 79186131 SHA256 1f6990249fdb82804fff40e96fa6d99949023ab0e3277eae4bd459b374e622a4 SHA512 b4915e8838fce8ba9e1af8b11e46678624435e9a41592e645413dfdc830993eaa017d337fe4c212a49f096421a6317a1892546087fbc3cfdab554522336c0f1a WHIRLPOOL 3c38715e2abc431781b724199c2cf06f844c7a889c51a06ecb64889a8ca36d9fd370a0738deec2995e24e453cb64f5db228238681714f62daf6eac50d95a4914
+DIST opencv-3.1.0_contrib-75b3ea9.tar.gz 54277105 SHA256 478f742457d3f4e96f857b726e35b28a8d20a1de8e5f51b8671251bc896d443b SHA512 d1d11520b8729fbaf0257c927654251ff9ac1ba5cf937af9dd973ec39f483d1ee08aff7ad3f1a9941fef921a35dc466ac5574918197ddecd3f6c66b682bf671a WHIRLPOOL 18b70014428c4fa532658ca5ac332bffaae049b468f46cb027a6972f21f5b2bd17d02b33d68c43b84f821a77fa09efb9c372499cfa4f645a0516b93acb858353
 DIST opencv-3.1.0_contrib.zip 55182211 SHA256 5082b5df7179ff71f4681747c482169f0d5d5b77605816cfe5b93c588021fbb4 SHA512 f0ceb8d9ed85efe948a40071793d164a82391a462c52ca71a6029e8b119afdab8b1453baaed2cd7d540001559849a62ec4b745d41345db225acff0531c76e762 WHIRLPOOL 589294c849a00426f4c52d07ab652e71e8bbc74efd0878fbaea2e089051fd118217b1a04f33258fcef2abe1729147282eb17a98c5463691aa3fd56af264ea6a0
 DIST opencv_contrib.zip 76144299 SHA256 ba780e61e9659aac299055d68c9fe40258e3fab7cb167892163eb5732387c4bb SHA512 9253a9d209368da5bea5f0138c55379132467b840d25fc5eaa1bc0103e6da61d6facf206456ff3f4bb68482d9c6381e23a566cb4dd155ac9ff9a259e54f7ffbf WHIRLPOOL 411febd3d5912ea28b570b217e3af41bee2d48daf5f47b0de6125b40cfbf435216c668545b3e0dfa48e4eef8d4a86135058ee72dc7b5a4244b661130a6916843

diff --git a/media-libs/opencv/files/opencv-3.1.0-find-libraries-fix.patch b/media-libs/opencv/files/opencv-3.1.0-find-libraries-fix.patch
new file mode 100644
index 00000000..52f4db6
--- /dev/null
+++ b/media-libs/opencv/files/opencv-3.1.0-find-libraries-fix.patch
@@ -0,0 +1,48 @@
+diff -purN a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake
+--- a/cmake/OpenCVFindLibsGrfmt.cmake	2015-12-18 15:02:16.000000000 +0000
++++ b/cmake/OpenCVFindLibsGrfmt.cmake	2016-11-07 13:18:04.567340791 +0000
+@@ -18,7 +18,7 @@ endif()
+ if(NOT ZLIB_FOUND)
+   ocv_clear_vars(ZLIB_LIBRARY ZLIB_LIBRARIES ZLIB_INCLUDE_DIRS)
+ 
+-  set(ZLIB_LIBRARY zlib)
++  set(ZLIB_LIBRARY z)
+   add_subdirectory("${OpenCV_SOURCE_DIR}/3rdparty/zlib")
+   set(ZLIB_INCLUDE_DIRS "${${ZLIB_LIBRARY}_SOURCE_DIR}" "${${ZLIB_LIBRARY}_BINARY_DIR}")
+   set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
+@@ -40,7 +40,7 @@ if(WITH_TIFF)
+   if(NOT TIFF_FOUND)
+     ocv_clear_vars(TIFF_LIBRARY TIFF_LIBRARIES TIFF_INCLUDE_DIR)
+ 
+-    set(TIFF_LIBRARY libtiff)
++    set(TIFF_LIBRARY tiff)
+     set(TIFF_LIBRARIES ${TIFF_LIBRARY})
+     add_subdirectory("${OpenCV_SOURCE_DIR}/3rdparty/libtiff")
+     set(TIFF_INCLUDE_DIR "${${TIFF_LIBRARY}_SOURCE_DIR}" "${${TIFF_LIBRARY}_BINARY_DIR}")
+@@ -79,7 +79,7 @@ if(WITH_JPEG)
+   if(NOT JPEG_FOUND)
+     ocv_clear_vars(JPEG_LIBRARY JPEG_LIBRARIES JPEG_INCLUDE_DIR)
+ 
+-    set(JPEG_LIBRARY libjpeg)
++    set(JPEG_LIBRARY jpeg)
+     set(JPEG_LIBRARIES ${JPEG_LIBRARY})
+     add_subdirectory("${OpenCV_SOURCE_DIR}/3rdparty/libjpeg")
+     set(JPEG_INCLUDE_DIR "${${JPEG_LIBRARY}_SOURCE_DIR}")
+@@ -136,7 +136,7 @@ if(WITH_JASPER)
+   if(NOT JASPER_FOUND)
+     ocv_clear_vars(JASPER_LIBRARY JASPER_LIBRARIES JASPER_INCLUDE_DIR)
+ 
+-    set(JASPER_LIBRARY libjasper)
++    set(JASPER_LIBRARY jasper)
+     set(JASPER_LIBRARIES ${JASPER_LIBRARY})
+     add_subdirectory("${OpenCV_SOURCE_DIR}/3rdparty/libjasper")
+     set(JASPER_INCLUDE_DIR "${${JASPER_LIBRARY}_SOURCE_DIR}")
+@@ -169,7 +169,7 @@ if(WITH_PNG)
+   if(NOT PNG_FOUND)
+     ocv_clear_vars(PNG_LIBRARY PNG_LIBRARIES PNG_INCLUDE_DIR PNG_PNG_INCLUDE_DIR HAVE_LIBPNG_PNG_H PNG_DEFINITIONS)
+ 
+-    set(PNG_LIBRARY libpng)
++    set(PNG_LIBRARY png)
+     set(PNG_LIBRARIES ${PNG_LIBRARY})
+     add_subdirectory("${OpenCV_SOURCE_DIR}/3rdparty/libpng")
+     set(PNG_INCLUDE_DIR "${${PNG_LIBRARY}_SOURCE_DIR}")

diff --git a/media-libs/opencv/files/opencv-3.1.0-remove-graphcut-for-cuda-8.patch b/media-libs/opencv/files/opencv-3.1.0-remove-graphcut-for-cuda-8.patch
new file mode 100644
index 00000000..64761a2
--- /dev/null
+++ b/media-libs/opencv/files/opencv-3.1.0-remove-graphcut-for-cuda-8.patch
@@ -0,0 +1,23 @@
+From 10896129b39655e19e4e7c529153cb5c2191a1db Mon Sep 17 00:00:00 2001
+From: Vladislav Vinogradov <vlad.vinogradov@itseez.com>
+Date: Fri, 6 May 2016 11:37:32 +0300
+Subject: [PATCH] GraphCut deprecated in CUDA 7.5 and removed in 8.0
+
+---
+ modules/cudalegacy/src/graphcuts.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/modules/cudalegacy/src/graphcuts.cpp b/modules/cudalegacy/src/graphcuts.cpp
+index eb08c3c..1a1eb85 100644
+--- a/modules/cudalegacy/src/graphcuts.cpp
++++ b/modules/cudalegacy/src/graphcuts.cpp
+@@ -42,7 +42,8 @@
+ 
+ #include "precomp.hpp"
+ 
+-#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
++// GraphCut has been removed in NPP 8.0
++#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
+ 
+ void cv::cuda::graphcut(GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, Stream&) { throw_no_cuda(); }
+ void cv::cuda::graphcut(GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, Stream&) { throw_no_cuda(); }

diff --git a/media-libs/opencv/metadata.xml b/media-libs/opencv/metadata.xml
index fe2e2d9..bc331e3 100644
--- a/media-libs/opencv/metadata.xml
+++ b/media-libs/opencv/metadata.xml
@@ -24,8 +24,14 @@ Face Recognition; Gesture Recognition; Motion Tracking, Ego Motion, Motion Under
 		<flag name="cuda">Enable NVIDIA Cuda computations support</flag>
 		<flag name="eigen">Enable usage of <pkg>dev-cpp/eigen</pkg> for computations</flag>
 		<flag name="gdal">Enable support for sci-libs/gdal library</flag>
+		<flag restrict="&gt;=media-libs/opencv-3.1.0" name="gflags">Use Google's C++ argument parsing library</flag>
+		<flag restrict="&gt;=media-libs/opencv-3.1.0" name="glog">Use Google's C++ loggin library</flag>
 		<flag name="ipp">Enable Intel Integrated Primitive support</flag>
+		<flag restrict="&gt;=media-libs/opencv-3.1.0" name="contrib_cvv">CVV module requires Qt5</flag>
+		<flag restrict="&gt;=media-libs/opencv-3.1.0" name="contrib_hdf">HDF module requires <pkg>sci-libs/hdf5</pkg></flag>
+		<flag restrict="&gt;=media-libs/opencv-3.1.0" name="contrib_sfm">SFM module requires eigen, gflags, and glog</flag>
 		<flag name="opencl">Add support for OpenCL</flag>
+		<flag restrict="&gt;=media-libs/opencv-3.1.0" name="tesseract">Use Google's OCR Engine</flag>
 		<flag name="testprograms">Build and install programs for testing OpenCV (performance)</flag>
 		<flag name="vtk">Build new 3D visualization module viz based on sci-libs/vtk</flag>
 		<flag name="webp">Enable support for webp image format</flag>

diff --git a/media-libs/opencv/opencv-3.1.0-r6.ebuild b/media-libs/opencv/opencv-3.1.0-r6.ebuild
new file mode 100644
index 00000000..a6adf6f
--- /dev/null
+++ b/media-libs/opencv/opencv-3.1.0-r6.ebuild
@@ -0,0 +1,296 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+
+inherit toolchain-funcs cmake-utils python-r1 java-pkg-opt-2 java-ant-2
+
+DESCRIPTION="A collection of algorithms and sample code for
+	various computer vision problems"
+HOMEPAGE="http://opencv.org"
+
+BASE_URI="https://github.com/${PN}/${PN}"
+#commit from Thu, 02 Jun 2016
+CONTRIB_URI="75b3ea9f72fdb083140fc63855b7677d67748376"
+CONTRIB_P="${P}_contrib-${CONTRIB_URI:0:7}"
+
+SRC_URI="${BASE_URI}/archive/${PV}.tar.gz -> ${P}.tar.gz
+	contrib? ( ${BASE_URI}_contrib/archive/${CONTRIB_URI}.tar.gz -> ${CONTRIB_P}.tar.gz )"
+LICENSE="BSD"
+SLOT="0/3.1" # subslot = libopencv* soname version
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux"
+IUSE="contrib cuda +eigen examples ffmpeg gdal gflags glog gphoto2 gstreamer gtk \
+	ieee1394 ipp jpeg jpeg2k libav opencl openexr opengl openmp pch png \
+	+python qt5 tesseract testprograms threads tiff vaapi v4l vtk webp xine \
+	contrib_cvv contrib_hdf contrib_sfm"
+
+# OpenGL needs gtk or Qt installed to activate, otherwise build system
+# will silently disable it without the user knowing, which defeats the
+# purpose of the opengl use flag.
+REQUIRED_USE="
+	cuda? ( tesseract? ( opencl ) )
+	gflags? ( contrib )
+	glog? ( contrib )
+	contrib_cvv? ( contrib qt5 )
+	contrib_hdf? ( contrib )
+	contrib_sfm? ( contrib eigen gflags glog )
+	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
+	sys-libs/zlib
+	cuda? ( dev-util/nvidia-cuda-toolkit:0= )
+	ffmpeg? (
+		libav? ( media-video/libav:0= )
+		!libav? ( media-video/ffmpeg:0= )
+	)
+	gdal? ( sci-libs/gdal )
+	gflags? ( dev-cpp/gflags )
+	glog? ( dev-cpp/glog )
+	gphoto2? ( media-libs/libgphoto2 )
+	gstreamer? (
+		media-libs/gstreamer:1.0
+		media-libs/gst-plugins-base:1.0
+	)
+	gtk? (
+		dev-libs/glib:2
+		x11-libs/gtk+:2
+		opengl? ( x11-libs/gtkglext )
+	)
+	java? ( >=virtual/jre-1.6:* )
+	jpeg? ( virtual/jpeg:0 )
+	jpeg2k? ( media-libs/jasper )
+	ieee1394? (
+		media-libs/libdc1394
+		sys-libs/libraw1394
+	)
+	ipp? ( sci-libs/ipp )
+	contrib_hdf? ( sci-libs/hdf5 )
+	opencl? ( virtual/opencl )
+	openexr? ( media-libs/openexr )
+	opengl? ( virtual/opengl virtual/glu )
+	png? ( media-libs/libpng:0= )
+	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 )
+	tiff? ( media-libs/tiff:0 )
+	v4l? ( >=media-libs/libv4l-0.8.3 )
+	vtk? ( sci-libs/vtk[rendering] )
+	webp? ( media-libs/libwebp )
+	xine? ( media-libs/xine-lib )"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	eigen? ( dev-cpp/eigen:3 )
+	java?  ( >=virtual/jdk-1.6 )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.0.0-gles.patch
+	"${FILESDIR}"/${P}-cmake-no-opengl.patch
+	"${FILESDIR}"/${P}-git-autodetect.patch
+	"${FILESDIR}"/${P}-java-magic.patch
+	"${FILESDIR}"/${P}-gentooify-python.patch
+	"${FILESDIR}"/${P}-remove-graphcut-for-cuda-8.patch
+	"${FILESDIR}"/${P}-find-libraries-fix.patch
+)
+
+GLOBALCMAKEARGS=()
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+	java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+	default
+
+	# remove bundled stuff
+	rm -rf 3rdparty || die "Removing 3rd party components failed"
+	sed -e '/add_subdirectory(.*3rdparty.*)/ d' \
+	    -i CMakeLists.txt cmake/*cmake || die
+
+	java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+	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
+
+	# please dont sort here, order is the same as in CMakeLists.txt
+	GLOBALCMAKEARGS=(
+	# Optional 3rd party components
+	# ===================================================
+		-DWITH_1394=$(usex ieee1394)
+		-DWITH_AVFOUNDATION=OFF 	# IOS
+		-DWITH_VTK=$(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=OFF
+		-DWITH_IPP=$(usex ipp)
+		-DWITH_JASPER=$(usex jpeg2k)
+		-DWITH_JPEG=$(usex jpeg)
+		-DWITH_WEBP=$(usex webp)
+		-DWITH_OPENEXR=$(usex openexr)
+		-DWITH_OPENGL=$(usex opengl)
+		-DWITH_OPENNI=OFF 		# Not packaged
+		-DWITH_OPENNI2=OFF 		# Not packaged
+		-DWITH_PNG=$(usex png)
+		-DWITH_PVAPI=OFF		# Not packaged
+		-DWITH_GIGEAPI=OFF
+		-DWITH_QT=$(usex qt5 5 OFF)
+		-DWITH_WIN32UI=OFF		# Windows only
+		-DWITH_QUICKTIME=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=$(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_JAVA=$(usex java) # Ant needed, no compile flag
+		-DWITH_IPP_A=OFF
+		-DWITH_MATLAB=OFF
+		-DWITH_VA=$(usex vaapi)
+		-DWITH_VA_INTEL=$(usex vaapi)
+		-DWITH_GDAL=$(usex gdal)
+		-DWITH_GPHOTO2=$(usex gphoto2)
+	# ===================================================
+	# CUDA build components: nvidia-cuda-toolkit takes care of GCC version
+	# ===================================================
+		-DWITH_CUDA=$(usex cuda)
+		-DWITH_CUBLAS=$(usex cuda)
+		-DWITH_CUFFT=$(usex cuda)
+		-DCUDA_NPP_LIBRARY_ROOT_DIR=$(usex cuda "${EPREFIX}/opt/cuda" "")
+	# ===================================================
+	# OpenCV build components
+	# ===================================================
+		-DBUILD_SHARED_LIBS=ON
+		-DBUILD_ANDROID_EXAMPLES=OFF
+		-DBUILD_DOCS=OFF # Doesn't install anyways.
+		-DBUILD_EXAMPLES=$(usex examples)
+		-DBUILD_PERF_TESTS=OFF
+		-DBUILD_TESTS=$(usex testprograms)
+		-DOPENCV_EXTRA_MODULES_PATH=$(usex contrib "${WORKDIR}/opencv_contrib-${CONTRIB_URI}/modules" "")
+	# ===================================================
+	# OpenCV installation options
+	# ===================================================
+		-DINSTALL_C_EXAMPLES=$(usex examples)
+		-DINSTALL_TESTS=$(usex testprograms)
+	# ===================================================
+	# OpenCV build options
+	# ===================================================
+		-DENABLE_PRECOMPILED_HEADERS=$(usex pch)
+		-DHAVE_opencv_java=$(usex java YES NO)
+	# ===================================================
+	# things we want to be hard off or not yet figured out
+	# ===================================================
+		-DBUILD_PACKAGE=OFF
+		-DENABLE_PROFILING=OFF
+	# ===================================================
+	# things we want to be hard enabled not worth useflag
+	# ===================================================
+		-DCMAKE_SKIP_RPATH=ON
+		-DOPENCV_DOC_INSTALL_PATH=
+	)
+
+	# ===================================================
+	# OpenCV Contrib Modules
+	# ===================================================
+	if use contrib; then
+		GLOBALCMAKEARGS+=(
+			-DBUILD_opencv_dnn=OFF
+			-DBUILD_opencv_dnns_easily_fooled=OFF
+			-DBUILD_opencv_cvv=$(usex contrib_cvv ON OFF)
+			-DBUILD_opencv_hdf=$(usex contrib_hdf ON OFF)
+			-DBUILD_opencv_sfm=$(usex contrib_sfm ON OFF)
+		)
+	fi
+
+	# workaround for bug 413429
+	tc-export CC CXX
+
+	local mycmakeargs=( ${GLOBALCMAKEARGS[@]}
+			    -DWITH_PYTHON=OFF
+			    -DINSTALL_PYTHON_EXAMPLES=OFF
+	)
+
+	cmake-utils_src_configure
+}
+
+python_module_compile() {
+	local mycmakeargs=( ${GLOBALCMAKEARGS[@]} )
+
+	# Set all python variables to load the correct Gentoo paths
+	mycmakeargs+=(
+		-DWITH_PYTHON=ON
+		-DGENTOO_PYTHON_EXECUTABLE=${EPYTHON}
+		-DGENTOO_PYTHON_INCLUDE_PATH="$(python_get_includedir)"
+		-DGENTOO_PYTHON_LIBRARIES="$(python_get_library_path)"
+		-DGENTOO_PYTHON_PACKAGES_PATH="$(python_get_sitedir)"
+		-DGENTOO_PYTHON_MAJOR=${EPYTHON:6:1}
+		-DGENTOO_PYTHON_MINOR=${EPYTHON:8:1}
+		-DGENTOO_PYTHON_DEBUG_LIBRARIES=""
+		-DINSTALL_PYTHON_EXAMPLES=$(usex examples)
+	)
+
+	# Compile and install all at once because configuration will be wiped
+	# for each impl of Python
+	BUILD_DIR="${WORKDIR}"/${P}_build
+	cd "${BUILD_DIR}" || die "cd failed"
+
+	# 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.
+	emake -C modules/${EPYTHON:0:7} clean
+	rm -rf modules/${EPYTHON:0:7} || die "rm failed"
+}
+
+src_install() {
+	cmake-utils_src_install
+
+	# Build and install the python modules for all targets
+	use python && python_foreach_impl python_module_compile
+}


             reply	other threads:[~2016-11-08  7:01 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-08  7:01 Amy Winston [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-11-05  2:03 [gentoo-commits] repo/gentoo:master commit in: media-libs/opencv/, media-libs/opencv/files/ Sam James
2024-11-05  2:03 Sam James
2024-02-04 13:15 Andreas Sturmlechner
2024-02-04 12:45 Andreas Sturmlechner
2024-01-10 12:33 Sam James
2023-11-22 11:40 Sam James
2023-08-28  4:05 Sam James
2022-09-14  9:19 Andreas Sturmlechner
2022-04-19  5:50 Matt Turner
2021-05-31 20:53 Michał Górny
2020-11-03  7:18 Sam James
2020-06-25 17:08 Andreas Sturmlechner
2019-12-06 20:37 Amy Liffey
2019-03-31 18:52 Amy Liffey
2019-01-24  9:24 Amy Liffey
2019-01-17 18:12 Amy Liffey
2017-09-19 14:00 Amy Liffey
2017-09-19  7:52 Amy Liffey
2017-09-01 11:39 Amy Liffey
2017-06-06 14:45 Amy Liffey
2017-04-16 14:15 Amy Liffey
2016-11-08  7:01 Amy Winston
2016-06-09 18:27 Amy Winston
2016-05-15 13:52 Amy Winston
2016-03-02 12:14 Amy Winston
2016-01-23 17:51 Amy Winston

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1478587890.7701033807a21a0c5c52780efa1a1b059e3e9b95.amynka@gentoo \
    --to=amynka@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox