[93038] trunk/dports/graphics/opencv

raphael at macports.org raphael at macports.org
Mon May 14 02:34:47 PDT 2012


Revision: 93038
          https://trac.macports.org/changeset/93038
Author:   raphael at macports.org
Date:     2012-05-14 02:34:46 -0700 (Mon, 14 May 2012)
Log Message:
-----------
opencv:

* update to 2.4.0; closes #34157
* remove dependencies ffmpeg already has and no opencv binary links with
* add support for openexr and eigen3
* fix case of OpenCV directory
* use MacPorts' jasper, jpeg, libpng, tiff and zlib
* use gcc-4.2 instead of gcc-4.0
* do not try to use the Video Decode Acceleration Framework on Leopard and earlier
* install cmake files into ${prefix}/lib/cmake
* use qt4 portgroup in qt4 variant
* set path to python packages in the configure phase

Modified Paths:
--------------
    trunk/dports/graphics/opencv/Portfile
    trunk/dports/graphics/opencv/files/patch-install_name.diff
    trunk/dports/graphics/opencv/files/patch-pch-CMakeLists.txt.diff

Added Paths:
-----------
    trunk/dports/graphics/opencv/files/patch-fix_dirname_case.diff
    trunk/dports/graphics/opencv/files/patch-highgui_CMakeLists.txt.diff

Removed Paths:
-------------
    trunk/dports/graphics/opencv/files/patch-CMakeLists.txt.diff

Modified: trunk/dports/graphics/opencv/Portfile
===================================================================
--- trunk/dports/graphics/opencv/Portfile	2012-05-14 07:41:30 UTC (rev 93037)
+++ trunk/dports/graphics/opencv/Portfile	2012-05-14 09:34:46 UTC (rev 93038)
@@ -5,9 +5,7 @@
 PortGroup                       cmake 1.0
 
 name                            opencv
