Gentoo Archives: gentoo-commits

From: Tomas Chvatal <scarabeus@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/kde:master commit in: media-libs/opencv/files/, media-libs/opencv/
Date: Fri, 29 Apr 2011 19:09:06
Message-Id: b70796f56eb95c87991e6c7b4a9fee850e003153.scarabeus@gentoo
1 commit: b70796f56eb95c87991e6c7b4a9fee850e003153
2 Author: Tomas Chvatal <scarabeus <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 29 19:08:16 2011 +0000
4 Commit: Tomas Chvatal <scarabeus <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 29 19:08:16 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/kde.git;a=commit;h=b70796f5
7
8 [media-libs/opencv] Add initial 2.2.0 ebuild that could in theory compile.
9
10 ---
11 .../files/2.2.0-convert_sets_to_options.patch | 228 ++++++++++++++++++++
12 media-libs/opencv/metadata.xml | 21 ++
13 media-libs/opencv/opencv-2.2.0.ebuild | 139 ++++++++++++
14 3 files changed, 388 insertions(+), 0 deletions(-)
15
16 diff --git a/media-libs/opencv/files/2.2.0-convert_sets_to_options.patch b/media-libs/opencv/files/2.2.0-convert_sets_to_options.patch
17 new file mode 100644
18 index 0000000..8856495
19 --- /dev/null
20 +++ b/media-libs/opencv/files/2.2.0-convert_sets_to_options.patch
21 @@ -0,0 +1,228 @@
22 +diff -urN OpenCV-2.2.0.old/CMakeLists.txt OpenCV-2.2.0/CMakeLists.txt
23 +--- OpenCV-2.2.0.old/CMakeLists.txt 2010-12-05 04:35:23.000000000 +0100
24 ++++ OpenCV-2.2.0/CMakeLists.txt 2011-04-29 20:08:03.000000000 +0200
25 +@@ -13,7 +13,7 @@
26 + # Add these standard paths to the search paths for FIND_LIBRARY
27 + # to find libraries from these locations first
28 + if(UNIX)
29 +- set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib /usr/lib)
30 ++ set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib${LIB_SUFFIX} /usr/lib${LIB_SUFFIX})
31 + endif()
32 + # it _must_ go before PROJECT(OpenCV) in order to work
33 + if (NOT CMAKE_INSTALL_PREFIX)
34 +@@ -94,7 +94,7 @@
35 + # Build static or dynamic libs?
36 + # ----------------------------------------------------------------------------
37 + # Default: dynamic libraries:
38 +-SET(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)")
39 ++OPTION(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" ON)
40 + IF(BUILD_SHARED_LIBS)
41 + SET(OPENCV_BUILD_SHARED_LIB 1) # For cvconfig.h, etc.
42 + ELSE(BUILD_SHARED_LIBS)
43 +@@ -196,13 +196,13 @@
44 +
45 + # Build/install (or not) some apps:
46 + # ===================================================
47 +-set(BUILD_EXAMPLES OFF CACHE BOOL "Build all examples")
48 +-set(INSTALL_C_EXAMPLES OFF CACHE BOOL "Install C examples")
49 +-set(INSTALL_PYTHON_EXAMPLES OFF CACHE BOOL "Install Python examples")
50 ++option(BUILD_EXAMPLES "Build all examples" OFF)
51 ++option(INSTALL_C_EXAMPLES "Install C examples" OFF)
52 ++option(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF)
53 +
54 + # Build tests:
55 + # ===================================================
56 +-set(BUILD_TESTS ON CACHE BOOL "Build tests")
57 ++option(BUILD_TESTS "Build tests" ON)
58 +
59 + # Build 3rdparty libraries under unix
60 + # ===================================================
61 +@@ -229,12 +229,12 @@
62 + #set(ENABLE_OPENMP ${DEFAULT_ENABLE_OPENMP} CACHE BOOL "")
63 +
64 + if(CMAKE_COMPILER_IS_GNUCXX)
65 +- set(ENABLE_PROFILING OFF CACHE BOOL "Enable profiling in the GCC compiler (Add flags: -g -pg)")
66 +- set(USE_OMIT_FRAME_POINTER ON CACHE BOOL "Enable -fomit-frame-pointer for GCC")
67 ++ option(ENABLE_PROFILING "Enable profiling in the GCC compiler (Add flags: -g -pg)" OFF)
68 ++ option(USE_OMIT_FRAME_POINTER "Enable -fomit-frame-pointer for GCC" ON)
69 + if(${CMAKE_SYSTEM_PROCESSOR} MATCHES arm*)
70 + # We can use only -O2 because the -O3 causes gcc crash
71 +- set(USE_O2 ON CACHE BOOL "Enable -O2 for GCC")
72 +- set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
73 ++ option(USE_O2 "Enable -O2 for GCC" ON)
74 ++ option(USE_FAST_MATH "Enable -ffast-math for GCC" ON)
75 + endif()
76 +
77 + if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)
78 +@@ -255,56 +255,56 @@
79 + endif()
80 +
81 + if(${CMAKE_SYSTEM_PROCESSOR} MATCHES powerpc*)
82 +- set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
83 +- set(ENABLE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC")
84 ++ option(USE_O3 "Enable -O3 for GCC" ON)
85 ++ option(ENABLE_POWERPC "Enable PowerPC for GCC" ON)
86 + endif ()
87 +
88 + if(X86 OR X86_64)
89 + # enable everything, since the available set of instructions is checked at runtime
90 +- set(USE_O3 ON CACHE BOOL "Enable -O3")
91 +- set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math")
92 +- set(ENABLE_SSE ON CACHE BOOL "Enable SSE instructions")
93 +- set(ENABLE_SSE2 ON CACHE BOOL "Enable SSE2 instructions")
94 +- set(ENABLE_SSE3 OFF CACHE BOOL "Enable SSE3 instructions")
95 +- set(ENABLE_SSSE3 OFF CACHE BOOL "Enable SSSE3 instructions")
96 +- set(ENABLE_SSE41 OFF CACHE BOOL "Enable SSE4.1 instructions")
97 +- set(ENABLE_SSE42 OFF CACHE BOOL "Enable SSE4.2 instructions")
98 ++ set(USE_O3 "Enable -O3" ON)
99 ++ set(USE_FAST_MATH "Enable -ffast-math" ON)
100 ++ option(ENABLE_SSE "Enable SSE instructions" ON)
101 ++ option(ENABLE_SSE2 "Enable SSE2 instructions" ON)
102 ++ option(ENABLE_SSE3 "Enable SSE3 instructions" OFF)
103 ++ option(ENABLE_SSSE3 "Enable SSSE3 instructions" OFF)
104 ++ option(ENABLE_SSE41 "Enable SSE4.1 instructions" OFF)
105 ++ option(ENABLE_SSE42 "Enable SSE4.2 instructions" OFF)
106 + endif()
107 + endif()
108 +
109 + # allow fine grained control over which libraries not to link, even if
110 + # they are available on the system
111 + # ====================================================================
112 +-set(WITH_PNG ON CACHE BOOL "Include PNG support")
113 +-set(WITH_JPEG ON CACHE BOOL "Include JPEG support")
114 +-set(WITH_JASPER ON CACHE BOOL "Include JPEG2K support")
115 +-set(WITH_TIFF ON CACHE BOOL "Include TIFF support")
116 +-set(WITH_OPENEXR ON CACHE BOOL "Include ILM support via OpenEXR")
117 ++option(WITH_PNG "Include PNG support" ON)
118 ++option(WITH_JPEG "Include JPEG support" ON)
119 ++option(WITH_JASPER "Include JPEG2K support" ON)
120 ++option(WITH_TIFF "Include TIFF support" ON)
121 ++option(WITH_OPENEXR "Include ILM support via OpenEXR" ON)
122 +
123 + if(UNIX)
124 +- set(WITH_FFMPEG ON CACHE BOOL "Include FFMPEG support")
125 ++ option(WITH_FFMPEG "Include FFMPEG support" ON)
126 + if(NOT APPLE)
127 +- set(WITH_UNICAP OFF CACHE BOOL "Include Unicap support (GPL)")
128 +- set(WITH_GTK ON CACHE BOOL "Include GTK support")
129 +- set(WITH_GSTREAMER ON CACHE BOOL "Include Gstreamer support")
130 +- set(WITH_V4L ON CACHE BOOL "Include Video 4 Linux support")
131 +- set(WITH_XINE OFF CACHE BOOL "Include Xine support (GPL)")
132 ++ option(WITH_UNICAP "Include Unicap support (GPL)" OFF)
133 ++ option(WITH_GTK "Include GTK support" ON)
134 ++ option(WITH_GSTREAMER "Include Gstreamer support" ON)
135 ++ option(WITH_V4L "Include Video 4 Linux support" ON)
136 ++ option(WITH_XINE "Include Xine support (GPL)" OFF)
137 + endif()
138 +- set(WITH_PVAPI ON CACHE BOOL "Include Prosilica GigE support")
139 +- set(WITH_1394 ON CACHE BOOL "Include IEEE1394 support")
140 ++ option(WITH_PVAPI "Include Prosilica GigE support" ON)
141 ++ option(WITH_1394 "Include IEEE1394 support" ON)
142 + endif()
143 +
144 + if(APPLE)
145 +- set(WITH_CARBON OFF CACHE BOOL "Use Carbon for UI instead of Cocoa")
146 +- set(WITH_QUICKTIME OFF CACHE BOOL "Use QuickTime for Video I/O insted of QTKit")
147 ++ option(WITH_CARBON "Use Carbon for UI instead of Cocoa" OFF)
148 ++ option(WITH_QUICKTIME "Use QuickTime for Video I/O insted of QTKit" OFF)
149 + endif()
150 +
151 +-set(WITH_TBB OFF CACHE BOOL "Include TBB support")
152 +-set(WITH_EIGEN2 ON CACHE BOOL "Include Eigen2/Eigen3 support")
153 +-set(WITH_CUDA OFF CACHE BOOL "Include NVidia Cuda Runtime support")
154 ++option(WITH_TBB "Include TBB support" OFF)
155 ++option(WITH_EIGEN2 "Include Eigen2/Eigen3 support" ON)
156 ++option(WITH_CUDA "Include NVidia Cuda Runtime support" OFF)
157 +
158 + if(WIN32)
159 +- set(WITH_VIDEOINPUT ON CACHE BOOL "Enable VideoInput support")
160 ++ option(WITH_VIDEOINPUT "Enable VideoInput support" ON)
161 + endif()
162 +
163 + # ===================================================
164 +@@ -496,7 +496,7 @@
165 + include(OpenCVFindOpenEXR.cmake)
166 + endif()
167 +
168 +-set(BUILD_NEW_PYTHON_SUPPORT ON CACHE BOOL "Build with Python support")
169 ++option(BUILD_NEW_PYTHON_SUPPORT "Build with Python support" ON)
170 +
171 + if(BUILD_NEW_PYTHON_SUPPORT)
172 + find_package(PythonInterp)
173 +@@ -543,8 +543,8 @@
174 + #YV
175 + ############################### QT ################################
176 +
177 +-set(WITH_QT OFF CACHE BOOL "Build with Qt Backend support")
178 +-set(WITH_QT_OPENGL OFF CACHE BOOL "Add OpenGL extension to Qt")
179 ++option(WITH_QT "Build with Qt Backend support" OFF)
180 ++option(WITH_QT_OPENGL "Add OpenGL extension to Qt" OFF)
181 +
182 + set(HAVE_QT 0)
183 + set(HAVE_QT_OPENGL 0)
184 +@@ -823,15 +823,12 @@
185 +
186 +
187 + ################## LATEX ##################
188 +-set(BUILD_LATEX_DOCS OFF CACHE BOOL "Build LaTeX OpenCV Documentation")
189 ++option(BUILD_LATEX_DOCS "Build LaTeX OpenCV Documentation" OFF)
190 +
191 + ################### DOXYGEN ###############
192 +
193 + find_package(Doxygen)
194 +-
195 +-if(DOXYGEN_FOUND)
196 +- set(BUILD_DOXYGEN_DOCS ON CACHE BOOL "Generate HTML docs using Doxygen")
197 +-endif()
198 ++option(BUILD_DOXYGEN_DOCS "Generate HTML docs using Doxygen" ON)
199 +
200 + # ----------------------------------------------------------------------------
201 + # UPDATE CONFIG FILES & SCRIPTS:
202 +@@ -863,7 +860,7 @@
203 + # Set the maximum level of warnings:
204 + # ----------------------------------------------------------------------------
205 + # Should be set to true for development
206 +-set(OPENCV_WARNINGS_ARE_ERRORS OFF CACHE BOOL "Treat warnings as errors")
207 ++option(OPENCV_WARNINGS_ARE_ERRORS "Treat warnings as errors" OFF)
208 +
209 + set(EXTRA_C_FLAGS "")
210 + set(EXTRA_C_FLAGS_RELEASE "")
211 +@@ -1070,9 +1067,9 @@
212 + set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Output directory for applications" )
213 +
214 + if(WIN32)
215 +-set(OPENCV_DOC_INSTALL_PATH doc)
216 ++set(OPENCV_DOC_INSTALL_PATH doc CACHE PATH "Directory for documentation to install (without prefix)")
217 + else()
218 +-set(OPENCV_DOC_INSTALL_PATH share/opencv/doc)
219 ++set(OPENCV_DOC_INSTALL_PATH share/doc/opencv-${OPENCV_VERSION}/ CACHE PATH "Directory for documentation to install (without prefix)")
220 + endif()
221 +
222 + # --------------------------------------------------------------------------------------------
223 +@@ -1106,7 +1103,7 @@
224 + set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/include/opencv" "${CMAKE_INSTALL_PREFIX}/include")
225 + set(CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE "\"\"")
226 +
227 +-set(CMAKE_LIB_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/lib")
228 ++set(CMAKE_LIB_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
229 +
230 + exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/unix-install/\"" OUTPUT_VARIABLE RET_VAL)
231 + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
232 +@@ -1164,7 +1161,7 @@
233 + # -------------------------------------------------------------------------------------------
234 + set(prefix ${CMAKE_INSTALL_PREFIX})
235 + set(exec_prefix "\${prefix}")
236 +-set(libdir "\${exec_prefix}/lib")
237 ++set(libdir "\${exec_prefix}/lib${LIB_SUFFIX}")
238 + set(includedir "\${prefix}/include")
239 + set(VERSION ${OPENCV_VERSION})
240 +
241 +@@ -1191,7 +1188,7 @@
242 + # CPack target
243 + # ----------------------------------------------------------------------------
244 +
245 +-set(BUILD_PACKAGE OFF CACHE BOOL "Build a installer with the SDK")
246 ++option(BUILD_PACKAGE "Build a installer with the SDK" OFF)
247 +
248 + if(BUILD_PACKAGE)
249 +
250
251 diff --git a/media-libs/opencv/metadata.xml b/media-libs/opencv/metadata.xml
252 new file mode 100644
253 index 0000000..1765e23
254 --- /dev/null
255 +++ b/media-libs/opencv/metadata.xml
256 @@ -0,0 +1,21 @@
257 +<?xml version="1.0" encoding="UTF-8"?>
258 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
259 +<pkgmetadata>
260 +<herd>kde</herd>
261 +<maintainer>
262 + <email>dilfridge@g.o</email>
263 + <name>Andreas K. Huettel</name>
264 +</maintainer>
265 +<longdescription>
266 +OpenCV (Open Source Computer Vision) is a library of programming functions mainly aimed at real time computer vision.
267 +Example applications of the OpenCV library are Human-Computer Interaction (HCI); Object Identification, Segmentation and Recognition;
268 +Face Recognition; Gesture Recognition; Motion Tracking, Ego Motion, Motion Understanding; Structure From Motion (SFM); and Mobile Robotics.
269 +</longdescription>
270 +<use>
271 + <flag name="cuda">Enable NVIDIA Cuda computations support</flag>
272 + <flag name="eigen">Enable usage of <pkg>dev-cpp/eigen</pkg> for computations</flag>
273 + <flag name="ipp">Enable Intel Integrated Primitive support</flag>
274 + <flag name="sse3">Enable optimization for SSE3 capable chips</flag>
275 + <flag name="ssse3">faster floating point optimization for SSSE3 capable chips (Intel Core 2 and later chips)</flag>
276 +</use>
277 +</pkgmetadata>
278
279 diff --git a/media-libs/opencv/opencv-2.2.0.ebuild b/media-libs/opencv/opencv-2.2.0.ebuild
280 new file mode 100644
281 index 0000000..7cc0051
282 --- /dev/null
283 +++ b/media-libs/opencv/opencv-2.2.0.ebuild
284 @@ -0,0 +1,139 @@
285 +# Copyright 1999-2011 Gentoo Foundation
286 +# Distributed under the terms of the GNU General Public License v2
287 +# $Header: /var/cvsroot/gentoo-x86/media-libs/opencv/opencv-2.1.0.ebuild,v 1.7 2011/04/14 12:39:11 scarabeus Exp $
288 +
289 +EAPI=3
290 +
291 +PYTHON_DEPEND="python? 2:2.6"
292 +
293 +inherit base cmake-utils python
294 +
295 +MY_P=OpenCV-${PV}
296 +
297 +DESCRIPTION="A collection of algorithms and sample code for various computer vision problems."
298 +HOMEPAGE="http://opencv.willowgarage.com"
299 +SRC_URI="mirror://sourceforge/${PN}library/${MY_P}.tar.bz2"
300 +
301 +LICENSE="BSD"
302 +SLOT="0"
303 +KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
304 +IUSE="cuda doc eigen examples ffmpeg gstreamer gtk ieee1394 ipp jpeg jpeg2k openexr opengl png python qt4 sse sse2 sse3 ssse3 test threads tiff v4l xine"
305 +
306 +RDEPEND="
307 + cuda? ( dev-util/nvidia-cuda-toolkit )
308 + eigen? ( dev-cpp/eigen:2 )
309 + ffmpeg? ( virtual/ffmpeg )
310 + gstreamer? (
311 + media-libs/gstreamer
312 + media-libs/gst-plugins-base
313 + )
314 + gtk? (
315 + dev-libs/glib:2
316 + x11-libs/gtk+:2
317 + )
318 + jpeg? ( virtual/jpeg )
319 + jpeg2k? ( media-libs/jasper )
320 + ieee1394? ( media-libs/libdc1394 sys-libs/libraw1394 )
321 + ipp? ( sci-libs/ipp )
322 + openexr? ( media-libs/openexr )
323 + png? ( media-libs/libpng )
324 + python? ( dev-python/numpy )
325 + qt4? (
326 + x11-libs/qt-gui:4
327 + opengl? ( x11-libs/qt-opengl:4 )
328 + )
329 + threads? ( dev-cpp/tbb )
330 + tiff? ( media-libs/tiff )
331 + v4l? ( media-libs/libv4l )
332 + xine? ( media-libs/xine-lib )
333 +"
334 +DEPEND="${RDEPEND}
335 + doc? ( app-doc/doxygen[-nodot] )
336 + dev-util/pkgconfig
337 +"
338 +
339 +# REQUIRED_USE="opengl? ( qt )"
340 +
341 +PATCHES=(
342 + "${FILESDIR}/${PV}-convert_sets_to_options.patch"
343 +)
344 +
345 +S=${WORKDIR}/${MY_P}
346 +
347 +pkg_setup() {
348 + if use python; then
349 + python_set_active_version 2
350 + python_pkg_setup
351 + fi
352 +}
353 +
354 +src_prepare() {
355 + base_src_prepare
356 +
357 + # remove bundled stuff
358 + rm -rf 3rdparty
359 +}
360 +
361 +src_configure() {
362 + local mycmakeargs=(
363 + $(cmake-utils_use_build doc DOXYGEN_DOCS)
364 + $(cmake-utils_use_build examples)
365 + $(cmake-utils_use examples INSTALL_C_EXAMPLES)
366 + $(cmake-utils_use_build python NEW_PYTHON_SUPPORT)
367 + $(cmake-utils_use_build test TESTS)
368 + $(cmake-utils_use_enable sse SSE)
369 + $(cmake-utils_use_enable sse2 SSE2)
370 + $(cmake-utils_use_enable sse3 SSE3)
371 + $(cmake-utils_use_enable ssse3 SSSE3)
372 + $(cmake-utils_use_use ipp)
373 + $(cmake-utils_use_with ieee1394 1394)
374 + $(cmake-utils_use_with cuda)
375 + $(cmake-utils_use_with eigen)
376 + $(cmake-utils_use_with ffmpeg)
377 + $(cmake-utils_use_with gstreamer)
378 + $(cmake-utils_use_with gtk)
379 + $(cmake-utils_use_with jpeg2k JASPER)
380 + $(cmake-utils_use_with openexr)
381 + $(cmake-utils_use_with png)
382 + $(cmake-utils_use_with qt4 QT)
383 + $(cmake-utils_use_with opengl QT_OPENGL)
384 + $(cmake-utils_use_with threads TBB)
385 + $(cmake-utils_use_with tiff)
386 + $(cmake-utils_use_with v4l V4L)
387 + $(cmake-utils_use_with xine)
388 + )
389 +
390 + if use python && use examples; then
391 + mycmakeargs+=( "-DINSTALL_PYTHON_EXAMPLES=ON" )
392 + else
393 + mycmakeargs+=( "-DINSTALL_PYTHON_EXAMPLES=OFF" )
394 + fi
395 +
396 + # things we want to be hard off or not yet figured out
397 + # UNICAP: http://bugs.gentoo.org/show_bug.cgi?id=175881
398 + mycmakeargs+=(
399 + "-DUSE_OMIT_FRAME_POINTER=OFF"
400 + "-DOPENCV_BUILD_3RDPARTY_LIBS=OFF"
401 + "-DOPENCV_WARNINGS_ARE_ERRORS=OFF"
402 + "-DBUILD_LATEX_DOCS=OFF"
403 + "-DENABLE_POWERPC=OFF"
404 + "-DBUILD_PACKAGE=OFF"
405 + "-DENABLE_PROFILING=OFF"
406 + "-DUSE_O2=OFF"
407 + "-DUSE_O3=OFF"
408 + "-DUSE_FAST_MATH=OFF"
409 + "-DENABLE_SSE41=OFF"
410 + "-DENABLE_SSE42=OFF"
411 + "-DWITH_PVAPI=OFF"
412 + "-DWITH_UNICAP=OFF"
413 + )
414 +
415 + # things we want to be hardly enabled not worth useflag
416 + mycmakeargs+=(
417 + "-DBUILD_SHARED_LIBS=ON"
418 + "-DOPENCV_DOC_INSTALL_PATH=share/doc/${PF}"
419 + "-DOPENCV_EXTRA_C_FLAGS=${CXXFLAGS}"
420 + )
421 +
422 + cmake-utils_src_configure
423 +}