svn commit: r563430 - in head: . astro/siril graphics graphics/cimg graphics/cimg/files graphics/dbow2 graphics/digikam graphics/frei0r graphics/gimp-gmic-plugin graphics/gmic graphics/gstreamer-pl...

Tobias C. Berner tcberner at FreeBSD.org
Sat Jan 30 18:09:01 UTC 2021


Author: tcberner
Date: Sat Jan 30 18:08:56 2021
New Revision: 563430
URL: https://svnweb.freebsd.org/changeset/ports/563430

Log:
  graphics/opencv: update to 4.5.1 -- and make port more easily maintainable
  
  This is a major upgrade from 3.x to 4.x.
  
  Changelog from versions 3.4.1--4.5.1 can be found here:
      https://github.com/opencv/opencv/wiki/ChangeLog
  
  Note: this has explicitely not been added as a new graphics/opencv4 port, but replaces the
        previous graphics/opencv[3] port. Again, to improve maintainability by not giving ports
        the option to pick the "wrong one" - this leads however to some abandoned ports being
        broken.
  
  The port has been greatly simplified:
      * graphics/opencv-core which existed to enable ffmpeg to depend on opencv, and vice versa
        has been removed. ffmpeg no longer can depend on opencv.
      * graphics/py-opencv has been integrated into graphics/opencv, the default versions python
        bindings will be built unless the PYTHON option is explicitely turned off.
      * graphics/opencv-java has been integrated into graphics/opencv -- it is off by default,
        but can be enabled by toggling the JAVA option -- there are no consumers in the tree,
        so that option might go away in the future.
      * All the previous options have been removed and replaced by a (hopefully) sane set of
        dependencies that make the port and package most usable for the majority of consumers.
        - Please let me know if you think there are better defaults (i.e. anything that is missing,
          or something that should not be dependet on).
        - If you think something should be added or removed, please open a bug report.
        - If you think something should be added as an optional dependency, please open a
          bug report (with a good reason [tm]).
  
  The depending ports have been updated to work against opencv4, or marked broken.
      * Ports broken:
        - graphics/rubygem-objectdetect: OpenCV4 no longer ships opencv-1.0 API
        - graphics/p5-Image-ObjectDetect: OpenCV4 no longer ships opencv-1.0 API
        - graphics/gimp-gmic-plugin: OpenCV4 no longer ships opencv-1.0 API
      * Backports:
        - misc/visp: https://github.com/lagadic/visp/commit/dfa7e4bd47c24cd2e631477e6afb18806733ff8a
        - multimedia/zart: https://github.com/c-koi/zart/commit/6ca1964690afbbc78627d7c868a692401043a584,
                           https://github.com/c-koi/zart/commit/d3a2931b1a07ec0322211f253468000363c4b6cb
      * Others:
        - misc/actiona: switch to pkgconfig 'opencv4'
        - multimedia/libav: drop opencv support
        - misc/darknet: already failed to build prior to the upgrade
        - math/saga: remove patching added to work against opencv3

Added:
  head/graphics/opencv/files/patch-contrib_modules_sfm_src_libmv__light_libmv_numeric_numeric.h
     - copied, changed from r563429, head/graphics/opencv/files/extra-patch-modules_sfm_src__libmv__light_libmv_numeric_numeric.h
  head/graphics/opencv/files/patch-modules_dnn_src_vkcom_vulkan_vk__loader.cpp   (contents, props changed)
  head/graphics/opencv/files/patch-modules_gapi_cmake_DownloadADE.cmake   (contents, props changed)
  head/graphics/opencv/files/patch-modules_videoio_src_cap__v4l.cpp   (contents, props changed)
  head/misc/visp/files/patch-modules_vision_src_key-point_vpKeyPoint.cpp   (contents, props changed)
  head/multimedia/zart/files/
  head/multimedia/zart/files/patch-zart.pro   (contents, props changed)
Deleted:
  head/graphics/opencv-core/
  head/graphics/opencv-java/
  head/graphics/opencv/files/FindOpenCVCore.cmake.in
  head/graphics/opencv/files/extra-patch-modules_dnn__modern_CMakeLists.txt
  head/graphics/opencv/files/extra-patch-modules_sfm_CMakeLists.txt
  head/graphics/opencv/files/extra-patch-modules_sfm_src__libmv__light_libmv_numeric_numeric.h
  head/graphics/opencv/files/extra-patch-modules_sfm_src_libmv__light_libmv_numeric_numeric.cc
  head/graphics/opencv/files/extra-patch-modules_stereo_src_descriptor.cpp
  head/graphics/opencv/files/patch-cmake_OpenCVDetectMediaSDK.cmake
  head/graphics/opencv/files/patch-modules_core_include_opencv2_core_cv__cpu__dispatch.h
  head/graphics/opencv/files/patch-modules_core_include_opencv2_core_cvdef.h
  head/graphics/opencv/files/patch-modules_core_include_opencv2_core_types__c.h
  head/graphics/opencv/files/patch-modules_core_src_utils_filesystem.cpp
  head/graphics/opencv/files/patch-modules_highgui_include_opencv2_highgui_highgui__c.h
  head/graphics/opencv/files/patch-modules_highgui_src_window.cpp
  head/graphics/opencv/files/patch-modules_highgui_src_window__gtk.cpp
  head/graphics/opencv/files/patch-modules_imgcodecs_src_grfmt__jpeg2000.cpp
  head/graphics/opencv/files/patch-modules_python_src2_cv2.cpp
  head/graphics/opencv/files/patch-modules_videoio_src_cap__libv4l.cpp
  head/graphics/opencv/files/patch-modules_videoio_src_cap__mfx__reader.cpp
  head/graphics/opencv/files/patch-modules_videoio_src_cap__mfx__writer.cpp
  head/graphics/py-opencv/
  head/math/saga/files/patch-src_tools_imagery_imagery__opencv_Makefile.am
Modified:
  head/MOVED
  head/astro/siril/Makefile
  head/graphics/Makefile
  head/graphics/cimg/Makefile
  head/graphics/cimg/files/patch-examples__Makefile
  head/graphics/dbow2/Makefile
  head/graphics/digikam/Makefile
  head/graphics/frei0r/Makefile
  head/graphics/gimp-gmic-plugin/Makefile
  head/graphics/gmic/Makefile
  head/graphics/gstreamer-plugins-opencv/Makefile
  head/graphics/gstreamer1-plugins-opencv/Makefile
  head/graphics/nomacs/Makefile
  head/graphics/opencv/Makefile
  head/graphics/opencv/distinfo
  head/graphics/opencv/pkg-plist
  head/graphics/openimageio/Makefile
  head/graphics/p5-Image-ObjectDetect/Makefile
  head/graphics/pfstools/Makefile
  head/graphics/php-facedetect/Makefile
  head/graphics/rubygem-objectdetect/Makefile
  head/graphics/shotwell/Makefile
  head/graphics/waifu2x-converter-cpp/Makefile
  head/graphics/yafaray/Makefile
  head/math/saga/Makefile
  head/misc/actiona/Makefile
  head/misc/darknet/Makefile
  head/misc/mxnet/Makefile
  head/misc/visp/Makefile
  head/multimedia/ccextractor/Makefile
  head/multimedia/chilitags/Makefile
  head/multimedia/ffmpeg/Makefile
  head/multimedia/gstreamer1-plugins/Makefile.common
  head/multimedia/libav/Makefile
  head/multimedia/lives/Makefile
  head/multimedia/zart/Makefile
  head/multimedia/zart/distinfo
  head/net-im/tox/Makefile
  head/net-p2p/retroshare/Makefile

Modified: head/MOVED
==============================================================================
--- head/MOVED	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/MOVED	Sat Jan 30 18:08:56 2021	(r563430)
@@ -16029,3 +16029,6 @@ security/py-rekall-core||2021-01-28|Has expired: Unmai
 www/kurly||2021-01-28|Has expired: Upstream is gone
 security/regripper||2021-01-28|Has expired: Upstream repo disappeared
 ftp/bbftp||2021-01-30|Was split into client and server ports, install as needed
