Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Dec 2013 02:51:00 +0000 (UTC)
From:      "Jason E. Hale" <jhale@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r335601 - in head: . graphics graphics/frei0r graphics/gstreamer-plugins-opencv graphics/gstreamer1-plugins-opencv graphics/kipi-plugin-removeredeyes graphics/libkface graphics/nomacs g...
Message-ID:  <201312040251.rB42p0ll012471@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhale
Date: Wed Dec  4 02:51:00 2013
New Revision: 335601
URL: http://svnweb.freebsd.org/changeset/ports/335601

Log:
  - Update graphics/*opencv* to 2.4.7
  - Revert options helpers to if statements since the OFF condition is not
    applied when OPTIONS_EXCLUDE is used
  - Move most of the OpenCV modules from the graphics/opencv-core port to
    graphics/opencv, leaving opencv-core as just the bare minimum required
    for building ffmpeg with OpenCV support
  - Install examples for python and java bindings
  - Add new slave port graphics/opencv-java: Java bindings for OpenCV
  - Bump PORTREVISION and make dependency adjustments and fixes for
    dependent ports
  - Add UPDATING entry

Added:
  head/graphics/nomacs/files/
  head/graphics/nomacs/files/patch-CMakeLists.txt   (contents, props changed)
  head/graphics/opencv-core/pkg-plist   (contents, props changed)
     - copied, changed from r335600, head/graphics/opencv/pkg-plist.oc
  head/graphics/opencv-java/
  head/graphics/opencv-java/Makefile   (contents, props changed)
  head/graphics/opencv-java/pkg-plist   (contents, props changed)
  head/graphics/opencv/files/FindOpenCVCore.cmake.in   (contents, props changed)
  head/graphics/opencv/files/patch-apps__traincascade__imagestorage.h   (contents, props changed)
     - copied, changed from r335285, head/graphics/opencv/files/patch-modules-traincascade-imagestorage.h
  head/graphics/opencv/files/patch-cmake__OpenCVCompilerOptions.cmake   (contents, props changed)
  head/graphics/opencv/files/patch-cmake__OpenCVVersion.cmake   (contents, props changed)
  head/graphics/opencv/files/patch-cmake__templates__OpenCVConfig.cmake.in   (contents, props changed)
  head/graphics/opencv/files/patch-modules__core__src__system.cpp   (contents, props changed)
  head/graphics/opencv/files/patch-modules__highgui__src__cap_libv4l.cpp   (contents, props changed)
     - copied, changed from r335285, head/graphics/opencv/files/patch-modules-highgui-src-cap_libv4l.cpp
  head/graphics/opencv/files/patch-modules__highgui__src__cap_v4l.cpp   (contents, props changed)
     - copied, changed from r335285, head/graphics/opencv/files/patch-modules-highgui-src-cap_v4l.cpp
  head/graphics/opencv/files/patch-modules__ts__src__ts.cpp   (contents, props changed)
  head/graphics/opencv/files/patch-samples__cpp__tutorial_code__core__how_to_scan_images__how_to_scan_images.cpp   (contents, props changed)
  head/graphics/py-opencv/pkg-plist   (contents, props changed)
     - copied, changed from r335285, head/graphics/opencv/pkg-plist.python
  head/math/saga/files/patch-src__modules_images__modules_opencv__opencv__opencv.h   (contents, props changed)
Deleted:
  head/graphics/opencv/files/extra-patch-opencv
  head/graphics/opencv/files/extra-patch-opencv-core
  head/graphics/opencv/files/extra-patch-opencv-python
  head/graphics/opencv/files/patch-modules-flann-include-opencv2-flann-any.h
  head/graphics/opencv/files/patch-modules-flann-include-opencv2-flann-lsh_index.h
  head/graphics/opencv/files/patch-modules-highgui-src-cap_ffmpeg_impl.hpp
  head/graphics/opencv/files/patch-modules-highgui-src-cap_libv4l.cpp
  head/graphics/opencv/files/patch-modules-highgui-src-cap_v4l.cpp
  head/graphics/opencv/files/patch-modules-traincascade-imagestorage.h
  head/graphics/opencv/files/patch-modules__highgui__src__window_QT.cpp
  head/graphics/opencv/files/patch-modules__ts__include__opencv2__ts__ts_gtest.h
  head/graphics/opencv/files/patch-samples-cpp-image.cpp
  head/graphics/opencv/files/patch-samples_cpp_bagofwords_classification.cpp
  head/graphics/opencv/pkg-plist.oc
  head/graphics/opencv/pkg-plist.python
Modified:
  head/UPDATING
  head/graphics/Makefile
  head/graphics/frei0r/Makefile
  head/graphics/gstreamer-plugins-opencv/Makefile   (contents, props changed)
  head/graphics/gstreamer1-plugins-opencv/Makefile
  head/graphics/kipi-plugin-removeredeyes/Makefile
  head/graphics/libkface/Makefile
  head/graphics/nomacs/Makefile
  head/graphics/opencv-core/Makefile
  head/graphics/opencv/Makefile
  head/graphics/opencv/distinfo   (contents, props changed)
  head/graphics/opencv/files/patch-modules__contrib__src__spinimages.cpp
  head/graphics/opencv/pkg-descr   (contents, props changed)
  head/graphics/opencv/pkg-plist   (contents, props changed)
  head/graphics/openimageio/Makefile
  head/graphics/p5-Image-ObjectDetect/Makefile
  head/graphics/php-facedetect/Makefile   (contents, props changed)
  head/graphics/py-opencv/Makefile
  head/graphics/rubygem-objectdetect/Makefile
  head/math/saga/Makefile
  head/math/scilab-toolbox-sivp/Makefile
  head/multimedia/ffmpeg/Makefile
  head/multimedia/ffmpeg0/Makefile
  head/multimedia/gstreamer-plugins/Makefile.common
  head/multimedia/libav/Makefile
  head/multimedia/lives/Makefile
  head/www/mod_pagespeed/Makefile

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Wed Dec  4 00:56:26 2013	(r335600)
+++ head/UPDATING	Wed Dec  4 02:51:00 2013	(r335601)
@@ -5,6 +5,22 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20131130:
+  AFFECTS: users of graphics/opencv
+  AUTHOR: jhale@FreeBSD.org
+
+  OpenCV has been updated to 2.4.7.  Due to movement of files between the
+  opencv port and the opencv-core port, it will be necessary to remove
+  both packages before updating.
+
+  # pkg_delete -f opencv\*
+    or
+  # pkg delete -fg opencv\*
+    followed by
+  # portmaster -a
+    or
+  # portupgrade -a
+  
 20131127:
   AFFECTS: users of devel/py-distribute (i.e you)
   AUTHOR: wg@FreeBSD.org

Modified: head/graphics/Makefile
==============================================================================
--- head/graphics/Makefile	Wed Dec  4 00:56:26 2013	(r335600)
+++ head/graphics/Makefile	Wed Dec  4 02:51:00 2013	(r335601)
@@ -615,6 +615,7 @@
     SUBDIR += opencsg
     SUBDIR += opencv
     SUBDIR += opencv-core
+    SUBDIR += opencv-java
     SUBDIR += opendis
     SUBDIR += opendx
     SUBDIR += openexr_ctl

Modified: head/graphics/frei0r/Makefile
==============================================================================
--- head/graphics/frei0r/Makefile	Wed Dec  4 00:56:26 2013	(r335600)
+++ head/graphics/frei0r/Makefile	Wed Dec  4 02:51:00 2013	(r335601)
@@ -27,7 +27,7 @@ IGNORE=		cannot build OpenCV and gavl pl
 .endif
 
 .if defined(BUILDING_FREI0R_OPENCV)
-PORTREVISION=	2
+PORTREVISION=	3
 COMMENT=	Frei0r OpenCV plugins
 PKGNAMESUFFIX=  -plugins-opencv
 LIB_DEPENDS+=	opencv_legacy.2:${PORTSDIR}/graphics/opencv
@@ -57,6 +57,7 @@ BUILD_DEPENDS+=	doxygen:${PORTSDIR}/deve
 
 .if defined(FREI0R_PLUGINS)
 CPPFLAGS+=	"-I${LOCALBASE}/include"
+LDFLAGS+=	-L${LOCALBASE}/lib
 PLIST=		${WRKSRC}/PLIST
 ALL_TARGET=
 BUILD_WRKSRC=	${WRKSRC}/src

Modified: head/graphics/gstreamer-plugins-opencv/Makefile
==============================================================================
--- head/graphics/gstreamer-plugins-opencv/Makefile	Wed Dec  4 00:56:26 2013	(r335600)
+++ head/graphics/gstreamer-plugins-opencv/Makefile	Wed Dec  4 02:51:00 2013	(r335601)
@@ -1,7 +1,7 @@
 # Created by: Koop Mast <kwm@FreeBSD.org>
 # $FreeBSD$
 
-PORTREVISION=	0
+PORTREVISION=	1
 CATEGORIES=	graphics
 
 COMMENT=	Gstreamer opencv real time computer vision plugin

Modified: head/graphics/gstreamer1-plugins-opencv/Makefile
==============================================================================
--- head/graphics/gstreamer1-plugins-opencv/Makefile	Wed Dec  4 00:56:26 2013	(r335600)
+++ head/graphics/gstreamer1-plugins-opencv/Makefile	Wed Dec  4 02:51:00 2013	(r335601)
@@ -1,6 +1,6 @@
 # $FreeBSD$
 
-PORTREVISION=	0
+PORTREVISION=	1
 CATEGORIES=	graphics
 
 COMMENT=	Gstreamer opencv real time computer vision plugin

Modified: head/graphics/kipi-plugin-removeredeyes/Makefile
==============================================================================
--- head/graphics/kipi-plugin-removeredeyes/Makefile	Wed Dec  4 00:56:26 2013	(r335600)
+++ head/graphics/kipi-plugin-removeredeyes/Makefile	Wed Dec  4 02:51:00 2013	(r335601)
@@ -2,12 +2,13 @@
 
 PORTNAME=	kipi-plugin-${KIPI_PLUGIN}
 PORTVERSION=	${DIGIKAM_VER}
+PORTREVISION=	1
 CATEGORIES=	graphics kde
 
 MAINTAINER=	kde@FreeBSD.org
 COMMENT=	${${KIPI_PLUGIN}_DESC}
 
-LIB_DEPENDS=	opencv_legacy:${PORTSDIR}/graphics/opencv
+LIB_DEPENDS=	libopencv_legacy.so:${PORTSDIR}/graphics/opencv
 
 KIPI_PLUGIN=	removeredeyes
 NO_STAGE=	yes

Modified: head/graphics/libkface/Makefile
==============================================================================
--- head/graphics/libkface/Makefile	Wed Dec  4 00:56:26 2013	(r335600)
+++ head/graphics/libkface/Makefile	Wed Dec  4 02:51:00 2013	(r335601)
@@ -2,6 +2,7 @@
 
 PORTNAME=	libkface
 PORTVERSION=	${DIGIKAM_VER}
+PORTREVISION=	1
 CATEGORIES=	graphics kde
 
 MAINTAINER=	kde@FreeBSD.org
@@ -11,7 +12,7 @@ NO_STAGE=	yes
 .include "${.CURDIR}/../digikam-kde4/Makefile.common"
 
 USES+=		pkgconfig
-LIB_DEPENDS=	opencv_legacy:${PORTSDIR}/graphics/opencv
+LIB_DEPENDS=	libopencv_legacy.so:${PORTSDIR}/graphics/opencv
 USE_LDCONFIG=	yes
 
 post-patch:

Modified: head/graphics/nomacs/Makefile
==============================================================================
--- head/graphics/nomacs/Makefile	Wed Dec  4 00:56:26 2013	(r335600)
+++ head/graphics/nomacs/Makefile	Wed Dec  4 02:51:00 2013	(r335601)
@@ -2,6 +2,7 @@
 
 PORTNAME=	nomacs
 PORTVERSION=	1.6.0
+PORTREVISION=	1
 CATEGORIES=	graphics
 MASTER_SITES=	SF/nomacs/nomacs-${PORTVERSION}/
 DISTNAME=	${PORTNAME}-${PORTVERSION}-source
@@ -18,7 +19,9 @@ USE_BZIP2=	yes
 USES=		cmake desktop-file-utils pkgconfig
 USE_QT4=	gui network linguist_build moc_build \
 		qmake_build rcc_build uic_build
-LDFLAGS+=	-lsysinfo -lkvm
+USE_DOS2UNIX=	yes
+DOS2UNIX_REGEX=	.*\.(cpp|h|txt)
+
 WRKTOP=		${WRKDIR}
 WRKSUBDIR=	${DISTNAME:S,-source,,}
 WRKSRC=		${WRKTOP}/${WRKSUBDIR}
@@ -30,7 +33,7 @@ OPTIONS_DEFAULT=	RAW TIFF
 
 .if ${PORT_OPTIONS:MRAW}
 LIB_DEPENDS+=	libraw.so:${PORTSDIR}/graphics/libraw \
-		libopencv_legacy.so:${PORTSDIR}/graphics/opencv
+		libopencv_core.so:${PORTSDIR}/graphics/opencv-core
 .else
 CMAKE_ARGS+=	-DENABLE_RAW=0
 .endif
@@ -41,7 +44,7 @@ LIB_DEPENDS+=	libtiff.so:${PORTSDIR}/gra
 CMAKE_ARGS+=	-DENABLE_TIFF=0
 .endif
 
-post-extract:
+post-patch:
 	@${REINPLACE_CMD} -e 's|share/man/man1|man/man1|' ${WRKSRC}/CMakeLists.txt
 
 .include <bsd.port.mk>

Added: head/graphics/nomacs/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/nomacs/files/patch-CMakeLists.txt	Wed Dec  4 02:51:00 2013	(r335601)
@@ -0,0 +1,42 @@
+--- ./CMakeLists.txt.orig	2013-12-02 09:23:52.000000000 -0500
++++ ./CMakeLists.txt	2013-12-02 09:25:24.000000000 -0500
+@@ -208,19 +178,12 @@
+     endif()
+ 	          
+ 	# OpenCV
+-	SET(OpenCV_LIBS "")
+-	if (PKG_CONFIG_FOUND) # not sure: pkgconfig is needed for old linux  with old old opencv systems
+-		pkg_check_modules(OpenCV  opencv>=2.1.0)
+-		SET(OpenCV_LIBS ${OpenCV_LIBRARIES})
+-	endif(PKG_CONFIG_FOUND)
+-	IF (OpenCV_LIBS STREQUAL "") 
+-		find_package(OpenCV 2.1.0 REQUIRED core imgproc)
+-	ENDIF()
++		find_package(OpenCVCore COMPONENTS core imgproc REQUIRED)
+ 	IF (OpenCV_VERSION VERSION_LESS 2.4.0 AND OpenCV_FOUND AND MSVC) # OpenCV didn't allow to define packages before version 2.4.0 ... nomacs was linking against all libs even if they were not compiled -> error
+ 		string(REGEX REPLACE "\\." "" OpenCV_SHORT_VERSION ${OpenCV_VERSION})
+ 		SET(OpenCV_LIBS "debug;opencv_imgproc${OpenCV_SHORT_VERSION}d;optimized;opencv_imgproc${OpenCV_SHORT_VERSION};debug;opencv_core${OpenCV_SHORT_VERSION}d;optimized;opencv_core${OpenCV_SHORT_VERSION};")
+ 	ENDIF()
+-	IF (NOT OpenCV_FOUND)
++	IF (NOT OPENCVCORE_FOUND)
+ 		message(FATAL_ERROR "OpenCV not found. It's mandatory when used with ENABLE_RAW enabled") 
+ 	ELSE()
+ 		add_definitions(-DWITH_OPENCV)
+@@ -285,6 +243,8 @@
+ 	
+ ENDIF(ENABLE_TIFF)
+ 
++# sysinfo library
++FIND_LIBRARY(SYSINFO_LIBRARY NAMES sysinfo)
+ 	
+ include_directories (
+ 	${QT_INCLUDES}
+@@ -427,7 +387,7 @@
+ 		set(EXE_NAME ${CMAKE_PROJECT_NAME})
+ 		link_directories(${LIBRAW_LIBRARY_DIRS} ${OpenCV_LIBRARY_DIRS} ${EXIV2_LIBRARY_DIRS})
+ 		add_executable(${EXE_NAME} WIN32 MACOSX_BUNDLE ${NOMACS_SOURCES} ${NOMACS_UI} ${NOMACS_MOC_SRC} ${NOMACS_RCC} ${NOMACS_HEADERS} ${NOMACS_RC} ${NOMACS_QM} ${NOMACS_TRANSLATIONS} ${LIBQPSD_SOURCES} ${LIBQPSD_HEADERS} ${LIBQPSD_MOC_SRC} ${WEBP_SOURCE})
+-		target_link_libraries(${EXE_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTMAIN_LIBRARY} ${EXIV2_LIBRARIES} ${LIBRAW_LIBRARIES} ${OpenCV_LIBS} ${VERSION_LIB} ${TIFF_LIBRARIES})
++		target_link_libraries(${EXE_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTMAIN_LIBRARY} ${EXIV2_LIBRARIES} ${LIBRAW_LIBRARIES} ${OpenCV_LIBS} ${VERSION_LIB} ${TIFF_LIBRARIES} ${SYSINFO_LIBRARY})
+ 
+ 		IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
+ 			SET_TARGET_PROPERTIES(${EXE_NAME} PROPERTIES LINK_FLAGS -fopenmp)

Modified: head/graphics/opencv-core/Makefile
==============================================================================
--- head/graphics/opencv-core/Makefile	Wed Dec  4 00:56:26 2013	(r335600)
+++ head/graphics/opencv-core/Makefile	Wed Dec  4 02:51:00 2013	(r335601)
@@ -1,8 +1,14 @@
 # Created by: Martin Matuska <mm@FreeBSD.org>
 # $FreeBSD$
 
-_BUILDING_OPENCV_CORE=	yes
-MASTERDIR=	${.CURDIR}/../opencv
+PORTREVISION=	0
+PKGNAMESUFFIX=	-${OCV_SLAVE}
+
+COMMENT=	OpenCV core libraries
+
+OCV_SLAVE=	core
+OCV_CORE=	yes
+MASTERDIR=	${.CURDIR:H}/opencv
+PLIST=		${.CURDIR}/pkg-plist
 
-NO_STAGE=	yes
 .include "${MASTERDIR}/Makefile"

Copied and modified: head/graphics/opencv-core/pkg-plist (from r335600, head/graphics/opencv/pkg-plist.oc)
==============================================================================
--- head/graphics/opencv/pkg-plist.oc	Wed Dec  4 00:56:26 2013	(r335600, copy source)
+++ head/graphics/opencv-core/pkg-plist	Wed Dec  4 02:51:00 2013	(r335601)
@@ -1,83 +1,30 @@
 include/opencv2/core/core.hpp
 include/opencv2/core/core_c.h
+include/opencv2/core/cuda_devptrs.hpp
+include/opencv2/core/devmem2d.hpp
 include/opencv2/core/eigen.hpp
+include/opencv2/core/gpumat.hpp
 include/opencv2/core/internal.hpp
 include/opencv2/core/mat.hpp
+include/opencv2/core/opengl_interop.hpp
+include/opencv2/core/opengl_interop_deprecated.hpp
 include/opencv2/core/operations.hpp
 include/opencv2/core/types_c.h
 include/opencv2/core/version.hpp
 include/opencv2/core/wimage.hpp
-include/opencv2/flann/all_indices.h
-include/opencv2/flann/allocator.h
-include/opencv2/flann/any.h
-include/opencv2/flann/autotuned_index.h
-include/opencv2/flann/composite_index.h
-include/opencv2/flann/config.h
-include/opencv2/flann/defines.h
-include/opencv2/flann/dist.h
-include/opencv2/flann/dummy.h
-include/opencv2/flann/dynamic_bitset.h
-include/opencv2/flann/flann.hpp
-include/opencv2/flann/flann_base.hpp
-include/opencv2/flann/general.h
-include/opencv2/flann/ground_truth.h
-include/opencv2/flann/hdf5.h
-include/opencv2/flann/heap.h
-include/opencv2/flann/hierarchical_clustering_index.h
-include/opencv2/flann/index_testing.h
-include/opencv2/flann/kdtree_index.h
-include/opencv2/flann/kdtree_single_index.h
-include/opencv2/flann/kmeans_index.h
-include/opencv2/flann/linear_index.h
-include/opencv2/flann/logger.h
-include/opencv2/flann/lsh_index.h
-include/opencv2/flann/lsh_table.h
-include/opencv2/flann/matrix.h
-include/opencv2/flann/miniflann.hpp
-include/opencv2/flann/nn_index.h
-include/opencv2/flann/object_factory.h
-include/opencv2/flann/params.h
-include/opencv2/flann/random.h
-include/opencv2/flann/result_set.h
-include/opencv2/flann/sampling.h
-include/opencv2/flann/saving.h
-include/opencv2/flann/simplex_downhill.h
-include/opencv2/flann/timer.h
 include/opencv2/imgproc/imgproc.hpp
 include/opencv2/imgproc/imgproc_c.h
 include/opencv2/imgproc/types_c.h
-include/opencv2/ml/ml.hpp
-include/opencv2/ts/ts.hpp
-include/opencv2/ts/ts_gtest.h
-include/opencv2/video/background_segm.hpp
-include/opencv2/video/tracking.hpp
-include/opencv2/video/video.hpp
 lib/libopencv_core.so
 lib/libopencv_core.so.2
 lib/libopencv_core.so.%%VERSION%%
-lib/libopencv_flann.so
-lib/libopencv_flann.so.2
-lib/libopencv_flann.so.%%VERSION%%
 lib/libopencv_imgproc.so
 lib/libopencv_imgproc.so.2
 lib/libopencv_imgproc.so.%%VERSION%%
-lib/libopencv_ml.so
-lib/libopencv_ml.so.2
-lib/libopencv_ml.so.%%VERSION%%
-lib/libopencv_ts.so
-lib/libopencv_ts.so.2
-lib/libopencv_ts.so.%%VERSION%%
-lib/libopencv_video.so
-lib/libopencv_video.so.2
-lib/libopencv_video.so.%%VERSION%%
 libdata/pkgconfig/opencv-core.pc
-%%DATADIR%%/OpenCVConfig-core.cmake
-%%DATADIR%%/OpenCVConfig-core-version.cmake
-@dirrm %%DATADIR%%
-@dirrm include/opencv2/video
-@dirrm include/opencv2/ts
-@dirrm include/opencv2/ml
+share/cmake/Modules/FindOpenCVCore.cmake
+@dirrmtry share/cmake/Modules
+@dirrmtry share/cmake
 @dirrm include/opencv2/imgproc
-@dirrm include/opencv2/flann
 @dirrm include/opencv2/core
-@dirrm include/opencv2
+@dirrmtry include/opencv2

Added: head/graphics/opencv-java/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/opencv-java/Makefile	Wed Dec  4 02:51:00 2013	(r335601)
@@ -0,0 +1,14 @@
+# $FreeBSD$
+
+PORTREVISION=	0
+CATEGORIES=	graphics java
+PKGNAMESUFFIX=	-${OCV_SLAVE}
+
+COMMENT=	OpenCV Java library
+
+OCV_SLAVE=	java
+OCV_JAVA=	yes
+MASTERDIR=	${.CURDIR:H}/opencv
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile"

Added: head/graphics/opencv-java/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/opencv-java/pkg-plist	Wed Dec  4 02:51:00 2013	(r335601)
@@ -0,0 +1,3 @@
+%%DATADIR%%/java/libopencv_java247.so
+%%DATADIR%%/java/opencv-247.jar
+@dirrmtry %%DATADIR%%/java

Modified: head/graphics/opencv/Makefile
==============================================================================
--- head/graphics/opencv/Makefile	Wed Dec  4 00:56:26 2013	(r335600)
+++ head/graphics/opencv/Makefile	Wed Dec  4 02:51:00 2013	(r335601)
@@ -2,28 +2,21 @@
 # $FreeBSD$
 
 PORTNAME?=	opencv
-PORTVERSION=	2.3.1
-PORTREVISION=	9
+PORTVERSION=	2.4.7
+PORTREVISION?=	0
 CATEGORIES=	graphics
 MASTER_SITES=	SF/${PORTNAME}library/${PORTNAME}-unix/${PORTVERSION}
-DISTNAME=	OpenCV-${DISTVERSION}a
 
 MAINTAINER=	jhale@FreeBSD.org
-COMMENT=	Open Source Computer Vision library from Intel
+COMMENT=	Open Source Computer Vision library
 
 LICENSE=	BSD
 LICENSE_FILE=	${WRKSRC}/doc/license.txt
 
-WANT_GSTREAMER=	yes
-MAKE_JOBS_UNSAFE=	yes
-USE_BZIP2=	yes
 USES=		cmake pkgconfig
-USE_DOS2UNIX=	yes
 USE_LDCONFIG=	yes
-
-WRKSRC=		${WRKDIR}/OpenCV-${DISTVERSION}
-
-CXXFLAGS+=	-DGTEST_USE_OWN_TR1_TUPLE=1
+WANT_GSTREAMER=	yes
+MAKE_JOBS_UNSAFE=	yes
 
 NOT_FOR_ARCHS=	sparc64
 NOT_FOR_ARCHS_REASON_sparc64=	does not compile on sparc64
@@ -31,182 +24,242 @@ NOT_FOR_ARCHS_REASON_sparc64=	does not c
 DATADIR=	${PREFIX}/share/OpenCV
 PLIST_SUB+=	VERSION=${DISTVERSION}
 
-.if !defined(_BUILDING_OPENCV_CORE) && !defined(_BUILDING_OPENCV_PYTHON)
-EXTRA_PATCHES+=	${FILESDIR}/extra-patch-opencv
-LIB_DEPENDS+=	libopencv_core.so.2:${PORTSDIR}/graphics/opencv-core
-LDFLAGS+=	-L${LOCALBASE}/lib -lopencv_core
-
-PORTDOCS=	*
-
-OPTIONS_DEFINE=		EIGEN3 FFMPEG GSTREAMER GTK2 JASPER JPEG OPENEXR PNG \
-			QT4 TBB TIFF V4L XINE EXAMPLES
+CMAKE_ARGS+=	-DWITH_CUDA:BOOL=Off \
+		-DWITH_PVAPI:BOOL=Off \
+		-DWITH_UNICAP:BOOL=Off \
+		-DBUILD_TESTS:BOOL=Off \
+		-DBUILD_DOCS:BOOL=Off \
+		-DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_CMD}
+CFLAGS+=	-I${LOCALBASE}/include
+
+SUB_FILES=	FindOpenCVCore.cmake
+SUB_LIST=	OCV_VERSION=${PORTVERSION}
+
+OCV_CORE_MODS=		core imgproc
+OCV_MODS=		calib3d contrib features2d flann gpu \
+			highgui legacy ml ocl objdetect photo \
+			stitching superres ts video videostab
+OCV_NONFREE_MODS=	nonfree
+OCV_JAVA_MODS=		java
+OCV_PYTHON_MODS=	python
+
+OPTIONS_DEFINE=		EXAMPLES DC1394 NONFREE
+OPTIONS_GROUP=		GUI IMAGE PERFORMANCE VIDEO
+OPTIONS_GROUP_GUI=	GTK2 QT4
+OPTIONS_GROUP_IMAGE=	JASPER JPEG OPENEXR PNG TIFF
+OPTIONS_GROUP_PERFORMANCE=	EIGEN3 TBB
+OPTIONS_GROUP_VIDEO=	FFMPEG GSTREAMER V4L XINE
 OPTIONS_DEFAULT=	EIGEN3 JASPER JPEG PNG TIFF V4L
+OPTIONS_SUB=		yes
+.if defined(OCV_CORE)
+OPTIONS_EXCLUDE=	DC1394 EXAMPLES GTK2 QT4 JASPER JPEG NONFREE OPENEXR \
+			PNG TIFF FFMPEG GSTREAMER V4L XINE
+.elif defined(OCV_PYTHON)
+OPTIONS_EXCLUDE=	DC1394 GTK2 QT4 JASPER JPEG NONFREE OPENEXR \
+			PNG TIFF TBB EIGEN3 FFMPEG GSTREAMER V4L XINE
+.endif
 
+DC1394_DESC=		IEEE 1394 camera support
 EIGEN3_DESC=		Eigen 3 support
-EIGEN3_BUILD_DEPENDS=	${LOCALBASE}/include/eigen3/Eigen/Eigen:${PORTSDIR}/math/eigen3
-EIGEN3_CMAKE_ON=	-DWITH_EIGEN:BOOL=On
-EIGEN3_CMAKE_OFF=	-DWITH_EIGEN:BOOL=Off
-
-FFMPEG_LIB_DEPENDS=	libavcodec0.so:${PORTSDIR}/multimedia/ffmpeg0
-FFMPEG_CMAKE_ON=	-DWITH_FFMPEG:BOOL=On
-FFMPEG_CMAKE_OFF=	-DWITH_FFMPEG:BOOL=Off
-FFMPEG_CXXFLAGS=	-I${LOCALBASE}/include/ffmpeg0
-
-GSTREAMER_USE=		GSTREAMER=yes
-GSTREAMER_CMAKE_ON=	-DWITH_GSTREAMER:BOOL=On
-GSTREAMER_CMAKE_OFF=	-DWITH_GSTREAMER:BOOL=Off
-
-GTK2_USE=		GNOME=gtk20
-GTK2_CMAKE_ON=		-DWITH_GTK:BOOL=On
-GTK2_CMAKE_OFF=		-DWITH_GTK:BOOL=Off
-
-JASPER_LIB_DEPENDS=	libjasper.so:${PORTSDIR}/graphics/jasper
-JASPER_CMAKE_ON=	-DWITH_JASPER:BOOL=On
-JASPER_CMAKE_OFF=	-DWITH_JASPER:BOOL=Off
-
-JPEG_LIB_DEPENDS=	libjpeg.so:${PORTSDIR}/graphics/jpeg
-JPEG_CMAKE_ON=		-DWITH_JPEG:BOOL=On
-JPEG_CMAKE_OFF=		-DWITH_JPEG:BOOL=Off
-
-OPENEXR_DESC=		OpenEXR support
-OPENEXR_LIB_DEPENDS=	libIlmImf.so:${PORTSDIR}/graphics/OpenEXR
-OPENEXR_CMAKE_ON=	-DWITH_OPENEXR:BOOL=On
-OPENEXR_CMAKE_OFF=	-DWITH_OPENEXR:BOOL=Off
-
-PNG_LIB_DEPENDS=	libpng15.so:${PORTSDIR}/graphics/png
-PNG_CMAKE_ON=		-DWITH_PNG:BOOL=On
-PNG_CMAKE_OFF=		-DWITH_PNG:BOOL=Off
-
-QT4_USE=		QT4=opengl moc_build qmake_build rcc_build uic_build qtestlib
-QT4_CMAKE_ON=		-DWITH_QT:BOOL=On -DWITH_QT_OPENGL:BOOL=On
-QT4_CMAKE_OFF=		-DWITH_QT:BOOL=Off
-
+IMAGE_DESC=		Image format support
+NONFREE_DESC=		Build functionality that has possible limitations of use
+PERFORMANCE_DESC=	Performance enhancing libraries
 TBB_DESC=		TBB support
-TBB_LIB_DEPENDS=	libtbb.so:${PORTSDIR}/devel/tbb
-TBB_CMAKE_ON=		-DWITH_TBB:BOOL=On \
-			-DTBBLIB_FOUND:BOOL=1 -DTBB_FOUND:BOOL=On \
-			-DTBB_INCLUDE_DIRS:STRING="${LOCALBASE}/include" \
-			-DTBB_LIBRARY_DIRS:STRING="${LOCALBASE}/lib" \
-			-DTBB_LIBRARIES:STRING="tbb"
-TBB_CMAKE_OFF=		-DWITH_TBB:BOOL=Off
-
-TIFF_LIB_DEPENDS=	libtiff.so:${PORTSDIR}/graphics/tiff
-TIFF_CMAKE_ON=		-DWITH_TIFF:BOOL=On
-TIFF_CMAKE_OFF=		-DWITH_TIFF:BOOL=Off
-
-V4L_LIB_DEPENDS=	libv4l2.so:${PORTSDIR}/multimedia/libv4l
-V4L_BUILD_DEPENDS=	${LOCALBASE}/include/linux/videodev2.h:${PORTSDIR}/multimedia/v4l_compat
-V4L_CMAKE_ON=		-DWITH_V4L:BOOL=On \
-			-DCMAKE_REQUIRED_INCLUDES:STRING="${LOCALBASE}/include"
-V4L_CMAKE_OFF=		-DWITH_V4L:BOOL=Off
-
-XINE_LIB_DEPENDS=	libxine.so:${PORTSDIR}/multimedia/libxine
-XINE_CMAKE_ON=		-DWITH_XINE:BOOL=On
-XINE_CMAKE_OFF=		-DWITH_XINE:BOOL=Off
 
-NO_STAGE=	yes
 .include <bsd.port.options.mk>
 
+.if ${PORT_OPTIONS:MDC1394}
+LIB_DEPENDS+=	libdc1394.so:${PORTSDIR}/multimedia/libdc1394
+CMAKE_ARGS+=	-DWITH_1394:BOOL=On
+.else
+CMAKE_ARGS+=	-DWITH_1394:BOOL=Off
+.endif
+
+.if ${PORT_OPTIONS:MEIGEN3}
+BUILD_DEPENDS+=	${LOCALBASE}/include/eigen3/Eigen/Eigen:${PORTSDIR}/math/eigen3
+CMAKE_ARGS+=	-DWITH_EIGEN:BOOL=On
+.else
+CMAKE_ARGS=	-DWITH_EIGEN:BOOL=Off
+.endif
+
 .if ${PORT_OPTIONS:MEXAMPLES}
-CMAKE_ARGS+=	-DBUILD_EXAMPLES:BOOL=On -DINSTALL_C_EXAMPLES:BOOL=On
-PORTEXAMPLES+=	c cpp gpu
+PORTEXAMPLES=	*
+. if !defined(OCV_SLAVE)
+CMAKE_ARGS+=	-DBUILD_EXAMPLES:BOOL=On \
+		-DINSTALL_C_EXAMPLES:BOOL=On
+. endif
 .endif
 
-.else # defined(_BUILDING_OPENCV_CORE) || defined(_BUILDING_OPENCV_PYTHON)
+.if ${PORT_OPTIONS:MFFMPEG}
+LIB_DEPENDS+=	libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
+CMAKE_ARGS+=	-DWITH_FFMPEG:BOOL=On
+.else
+CMAKE_ARGS+=	-DWITH_FFMPEG:BOOL=Off
+.endif
 
-. if defined(_BUILDING_OPENCV_CORE)
-COMMENT=	OpenCV core libraries
-PLIST=		${PKGDIR}/pkg-plist.oc
-PKGNAMESUFFIX=	-core
-LATEST_LINK=	${PORTNAME}-core
-EXTRA_PATCHES+=	${FILESDIR}/extra-patch-opencv-core
-
-. elif defined(_BUILDING_OPENCV_PYTHON)
-COMMENT=	OpenCV Python library
-CATEGORIES=	graphics python
-PLIST=		${PKGDIR}/pkg-plist.python
-PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
-PKGNAMESUFFIX=	# no suffix
+.if ${PORT_OPTIONS:MGSTREAMER}
+USE_GSTREAMER=	yes
+CMAKE_ARGS+=	-DWITH_GSTREAMER:BOOL=On
+.else
+CMAKE_ARGS+=	-DWITH_GSTREAMER:BOOL=Off
+.endif
 
-LIB_DEPENDS+=	libopencv_legacy.so.2:${PORTSDIR}/graphics/opencv
-CMAKE_ENV+=	LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
-INSTALL_WRKSRC=	${WRKSRC}/modules/python
-EXTRA_PATCHES+=	${FILESDIR}/extra-patch-opencv-python
+.if ${PORT_OPTIONS:MGTK2}
+USE_GNOME+=	gtk20
+CMAKE_ARGS+=	-DWITH_GTK:BOOL=On
+.else
+CMAKE_ARGS+=	-DWITH_GTK:BOOL=Off
+.endif
 
-USE_PYTHON=	yes
-BUILD_DEPENDS+=	${PYNUMPY}
-RUN_DEPENDS+=	${PYNUMPY}
-. endif	# defined(_BUILDING_OPENCV_PYTHON)
-CMAKE_ARGS+=	-DBUILD_EXAMPLES:BOOL=Off \
-		-DINSTALL_PYTHON_EXAMPLES:BOOL=Off \
-		-DBUILD_TESTS:BOOL=Off \
-		-DWITH_EIGEN:BOOL=Off \
-		-DWITH_FFMPEG:BOOL=Off \
-		-DWITH_GSTREAMER:BOOL=Off \
-		-DWITH_GTK:BOOL=Off \
-		-DWITH_JASPER:BOOL=Off \
-		-DWITH_JPEG:BOOL=Off \
-		-DWITH_OPENEXR:BOOL=Off \
-		-DWITH_PNG:BOOL=Off \
-		-DWITH_QT:BOOL=Off \
-		-DWITH_TBB:BOOL=Off \
-		-DWITH_V4L:BOOL=Off \
-		-DWITH_TIFF:BOOL=Off \
-		-DWITH_XINE:BOOL=Off \
-		-DWITH_PVAPI:BOOL=Off \
-		-DWITH_1394:BOOL=Off \
-		-DWITH_CUDA:BOOL=Off
+.if ${PORT_OPTIONS:MJASPER}
+LIB_DEPENDS+=	libjasper.so:${PORTSDIR}/graphics/jasper
+CMAKE_ARGS+=	-DWITH_JASPER:BOOL=On
+.else
+CMAKE_ARGS+=	-DWITH_JASPER:BOOL=Off
+.endif
 
-.include <bsd.port.options.mk>
+.if ${PORT_OPTIONS:MJPEG}
+LIB_DEPENDS+=	libjpeg.so:${PORTSDIR}/graphics/jpeg
+CMAKE_ARGS+=	-DWITH_JPEG:BOOL=On
+.else
+CMAKE_ARGS+=	-DWITH_JPEG:BOOL=Off
+.endif
+
+.if ${PORT_OPTIONS:MNONFREE}
+CMAKE_ARGS+=	-DBUILD_opencv_nonfree:BOOL=On
+.else
+CMAKE_ARGS+=	-DBUILD_opencv_nonfree:BOOL=Off
+.endif
+
+.if ${PORT_OPTIONS:MOPENEXR}
+LIB_DEPENDS+=	libIlmImf.so:${PORTSDIR}/graphics/OpenEXR
+CMAKE_ARGS+=	-DWITH_OPENEXR:BOOL=On
+.else
+CMAKE_ARGS+=	-DWITH_OPENEXR:BOOL=Off
+.endif
+
+.if ${PORT_OPTIONS:MPNG}
+LIB_DEPENDS+=	libpng15.so:${PORTSDIR}/graphics/png
+CMAKE_ARGS+=	-DWITH_PNG:BOOL=On
+.else
+CMAKE_ARGS+=	-DWITH_PNG:BOOL=Off
+.endif
 
-.endif # defined(_BUILDING_OPENCV_CORE) || defined(_BUILDING_OPENCV_PYTHON)
+.if ${PORT_OPTIONS:MQT4}
+USE_QT4+=	opengl moc_build qmake_build rcc_build uic_build qtestlib
+CMAKE_ARGS+=	-DWITH_QT:BOOL=On \
+		-DWITH_OPENGL:BOOL=On
+.else
+CMAKE_ARGS+=	-DWITH_QT:BOOL=Off
+.endif
+
+.if ${PORT_OPTIONS:MTBB}
+LIB_DEPENDS+=	libtbb.so:${PORTSDIR}/devel/tbb
+CMAKE_ARGS+=	-DWITH_TBB:BOOL=On \
+		-DTBB_INCLUDE_DIR:STRING="${LOCALBASE}/include"
+.else
+CMAKE_ARGS+=	-DWITH_TBB:BOOL=Off
+.endif
+
+.if ${PORT_OPTIONS:MTIFF}
+LIB_DEPENDS+=	libtiff.so:${PORTSDIR}/graphics/tiff
+CMAKE_ARGS+=	-DWITH_TIFF:BOOL=On
+.else
+CMAKE_ARGS+=	-DWITH_TIFF:BOOL=Off
+.endif
 
-.if defined(_BUILDING_OPENCV_PYTHON)
-CMAKE_ARGS+=	-DBUILD_NEW_PYTHON_SUPPORT:BOOL=On
+.if ${PORT_OPTIONS:MV4L}
+LIB_DEPENDS+=	libv4l2.so:${PORTSDIR}/multimedia/libv4l
+BUILD_DEPENDS+=	${LOCALBASE}/include/linux/videodev2.h:${PORTSDIR}/multimedia/v4l_compat
+CMAKE_ARGS+=	-DWITH_V4L:BOOL=On \
+		-DCMAKE_REQUIRED_INCLUDES:STRING="${LOCALBASE}/include"
 .else
-CMAKE_ARGS+=	-DBUILD_NEW_PYTHON_SUPPORT:BOOL=Off
+CMAKE_ARGS+=	-DWITH_V4L:BOOL=Off
+.endif
+
+.if ${PORT_OPTIONS:MXINE}
+LIB_DEPENDS+=	libxine.so:${PORTSDIR}/multimedia/libxine
+CMAKE_ARGS+=	-DWITH_XINE:BOOL=On
+.else
+CMAKE_ARGS+=	-DWITH_XINE:BOOL=Off
+.endif
+
+.if defined(OCV_CORE)
+. for module in ${OCV_MODS} ${OCV_JAVA_MODS} ${OCV_PYTHON_MODS}
+CMAKE_ARGS+=	-DBUILD_opencv_${module}:BOOL=Off
+. endfor
+.elif defined(OCV_PYTHON)
+LIB_DEPENDS+=	libopencv_legacy.so:${PORTSDIR}/graphics/opencv
+BUILD_DEPENDS+=	${PYNUMPY}
+RUN_DEPENDS+=	${PYNUMPY}
+USE_PYTHON=	yes
+CMAKE_ARGS+=	-DBUILD_opencv_python:BOOL=On
+. for module in ${OCV_MODS} ${OCV_CORE_MODS} ${OCV_JAVA_MODS}
+CMAKE_ARGS+=	-DBUILD_opencv_${module}:BOOL=Off
+. endfor
+CMAKE_ENV+=	LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
+INSTALL_WRKSRC=	${WRKSRC}/modules/python
+.elif defined(OCV_JAVA)
+BUILD_DEPENDS+=	ant:${PORTSDIR}/devel/apache-ant
+LIB_DEPENDS+=	libopencv_legacy.so:${PORTSDIR}/graphics/opencv
+USE_JAVA=	yes
+USE_PYTHON_BUILD=	yes
+CMAKE_ARGS+=	-DBUILD_opencv_java:BOOL=On
+. for module in apps python stitching superres videostab
+CMAKE_ARGS+=	-DBUILD_opencv_${module}:BOOL=Off
+. endfor
+CMAKE_ENV+=	JAVA_HOME="${JAVA_HOME}"
+INSTALL_WRKSRC=	${WRKSRC}/modules/java
+.else
+LIB_DEPENDS+=	libopencv_core.so:${PORTSDIR}/graphics/opencv-core
+. for module in ${OCV_JAVA_MODS} ${OCV_PYTHON_MODS}
+CMAKE_ARGS+=	-DBUILD_opencv_${module}:BOOL=Off
+. endfor
 .endif
 
 post-patch:
 	@${MKDIR} ${CONFIGURE_WRKSRC}
-	@${REINPLACE_CMD} -e 's:set(OPENCV_SOVERSION.*:set(OPENCV_SOVERSION "$${OPENCV_VERSION_MAJOR}"):' \
-		-e 's:-pthread:${PTHREAD_LIBS}:g' \
-		-e 's:$${OPENCV_LIB_INSTALL_PATH}/pkgconfig:$${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig:g' \
-		-e 's:share/OpenCV/doc:share/doc/opencv:g' \
-		-e 's:-mcpu=G3::g' \
+	@${REINPLACE_CMD} -e '/pkgconfig/s|$${OPENCV_LIB_INSTALL_PATH}|libdata|' \
+		 ${WRKSRC}/cmake/OpenCVGenPkgconfig.cmake
+	@${REINPLACE_CMD} -e 's|share/OpenCV/doc|share/doc/${PORTNAME}|g' \
 		${WRKSRC}/CMakeLists.txt
-	@${REINPLACE_CMD} -e 's|${PORTNAME}/samples|examples/${PORTNAME}|g' \
+	@${REINPLACE_CMD} -e 's|[Oo]pen[Cc][Vv]/samples|examples/${PORTNAME}|g' \
 		${WRKSRC}/samples/*/CMakeLists.txt \
 		${WRKSRC}/samples/*/*/CMakeLists.txt
 	@${FIND} ${WRKSRC} -name '*.orig' -exec ${RM} {} \;
