Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/opencv/
Date: Mon, 20 Nov 2017 18:50:42
Message-Id: 1511203813.91df30d9986062579ba0e9d6c2e97f4440b3136a.asturm@gentoo
1 commit: 91df30d9986062579ba0e9d6c2e97f4440b3136a
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Mon Nov 20 17:39:55 2017 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Mon Nov 20 18:50:13 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91df30d9
7
8 media-libs/opencv: Drop USE=qt4
9
10 Package-Manager: Portage-2.3.13, Repoman-2.3.4
11
12 media-libs/opencv/opencv-2.4.13-r3.ebuild | 227 ++++++++++++++++++++++++++++++
13 1 file changed, 227 insertions(+)
14
15 diff --git a/media-libs/opencv/opencv-2.4.13-r3.ebuild b/media-libs/opencv/opencv-2.4.13-r3.ebuild
16 new file mode 100644
17 index 00000000000..f2f5fa1b00f
18 --- /dev/null
19 +++ b/media-libs/opencv/opencv-2.4.13-r3.ebuild
20 @@ -0,0 +1,227 @@
21 +# Copyright 1999-2017 Gentoo Foundation
22 +# Distributed under the terms of the GNU General Public License v2
23 +
24 +EAPI=6
25 +PYTHON_COMPAT=( python2_7 )
26 +
27 +inherit toolchain-funcs cmake-utils python-single-r1 java-pkg-opt-2 java-ant-2
28 +
29 +DESCRIPTION="A collection of algorithms and sample code for various computer vision problems"
30 +HOMEPAGE="http://opencv.org"
31 +
32 +SRC_URI="https://github.com/Itseez/opencv/archive/${PV}.tar.gz -> ${P}.tar.gz"
33 +
34 +LICENSE="BSD"
35 +SLOT="0/2.4"
36 +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux"
37 +IUSE="cuda +eigen examples ffmpeg gstreamer gtk ieee1394 ipp jpeg jpeg2k libav opencl openexr opengl openmp pch png +python qt5 testprograms threads tiff v4l vtk xine"
38 +
39 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
40 +
41 +# The following logic is intrinsic in the build system, but we do not enforce
42 +# it on the useflags since this just blocks emerging pointlessly:
43 +# gtk? ( !qt4 )
44 +# opengl? ( || ( gtk qt4 ) )
45 +# openmp? ( !threads )
46 +
47 +RDEPEND="
48 + app-arch/bzip2
49 + sys-libs/zlib
50 + cuda? ( >=dev-util/nvidia-cuda-toolkit-5.5 )
51 + ffmpeg? (
52 + libav? ( media-video/libav:0= )
53 + !libav? ( media-video/ffmpeg:0= )
54 + )
55 + gstreamer? (
56 + media-libs/gstreamer:1.0
57 + media-libs/gst-plugins-base:1.0
58 + )
59 + gtk? (
60 + dev-libs/glib:2
61 + x11-libs/gtk+:2
62 + opengl? ( x11-libs/gtkglext )
63 + )
64 + java? ( >=virtual/jre-1.6:* )
65 + jpeg? ( virtual/jpeg:0 )
66 + jpeg2k? ( media-libs/jasper:= )
67 + ieee1394? (
68 + media-libs/libdc1394
69 + sys-libs/libraw1394
70 + )
71 + ipp? ( sci-libs/ipp )
72 + opencl? ( virtual/opencl )
73 + openexr? ( media-libs/openexr )
74 + opengl? ( virtual/opengl virtual/glu )
75 + png? ( media-libs/libpng:0= )
76 + python? ( ${PYTHON_DEPS} dev-python/numpy[${PYTHON_USEDEP}] )
77 + qt5? (
78 + dev-qt/qtconcurrent:5
79 + dev-qt/qtcore:5
80 + dev-qt/qtgui:5
81 + dev-qt/qttest:5
82 + opengl? ( dev-qt/qtopengl:5 )
83 + )
84 + threads? ( dev-cpp/tbb )
85 + tiff? ( media-libs/tiff:0 )
86 + v4l? ( >=media-libs/libv4l-0.8.3 )
87 + vtk? ( sci-libs/vtk[rendering] )
88 + xine? ( media-libs/xine-lib )
89 +"
90 +DEPEND="${RDEPEND}
91 + virtual/pkgconfig
92 + eigen? ( dev-cpp/eigen:3 )
93 + java? ( >=virtual/jdk-1.6 )
94 +"
95 +
96 +PATCHES=(
97 + "${FILESDIR}/${PN}-2.3.1a-libav-0.7.patch"
98 + "${FILESDIR}/${PN}-2.4.3-gcc47.patch"
99 + "${FILESDIR}/${PN}-2.4.2-cflags.patch"
100 + "${FILESDIR}/${PN}-2.4.8-javamagic.patch"
101 + "${FILESDIR}/${PN}-2.4.9-cuda-pkg-config.patch"
102 + "${FILESDIR}/${PN}-3.0.0-gles.patch"
103 + "${FILESDIR}/${P}-gcc-6.0.patch"
104 + "${FILESDIR}/${P}-imgcodecs-refactoring.patch" #bug 627958
105 +)
106 +
107 +pkg_setup() {
108 + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
109 + use python && python-single-r1_pkg_setup
110 + java-pkg-opt-2_pkg_setup
111 +}
112 +
113 +src_prepare() {
114 + cmake-utils_src_prepare
115 +
116 + # remove bundled stuff
117 + rm -rf 3rdparty || die "Removing 3rd party components failed"
118 + sed -i \
119 + -e '/add_subdirectory(3rdparty)/ d' \
120 + CMakeLists.txt || die
121 +
122 + java-pkg-opt-2_src_prepare
123 +}
124 +
125 +src_configure() {
126 +
127 + JAVA_ANT_ENCODING="iso-8859-1"
128 + # set encoding so even this cmake build will pick it up.
129 + export ANT_OPTS+=" -Dfile.encoding=iso-8859-1"
130 + java-ant-2_src_configure
131 +
132 + # please dont sort here, order is the same as in CMakeLists.txt
133 + local mycmakeargs=(
134 + # the optinal dependency libraries
135 + -DWITH_1394=$(usex ieee1394)
136 + -DWITH_AVFOUNDATION=OFF
137 + -DWITH_VTK=$(usex vtk)
138 + -DWITH_EIGEN=$(usex eigen)
139 + -DWITH_VFW=OFF
140 + -DWITH_FFMPEG=$(usex ffmpeg)
141 + -DWITH_GSTREAMER=$(usex gstreamer)
142 + -DWITH_GSTREAMER_0_10=OFF
143 + -DWITH_GTK=$(usex gtk)
144 + -DWITH_IMAGEIO=OFF
145 + -DWITH_IPP=$(usex ipp)
146 + -DWITH_JASPER=$(usex jpeg2k)
147 + -DWITH_JPEG=$(usex jpeg)
148 + -DWITH_OPENEXR=$(usex openexr)
149 + -DWITH_OPENGL=$(usex opengl)
150 + -DWITH_OPENCL=$(usex opencl)
151 + -DWITH_OPENNI=OFF
152 + -DWITH_PNG=$(usex png)
153 + -DWITH_PVAPI=OFF
154 + -DWITH_QT=$(usex qt5 5 OFF)
155 + -DWITH_GIGEAPI=OFF
156 + -DWITH_WIN32UI=OFF
157 + -DWITH_QUICKTIME=OFF
158 + -DWITH_TBB=$(usex threads)
159 + -DWITH_OPENMP=$(usex openmp)
160 + -DWITH_CSTRIPES=OFF
161 + -DWITH_TIFF=$(usex tiff)
162 + -DWITH_UNICAP=OFF
163 + -DWITH_V4L=$(usex v4l)
164 + -DWITH_LIBV4L=$(usex v4l)
165 + -DWITH_DSHOW=ON
166 + -DWITH_MSMF=OFF
167 + -DWITH_XIMEA=OFF
168 + -DWITH_XINE=$(usex xine)
169 + -DWITH_OPENCL=$(usex opencl)
170 + -DWITH_OPENCLAMDFFT=$(usex opencl)
171 + -DWITH_OPENCLAMDBLAS=$(usex opencl)
172 + -DWITH_INTELPERC=OFF
173 + -DWITH_JAVA=$(usex java)
174 +
175 + # the build components
176 + -DBUILD_SHARED_LIBS=ON
177 + -DBUILD_ANDROID_EXAMPLES=OFF
178 + -DBUILD_DOCS=OFF #too much dark magic in cmakelists
179 + -DBUILD_EXAMPLES=$(usex examples)
180 + -DBUILD_PERF_TESTS=OFF
181 + -DBUILD_TESTS=$(usex testprograms)
182 +
183 + # install examples
184 + -DINSTALL_C_EXAMPLES=$(usex examples)
185 + -DINSTALL_TESTS=$(usex testprograms)
186 +
187 + # build options
188 + -DENABLE_PRECOMPILED_HEADERS=$(usex pch)
189 + -DENABLE_SOLUTION_FOLDERS=OFF
190 + -DENABLE_PROFILING=OFF
191 + -DENABLE_COVERAGE=OFF
192 + -DENABLE_OMIT_FRAME_POINTER=OFF
193 + -DENABLE_FAST_MATH=OFF #
194 + -DENABLE_SSE=OFF # these options do nothing but
195 + -DENABLE_SSE2=OFF # add params to CFLAGS
196 + -DENABLE_SSE3=OFF
197 + -DENABLE_SSSE3=OFF
198 + -DENABLE_SSE41=OFF
199 + -DENABLE_SSE42=OFF
200 +
201 + -DOPENCV_EXTRA_FLAGS_RELEASE="" # black magic
202 + )
203 +
204 + if use cuda; then
205 + if [[ "$(gcc-version)" > "4.8" ]]; then
206 + # bug 577410
207 + # #error -- unsupported GNU version! gcc 4.9 and up are not supported!
208 + ewarn "CUDA and >=sys-devel/gcc-4.9 do not play well together. Disabling CUDA support."
209 + mycmakeargs+=( -DWITH_CUDA=OFF )
210 + mycmakeargs+=( -DWITH_CUBLAS=OFF )
211 + mycmakeargs+=( -DWITH_CUFFT=OFF )
212 +
213 + else
214 + mycmakeargs+=( -DWITH_CUDA=ON )
215 + mycmakeargs+=( -DWITH_CUBLAS=ON )
216 + mycmakeargs+=( -DWITH_CUFFT=ON )
217 + mycmakeargs+=( -DCUDA_NPP_LIBRARY_ROOT_DIR=/opt/cuda )
218 + fi
219 + else
220 + mycmakeargs+=( -DWITH_CUDA=OFF )
221 + mycmakeargs+=( -DWITH_CUBLAS=OFF )
222 + mycmakeargs+=( -DWITH_CUFFT=OFF )
223 + fi
224 +
225 + if use examples && use python; then
226 + mycmakeargs+=( -DINSTALL_PYTHON_EXAMPLES=ON )
227 + else
228 + mycmakeargs+=( -DINSTALL_PYTHON_EXAMPLES=OFF )
229 + fi
230 +
231 + # things we want to be hard off or not yet figured out
232 + mycmakeargs+=(
233 + -DOPENCV_BUILD_3RDPARTY_LIBS=OFF
234 + -DBUILD_PACKAGE=OFF
235 + )
236 +
237 + # things we want to be hard enabled not worth useflag
238 + mycmakeargs+=(
239 + -DCMAKE_SKIP_RPATH=ON
240 + -DOPENCV_DOC_INSTALL_PATH=
241 + )
242 +
243 + # workaround for bug 413429
244 + tc-export CC CXX
245 +
246 + cmake-utils_src_configure
247 +}