+graphics/opencv-core|graphics/opencv|2021-01-30|Reintegrated into a simple, maintainable port
+graphics/py-opencv|graphics/opencv|2021-01-30|Reintegrated into a simple, maintainable port
+graphics/opencv-java|graphics/opencv|2021-01-30|Reintegrated into a simple, maintainable port

Modified: head/astro/siril/Makefile
==============================================================================
--- head/astro/siril/Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/astro/siril/Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -2,7 +2,7 @@
 
 PORTNAME=	siril
 DISTVERSION=	0.99.6
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	astro graphics
 MASTER_SITES=	https://free-astro.org/download/
 
@@ -25,7 +25,7 @@ LIB_DEPENDS=	libavformat.so:multimedia/ffmpeg \
 		libfftw3f.so:math/fftw3-float \
 		libgsl.so:math/gsl \
 		liblcms2.so:graphics/lcms2 \
-		libopencv_core.so:graphics/opencv-core \
+		libopencv_core.so:graphics/opencv \
 		libpng.so:graphics/png \
 		libraw.so:graphics/libraw \
 		libtiff.so:graphics/tiff

Modified: head/graphics/Makefile
==============================================================================
--- head/graphics/Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -584,8 +584,6 @@
     SUBDIR += opencolorio-tools
     SUBDIR += opencsg
     SUBDIR += opencv
-    SUBDIR += opencv-core
-    SUBDIR += opencv-java
     SUBDIR += opendx
     SUBDIR += openexr
     SUBDIR += openfx-arena
@@ -855,7 +853,6 @@
     SUBDIR += py-nwdiag
     SUBDIR += py-open3d-python
     SUBDIR += py-opencolorio
-    SUBDIR += py-opencv
     SUBDIR += py-openimageio
     SUBDIR += py-openshadinglanguage
     SUBDIR += py-photocollage

Modified: head/graphics/cimg/Makefile
==============================================================================
--- head/graphics/cimg/Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/cimg/Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -4,7 +4,7 @@
 PORTNAME=	cimg
 DISTVERSIONPREFIX=	v.
 DISTVERSION=	2.9.4
-PORTREVISION=	2
+PORTREVISION=	3
 PORTEPOCH=	3
 CATEGORIES=	graphics devel
 
@@ -55,8 +55,7 @@ LIB_DEPENDS+=	libcurl.so:ftp/curl			\
 		libIlmImf.so:graphics/openexr		\
 		libgimp-2.0.so:graphics/gimp-app	\
 		libfftw3.so:math/fftw3			\
-		libopencv_video.so:graphics/opencv	\
-		libopencv_core.so:graphics/opencv-core	\
+		libopencv_core.so:graphics/opencv	\
 		libGraphicsMagick.so:graphics/GraphicsMagick
 USES+=		jpeg
 ALL_TARGET=	Mlinux