-	@${REINPLACE_CMD} \
-		-e 's,libavcodec ,libavcodec0 ,g' \
-		-e 's,libavformat ,libavformat0 ,g' \
-		-e 's,libswscale ,libswscale0 ,g' \
-		-e 's,libavutil ,libavutil0 ,g' \
-		${WRKSRC}/CMakeLists.txt
+.if defined(OCV_CORE)
+	@${REINPLACE_CMD} -e 's|opencv.pc|opencv-core.pc|g' \
+		${WRKSRC}/cmake/OpenCVGenPkgconfig.cmake
+	@${REINPLACE_CMD} -e 's|Name:.*|Name: OpenCV-core|' \
+		${WRKSRC}/cmake/templates/opencv-XXX.pc.cmake.in
+.endif
+.if defined(OCV_PYTHON)
+. for module in ${OCV_CORE_MODS} ${OCV_MODS} ${OCV_NONFREE_MODS}
+	@${REINPLACE_CMD} -e 's|opencv_${module} | |' \
+		-e 's|opencv_${module}$$||' \
+		-e 's|opencv_${module})|)|' \
+		${WRKSRC}/modules/*/CMakeLists.txt
+. endfor
+	${REINPLACE_CMD} -e '/[Ee][Xx][Pp][Oo][Rr][Tt]/d' \
+		${WRKSRC}/cmake/OpenCVGenConfig.cmake
+.endif
 
-.if defined(_BUILDING_OPENCV_CORE) && !defined(_BUILDING_OPENCV_PYTHON)
-	@${REINPLACE_CMD} -e '/add_subdirectory(data)/ d' \
-		-e '/add_subdirectory(include)/ d' \
-		-e 's|opencv.pc|opencv-core.pc|g' \
-		-e 's|OpenCVConfig.cmake|OpenCVConfig-core.cmake|g' \
-		-e 's|OpenCVConfig-version.cmake|OpenCVConfig-core-version.cmake|g' \
-		-e 's|    set(root_files README)||g' \
-		-e 's|    install(CODE "exec_program.*||g' \
-		${WRKSRC}/CMakeLists.txt
-	@${SED} -E -e \
-		's|Name:.*|Name: OpenCV-core|' -e \
-		's|Libs:.*|Libs: -L$${libdir} -lopencv_core@OPENCV_DLLVERSION@ -lopencv_imgproc@OPENCV_DLLVERSION@ -lopencv_video@OPENCV_DLLVERSION@ -lopencv_flann@OPENCV_DLLVERSION@|' \
-		${WRKSRC}/opencv.pc.cmake.in > ${WRKSRC}/opencv-core.pc.cmake.in
-	@${SED} -E -e \
-		's|    set\(OPENCV_LIB_COMPONENTS .*|    set\(OPENCV_LIB_COMPONENTS opencv_core opencv_imgproc opencv_video opencv_ml opencv_flann\)|g' \
-		${WRKSRC}/OpenCVConfig.cmake.in > ${WRKSRC}/OpenCVConfig-core.cmake.in
-	@${LN} -sf OpenCVConfig-version.cmake.in ${WRKSRC}/OpenCVConfig-core-version.cmake.in
+post-install:
+.if defined(OCV_CORE)
+	${MKDIR} ${STAGEDIR}${PREFIX}/share/cmake/Modules
+	${INSTALL_DATA} ${WRKDIR}/FindOpenCVCore.cmake ${STAGEDIR}${PREFIX}/share/cmake/Modules
 .endif
-.if ! ${PORT_OPTIONS:MDOCS} || defined(_BUILDING_OPENCV_CORE) || defined(_BUILDING_OPENCV_PYTHON)
-	@${REINPLACE_CMD} -e '/add_subdirectory(doc)/ d' \
-		${WRKSRC}/CMakeLists.txt
+.if defined(OCV_PYTHON)
+	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+	cd ${WRKSRC}/samples/python && \
+		${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/python
+	cd ${WRKSRC}/samples/python2 && \
+		${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/python2
+.endif
+.if defined(OCV_JAVA)
+	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+	cd ${WRKSRC}/samples/java && \
+		${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/java
 .endif
 
 .include <bsd.port.mk>

Modified: head/graphics/opencv/distinfo
==============================================================================
--- head/graphics/opencv/distinfo	Wed Dec  4 00:56:26 2013	(r335600)
+++ head/graphics/opencv/distinfo	Wed Dec  4 02:51:00 2013	(r335601)
@@ -1,2 +1,2 @@
-SHA256 (OpenCV-2.3.1a.tar.bz2) = a9a2f529101c04eb2b606eee8c80f3ad93190b36f91ac09ee0ec5aa1eed1450c
-SIZE (OpenCV-2.3.1a.tar.bz2) = 32669613
+SHA256 (opencv-2.4.7.tar.gz) = c48d6c735bfa40c76cadcc0106051e095d8b492b05ac7d2cc9647be807dd2a43
+SIZE (opencv-2.4.7.tar.gz) = 85587316

Added: head/graphics/opencv/files/FindOpenCVCore.cmake.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/opencv/files/FindOpenCVCore.cmake.in	Wed Dec  4 02:51:00 2013	(r335601)
@@ -0,0 +1,38 @@
+# Module for finding the core components of OpenCV installed by
+# graphics/opencv-core.  Use for projects that require only
+# opencv_core or opencv_imgproc.  Others should use the
+# standard OpenCV CMake find routines provided by graphics/opencv.
+#
+# This module provides:
+# OPENCVCORE_FOUND - defined if the required OpenCV components are found
+# OpenCV_INCLUDE_DIRS - the path to the OpenCV headers
+# OpenCV_LIBS - the OpenCV libraries to link to
+# OpenCV_VERSION - the version of OpenCV
+#
+# Example usage: find_package( OpenCVCore COMPONENTS core imgproc REQUIRED )
+
+include( FindPackageHandleStandardArgs )
+
+set( OpenCV_VERSION %%OCV_VERSION%% )
+
+find_path( OpenCV_INCLUDE_DIRS NAMES opencv2/core/core.hpp )
+
+if( OpenCVCore_FIND_COMPONENTS )
+  foreach( component ${OpenCVCore_FIND_COMPONENTS} )
+    string( TOUPPER ${component} _COMPONENT )
+    set( OPENCV_USE_${_COMPONENT} 1 )
+  endforeach()
+endif()
+
+# opencv_core is always required
+find_library( OPENCV_CORE_LIBRARY NAMES opencv_core )
+
+if( OPENCV_USE_IMGPROC OR NOT OpenCVCore_FIND_COMPONENTS )
+  find_library( OPENCV_IMGPROC_LIBRARY NAMES opencv_imgproc )
+endif()
+
+set( OpenCV_LIBS ${OPENCV_CORE_LIBRARY} ${OPENCV_IMGPROC_LIBRARY} )
+
+find_package_handle_standard_args( OpenCVCore DEFAULT_MSG OpenCV_LIBS OpenCV_INCLUDE_DIRS )
+
+mark_as_advanced( ${OpenCV_LIBS} ${OpenCV_INCLUDE_DIRS} ${OpenCV_VERSION} )

Copied and modified: head/graphics/opencv/files/patch-apps__traincascade__imagestorage.h (from r335285, head/graphics/opencv/files/patch-modules-traincascade-imagestorage.h)
==============================================================================
--- head/graphics/opencv/files/patch-modules-traincascade-imagestorage.h	Sat Nov 30 11:19:34 2013	(r335285, copy source)
+++ head/graphics/opencv/files/patch-apps__traincascade__imagestorage.h	Wed Dec  4 02:51:00 2013	(r335601)
@@ -1,5 +1,5 @@
---- modules/traincascade/imagestorage.h.orig	2011-06-27 08:30:19.212006174 +0200
-+++ modules/traincascade/imagestorage.h	2011-06-27 08:30:50.325671316 +0200
+--- ./apps/traincascade/imagestorage.h.orig	2013-07-10 07:49:00.000000000 -0400
++++ ./apps/traincascade/imagestorage.h	2013-10-23 23:52:32.000000000 -0400
 @@ -1,6 +1,7 @@
  #ifndef _OPENCV_IMAGESTORAGE_H_
  #define _OPENCV_IMAGESTORAGE_H_

Added: head/graphics/opencv/files/patch-cmake__OpenCVCompilerOptions.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/opencv/files/patch-cmake__OpenCVCompilerOptions.cmake	Wed Dec  4 02:51:00 2013	(r335601)
@@ -0,0 +1,27 @@
+--- ./cmake/OpenCVCompilerOptions.cmake.orig	2013-11-06 09:26:39.000000000 -0500
++++ ./cmake/OpenCVCompilerOptions.cmake	2013-11-30 05:56:46.000000000 -0500
+@@ -122,7 +122,7 @@
+     add_extra_compiler_option(-ffast-math)
+   endif()
+   if(ENABLE_POWERPC)
+-    add_extra_compiler_option("-mcpu=G3 -mtune=G5")
++    add_extra_compiler_option("-mtune=G5")
+   endif()
+   if(ENABLE_SSE)
+     add_extra_compiler_option(-msse)
+@@ -158,6 +158,7 @@
+   endif(NOT MINGW)
+ 
+   if(X86 OR X86_64)
++   if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+     if(NOT APPLE AND CMAKE_SIZEOF_VOID_P EQUAL 4)
+       if(OPENCV_EXTRA_CXX_FLAGS MATCHES "-m(sse2|avx)")
+         add_extra_compiler_option(-mfpmath=sse)# !! important - be on the same wave with x64 compilers
+@@ -165,6 +166,7 @@
+         add_extra_compiler_option(-mfpmath=387)
+       endif()
+     endif()
++   endif()
+   endif()
+ 
+   # Profiling?

Added: head/graphics/opencv/files/patch-cmake__OpenCVVersion.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/opencv/files/patch-cmake__OpenCVVersion.cmake	Wed Dec  4 02:51:00 2013	(r335601)
@@ -0,0 +1,11 @@
+--- ./cmake/OpenCVVersion.cmake.orig	2013-10-24 00:12:48.000000000 -0400
++++ ./cmake/OpenCVVersion.cmake	2013-10-24 00:13:06.000000000 -0400
+@@ -11,7 +11,7 @@
+   set(OPENCV_VERSION "${OPENCV_VERSION}.${OPENCV_VERSION_TWEAK}")
+ endif()
+ 
+-set(OPENCV_SOVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}")
++set(OPENCV_SOVERSION "${OPENCV_VERSION_MAJOR}")
+ set(OPENCV_LIBVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}.${OPENCV_VERSION_PATCH}")
+ 
+ # create a dependency on version file

Added: head/graphics/opencv/files/patch-cmake__templates__OpenCVConfig.cmake.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/opencv/files/patch-cmake__templates__OpenCVConfig.cmake.in	Wed Dec  4 02:51:00 2013	(r335601)
@@ -0,0 +1,11 @@
+--- ./cmake/templates/OpenCVConfig.cmake.in.orig	2013-12-01 09:56:12.000000000 -0500
++++ ./cmake/templates/OpenCVConfig.cmake.in	2013-12-01 09:56:42.000000000 -0500
+@@ -195,7 +195,7 @@
+   set(OpenCV_LIB_SUFFIX "")
+ endif()
+ 
+-SET(OpenCV_LIBS "${OpenCV_LIB_COMPONENTS}")
++SET(OpenCV_LIBS "${OpenCV_FIND_COMPONENTS}")
+ 
+ foreach(__opttype OPT DBG)
+   SET(OpenCV_LIBS_${__opttype} "${OpenCV_LIBS}")

Modified: head/graphics/opencv/files/patch-modules__contrib__src__spinimages.cpp
==============================================================================
--- head/graphics/opencv/files/patch-modules__contrib__src__spinimages.cpp	Wed Dec  4 00:56:26 2013	(r335600)
+++ head/graphics/opencv/files/patch-modules__contrib__src__spinimages.cpp	Wed Dec  4 02:51:00 2013	(r335601)
@@ -1,37 +1,10 @@
---- ./modules/contrib/src/spinimages.cpp.orig	2013-10-22 07:55:31.000000000 -0400
-+++ ./modules/contrib/src/spinimages.cpp	2013-10-22 07:55:51.000000000 -0400
-@@ -85,7 +85,7 @@
-     };
-     size_t colors_mum = sizeof(colors)/sizeof(colors[0]);
+--- ./modules/contrib/src/spinimages.cpp.orig	2013-10-26 07:55:45.000000000 -0400
++++ ./modules/contrib/src/spinimages.cpp	2013-10-26 07:56:13.000000000 -0400
+@@ -46,6 +46,7 @@
+ #include <functional>
+ #include <fstream>
+ #include <limits>
++#include <numeric>
+ #include <set>
  
--template<class FwIt, class T> void iota(FwIt first, FwIt last, T value) { while(first != last) *first++ = value++; }
-+template<class FwIt, class T> void _iota(FwIt first, FwIt last, T value) { while(first != last) *first++ = value++; }
- 
- void computeNormals( const Octree& Octree, const vector<Point3f>& centers, vector<Point3f>& normals, 
-                     vector<uchar>& mask, float normalRadius, int minNeighbors = 20)
-@@ -790,14 +790,14 @@
-     else if (setSize == vtxSize)
-     {
-         subset.resize(vtxSize);
--        iota(subset.begin(), subset.end(), 0);
-+        _iota(subset.begin(), subset.end(), 0);
-     }
-     else
-     {
-         RNG& rnd = theRNG();
- 
-         vector<size_t> left(vtxSize);
--        iota(left.begin(), left.end(), (size_t)0);
-+        _iota(left.begin(), left.end(), (size_t)0);
- 
-         subset.resize(setSize);
-         for(size_t i = 0; i < setSize; ++i)
-@@ -870,7 +870,7 @@
-     {
-         mesh.computeNormals(normalRadius, minNeighbors);
-         subset.resize(mesh.vtx.size());
--        iota(subset.begin(), subset.end(), 0);
-+        _iota(subset.begin(), subset.end(), 0);
-     }
-     else
-         mesh.computeNormals(subset, normalRadius, minNeighbors);
+ using namespace cv;

Added: head/graphics/opencv/files/patch-modules__core__src__system.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/opencv/files/patch-modules__core__src__system.cpp	Wed Dec  4 02:51:00 2013	(r335601)
@@ -0,0 +1,41 @@
+--- ./modules/core/src/system.cpp.orig	2013-11-25 05:42:32.000000000 -0500
++++ ./modules/core/src/system.cpp	2013-11-25 05:42:42.000000000 -0500
+@@ -126,7 +126,7 @@
+ 
+ #include <stdarg.h>
+ 
+-#if defined __linux__ || defined __APPLE__
++#if defined __linux__ || defined __APPLE__ || defined __FreeBSD__
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+@@ -897,14 +897,23 @@
+ 
+ struct Mutex::Impl
+ {
+-    Impl() { pthread_mutex_init(&sl, 0); refcount = 1; }
+-    ~Impl() { pthread_mutex_destroy(&sl); }
++    Impl()
++    {
++        pthread_mutexattr_t attr;
++        pthread_mutexattr_init(&attr);
++        pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
++        pthread_mutex_init(&mt, &attr);
++        pthread_mutexattr_destroy(&attr);
+ 
+-    void lock() { pthread_mutex_lock(&sl); }
+-    bool trylock() { return pthread_mutex_trylock(&sl) == 0; }
+-    void unlock() { pthread_mutex_unlock(&sl); }
++        refcount = 1;
++    }
++    ~Impl() { pthread_mutex_destroy(&mt); }
+ 
+-    pthread_mutex_t sl;
++    void lock() { pthread_mutex_lock(&mt); }
++    bool trylock() { return pthread_mutex_trylock(&mt) == 0; }
++    void unlock() { pthread_mutex_unlock(&mt); }
++
++    pthread_mutex_t mt;
+     int refcount;
+ };
+ 

Copied and modified: head/graphics/opencv/files/patch-modules__highgui__src__cap_libv4l.cpp (from r335285, head/graphics/opencv/files/patch-modules-highgui-src-cap_libv4l.cpp)
==============================================================================
--- head/graphics/opencv/files/patch-modules-highgui-src-cap_libv4l.cpp	Sat Nov 30 11:19:34 2013	(r335285, copy source)
+++ head/graphics/opencv/files/patch-modules__highgui__src__cap_libv4l.cpp	Wed Dec  4 02:51:00 2013	(r335601)
@@ -1,6 +1,6 @@
---- modules/highgui/src/cap_libv4l.cpp.orig	2011-06-21 15:24:06.000000000 +0200
-+++ modules/highgui/src/cap_libv4l.cpp	2011-06-27 08:39:17.750223439 +0200
-@@ -236,7 +236,6 @@
+--- ./modules/highgui/src/cap_libv4l.cpp.orig	2013-07-10 07:49:00.000000000 -0400
++++ ./modules/highgui/src/cap_libv4l.cpp	2013-10-23 23:52:32.000000000 -0400
+@@ -237,7 +237,6 @@
  #include <sys/mman.h>
  #include <string.h>
  #include <stdlib.h>
@@ -8,7 +8,7 @@
  #include <assert.h>
  #include <sys/stat.h>
  #include <sys/ioctl.h>
-@@ -568,7 +567,7 @@
+@@ -574,7 +573,7 @@
  
  static void v4l2_scan_controls(CvCaptureCAM_V4L* capture) {
  

Copied and modified: head/graphics/opencv/files/patch-modules__highgui__src__cap_v4l.cpp (from r335285, head/graphics/opencv/files/patch-modules-highgui-src-cap_v4l.cpp)
==============================================================================
--- head/graphics/opencv/files/patch-modules-highgui-src-cap_v4l.cpp	Sat Nov 30 11:19:34 2013	(r335285, copy source)
+++ head/graphics/opencv/files/patch-modules__highgui__src__cap_v4l.cpp	Wed Dec  4 02:51:00 2013	(r335601)
@@ -1,20 +1,19 @@
---- modules/highgui/src/cap_v4l.cpp.orig	2011-06-21 15:24:06.000000000 +0200
-+++ modules/highgui/src/cap_v4l.cpp	2011-06-27 08:38:16.221682985 +0200
-@@ -218,7 +218,6 @@
+--- ./modules/highgui/src/cap_v4l.cpp.orig	2013-10-23 23:54:06.000000000 -0400
++++ ./modules/highgui/src/cap_v4l.cpp	2013-10-23 23:55:25.000000000 -0400
+@@ -232,7 +232,6 @@

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312040251.rB42p0ll012471>