-version                         2.3.1a
-revision                        3
-set short_version               [strsed ${version} {g/[^0-9.].*$//}]
+version                         2.4.0
 categories                      graphics science
 license                         BSD
 platforms                       darwin
@@ -24,13 +22,12 @@
                                 Robotics.
 
 homepage                        http://opencv.willowgarage.com/wiki/
-master_sites                    sourceforge:project/opencvlibrary/opencv-unix/${short_version}
+master_sites                    sourceforge:project/opencvlibrary/opencv-unix/${version}
 use_bzip2                       yes
 distname                        OpenCV-${version}
-worksrcdir                      OpenCV-${short_version}
 
-checksums                       rmd160  f2f459bf7c163acb90427db2b0b425ab8008cde5 \
-                                sha256  a9a2f529101c04eb2b606eee8c80f3ad93190b36f91ac09ee0ec5aa1eed1450c
+checksums                       rmd160  49aae35880d3765676a9f556bd8b152c45acafd7 \
+                                sha256  3b5fedb2fc6ad0aa1509676468f571ba21456679e7d48a8242a096d62e2c6ac9
 
 depends_build-append            port:pkgconfig
 
@@ -41,22 +38,11 @@
                                 port:jasper \
                                 port:jpeg \
                                 port:bzip2 \
-                                port:dirac \
-                                port:faac \
-                                port:faad2 \
-                                port:lame \
-                                port:schroedinger \
-                                port:liboil \
-                                port:libtheora \
-                                port:libvorbis \
-                                port:libogg \
-                                port:x264 \
-                                port:orc
+                                port:openexr \
+                                port:ilmbase \
+                                port:eigen3
 
-# liboil is not universal
-universal_variant               no
-
-patchfiles                      patch-CMakeLists.txt.diff \
+patchfiles                      patch-fix_dirname_case.diff \
                                 patch-install_name.diff
 
 if {[variant_isset universal] && [variant_exists universal]} {
@@ -68,48 +54,49 @@
                                 -DINSTALL_C_EXAMPLES=ON \
                                 -DBZIP2_LIBRARIES=${prefix}/lib/libbz2.dylib \
                                 -DZLIB_LIBRARY=${prefix}/lib/libz.dylib \
-                                -DWITH_OPENEXR=OFF \
-                                -DWITH_1394=OFF
+                                -DWITH_OPENEXR=ON \
+                                -DWITH_1394=OFF \
+                                -DWITH_EIGEN=ON \
+                                -DEIGEN_INCLUDE_PATH=${prefix}/include/eigen3 \
+                                -DBUILD_JASPER=OFF \
+                                -DBUILD_JPEG=OFF \
+                                -DBUILD_PNG=OFF \
+                                -DBUILD_TIFF=OFF \
+                                -DBUILD_ZLIB=OFF
 
-if {${configure.compiler} == "clang"} {
-    configure.compiler llvm-gcc-4.2
+# gcc-4.0 exits with a bus error
+if {${configure.compiler} == "gcc-4.0"} {
+    configure.compiler gcc-4.2
+    if {![file executable ${configure.cc}]} {
+        depends_build-append port:apple-gcc42
+        depends_skip_archcheck-append apple-gcc42
+        configure.compiler apple-gcc-4.2
+    }
 }
 
 platform darwin {
-    # Use macros in /usr/include/stdint.h with C++ compiler
-    # http://roundup.libav.org/issue2093
-    # Do not build tests
-    # http://comments.gmane.org/gmane.comp.lib.opencv/50383
     if {${os.major} <= 9} {
-        configure.args-append   -DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS \
-                                -DBUILD_TESTS=OFF
+        # Video Decode Acceleration Framework is not available
+        patchfiles-append       patch-highgui_CMakeLists.txt.diff
     }
 }
 
-pre-build {
-    # When building 2.3.1 with 2.2.0 active:
-    # error: 'InputArray' was not declared in this scope
-    # http://tech.groups.yahoo.com/group/OpenCV/message/82355
-    # http://stackoverflow.com/questions/7410012/unable-to-make-opencv#answer-7461541
-    if {[file exists ${prefix}/lib/pkgconfig/opencv.pc]} {
-        set installed_version [exec ${prefix}/bin/pkg-config ${name} --modversion]
-        if {${short_version} != ${installed_version}} {
-            ui_error "${name} ${version} cannot be built while ${name} ${installed_version} is installed and active."
-            ui_error "Please deactivate ${name} ${installed_version} first."
-            return -code error "incompatible ${name} version active"
-        }
-    }
+post-destroot {
+    xinstall -d ${destroot}${prefix}/lib/cmake
+    move ${destroot}${prefix}/share/OpenCV/OpenCVConfig-version.cmake \
+        ${destroot}${prefix}/share/OpenCV/OpenCVConfig.cmake \
+        ${destroot}${prefix}/lib/cmake/
 }
 
 variant dc1394 description {Use libdc1394 for FireWire camera. Breaks compatibility with Apple iSight FireWire camera.} {
     depends_lib-append          port:libdc1394
     configure.args-delete       -DWITH_1394=OFF
-    configure.args-append       -DWITH_1394=ON
-    configure.args-append       -DHAVE_1394=ON
+    configure.args-append       -DWITH_1394=ON \
+                                -DHAVE_1394=ON
 }
 
-variant qt4 description {Use experimental qt4 backend for graphical interface.} {
-    depends_lib-append          port:qt4-mac
+variant qt4 description {Use qt4 backend for graphical interface.} {
+    PortGroup                   qt4 1.0
     configure.args-append       -DWITH_QT=ON
 }
 
@@ -121,10 +108,8 @@
                                 -DBUILD_NEW_PYTHON_SUPPORT=ON \
                                 -DPYTHON_EXECUTABLE=${prefix}/bin/python2.6 \
                                 -DPYTHON_LIBRARY=${prefix}/lib/libpython2.6.dylib \
-                                -DPYTHON_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/2.6/Headers
-    post-patch {
-        reinplace "s|@@PYTHON_PKGD@@|${frameworks_dir}/Python.framework/Versions/2.6/lib/python2.6/site-packages|g" ${worksrcpath}/CMakeLists.txt
-    }
+                                -DPYTHON_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/2.6/Headers \
+                                -DPYTHON_PACKAGES_PATH=${frameworks_dir}/Python.framework/Versions/2.6/lib/python2.6/site-packages
 }
 
 variant python27 conflicts python26 description {Add Python 2.7 bindings} {
@@ -135,10 +120,8 @@
                                 -DBUILD_NEW_PYTHON_SUPPORT=ON \
                                 -DPYTHON_EXECUTABLE=${prefix}/bin/python2.7 \
                                 -DPYTHON_LIBRARY=${prefix}/lib/libpython2.7.dylib \
-                                -DPYTHON_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/2.7/Headers
-    post-patch {
-        reinplace "s|@@PYTHON_PKGD@@|${frameworks_dir}/Python.framework/Versions/2.7/lib/python2.7/site-packages|g" ${worksrcpath}/CMakeLists.txt
-    }
+                                -DPYTHON_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/2.7/Headers \
+                                -DPYTHON_PACKAGES_PATH=${frameworks_dir}/Python.framework/Versions/2.7/lib/python2.7/site-packages
 }
 
 variant tbb description {Use Intel TBB} {
@@ -146,7 +129,6 @@
     configure.args-append       -DWITH_TBB=ON \
                                 -DHAVE_TBB=ON \
                                 -DTBB_INCLUDE_DIRS=${prefix}/include \
-                                -DTBB_LIBRARY_DIRS=${prefix}/lib \
                                 -DOPENCV_LINKER_LIBS="-ltbb -ltbbmalloc"
 }
 

Deleted: trunk/dports/graphics/opencv/files/patch-CMakeLists.txt.diff
===================================================================
--- trunk/dports/graphics/opencv/files/patch-CMakeLists.txt.diff	2012-05-14 07:41:30 UTC (rev 93037)
+++ trunk/dports/graphics/opencv/files/patch-CMakeLists.txt.diff	2012-05-14 09:34:46 UTC (rev 93038)
@@ -1,15 +0,0 @@
---- CMakeLists.txt.orig	2011-08-17 14:42:55.000000000 -0500
-+++ CMakeLists.txt	2011-10-29 01:10:32.000000000 -0500
-@@ -664,11 +664,7 @@
-                     RESULT_VARIABLE PYTHON_CVPY_PROCESS
-                     OUTPUT_VARIABLE PYTHON_STD_PACKAGES_PATH
-                     OUTPUT_STRIP_TRAILING_WHITESPACE)
--    if("${PYTHON_STD_PACKAGES_PATH}" MATCHES "site-packages")
--        set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages CACHE PATH "Where to install the python packages.")
--    else() #debian based assumed, install to the dist-packages.
--        set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/dist-packages CACHE PATH "Where to install the python packages.")
--    endif()
-+    set(PYTHON_PACKAGES_PATH @@PYTHON_PKGD@@ CACHE PATH "Where to install the python packages.")
- endif()
- if(CMAKE_HOST_WIN32)
-     get_filename_component(PYTHON_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${PYTHON_VERSION_MAJOR_MINOR}\\InstallPath]" ABSOLUTE CACHE)

Added: trunk/dports/graphics/opencv/files/patch-fix_dirname_case.diff
===================================================================
--- trunk/dports/graphics/opencv/files/patch-fix_dirname_case.diff	                        (rev 0)
+++ trunk/dports/graphics/opencv/files/patch-fix_dirname_case.diff	2012-05-14 09:34:46 UTC (rev 93038)
@@ -0,0 +1,54 @@
+--- modules/python/test/test.py.orig	2012-05-13 10:33:44.000000000 +0200
++++ modules/python/test/test.py	2012-05-13 10:35:24.000000000 +0200
+@@ -1821,7 +1821,7 @@
+ 
+     def local_test_Haar(self):
+         import os
+-        hcfile = os.environ['OPENCV_ROOT'] + '/share/opencv/haarcascades/haarcascade_frontalface_default.xml'
++        hcfile = os.environ['OPENCV_ROOT'] + '/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml'
+         hc = cv.Load(hcfile)
+         img = cv.LoadImage('Stu.jpg', 0)
+         faces = cv.HaarDetectObjects(img, hc, cv.CreateMemStorage())
+--- samples/c/CMakeLists.txt.orig	2012-05-13 10:34:03.000000000 +0200
++++ samples/c/CMakeLists.txt	2012-05-13 10:41:07.000000000 +0200
+@@ -54,7 +54,7 @@
+ if (INSTALL_C_EXAMPLES AND NOT WIN32)
+   file(GLOB C_SAMPLES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
+   install(FILES ${C_SAMPLES}
+-          DESTINATION share/opencv/samples/c
++          DESTINATION share/OpenCV/samples/c
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif ()
+ 
+--- samples/cpp/CMakeLists.txt.orig	2012-05-13 10:34:16.000000000 +0200
++++ samples/cpp/CMakeLists.txt	2012-05-13 10:41:30.000000000 +0200
+@@ -64,7 +64,7 @@
+ if (INSTALL_C_EXAMPLES AND NOT WIN32)
+   file(GLOB C_SAMPLES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
+   install(FILES ${C_SAMPLES}
+-          DESTINATION share/opencv/samples/cpp
++          DESTINATION share/OpenCV/samples/cpp
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif()
+ 
+--- samples/gpu/CMakeLists.txt.orig	2012-05-13 10:34:28.000000000 +0200
++++ samples/gpu/CMakeLists.txt	2012-05-13 10:41:53.000000000 +0200
+@@ -64,7 +64,7 @@
+ if (NOT WIN32)
+   file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
+   install(FILES ${install_list}
+-          DESTINATION share/opencv/samples/${project}
++          DESTINATION share/OpenCV/samples/${project}
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif()
+ 
+--- samples/gpu/performance/CMakeLists.txt.orig	2012-05-13 10:34:39.000000000 +0200
++++ samples/gpu/performance/CMakeLists.txt	2012-05-13 10:42:19.000000000 +0200
+@@ -21,6 +21,6 @@
+ if(NOT WIN32)
+   file(GLOB GPU_FILES performance/*.cpp performance/*.h)
+   install(FILES ${GPU_FILES}
+-          DESTINATION share/opencv/samples/gpu/performance
++          DESTINATION share/OpenCV/samples/gpu/performance
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif()

Added: trunk/dports/graphics/opencv/files/patch-highgui_CMakeLists.txt.diff
===================================================================
--- trunk/dports/graphics/opencv/files/patch-highgui_CMakeLists.txt.diff	                        (rev 0)
+++ trunk/dports/graphics/opencv/files/patch-highgui_CMakeLists.txt.diff	2012-05-14 09:34:46 UTC (rev 93038)
@@ -0,0 +1,12 @@
+--- modules/highgui/CMakeLists.txt.orig	2012-05-11 14:32:43.000000000 +0200
++++ modules/highgui/CMakeLists.txt	2012-05-11 14:33:45.000000000 +0200
+@@ -198,9 +198,6 @@
+     endif()
+   endif()
+     
+-  if(HAVE_FFMPEG)
+-    set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} "-framework VideoDecodeAcceleration")
+-  endif()
+ endif(APPLE)
+ 
+ if(HAVE_opencv_androidcamera)

Modified: trunk/dports/graphics/opencv/files/patch-install_name.diff
===================================================================
--- trunk/dports/graphics/opencv/files/patch-install_name.diff	2012-05-14 07:41:30 UTC (rev 93037)
+++ trunk/dports/graphics/opencv/files/patch-install_name.diff	2012-05-14 09:34:46 UTC (rev 93038)
@@ -1,56 +1,16 @@
---- OpenCVModule.cmake.orig	2011-08-02 07:48:41.000000000 -0500
-+++ OpenCVModule.cmake	2011-11-02 02:35:15.000000000 -0500
-@@ -83,7 +83,6 @@
-         DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
-         ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
-         RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
--        INSTALL_NAME_DIR lib
-         )
- 
-     add_opencv_precompiled_headers(${the_target})
---- modules/gpu/CMakeLists.txt.orig	2011-08-11 16:17:14.000000000 -0500
-+++ modules/gpu/CMakeLists.txt	2011-11-02 02:35:42.000000000 -0500
-@@ -113,7 +113,6 @@
-     DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
-     ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
-     RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
--    INSTALL_NAME_DIR lib
-     )
- 
- # Add the required libraries for linking:
---- modules/haartraining/CMakeLists.txt.orig	2011-06-14 05:37:20.000000000 -0500
-+++ modules/haartraining/CMakeLists.txt	2011-11-02 02:35:38.000000000 -0500
-@@ -42,7 +42,6 @@
-     DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
-     ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
-     RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
--    INSTALL_NAME_DIR lib
-     )
- 
- if(NOT ANDROID)
---- modules/highgui/CMakeLists.txt.orig	2011-08-11 16:17:08.000000000 -0500
-+++ modules/highgui/CMakeLists.txt	2011-11-02 02:35:34.000000000 -0500
-@@ -294,7 +294,6 @@
-     DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
-     ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
-     RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
--    INSTALL_NAME_DIR lib
-     LINK_INTERFACE_LIBRARIES ""
-     )
- 
---- modules/stitching/CMakeLists.txt.orig	2011-06-14 05:37:15.000000000 -0500
-+++ modules/stitching/CMakeLists.txt	2011-11-02 02:35:25.000000000 -0500
-@@ -28,7 +28,6 @@
+--- apps/haartraining/CMakeLists.txt.orig	2012-05-11 10:05:02.000000000 +0200
++++ apps/haartraining/CMakeLists.txt	2012-05-11 10:05:39.000000000 +0200
+@@ -40,7 +40,6 @@
                        DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
                        ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
                        RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
 -                      INSTALL_NAME_DIR lib
-                       OUTPUT_NAME "opencv_stitching")
- 					  
- if(ENABLE_SOLUTION_FOLDERS)
---- modules/traincascade/CMakeLists.txt.orig	2011-08-02 07:48:38.000000000 -0500
-+++ modules/traincascade/CMakeLists.txt	2011-11-02 02:35:19.000000000 -0500
-@@ -32,7 +32,6 @@
+                      )
+ 
+ # -----------------------------------------------------------
+--- apps/traincascade/CMakeLists.txt.orig	2012-05-11 10:05:13.000000000 +0200
++++ apps/traincascade/CMakeLists.txt	2012-05-11 10:06:00.000000000 +0200
+@@ -30,7 +30,6 @@
                        DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
                        ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
                        RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
@@ -58,3 +18,13 @@
                        OUTPUT_NAME "opencv_traincascade")
  					  
  if(ENABLE_SOLUTION_FOLDERS)
+--- cmake/OpenCVModule.cmake.orig	2012-05-11 10:05:22.000000000 +0200
++++ cmake/OpenCVModule.cmake	2012-05-11 10:06:38.000000000 +0200
+@@ -444,7 +444,6 @@
+     DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
+     ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
+     RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
+-    INSTALL_NAME_DIR lib
+   )
+ 
+   # For dynamic link numbering convenions

Modified: trunk/dports/graphics/opencv/files/patch-pch-CMakeLists.txt.diff
===================================================================
--- trunk/dports/graphics/opencv/files/patch-pch-CMakeLists.txt.diff	2012-05-14 07:41:30 UTC (rev 93037)
+++ trunk/dports/graphics/opencv/files/patch-pch-CMakeLists.txt.diff	2012-05-14 09:34:46 UTC (rev 93038)
@@ -1,10 +1,10 @@
---- CMakeLists.txt.orig	2011-10-29 01:14:17.000000000 -0500
-+++ CMakeLists.txt	2011-10-29 01:14:17.000000000 -0500
-@@ -337,7 +337,6 @@
-     set(OPENCV_BUILD_3RDPARTY_LIBS FALSE CACHE BOOL "Build 3rd party libraries")
+--- CMakeLists.txt.orig	2012-05-11 15:34:43.000000000 +0200
++++ CMakeLists.txt	2012-05-11 15:35:19.000000000 +0200
+@@ -295,7 +295,6 @@
+   include(CheckIncludeFile)
  endif()
  
--include(OpenCVPCHSupport.cmake REQUIRED)
- include(OpenCVModule.cmake REQUIRED)
- if(ANDROID)
-     include(OpenCVAndroidProject.cmake REQUIRED)
+-include(cmake/OpenCVPCHSupport.cmake REQUIRED)
+ include(cmake/OpenCVModule.cmake REQUIRED)
+ 
+ # ----------------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120514/a5f21221/attachment.html>


More information about the macports-changes mailing list