Modified: head/graphics/cimg/files/patch-examples__Makefile
==============================================================================
--- head/graphics/cimg/files/patch-examples__Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/cimg/files/patch-examples__Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -1,4 +1,4 @@
---- examples/Makefile.orig	2020-06-10 08:03:38 UTC
+--- examples/Makefile.orig	2020-11-23 20:31:46 UTC
 +++ examples/Makefile
 @@ -89,7 +89,7 @@ VERSION2 = $(shell grep 'cimg_version\ ' ../CImg.h | t
  VERSION3 = $(shell grep 'cimg_version\ ' ../CImg.h | tail -c2 | head -c1)
@@ -30,6 +30,18 @@
  endif
  ifdef IS_ICPC
  OPT_CFLAGS = -fast
+@@ -172,9 +172,9 @@ endif
+ 
+ # Flags to enable OpenCV support.
+ OPENCV_DEFINE = -Dcimg_use_opencv
+-OPENCV_INCDIR = $(shell pkg-config opencv --cflags || echo -I/usr/include/opencv) -I/usr/include/opencv
++OPENCV_INCDIR = $(shell pkg-config opencv4 --cflags || echo -I/usr/include/opencv) -I/usr/include/opencv
+ OPENCV_CFLAGS = $(OPENCV_DEFINE) $(OPENCV_INCDIR)
+-OPENCV_LIBS = $(shell pkg-config opencv --libs || echo -lopencv_core -lopencv_highgui)
++OPENCV_LIBS = $(shell pkg-config opencv4 --libs || echo -lopencv_core -lopencv_highgui)
+ 
+ # Flags used to disable display capablities of CImg
+ NODISPLAY_CFLAGS = -Dcimg_display=0
 @@ -224,7 +224,7 @@ JPEG_LIBS = -ljpeg
  TIFF_DEFINE = -Dcimg_use_tiff
  TIFF_INCDIR =

Modified: head/graphics/dbow2/Makefile
==============================================================================
--- head/graphics/dbow2/Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/dbow2/Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -4,6 +4,7 @@ PORTNAME=	dbow2
 DISTVERSIONPREFIX=	v
 DISTVERSION=	1.1-free-23
 DISTVERSIONSUFFIX=	-g3924753
+PORTREVISION=	1
 CATEGORIES=	graphics
 
 MAINTAINER=	yuri at FreeBSD.org
@@ -13,7 +14,7 @@ LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE.txt
 
 LIB_DEPENDS=	libopencv_photo.so:graphics/opencv \
-		libopencv_core.so:graphics/opencv-core
+		libopencv_core.so:graphics/opencv
 
 USES=		cmake compiler:c++11-lang
 USE_LDCONFIG=	yes

Modified: head/graphics/digikam/Makefile
==============================================================================
--- head/graphics/digikam/Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/digikam/Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -2,7 +2,7 @@
 
 PORTNAME=	digikam
 DISTVERSION=	7.1.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	graphics kde
 MASTER_SITES=	KDE/stable/${PORTNAME}/${PORTVERSION}
 DIST_SUBDIR=	KDE/digikam/${PORTVERSION}
@@ -24,8 +24,7 @@ LIB_DEPENDS=	libKF5Sane.so:graphics/libksane \
 		liblcms2.so:graphics/lcms2 \
 		liblensfun.so:graphics/lensfun \
 		liblqr-1.so:graphics/liblqr-1 \
-		libopencv_video.so:graphics/opencv \
-		libopencv_core.so:graphics/opencv-core \
+		libopencv_core.so:graphics/opencv \
 		libpgf.so:graphics/libpgf \
 		libpng.so:graphics/png \
 		libtiff.so:graphics/tiff \

Modified: head/graphics/frei0r/Makefile
==============================================================================
--- head/graphics/frei0r/Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/frei0r/Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -4,7 +4,7 @@
 PORTNAME=	frei0r
 PORTVERSION=	1.7.0
 DISTVERSIONPREFIX=	plugins-
-PORTREVISION?=	0
+PORTREVISION?=	1
 CATEGORIES=	graphics
 MASTER_SITES?=	https://files.dyne.org/frei0r/releases/
 
@@ -32,7 +32,7 @@ USES+=		localbase
 PORTREVISION=	0
 COMMENT=	Frei0r OpenCV plugins
 PKGNAMESUFFIX=	-plugins-opencv
-LIB_DEPENDS+=	libopencv_core.so:graphics/opencv-core \
+LIB_DEPENDS+=	libopencv_core.so:graphics/opencv \
 		libopencv_video.so:graphics/opencv
 FREI0R_PLUGINS=	facebl0r facedetect
 

Modified: head/graphics/gimp-gmic-plugin/Makefile
==============================================================================
--- head/graphics/gimp-gmic-plugin/Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/gimp-gmic-plugin/Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -2,7 +2,7 @@
 
 PORTNAME=	gmic
 PORTVERSION=	1.6.9
-PORTREVISION=	28
+PORTREVISION=	29
 CATEGORIES=	graphics
 MASTER_SITES=	http://gmic.eu/files/source/
 PKGNAMEPREFIX=	gimp-
@@ -11,6 +11,8 @@ DISTNAME=	${PORTNAME}_${PORTVERSION}
 
 MAINTAINER=	rm at FreeBSD.org
 COMMENT=	GREYC's Magic Image Converter
+
+BROKEN=		OpenCV4 no longer ships OpencCV-1.0 headers
 
 LIB_DEPENDS=	libGraphicsMagick++.so:graphics/GraphicsMagick \
 		libIlmImf.so:graphics/openexr \

Modified: head/graphics/gmic/Makefile
==============================================================================
--- head/graphics/gmic/Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/gmic/Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -2,7 +2,7 @@
 
 PORTNAME=	gmic
 DISTVERSION=	2.9.4
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	graphics
 MASTER_SITES=	https://gmic.eu/files/source/
 DISTNAME=	${PORTNAME}_${DISTVERSION}
@@ -21,8 +21,7 @@ LIB_DEPENDS=	libfftw3.so:math/fftw3 \
 		libGraphicsMagick++.so:graphics/GraphicsMagick \
 		libIlmImf.so:graphics/openexr \
 		libImath.so:graphics/ilmbase \
-		libopencv_core.so:graphics/opencv-core \
-		libopencv_video.so:graphics/opencv \
+		libopencv_core.so:graphics/opencv \
 		libpng.so:graphics/png \
 		libtiff.so:graphics/tiff
 

Modified: head/graphics/gstreamer-plugins-opencv/Makefile
==============================================================================
--- head/graphics/gstreamer-plugins-opencv/Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/gstreamer-plugins-opencv/Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -1,7 +1,7 @@
 # Created by: Koop Mast <kwm at FreeBSD.org>
 # $FreeBSD$
 
-PORTREVISION=	6
+PORTREVISION=	7
 CATEGORIES=	graphics
 
 COMMENT=	Gstreamer opencv real time computer vision plugin

Modified: head/graphics/gstreamer1-plugins-opencv/Makefile
==============================================================================
--- head/graphics/gstreamer1-plugins-opencv/Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/gstreamer1-plugins-opencv/Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -1,6 +1,6 @@
 # $FreeBSD$
 
-PORTREVISION=	0
+PORTREVISION=	1
 CATEGORIES=	graphics
 
 COMMENT=	GStreamer opencv real time computer vision plugin

Modified: head/graphics/nomacs/Makefile
==============================================================================
--- head/graphics/nomacs/Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/nomacs/Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -3,7 +3,7 @@
 PORTNAME=	nomacs
 PORTVERSION=	3.16
 DISTVERSIONSUFFIX=	.224
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	graphics
 
 PATCH_SITES=	https://github.com/nomacs/nomacs/commit/
@@ -16,7 +16,7 @@ LICENSE=	GPLv3
 
 LIB_DEPENDS=	libexiv2.so:graphics/exiv2 \
 		libopencv_highgui.so:graphics/opencv \
-		libopencv_core.so:graphics/opencv-core \
+		libopencv_core.so:graphics/opencv \
 		liblcms2.so:graphics/lcms2 \
 		libquazip1-qt5.so:archivers/quazip
 

Modified: head/graphics/opencv/Makefile
==============================================================================
--- head/graphics/opencv/Makefile	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/opencv/Makefile	Sat Jan 30 18:08:56 2021	(r563430)
@@ -1,9 +1,7 @@
-# Created by: Marc Abramowitz (http://marc.abramowitz.info)
 # $FreeBSD$
 
 PORTNAME=	opencv
-PORTVERSION=	3.4.1
-PORTREVISION=	40
+DISTVERSION=	4.5.1
 CATEGORIES=	graphics
 
 MAINTAINER=	tcberner at FreeBSD.org
@@ -12,390 +10,79 @@ COMMENT=	Open Source Computer Vision library
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-NOT_FOR_ARCHS=	sparc64
-NOT_FOR_ARCHS_REASON_sparc64=	does not compile on sparc64
+BUILD_DEPENDS=	vulkan-headers>0:graphics/vulkan-headers \
+		opencl>=0:devel/opencl
+RUN_DEPENDS=	opencl>=0:devel/opencl
+LIB_DEPENDS=	\
+		libIlmImf.so:graphics/openexr \
+		libavcodec.so:multimedia/ffmpeg \
+		libfreetype.so:print/freetype2 \
+		libgflags.so:devel/gflags \
+		libglog.so:devel/glog \
+		libgphoto2.so:graphics/libgphoto2 \
+		libharfbuzz.so:print/harfbuzz \
+		libhdf5.so:science/hdf5 \
+		libopenblas.so:math/openblas \
+		libpng16.so:graphics/png \
+		libtbb.so:devel/tbb \
+		libtiff.so:graphics/tiff \
+		libwebp.so:graphics/webp \
 
-.if defined(OCV_CORE)
-BUILD_DEPENDS=	protoc:devel/protobuf
-.else
-LIB_DEPENDS=	libprotobuf.so:devel/protobuf \
-		libtesseract.so:graphics/tesseract
-.endif
-
-USES=		cmake compiler:c++14-lang localbase:ldflags pkgconfig
-
+USES=		cmake compiler:c++14-lang eigen:3 jpeg localbase:ldflags pkgconfig python:3.6+,build
 USE_GITHUB=	yes
-USE_LDCONFIG=	yes
-USE_CXXSTD=	c++11
+GH_PROJECT=	opencv_contrib:contrib \
+		ade:ade \
+		opencv_3rdparty:extra_mod_3rdparty_boost_descr \
+		opencv_3rdparty:extra_mod_3rdparty_vgg_descr
+GH_TAGNAME=	v0.1.1f:ade \
+		34e4206aef44d50e6bbcd0ab06354b52e7466d26:extra_mod_3rdparty_boost_descr \
+		fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d:extra_mod_3rdparty_vgg_descr
 
-DATADIR=	${PREFIX}/share/OpenCV
-PLIST_SUB+=	SOVERSION=${DISTVERSION:R} VERSION=${DISTVERSION}
+CMAKE_ON=	\
+		WITH_EIGEN  \
+		WITH_GDAL \
+		WITH_GDCM \
+		WITH_GPHOTO2 \
+		WITH_JASPER \
+		WITH_JPEG \
+		WITH_OPENCL \
+		WITH_OPENEXR \
+		WITH_OPENGL \
+		WITH_PNG \
+		WITH_TBB \
+		WITH_TIFF \
+		WITH_VULKAN \
+		WITH_WEBP \
+		OPENCV_GENERATE_PKGCONFIG \
+		OPENCV_ENABLE_NONFREE
+CMAKE_OFF=	OPENCV_GENERATE_SETUPVARS \
+		BUILD_opencv_python2 \
+		BUILD_TESTS
+CMAKE_ARGS=	-DOPENCV_EXTRA_MODULES_PATH="${WRKSRC}/contrib/modules" \
+		-DOPENCV_PYTHON3_INSTALL_PATH=${PYTHON_SITELIBDIR} \
+		-DVULKAN_INCLUDE_DIRS=${LOCALBASE}/include
 
-# 3rd party libs
-CMAKE_ON=	ENABLE_CXX11
-CMAKE_OFF=	BUILD_ZLIB BUILD_TIFF BUILD_JASPER BUILD_JPEG BUILD_PNG BUILD_OPENEXR BUILD_TBB BUILD_IPP_IW BUILD_ITT BUILD_PROTOBUF
-# Optional 3rd party components
-CMAKE_ARGS+=	-DWITH_1394:BOOL=OFF \
-		-DWITH_CAROTENE:BOOL=OFF \
-		-DWITH_CPUFEATURES:BOOL=OFF \
-		-DWITH_VTK:BOOL=OFF \
-		-DWITH_CUDA:BOOL=OFF \
-		-DWITH_CUFFT:BOOL=OFF \
-		-DWITH_CUBLAS:BOOL=OFF \
-		-DWITH_NVCUVID:BOOL=OFF \
-		-DWITH_EIGEN:BOOL=OFF \
-		-DWITH_VFW:BOOL=OFF \
-		-DWITH_FFMPEG:BOOL=OFF \
-		-DWITH_GSTREAMER:BOOL=OFF \
-		-DWITH_GSTREAMER_0_10:BOOL=OFF \
-		-DWITH_GTK:BOOL=OFF \
-		-DWITH_GTK_2_X:BOOL=ON \
-		-DWITH_IPP:BOOL=OFF \
-		-DWITH_IPP_A:BOOL=OFF \
-		-DWITH_HALIDE:BOOL=OFF \
-		-DWITH_JASPER:BOOL=OFF \
-		-DWITH_JPEG:BOOL=OFF \
-		-DWITH_WEBP:BOOL=OFF \
-		-DWITH_OPENEXR:BOOL=OFF \
-		-DWITH_OPENGL:BOOL=OFF \
-		-DWITH_OPENVX:BOOL=OFF \
-		-DWITH_OPENNI:BOOL=OFF \
-		-DWITH_OPENNI2:BOOL=OFF \
-		-DWITH_PNG:BOOL=OFF \
-		-DWITH_GDCM:BOOL=OFF \
-		-DWITH_PVAPI:BOOL=OFF \
-		-DWITH_GIGEAPI:BOOL=OFF \
-		-DWITH_ARAVIS:BOOL=OFF \
-		-DWITH_QT:BOOL=OFF \
-		-DWITH_WIN32UI:BOOL=OFF \
-		-DWITH_TBB:BOOL=OFF \
-		-DWITH_OPENMP:BOOL=OFF \
-		-DWITH_CSTRIPES:BOOL=ON \
-		-DWITH_PTHREADS_PF:BOOL=OFF \
-		-DWITH_TIFF:BOOL=OFF \
-		-DWITH_UNICAP:BOOL=OFF \
-		-DWITH_V4L:BOOL=OFF \
-		-DWITH_LIBV4L:BOOL=OFF \
-		-DWITH_DSHOW:BOOL=OFF \
-		-DWITH_MSMF:BOOL=OFF \
-		-DWITH_XIMEA:BOOL=OFF \
-		-DWITH_XINE:BOOL=OFF \
-		-DWITH_CLP:BOOL=OFF \
-		-DWITH_OPENCL:BOOL=OFF \
-		-DWITH_OPENCL_SVM:BOOL=OFF \
-		-DWITH_OPENCLAMDFFT:BOOL=OFF \
-		-DWITH_OPENCLAMDBLAS:BOOL=OFF \
-		-DWITH_DIRECTX:BOOL=OFF \
-		-DWITH_INTELPERC:BOOL=OFF \
-		-DWITH_MATLAB:BOOL=OFF \
-		-DWITH_VA:BOOL=OFF \
-		-DWITH_VA_INTEL:BOOL=OFF \
-		-DWITH_GDAL:BOOL=OFF \
-		-DWITH_GPHOTO2:BOOL=OFF \
-		-DWITH_LAPACK:BOOL=OFF \
-		-DWITH_ITT:BOOL=OFF
-# OpenCV build components
-CMAKE_ARGS+=	-DBUILD_SHARED_LIBS:BOOL=ON \
-		-DBUILD_opencv_apps:BOOL=ON \
-		-DBUILD_opencv_js:BOOL=OFF \
-		-DBUILD_ANDROID_EXAMPLES:BOOL=OFF \
-		-DBUILD_DOCS:BOOL=OFF \
-		-DBUILD_EXAMPLES:BOOL=OFF \
-		-DBUILD_PACKAGE:BOOL=OFF \
-		-DBUILD_PERF_TESTS:BOOL=OFF \
-		-DBUILD_TESTS:BOOL=OFF \
-		-DBUILD_WITH_DEBUG_INFO:BOOL=OFF \
-		-DBUILD_WITH_DYNAMIC_IPP:BOOL=OFF \
-		-DBUILD_FAT_JAVA_LIB:BOOL=OFF \
-		-DBUILD_CUDA_STUBS:BOOL=OFF \
-		-DBUILD_ANDROID_SERVICE:BOOL=OFF \
-		-DBUILD_opencv_ts:BOOL=OFF \
-		-DBUILD_opencv_cnn_3dobj_INIT:BOOL=OFF \
-		-DBUILD_opencv_world:BOOL=OFF
-# OpenCV installation options
-CMAKE_ARGS+=	-DINSTALL_CREATE_DISTRIB:BOOL=OFF \
-		-DINSTALL_C_EXAMPLES:BOOL=OFF \
-		-DINSTALL_PYTHON_EXAMPLES:BOOL=OFF \
-		-DINSTALL_TO_MANGLED_PATHS:BOOL=OFF \
-		-DINSTALL_TESTS:BOOL=OFF
-# OpenCV build options
-CMAKE_ARGS+=	-DENABLE_CCACHE:BOOL=OFF \
-		-DENABLE_PRECOMPILED_HEADERS:BOOL=OFF \
-		-DENABLE_SOLUTION_FOLDERS:BOOL=OFF \
-		-DENABLE_PROFILING:BOOL=OFF \
-		-DENABLE_COVERAGE:BOOL=OFF \
-		-DENABLE_OMIT_FRAME_POINTER:BOOL=ON \
-		-DENABLE_POWERPC:BOOL=OFF \
-		-DENABLE_VSX:BOOL=OFF \
-		-DENABLE_FAST_MATH:BOOL=OFF \
-		-DENABLE_NEON:BOOL=OFF \
-		-DENABLE_VFPV3:BOOL=OFF \
-		-DENABLE_NOISY_WARNINGS:BOOL=OFF \
-		-DOPENCV_WARNINGS_ARE_ERRORS:BOOL=OFF \
-		-DENABLE_IMPL_COLLECTION:BOOL=OFF \
-		-DENABLE_INSTRUMENTATION:BOOL=OFF \
-		-DENABLE_GNU_STL_DEBUG:BOOL=OFF \
-		-DENABLE_BUILD_HARDENING:BOOL=OFF \
-		-DENABLE_LTO:BOOL=OFF \
-		-DGENERATE_ABI_DESCRIPTOR:BOOL=OFF \
-		-DCV_ENABLE_INTRINSICS:BOOL=ON \
-		-DCV_DISABLE_OPTIMIZATION:BOOL=OFF \
-		-DCV_TRACE:BOOL=OFF \
-		-DENABLE_PYLINT:BOOL=OFF
+DATADIR=	${PREFIX}/share/${PORTNAME}4
 
-SUB_FILES=	FindOpenCVCore.cmake
-SUB_LIST=	OCV_VERSION=${DISTVERSION}
-
-OCV_CORE_MODS=		core imgproc
-OCV_MODS=		apps calib3d contrib dnn features2d flann highgui \
-			imgcodecs ml objdetect photo shape stitching \
-			superres ts video videoio videostab
-OCV_JAVA_MODS=		java
-OCV_PYTHON_MODS=	python${PYTHON_MAJOR_VER}
-
-OPTIONS_DEFINE=		EXAMPLES EXTRA_MODULES OPENGL GTK2
-OPTIONS_GROUP=		PERFORMANCE IMAGE VIDEO
-OPTIONS_GROUP_PERFORMANCE=	EIGEN3 OPENCL # TBB
-OPTIONS_GROUP_IMAGE=	GDAL GDCM JASPER JPEG OPENEXR PNG TIFF WEBP
-OPTIONS_GROUP_VIDEO=	ARAVIS DC1394 FFMPEG GPHOTO2 GSTREAMER MFX V4L XINE
-# EXTRA_MODULES required for libopencv_dnn which is required by py-opencv
-OPTIONS_DEFAULT=	EIGEN3 EXTRA_MODULES FFMPEG JASPER JPEG PNG TIFF WEBP V4L \
-			${MACHINE_CPU:tu}
+OPTIONS_DEFINE=		PYTHON JAVA
+OPTIONS_DEFAULT=	PYTHON
 OPTIONS_SUB=		yes
-.if defined(OCV_CORE)
-OPTIONS_EXCLUDE=	ARAVIS DC1394 EXAMPLES EXTRA_MODULES FFMPEG \
-			GDAL GDCM GPHOTO2 GSTREAMER GTK2 JASPER JPEG \
-			OPENEXR OPENGL PNG TIFF WEBP V4L XINE
-.elif defined(OCV_SLAVE)
-OPTIONS_EXCLUDE=	EXAMPLES
-.endif
 
-DC1394_DESC=		IEEE 1394 camera support
-DC1394_LIB_DEPENDS=	libdc1394.so:multimedia/libdc1394
-DC1394_CMAKE_BOOL=	WITH_1394
+JAVA_CMAKE_BOOL=	BUILD_openv_java
+JAVA_BUILD_DEPENDS=	ant:devel/apache-ant
 
-EXAMPLES_CMAKE_BOOL=	INSTALL_C_EXAMPLES
+PYTHON_BUILD_DEPENDS=	${PYNUMPY}
+PYTHON_RUN_DEPENDS=	${PYNUMPY}
+PYTHON_USES=		python:3.6+
+PYTHON_USE_PYTHON=	noflavors
+PYTHON_CMAKE_BOOL=	BUILD_opencv_python3
 
-PERFORMANCE_DESC=	Performance enhancing libraries
+post-extract:
+	${MV} ${WRKSRC_contrib} ${WRKSRC}/contrib
+	${MKDIR} ${BUILD_WRKSRC}/3rdparty/ade
+	${MV} ${WRKSRC_ade} ${BUILD_WRKSRC}/3rdparty/ade
+	${MKDIR} ${WRKSRC}/contrib/modules/xfeatures2d/src
+	${MV} ${WRKSRC_extra_mod_3rdparty_boost_descr}/* ${WRKSRC}/contrib/modules/xfeatures2d/src
+	${MV} ${WRKSRC_extra_mod_3rdparty_vgg_descr}/* ${WRKSRC}/contrib/modules/xfeatures2d/src
 
-EIGEN3_DESC=		Eigen 3 support
-EIGEN3_USES=		eigen:3
-EIGEN3_CMAKE_BOOL=	WITH_EIGEN
-
-OPENCL_DESC=		OpenCL support
-OPENCL_BUILD_DEPENDS=	opencl>=0:devel/opencl
-OPENCL_RUN_DEPENDS=	opencl>=0:devel/opencl
-OPENCL_CMAKE_BOOL=	WITH_OPENCL
-
-TBB_DESC=		TBB support
-TBB_LIB_DEPENDS=	libtbb.so:devel/tbb
-TBB_CMAKE_BOOL=		WITH_TBB
-TBB_BROKEN=		Not oneTBB-compatible
-
-IMAGE_DESC=		Image format support
-
-JASPER_LIB_DEPENDS=	libjasper.so:graphics/jasper
-JASPER_CMAKE_BOOL=	WITH_JASPER
-
-JPEG_USES=		jpeg
-JPEG_CMAKE_BOOL=	WITH_JPEG
-
-GDAL_DESC=		Geospatial Data Abstraction Library
-GDAL_LIB_DEPENDS=	libgdal.so:graphics/gdal
-GDAL_CMAKE_BOOL=	WITH_GDAL
-
-GDCM_DESC=		Open source DICOM library
-GDCM_LIB_DEPENDS=	libgdcmMSFF.so:devel/gdcm
-GDCM_CMAKE_BOOL=	WITH_GDCM
-
-MFX_DESC=		Intel MediaSDK (aka Quick Sync Video)
-MFX_LIB_DEPENDS=	libmfx.so:multimedia/intel-media-sdk \
-			libva-drm.so:multimedia/libva
-MFX_CONFIGURE_ENV=	MFX_HOME="${LOCALBASE}"
-MFX_CMAKE_BOOL=		WITH_MFX
-
-OPENEXR_LIB_DEPENDS=	libIlmImf.so:graphics/openexr
-OPENEXR_CMAKE_BOOL=	WITH_OPENEXR
-
-PNG_LIB_DEPENDS=	libpng.so:graphics/png
-PNG_CMAKE_BOOL=		WITH_PNG
-
-TIFF_LIB_DEPENDS=	libtiff.so:graphics/tiff
-TIFF_CMAKE_BOOL=	WITH_TIFF
-
-WEBP_LIB_DEPENDS=	libwebp.so:graphics/webp
-WEBP_CMAKE_BOOL=	WITH_WEBP
-
-VIDEO_DESC=		Video support
-
-ARAVIS_DESC=		Aravis SDK
-ARAVIS_LIB_DEPENDS=	libaravis-0.6.so:devel/libaravis
-ARAVIS_CMAKE_BOOL=	WITH_ARAVIS
-
-FFMPEG_LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg
-FFMPEG_CMAKE_BOOL=	WITH_FFMPEG
-
-GPHOTO2_DESC=		Gphoto2 camera support
-GPHOTO2_LIB_DEPENDS=	libgphoto2.so:graphics/libgphoto2
-GPHOTO2_CMAKE_BOOL=	WITH_GPHOTO2
-
-GSTREAMER_USE=		GSTREAMER1=yes
-GSTREAMER_CMAKE_BOOL=	WITH_GSTREAMER
-
-V4L_BUILD_DEPENDS=	${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
-V4L_LIB_DEPENDS=	libv4l2.so:multimedia/libv4l
-V4L_CMAKE_BOOL=		WITH_V4L WITH_LIBV4L
-V4L_CMAKE_ON=		CMAKE_REQUIRED_INCLUDES:STRING="${LOCALBASE}/include"
-
-XINE_LIB_DEPENDS=	libxine.so:multimedia/libxine
-XINE_CMAKE_BOOL=	WITH_XINE
-
-EXTRA_MODULES_DESC=		Extra modules
-EXTRA_MODULES_GH_ACCOUNT=	tiny-dnn:extra_mod_3rdparty_tiny_dnn
-EXTRA_MODULES_GH_PROJECT=	opencv_contrib:extra_mod \
-				tiny-dnn:extra_mod_3rdparty_tiny_dnn \
-				opencv_3rdparty:extra_mod_3rdparty_face_landmark_model \
-				opencv_3rdparty:extra_mod_3rdparty_boost_descr \
-				opencv_3rdparty:extra_mod_3rdparty_vgg_descr
-EXTRA_MODULES_GH_TAGNAME=	${PORTVERSION}:extra_mod \
-				2a2b50caa437a5964a61e45ffc83e70558e2bc68:extra_mod_3rdparty_tiny_dnn \
-				8afa57abc8229d611c4937165d20e2a2d9fc5a12:extra_mod_3rdparty_face_landmark_model \
-				34e4206aef44d50e6bbcd0ab06354b52e7466d26:extra_mod_3rdparty_boost_descr \
-				fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d:extra_mod_3rdparty_vgg_descr
-EXTRA_MODULES_LIB_DEPENDS=	libgflags.so:devel/gflags \
-				libglog.so:devel/glog \
-				libhdf5.so:science/hdf5
-EXTRA_MODULES_EXTRA_PATCHES+=	${FILESDIR}/extra-patch-modules_dnn__modern_CMakeLists.txt \
-				${FILESDIR}/extra-patch-modules_sfm_src__libmv__light_libmv_numeric_numeric.h \
-				${FILESDIR}/extra-patch-modules_stereo_src_descriptor.cpp
-
-OPENGL_DESC=		OpenGL (requires GTK2)
-OPENGL_CMAKE_BOOL=	WITH_OPENGL
-OPENGL_LIB_DEPENDS=	${PORT_OPTIONS:MGTK2:C,.+,libgtkglext-x11-1.0.so:x11-toolkits/gtkglext,}
-
-# GUI
-
-GTK2_USES=		gnome
-GTK2_USE=		GNOME=cairo,gdkpixbuf2,gtk20
-GTK2_CMAKE_BOOL=	WITH_GTK
-GTK2_LIB_DEPENDS=	libfreetype.so:print/freetype2 \
-			libharfbuzz.so:print/harfbuzz \
-			libsz.so:science/szip \
-			libfontconfig.so:x11-fonts/fontconfig \
-			liblept.so:graphics/leptonica
-
-.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_core.so:graphics/opencv-core \
-		libopencv_imgproc.so:graphics/opencv-core \
-		libopencv_ml.so:graphics/opencv
-BUILD_DEPENDS+=	${PYNUMPY}
-RUN_DEPENDS+=	${PYNUMPY}
-USES+=		python:3.6+
-USE_PYTHON=	flavors
-CMAKE_ARGS+=	-DBUILD_opencv_python${PYTHON_MAJOR_VER}:BOOL=ON
-. for module in apps java stitching superres videostab
-CMAKE_ARGS+=	-DBUILD_opencv_${module}:BOOL=OFF
-. endfor
-INSTALL_WRKSRC=	${WRKDIR}/.build/modules/python${PYTHON_MAJOR_VER}
-.elif defined(OCV_JAVA)
-BUILD_DEPENDS+=	ant:devel/apache-ant
-LIB_DEPENDS+=	libopencv_ml.so:graphics/opencv
-USES+=		python:3.6+,build
-USE_JAVA=	yes
-CMAKE_ARGS+=	-DBUILD_opencv_java:BOOL=ON
-. for module in apps python stitching superres videostab
-CMAKE_ARGS+=	-DBUILD_opencv_${module}:BOOL=OFF
-. endfor
-CONFIGURE_ENV+=	JAVA_HOME="${JAVA_HOME}"
-INSTALL_WRKSRC=	${WRKDIR}/.build/modules/java
-.else
-LIB_DEPENDS+=	libopencv_core.so:graphics/opencv-core
-. for module in ${OCV_JAVA_MODS} ${OCV_PYTHON_MODS}
-CMAKE_ARGS+=	-DBUILD_opencv_${module}:BOOL=OFF
-. endfor
-.endif
-
-.if !defined(OCV_JAVA)
-CMAKE_ARGS+=	-DBUILD_JAVA:BOOL=OFF
-.endif
-
-post-extract-EXTRA_MODULES-on:
-	@${MV} ${WRKSRC_extra_mod}/doc/tutorials/* ${WRKSRC}/doc/tutorials/
-	@${MV} ${WRKSRC_extra_mod}/modules/* ${WRKSRC}/modules/
-	@${CP} -RpP ${WRKSRC_extra_mod}/samples/* ${WRKSRC}/samples/
-	@${MKDIR} ${CONFIGURE_WRKSRC}/3rdparty/tinydnn/tiny-dnn-1.0.0a3/
-	@${MV} ${WRKSRC_extra_mod_3rdparty_tiny_dnn}/* ${CONFIGURE_WRKSRC}/3rdparty/tinydnn/tiny-dnn-1.0.0a3/
-	@${MKDIR} ${CONFIGURE_WRKSRC}/share/OpenCV/testdata/cv/face/
-	@${MV} ${WRKSRC_extra_mod_3rdparty_face_landmark_model}/* ${CONFIGURE_WRKSRC}/share/OpenCV/testdata/cv/face/
-	@${MKDIR} ${CONFIGURE_WRKSRC}/downloads/xfeatures2d/
-	@${MV} ${WRKSRC_extra_mod_3rdparty_boost_descr}/* ${CONFIGURE_WRKSRC}/downloads/xfeatures2d/
-	@${MV} ${WRKSRC_extra_mod_3rdparty_vgg_descr}/* ${CONFIGURE_WRKSRC}/downloads/xfeatures2d/
-
-post-patch:
-	@${REINPLACE_CMD} -e '/pkgconfig/s|$${OPENCV_LIB_INSTALL_PATH}|libdata|' \
-		 ${WRKSRC}/cmake/OpenCVGenPkgconfig.cmake
-	@${REINPLACE_CMD} -e 's|$${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/1.2|${LOCALBASE}/include/CL|g' \
-		 ${WRKSRC}/cmake/OpenCVDetectOpenCL.cmake
-	@${REINPLACE_CMD} -e 's|share/OpenCV/doc|${DOCSDIR_REL}|g' \
-		-e 's|share/OpenCV/samples|${EXAMPLESDIR_REL}|g' \
-		${WRKSRC}/CMakeLists.txt
-	@${REINPLACE_CMD} -e 's|<malloc.h>|<stdlib.h>|g' \
-		${WRKSRC}/modules/dnn/src/torch/THGeneral.cpp
-.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.in
-.endif
-.if defined(OCV_SLAVE)
-	@${REINPLACE_CMD} -e 's|add_subdirectory(data)||g' \
-		${WRKSRC}/CMakeLists.txt
-.endif
-	@${FIND} ${WRKSRC} -name '*.bak' -exec ${RM} {} \;
-
-pre-build:
-	protoc --proto_path=${WRKSRC}/modules/dnn/src/caffe/ --cpp_out=${WRKSRC}/modules/dnn/misc/caffe/ ${WRKSRC}/modules/dnn/src/caffe/*.proto
-	protoc --proto_path=${WRKSRC}/modules/dnn/src/tensorflow/ --cpp_out=${WRKSRC}/modules/dnn/misc/tensorflow/ ${WRKSRC}/modules/dnn/src/tensorflow/*.proto
-
-post-install:
-.if !defined(OCV_SLAVE)
-	(cd ${STAGEDIR}${PREFIX} && \
-		${RM} -r include/opencv2/core include/opencv2/core.hpp include/opencv2/imgproc \
-			include/opencv2/imgproc.hpp \
-			include/opencv2/cvconfig.h lib/libopencv_core* lib/libopencv_imgproc*)
-.endif
-.if defined(OCV_CORE)
-	${RM} -r ${STAGEDIR}${PREFIX}/include/opencv
-	${RM} -r ${STAGEDIR}${DATADIR}
-	${MKDIR} ${STAGEDIR}${PREFIX}/share/cmake/Modules
-	${INSTALL_DATA} ${WRKDIR}/FindOpenCVCore.cmake ${STAGEDIR}${PREFIX}/share/cmake/Modules
-.endif
-.if defined(OCV_PYTHON)
-	(cd ${STAGEDIR}${PREFIX} && \
-	${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
-		-d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S|${PREFIX}/||} && \
-	${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
-		-d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S|${PREFIX}/||})
-	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
-	cd ${WRKSRC}/samples/python && \
-		${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/python
-.endif
-.if defined(OCV_JAVA)
-	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
-	cd ${WRKSRC}/samples/java && \
-		${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/java
-.endif
-
-.include <bsd.port.pre.mk>
-
-.if !defined(OCV_CORE)
-.if (${OPSYS} == FreeBSD && ${OSVERSION} < 1200000)
-EXTRA_PATCHES+=			${FILESDIR}/extra-patch-modules_sfm_src_libmv__light_libmv_numeric_numeric.cc
-.endif
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>

Modified: head/graphics/opencv/distinfo
==============================================================================
--- head/graphics/opencv/distinfo	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/opencv/distinfo	Sat Jan 30 18:08:56 2021	(r563430)
@@ -1,12 +1,10 @@
-TIMESTAMP = 1524780757
-SHA256 (opencv-opencv-3.4.1_GH0.tar.gz) = f1b87684d75496a1054405ae3ee0b6573acaf3dad39eaf4f1d66fdd7e03dc852
-SIZE (opencv-opencv-3.4.1_GH0.tar.gz) = 87051748
-SHA256 (tiny-dnn-tiny-dnn-2a2b50caa437a5964a61e45ffc83e70558e2bc68_GH0.tar.gz) = 03ff06b154a1a6a0f53d6f24a128727e533355d68164c509303e2da14062e97f
-SIZE (tiny-dnn-tiny-dnn-2a2b50caa437a5964a61e45ffc83e70558e2bc68_GH0.tar.gz) = 12885594
-SHA256 (opencv-opencv_contrib-3.4.1_GH0.tar.gz) = 298c69ee006d7675e1ff9d371ba8b0d9e7e88374bb7ba0f9d0789851d352ec6e
-SIZE (opencv-opencv_contrib-3.4.1_GH0.tar.gz) = 57126844
-SHA256 (opencv-opencv_3rdparty-8afa57abc8229d611c4937165d20e2a2d9fc5a12_GH0.tar.gz) = 0ae1f2d2a619ab177d96024e253e142d15dea27236510aaf1a65c7b529ee6677
-SIZE (opencv-opencv_3rdparty-8afa57abc8229d611c4937165d20e2a2d9fc5a12_GH0.tar.gz) = 63301261
+TIMESTAMP = 1612010514
+SHA256 (opencv-opencv-4.5.1_GH0.tar.gz) = e27fe5b168918ab60d58d7ace2bd82dd14a4d0bd1d3ae182952c2113f5637513
+SIZE (opencv-opencv-4.5.1_GH0.tar.gz) = 88245766
+SHA256 (opencv-opencv_contrib-4.5.1_GH0.tar.gz) = 12c3b1ddd0b8c1a7da5b743590a288df0934e5cef243e036ca290c2e45e425f5
+SIZE (opencv-opencv_contrib-4.5.1_GH0.tar.gz) = 60602431
+SHA256 (opencv-ade-v0.1.1f_GH0.tar.gz) = c316680efbb5dd3ac4e10bb8cea345cf26a6a25ebc22418f8f0b8ca931a550e9
+SIZE (opencv-ade-v0.1.1f_GH0.tar.gz) = 116074
 SHA256 (opencv-opencv_3rdparty-34e4206aef44d50e6bbcd0ab06354b52e7466d26_GH0.tar.gz) = d93c783cdf799da7e4a9209d169390424c4c198c1c9b5eeb78ffc890afe5f332
 SIZE (opencv-opencv_3rdparty-34e4206aef44d50e6bbcd0ab06354b52e7466d26_GH0.tar.gz) = 397901
 SHA256 (opencv-opencv_3rdparty-fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d_GH0.tar.gz) = e9abccbabcace092e5424073168cc86d422585d15d25569f01fb6503b109e0e1

Copied and modified: head/graphics/opencv/files/patch-contrib_modules_sfm_src_libmv__light_libmv_numeric_numeric.h (from r563429, head/graphics/opencv/files/extra-patch-modules_sfm_src__libmv__light_libmv_numeric_numeric.h)
==============================================================================
--- head/graphics/opencv/files/extra-patch-modules_sfm_src__libmv__light_libmv_numeric_numeric.h	Sat Jan 30 18:02:49 2021	(r563429, copy source)
+++ head/graphics/opencv/files/patch-contrib_modules_sfm_src_libmv__light_libmv_numeric_numeric.h	Sat Jan 30 18:08:56 2021	(r563430)
@@ -1,5 +1,5 @@
---- modules/sfm/src/libmv_light/libmv/numeric/numeric.h.orig	2017-12-22 19:15:17.000000000 +0300
-+++ modules/sfm/src/libmv_light/libmv/numeric/numeric.h	2018-01-15 01:06:23.742535000 +0300
+--- contrib/modules/sfm/src/libmv_light/libmv/numeric/numeric.h.orig	2021-01-30 07:20:50 UTC
++++ contrib/modules/sfm/src/libmv_light/libmv/numeric/numeric.h
 @@ -35,7 +35,7 @@
  
  #if !defined(__MINGW64__)

Added: head/graphics/opencv/files/patch-modules_dnn_src_vkcom_vulkan_vk__loader.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/opencv/files/patch-modules_dnn_src_vkcom_vulkan_vk__loader.cpp	Sat Jan 30 18:08:56 2021	(r563430)
@@ -0,0 +1,11 @@
+--- modules/dnn/src/vkcom/vulkan/vk_loader.cpp.orig	2021-01-30 08:42:05 UTC
++++ modules/dnn/src/vkcom/vulkan/vk_loader.cpp
+@@ -21,7 +21,7 @@ typedef HMODULE VulkanHandle;
+         (PFN_vkGetInstanceProcAddr)GetProcAddress(handle, "vkGetInstanceProcAddr");
+ #endif // _WIN32
+ 
+-#if defined(__linux__)
++#if defined(__linux__) || defined(__FreeBSD__)
+ #include <dlfcn.h>
+ #include <stdio.h>
+ typedef void* VulkanHandle;

Added: head/graphics/opencv/files/patch-modules_gapi_cmake_DownloadADE.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/opencv/files/patch-modules_gapi_cmake_DownloadADE.cmake	Sat Jan 30 18:08:56 2021	(r563430)
@@ -0,0 +1,30 @@
+The ade distdata is downloaded and moved to the proper location by the ports 
+framework.
+
+--- modules/gapi/cmake/DownloadADE.cmake.orig	2020-12-21 20:01:38 UTC
++++ modules/gapi/cmake/DownloadADE.cmake
+@@ -1,23 +1,9 @@
+ set(ade_src_dir "${OpenCV_BINARY_DIR}/3rdparty/ade")
+ set(ade_filename "v0.1.1f.zip")
+ set(ade_subdir "ade-0.1.1f")
+-set(ade_md5 "b624b995ec9c439cbc2e9e6ee940d3a2")
+-ocv_download(FILENAME ${ade_filename}
+-             HASH ${ade_md5}
+-             URL
+-               "${OPENCV_ADE_URL}"
+-               "$ENV{OPENCV_ADE_URL}"
+-               "https://github.com/opencv/ade/archive/"
+-             DESTINATION_DIR ${ade_src_dir}
+-             ID ADE
+-             STATUS res
+-             UNPACK RELATIVE_URL)
+ 
+-if (NOT res)
+-    return()
+-endif()
+-
+ set(ADE_root "${ade_src_dir}/${ade_subdir}/sources/ade")
++
+ file(GLOB_RECURSE ADE_sources "${ADE_root}/source/*.cpp")
+ file(GLOB_RECURSE ADE_include "${ADE_root}/include/ade/*.hpp")
+ add_library(ade STATIC ${ADE_include} ${ADE_sources})

Added: head/graphics/opencv/files/patch-modules_videoio_src_cap__v4l.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/opencv/files/patch-modules_videoio_src_cap__v4l.cpp	Sat Jan 30 18:08:56 2021	(r563430)
@@ -0,0 +1,12 @@
+--- modules/videoio/src/cap_v4l.cpp.orig	2021-01-30 06:58:09 UTC
++++ modules/videoio/src/cap_v4l.cpp
+@@ -231,7 +231,9 @@ make & enjoy!
+ #include <poll.h>
+ 
+ #ifdef HAVE_CAMV4L2
++#ifdef __linux__
+ #include <asm/types.h>          /* for videodev2.h */
++#endif
+ #include <linux/videodev2.h>
+ #endif
+ 

Modified: head/graphics/opencv/pkg-plist
==============================================================================
--- head/graphics/opencv/pkg-plist	Sat Jan 30 18:02:49 2021	(r563429)
+++ head/graphics/opencv/pkg-plist	Sat Jan 30 18:08:56 2021	(r563430)
@@ -1,445 +1,701 @@
 bin/opencv_annotation
-bin/opencv_createsamples
-%%EXTRA_MODULES%%bin/opencv_interactive-calibration
-bin/opencv_traincascade
+bin/opencv_interactive-calibration
 bin/opencv_version
 bin/opencv_visualisation
-%%EXTRA_MODULES%%bin/opencv_waldboost_detector
-include/opencv/cv.h
-include/opencv/cv.hpp
-include/opencv/cvaux.h
-include/opencv/cvaux.hpp
-include/opencv/cvwimage.h
-include/opencv/cxcore.h
-include/opencv/cxcore.hpp
-include/opencv/cxeigen.hpp
-include/opencv/cxmisc.h
-include/opencv/highgui.h
-include/opencv/ml.h
-include/opencv2/ml/ml.inl.hpp
-include/opencv2/opencv.hpp
-include/opencv2/opencv_modules.hpp
-include/opencv2/core_detect.hpp
-include/opencv2/hfs.hpp
-%%EXTRA_MODULES%%include/opencv2/aruco.hpp
-%%EXTRA_MODULES%%include/opencv2/aruco/charuco.hpp
-%%EXTRA_MODULES%%include/opencv2/aruco/dictionary.hpp
-%%EXTRA_MODULES%%include/opencv2/bgsegm.hpp
-%%EXTRA_MODULES%%include/opencv2/bioinspired.hpp
-%%EXTRA_MODULES%%include/opencv2/bioinspired/bioinspired.hpp
-%%EXTRA_MODULES%%include/opencv2/bioinspired/retina.hpp
-%%EXTRA_MODULES%%include/opencv2/bioinspired/retinafasttonemapping.hpp
-%%EXTRA_MODULES%%include/opencv2/bioinspired/transientareassegmentationmodule.hpp
-include/opencv2/calib3d.hpp
-include/opencv2/calib3d/calib3d.hpp
-include/opencv2/calib3d/calib3d_c.h
-%%EXTRA_MODULES%%include/opencv2/ccalib.hpp
-%%EXTRA_MODULES%%include/opencv2/ccalib/multicalib.hpp
-%%EXTRA_MODULES%%include/opencv2/ccalib/omnidir.hpp
-%%EXTRA_MODULES%%include/opencv2/ccalib/randpattern.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/ar_hmdb.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/ar_sports.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/dataset.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/fr_adience.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/fr_lfw.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/gr_chalearn.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/gr_skig.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/hpe_humaneva.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/hpe_parse.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/ir_affine.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/ir_robot.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/is_bsds.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/is_weizmann.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/msm_epfl.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/msm_middlebury.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/or_imagenet.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/or_mnist.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/or_pascal.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/or_sun.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/pd_caltech.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/pd_inria.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/slam_kitti.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/slam_tumindoor.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/tr_chars.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/tr_icdar.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/tr_svt.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/track_alov.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/track_vot.hpp
-%%EXTRA_MODULES%%include/opencv2/datasets/util.hpp
-%%EXTRA_MODULES%%include/opencv2/dnn.hpp
-%%EXTRA_MODULES%%include/opencv2/dnn/all_layers.hpp
-%%EXTRA_MODULES%%include/opencv2/dnn/dict.hpp
-%%EXTRA_MODULES%%include/opencv2/dnn/dnn.hpp
-%%EXTRA_MODULES%%include/opencv2/dnn/dnn.inl.hpp
-%%EXTRA_MODULES%%include/opencv2/dnn/layer.details.hpp
-%%EXTRA_MODULES%%include/opencv2/dnn/layer.hpp
-%%EXTRA_MODULES%%include/opencv2/dnn/shape_utils.hpp
-%%EXTRA_MODULES%%include/opencv2/dnn_modern.hpp
-%%EXTRA_MODULES%%include/opencv2/dpm.hpp
-%%EXTRA_MODULES%%include/opencv2/face.hpp
-%%EXTRA_MODULES%%include/opencv2/face/bif.hpp
-%%EXTRA_MODULES%%include/opencv2/face/face_alignment.hpp
-%%EXTRA_MODULES%%include/opencv2/face/facemark.hpp
-%%EXTRA_MODULES%%include/opencv2/face/facemarkAAM.hpp
-%%EXTRA_MODULES%%include/opencv2/face/facemarkLBF.hpp
-%%EXTRA_MODULES%%include/opencv2/face/facerec.hpp
-%%EXTRA_MODULES%%include/opencv2/face/predict_collector.hpp
-include/opencv2/features2d.hpp
-include/opencv2/features2d/features2d.hpp
-include/opencv2/features2d/hal/interface.h
-include/opencv2/flann.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
-%%EXTRA_MODULES%%include/opencv2/freetype.hpp
-%%EXTRA_MODULES%%include/opencv2/fuzzy.hpp
-%%EXTRA_MODULES%%include/opencv2/fuzzy/fuzzy_F0_math.hpp
-%%EXTRA_MODULES%%include/opencv2/fuzzy/fuzzy_F1_math.hpp
-%%EXTRA_MODULES%%include/opencv2/fuzzy/fuzzy_image.hpp
-%%EXTRA_MODULES%%include/opencv2/fuzzy/types.hpp
-%%EXTRA_MODULES%%include/opencv2/hdf.hpp
-%%EXTRA_MODULES%%include/opencv2/hdf/hdf5.hpp
-include/opencv2/highgui.hpp
-include/opencv2/highgui/highgui.hpp
-include/opencv2/highgui/highgui_c.h
-%%EXTRA_MODULES%%include/opencv2/line_descriptor.hpp
-%%EXTRA_MODULES%%include/opencv2/line_descriptor/descriptor.hpp
-include/opencv2/ml.hpp
-include/opencv2/ml/ml.hpp
-include/opencv2/objdetect.hpp
-include/opencv2/objdetect/detection_based_tracker.hpp
-include/opencv2/objdetect/objdetect.hpp
-include/opencv2/objdetect/objdetect_c.h
-%%EXTRA_MODULES%%include/opencv2/optflow.hpp
-%%EXTRA_MODULES%%include/opencv2/optflow/motempl.hpp
-%%EXTRA_MODULES%%include/opencv2/optflow/pcaflow.hpp
-%%EXTRA_MODULES%%include/opencv2/optflow/sparse_matching_gpc.hpp
-%%EXTRA_MODULES%%include/opencv2/phase_unwrapping.hpp
-%%EXTRA_MODULES%%include/opencv2/phase_unwrapping/histogramphaseunwrapping.hpp
-%%EXTRA_MODULES%%include/opencv2/phase_unwrapping/phase_unwrapping.hpp
-include/opencv2/photo.hpp
-include/opencv2/photo/cuda.hpp
-include/opencv2/photo/photo.hpp
-include/opencv2/photo/photo_c.h
-%%EXTRA_MODULES%%include/opencv2/plot.hpp
-%%EXTRA_MODULES%%include/opencv2/reg/map.hpp
-%%EXTRA_MODULES%%include/opencv2/reg/mapaffine.hpp
-%%EXTRA_MODULES%%include/opencv2/reg/mapper.hpp
-%%EXTRA_MODULES%%include/opencv2/reg/mappergradaffine.hpp
-%%EXTRA_MODULES%%include/opencv2/reg/mappergradeuclid.hpp
-%%EXTRA_MODULES%%include/opencv2/reg/mappergradproj.hpp
-%%EXTRA_MODULES%%include/opencv2/reg/mappergradshift.hpp
-%%EXTRA_MODULES%%include/opencv2/reg/mappergradsimilar.hpp
-%%EXTRA_MODULES%%include/opencv2/reg/mapperpyramid.hpp
-%%EXTRA_MODULES%%include/opencv2/reg/mapprojec.hpp
-%%EXTRA_MODULES%%include/opencv2/reg/mapshift.hpp
-%%EXTRA_MODULES%%include/opencv2/rgbd.hpp
-%%EXTRA_MODULES%%include/opencv2/rgbd/linemod.hpp
-%%EXTRA_MODULES%%include/opencv2/saliency.hpp
-%%EXTRA_MODULES%%include/opencv2/saliency/saliencyBaseClasses.hpp
-%%EXTRA_MODULES%%include/opencv2/saliency/saliencySpecializedClasses.hpp
-%%EXTRA_MODULES%%include/opencv2/sfm.hpp
-%%EXTRA_MODULES%%include/opencv2/sfm/conditioning.hpp
-%%EXTRA_MODULES%%include/opencv2/sfm/fundamental.hpp
-%%EXTRA_MODULES%%include/opencv2/sfm/io.hpp
-%%EXTRA_MODULES%%include/opencv2/sfm/numeric.hpp
-%%EXTRA_MODULES%%include/opencv2/sfm/projection.hpp
-%%EXTRA_MODULES%%include/opencv2/sfm/reconstruct.hpp
-%%EXTRA_MODULES%%include/opencv2/sfm/robust.hpp
-%%EXTRA_MODULES%%include/opencv2/sfm/simple_pipeline.hpp
-%%EXTRA_MODULES%%include/opencv2/sfm/triangulation.hpp
-include/opencv2/shape.hpp
-include/opencv2/shape/emdL1.hpp
-include/opencv2/shape/hist_cost.hpp
-include/opencv2/shape/shape.hpp
-include/opencv2/shape/shape_distance.hpp
-include/opencv2/shape/shape_transformer.hpp
-%%EXTRA_MODULES%%include/opencv2/stereo.hpp
-%%EXTRA_MODULES%%include/opencv2/stereo/descriptor.hpp
-%%EXTRA_MODULES%%include/opencv2/stereo/matching.hpp
-%%EXTRA_MODULES%%include/opencv2/stereo/stereo.hpp
-include/opencv2/stitching.hpp

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


More information about the svn-ports-head mailing list