source: trunk/dports/graphics/opencv/Portfile @ 102100

Last change on this file since 102100 was 102100, checked in by jeremyhu@…, 7 years ago

opencv: Allow newer clang (#36956)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 9.4 KB
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2# $Id: Portfile 102100 2013-01-28 05:28:38Z jeremyhu@macports.org $
3
4PortSystem                      1.0
5PortGroup                       cmake 1.0
6PortGroup                       compiler_blacklist_versions 1.0
7
8name                            opencv
9version                         2.4.3
10revision                        2
11categories                      graphics science
12license                         BSD
13platforms                       darwin
14maintainers                     stromnov openmaintainer
15
16description                     Intel(R) Open Source Computer Vision Library
17
18long_description                opencv is a library that is mainly aimed at real time \
19                                computer vision. Some example areas would be \
20                                Human-Computer Interaction (HCI), Object Identification, \
21                                Segmentation and Recognition, Face Recognition, Gesture \
22                                Recognition, Motion Tracking, Ego Motion, Motion \
23                                Understanding, Structure From Motion (SFM), and Mobile \
24                                Robotics.
25
26homepage                        http://opencv.org/
27master_sites                    sourceforge:project/opencvlibrary/opencv-unix/${version}
28use_bzip2                       yes
29distname                        OpenCV-${version}
30
31checksums                       rmd160  b862ddd9e7fefd885d78835660a9f5c9320889c2 \
32                                sha256  f8fbe985978d4eae73e8c3b526ed40a37d4761d2029a5b035233f58146f6f59b
33
34depends_build-append            port:pkgconfig
35
36depends_lib-append              port:zlib \
37                                port:bzip2 \
38                                port:libpng \
39                                port:jpeg \
40                                port:tiff \
41                                port:ilmbase \
42                                port:openexr \
43                                path:lib/libavcodec.dylib:ffmpeg
44
45patchfiles                      patch-fix_dirname_case.diff \
46                                patch-install_name.diff
47
48configure.args-append           -DWITH_1394=OFF \
49                                -DWITH_CARBON=OFF \
50                                -DWITH_CUBLAS=OFF \
51                                -DWITH_CUDA=OFF \
52                                -DWITH_CUFFT=OFF \
53                                -DWITH_EIGEN=OFF \
54                                -DWITH_FFMPEG=ON \
55                                -DWITH_GSTREAMER=OFF \
56                                -DWITH_GTK=OFF \
57                                -DWITH_IMAGEIO=OFF \
58                                -DWITH_IPP=OFF \
59                                -DWITH_JASPER=ON \
60                                -DWITH_JPEG=ON \
61                                -DWITH_OPENEXR=ON \
62                                -DWITH_OPENGL=ON \
63                                -DWITH_OPENNI=OFF \
64                                -DWITH_PNG=ON \
65                                -DWITH_PVAPI=OFF \
66                                -DWITH_GIGEAPI=OFF \
67                                -DWITH_QT=OFF \
68                                -DWITH_QUICKTIME=OFF \
69                                -DWITH_TBB=OFF \
70                                -DWITH_CSTRIPES=OFF \
71                                -DWITH_TIFF=ON \
72                                -DWITH_UNICAP=OFF \
73                                -DWITH_V4L=OFF \
74                                -DWITH_VIDEOINPUT=OFF \
75                                -DWITH_XIMEA=OFF \
76                                -DWITH_XINE=OFF \
77                                -DWITH_OPENCL=OFF \
78                                -DWITH_OPENCLAMDFFT=OFF \
79                                -DWITH_OPENCLAMDBLAS=OFF \
80                                -DBUILD_SHARED_LIBS=ON \
81                                -DBUILD_DOCS=OFF \
82                                -DBUILD_EXAMPLES=OFF \
83                                -DBUILD_PERF_TESTS=OFF \
84                                -DBUILD_TESTS=OFF \
85                                -DBUILD_ZLIB=OFF \
86                                -DBUILD_TIFF=OFF \
87                                -DBUILD_JASPER=OFF \
88                                -DBUILD_JPEG=OFF \
89                                -DBUILD_PNG=OFF \
90                                -DBUILD_OPENEXR=OFF \
91                                -DPYTHON_EXECUTABLE=OFF \
92                                -DINSTALL_C_EXAMPLES=OFF \
93                                -DINSTALL_PYTHON_EXAMPLES=OFF \
94                                -DENABLE_PRECOMPILED_HEADERS=ON \
95                                -DCMAKE_VERBOSE=ON \
96                                -DZLIB_LIBRARY=${prefix}/lib/libz.dylib \
97                                -DBZIP2_LIBRARIES=${prefix}/lib/libbz2.dylib
98
99set opencv_linker_libs {"-Wl,-headerpad_max_install_names"}
100
101# gcc-4.0 exits with a bus error
102compiler.blacklist              gcc-4.0
103
104# llvm-gcc-4.2 appears to be broken on old XCode (#35368)
105if {[vercmp $xcodeversion 4.4] <= 0} {
106    compiler.blacklist-append   llvm-gcc-4.2
107}
108
109# Older clang also don't work (#36956)
110compiler.blacklist-append       {clang < 318}
111
112# TODO: base should do this: http://trac.macports.org/ticket/32542
113if {[portconfigure::compiler_is_port ${configure.compiler}]} { 
114    depends_build-append port:$portconfigure::compiler_name_map(${configure.compiler}) 
115    depends_skip_archcheck-append $portconfigure::compiler_name_map(${configure.compiler}) 
116}
117
118# PCH broken when universal
119if {[variant_isset universal]} {
120    configure.args-delete       -DENABLE_PRECOMPILED_HEADERS=ON
121    configure.args-append       -DENABLE_PRECOMPILED_HEADERS=OFF
122}
123
124# Video Decode Acceleration Framework is not available
125if {${os.major} <= 9} {
126    patchfiles-append           patch-highgui_CMakeLists.txt.diff
127}
128
129post-destroot {
130    xinstall -d ${destroot}${prefix}/lib/cmake
131    move ${destroot}${prefix}/share/OpenCV/OpenCVConfig-version.cmake \
132        ${destroot}${prefix}/share/OpenCV/OpenCVConfig.cmake \
133        ${destroot}${prefix}/lib/cmake/
134}
135
136variant eigen description {Enable eigen support.} {
137    depends_lib-append          port:eigen3
138    configure.args-delete       -DWITH_EIGEN=OFF
139    configure.args-append       -DWITH_EIGEN=ON \
140                                -DEIGEN_INCLUDE_PATH=${prefix}/include/eigen3
141}
142
143variant opencl description {Enable OpenCL support.} {
144    configure.args-delete       -DWITH_OPENCL=OFF
145    configure.args-append       -DWITH_OPENCL=ON
146}
147
148variant openni description {Enable OpenNI support.} {
149    depends_lib-append          port:openni
150    patchfiles-append           patch-cmake-OpenCVFindOpenNI.cmake.diff
151    configure.args-delete       -DWITH_OPENNI=OFF
152    configure.args-append       -DWITH_OPENNI=ON
153
154    post-patch {
155         reinplace "s,@@PREFIX@@,${prefix},g" ${worksrcpath}/cmake/OpenCVFindOpenNI.cmake
156    }
157}
158
159variant dc1394 description {Use libdc1394 for FireWire camera. Breaks compatibility with Apple iSight FireWire camera.} {
160    depends_lib-append          port:libdc1394
161    configure.args-delete       -DWITH_1394=OFF
162    configure.args-append       -DWITH_1394=ON \
163                                -DHAVE_DC1394_2=ON
164}
165
166variant qt4 description {Build with Qt Backend support.} {
167    PortGroup                   qt4 1.0
168    configure.args-delete       -DWITH_QT=OFF
169    configure.args-append       -DWITH_QT=ON
170}
171
172variant python26 conflicts python27 description {Add Python 2.6 bindings.} {
173    depends_lib-append          port:python26 \
174                                port:py26-numpy
175    configure.args-delete       -DINSTALL_PYTHON_EXAMPLES=OFF \
176                                -DPYTHON_EXECUTABLE=OFF
177    configure.args-append       -DINSTALL_PYTHON_EXAMPLES=ON \
178                                -DPYTHON_EXECUTABLE=${prefix}/bin/python2.6 \
179                                -DPYTHON_LIBRARY=${prefix}/lib/libpython2.6.dylib \
180                                -DPYTHON_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/2.6/Headers \
181                                -DPYTHON_PACKAGES_PATH=${frameworks_dir}/Python.framework/Versions/2.6/lib/python2.6/site-packages
182}
183
184variant python27 conflicts python26 description {Add Python 2.7 bindings.} {
185    depends_lib-append          port:python27 \
186                                port:py27-numpy
187    configure.args-delete       -DINSTALL_PYTHON_EXAMPLES=OFF \
188                                -DPYTHON_EXECUTABLE=OFF
189    configure.args-append       -DINSTALL_PYTHON_EXAMPLES=ON \
190                                -DPYTHON_EXECUTABLE=${prefix}/bin/python2.7 \
191                                -DPYTHON_LIBRARY=${prefix}/lib/libpython2.7.dylib \
192                                -DPYTHON_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/2.7/Headers \
193                                -DPYTHON_PACKAGES_PATH=${frameworks_dir}/Python.framework/Versions/2.7/lib/python2.7/site-packages
194}
195
196variant tbb description {Use Intel TBB.} {
197    depends_lib-append          port:tbb
198    configure.args-delete       -DWITH_TBB=OFF
199    configure.args-append       -DWITH_TBB=ON \
200                                -DHAVE_TBB=ON \
201                                -DTBB_INCLUDE_DIRS=${prefix}/include
202    lappend opencv_linker_libs "-ltbb" "-ltbbmalloc"
203}
204
205pre-configure {
206    configure.args-append       -DOPENCV_LINKER_LIBS=\"[join ${opencv_linker_libs} " "]\"
207}
208
209livecheck.type                  sourceforge
210livecheck.name                  opencvlibrary
211livecheck.regex                 /OpenCV-(\[0-9a-z.\]+)${extract.suffix}
Note: See TracBrowser for help on using the repository browser.