Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Jul 2021 10:53:44 GMT
From:      "Tobias C. Berner" <tcberner@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 43a30a366ccd - main - graphics/opencv: update to 4.5.3
Message-ID:  <202107181053.16IArijr075365@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by tcberner:

URL: https://cgit.FreeBSD.org/ports/commit/?id=43a30a366ccd676856efe5df2a6b8454158678b6

commit 43a30a366ccd676856efe5df2a6b8454158678b6
Author:     Tobias C. Berner <tcberner@FreeBSD.org>
AuthorDate: 2021-07-18 09:49:25 +0000
Commit:     Tobias C. Berner <tcberner@FreeBSD.org>
CommitDate: 2021-07-18 10:53:21 +0000

    graphics/opencv: update to 4.5.3
    
    Changes in the port:
    - fix prefetch of third party software
            - prefetching of distfiles has been fixed
            - cmake will now throw an error in ocv_download()
              if it is still called
    - minor cleanup
    
    - next step: readd some more options, and improve port for
      non-poudriere users
    
    PR:             256669
---
 graphics/opencv/Makefile                           |  43 ++++--
 graphics/opencv/distinfo                           |  16 ++-
 .../files/patch-3rdparty_ippicv_ippicv.cmake       |  26 ++++
 .../opencv/files/patch-cmake_OpenCVDownload.cmake  |  14 ++
 .../patch-contrib_modules_face_CMakeLists.txt      |  28 ++++
 ...h-contrib_modules_wechat__qrcode_CMakeLists.txt |  26 ++++
 ...les_xfeatures2d_cmake_download__boostdesc.cmake |  25 ++++
 ...b_modules_xfeatures2d_cmake_download__vgg.cmake |  27 ++++
 .../patch-modules_gapi_cmake_DownloadADE.cmake     |  20 ++-
 .../files/patch-modules_videoio_src_cap__v4l.cpp   |   4 +-
 graphics/opencv/pkg-plist                          | 147 ++++++++++++---------
 11 files changed, 292 insertions(+), 84 deletions(-)

diff --git a/graphics/opencv/Makefile b/graphics/opencv/Makefile
index 178a5e2b9b5d..be0b5c5a3ebc 100644
--- a/graphics/opencv/Makefile
+++ b/graphics/opencv/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	opencv
-DISTVERSION=	4.5.1
-PORTREVISION=	4
+DISTVERSION=	4.5.3
 CATEGORIES=	graphics
 
 MAINTAINER=	tcberner@FreeBSD.org
@@ -25,20 +24,25 @@ LIB_DEPENDS=	\
 		libpng.so:graphics/png \
 		libtiff.so:graphics/tiff \
 		libwebp.so:graphics/webp
-#		libtbb.so:devel/tbb
 
 USES=		cmake compiler:c++14-lang eigen:3 jpeg localbase:ldflags pkgconfig python:3.6+,build
 USE_GITHUB=	yes
+GH_ACCOUNT=	WeChatCV:wechat
 GH_PROJECT=	opencv_contrib:contrib \
 		ade:ade \
 		opencv_3rdparty:extra_mod_3rdparty_boost_descr \
-		opencv_3rdparty:extra_mod_3rdparty_vgg_descr
+		opencv_3rdparty:extra_mod_3rdparty_vgg \
+		opencv_3rdparty:wechat \
+		opencv_3rdparty:face \
+		opencv_3rdparty:ippicv
 GH_TAGNAME=	v0.1.1f:ade \
 		34e4206aef44d50e6bbcd0ab06354b52e7466d26:extra_mod_3rdparty_boost_descr \
-		fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d:extra_mod_3rdparty_vgg_descr
+		fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d:extra_mod_3rdparty_vgg \
+		a8b69ccc738421293254aec5ddb38bd523503252:wechat \
+		8afa57abc8229d611c4937165d20e2a2d9fc5a12:face \
+		a56b6ac6f030c312b2dce17430eef13aed9af274:ippicv
 
-CMAKE_ON=	\
-		WITH_EIGEN  \
+CMAKE_ON=	WITH_EIGEN  \
 		WITH_GDAL \
 		WITH_GDCM \
 		WITH_GPHOTO2 \
@@ -65,6 +69,8 @@ LDFLAGS+=	-lglog
 
 DATADIR=	${PREFIX}/share/${PORTNAME}4
 
+PLIST_SUB=	SHLIB_VER=${DISTVERSION}
+
 OPTIONS_DEFINE=		HARDENING PYTHON JAVA LTO
 OPTIONS_DEFAULT=	PYTHON
 OPTIONS_SUB=		yes
@@ -85,12 +91,29 @@ PYTHON_CMAKE_BOOL=	BUILD_opencv_python3
 
 LTO_CMAKE_BOOL=		ENABLE_THIN_LTO
 
+_IPPICV_i386=		ippicv/ippicv_2020_lnx_ia32_20191018_general.tgz
+_IPPICV_amd64=		ippicv/ippicv_2020_lnx_intel64_20191018_general.tgz
+
 post-extract:
+	# Handle contrib
 	${MV} ${WRKSRC_contrib} ${WRKSRC}/contrib
+	# Handle prefetched ade modul
 	${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
+	# Handle prefetched xfeatures2d
+	${MKDIR} ${BUILD_WRKSRC}/downloads/xfeatures2d
+	cp ${WRKSRC_extra_mod_3rdparty_boost_descr}/* ${BUILD_WRKSRC}/downloads/xfeatures2d
+	cp ${WRKSRC_extra_mod_3rdparty_vgg}/* ${BUILD_WRKSRC}/downloads/xfeatures2d
+	# Handle prefetched wechat
+	${MKDIR} ${BUILD_WRKSRC}/downloads/wechat_qrcode
+	cp ${WRKSRC_wechat}/* ${BUILD_WRKSRC}/downloads/wechat_qrcode/
+	# Handle Face
+	${MKDIR} ${BUILD_WRKSRC}/share/opencv4/testdata/cv/face
+	cp ${WRKSRC_face}/* ${BUILD_WRKSRC}/share/opencv4/testdata/cv/face
+	# Handle ippicv
+.if defined(_IPPICV_${ARCH})
+	${MKDIR} ${BUILD_WRKSRC}/3rdparty/ippicv
+	(cd ${BUILD_WRKSRC}/3rdparty/ippicv && ${EXTRACT_CMD} -xf ${WRKSRC_ippicv}/${_IPPICV_${ARCH}})
+.endif
 
 .include <bsd.port.mk>
diff --git a/graphics/opencv/distinfo b/graphics/opencv/distinfo
index 9bbbe5176e5f..116ef3aa11f4 100644
--- a/graphics/opencv/distinfo
+++ b/graphics/opencv/distinfo
@@ -1,11 +1,17 @@
-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
+TIMESTAMP = 1626600231
+SHA256 (opencv-opencv-4.5.3_GH0.tar.gz) = 77f616ae4bea416674d8c373984b20c8bd55e7db887fd38c6df73463a0647bab
+SIZE (opencv-opencv-4.5.3_GH0.tar.gz) = 89168276
+SHA256 (WeChatCV-opencv_3rdparty-a8b69ccc738421293254aec5ddb38bd523503252_GH0.tar.gz) = 7a16ad6ca511c620c2a4cbef2c7cf1ff5c31bd530ac7b43ee2ea8481683df20a
+SIZE (WeChatCV-opencv_3rdparty-a8b69ccc738421293254aec5ddb38bd523503252_GH0.tar.gz) = 920403
+SHA256 (opencv-opencv_contrib-4.5.3_GH0.tar.gz) = 73da052fd10e73aaba2560eaff10cc5177e2dcc58b27f8aedf7c649e24c233bc
+SIZE (opencv-opencv_contrib-4.5.3_GH0.tar.gz) = 61046476
 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
 SIZE (opencv-opencv_3rdparty-fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d_GH0.tar.gz) = 1470898
+SHA256 (opencv-opencv_3rdparty-8afa57abc8229d611c4937165d20e2a2d9fc5a12_GH0.tar.gz) = 0ae1f2d2a619ab177d96024e253e142d15dea27236510aaf1a65c7b529ee6677
+SIZE (opencv-opencv_3rdparty-8afa57abc8229d611c4937165d20e2a2d9fc5a12_GH0.tar.gz) = 63301261
+SHA256 (opencv-opencv_3rdparty-a56b6ac6f030c312b2dce17430eef13aed9af274_GH0.tar.gz) = 6d3552455d927dd28cdd6a78470398208ff2167b19b0dd51ab30a241d900cb4c
+SIZE (opencv-opencv_3rdparty-a56b6ac6f030c312b2dce17430eef13aed9af274_GH0.tar.gz) = 135706483
diff --git a/graphics/opencv/files/patch-3rdparty_ippicv_ippicv.cmake b/graphics/opencv/files/patch-3rdparty_ippicv_ippicv.cmake
new file mode 100644
index 000000000000..d63f36d225a6
--- /dev/null
+++ b/graphics/opencv/files/patch-3rdparty_ippicv_ippicv.cmake
@@ -0,0 +1,26 @@
+--- 3rdparty/ippicv/ippicv.cmake.orig	2021-07-05 12:03:22 UTC
++++ 3rdparty/ippicv/ippicv.cmake
+@@ -34,18 +34,11 @@ function(download_ippicv root_var)
+   endif()
+ 
+   set(THE_ROOT "${OpenCV_BINARY_DIR}/3rdparty/ippicv")
+-  ocv_download(FILENAME ${OPENCV_ICV_NAME}
+-               HASH ${OPENCV_ICV_HASH}
+-               URL
+-                 "${OPENCV_IPPICV_URL}"
+-                 "$ENV{OPENCV_IPPICV_URL}"
+-                 "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
+-               DESTINATION_DIR "${THE_ROOT}"
+-               ID IPPICV
+-               STATUS res
+-               UNPACK RELATIVE_URL)
+-
+-  if(res)
++  set(FILENAME ${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR})
++  if(EXISTS ${FILENAME})
++    message("++ ippicv: Using prefetched ${OPENCV_ICV_PACKAGE_SUBDIR}")
+     set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE)
++  else()
++    message(WARNING "++ ippicv: Could not find ${OPENCV_ICV_PACKAGE_SUBDIR} in ${FILENAME}")
+   endif()
+ endfunction()
diff --git a/graphics/opencv/files/patch-cmake_OpenCVDownload.cmake b/graphics/opencv/files/patch-cmake_OpenCVDownload.cmake
new file mode 100644
index 000000000000..33fe16ac87fa
--- /dev/null
+++ b/graphics/opencv/files/patch-cmake_OpenCVDownload.cmake
@@ -0,0 +1,14 @@
+TODO: instead of patching the callers of ocv_download() to not use it,
+it would be nicer to just make ocv_download use the cached file from
+${FILESDIR}
+
+--- cmake/OpenCVDownload.cmake.orig	2021-07-18 09:08:36 UTC
++++ cmake/OpenCVDownload.cmake
+@@ -159,6 +159,7 @@ function(ocv_download)
+     ocv_download_log("#cmake_download \"${CACHE_CANDIDATE}\" \"${DL_URL}\"")
+     foreach(try ${OPENCV_DOWNLOAD_TRIES_LIST})
+       ocv_download_log("#try ${try}")
++      message(FATAL_ERROR "++ Trying to download file ${CACHE_CANDIDATE} via cmake from ${DL_URL}")
+       file(DOWNLOAD "${DL_URL}" "${CACHE_CANDIDATE}"
+            STATUS status
+            LOG __log
diff --git a/graphics/opencv/files/patch-contrib_modules_face_CMakeLists.txt b/graphics/opencv/files/patch-contrib_modules_face_CMakeLists.txt
new file mode 100644
index 000000000000..70a24fb1cf7d
--- /dev/null
+++ b/graphics/opencv/files/patch-contrib_modules_face_CMakeLists.txt
@@ -0,0 +1,28 @@
+--- contrib/modules/face/CMakeLists.txt.orig	2021-07-18 08:24:18 UTC
++++ contrib/modules/face/CMakeLists.txt
+@@ -10,18 +10,11 @@ ocv_define_module(face opencv_core
+ 
+ set(__commit_hash "8afa57abc8229d611c4937165d20e2a2d9fc5a12")
+ set(__file_hash "7505c44ca4eb54b4ab1e4777cb96ac05")
+-ocv_download(
+-    FILENAME face_landmark_model.dat
+-    HASH ${__file_hash}
+-    URL
+-      "${OPENCV_FACE_ALIGNMENT_URL}"
+-      "$ENV{OPENCV_FACE_ALIGNMENT_URL}"
+-      "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${__commit_hash}/"
+-    DESTINATION_DIR "${CMAKE_BINARY_DIR}/${OPENCV_TEST_DATA_INSTALL_PATH}/cv/face/"
+-    ID "data"
+-    RELATIVE_URL
+-    STATUS res
+-)
+-if(NOT res)
+-  message(WARNING "Face: Can't get model file for face alignment.")
++set(file_id face_landmark_model.dat)
++set(FILENAME ${CMAKE_BINARY_DIR}/${OPENCV_TEST_DATA_INSTALL_PATH}/cv/face/${file_id})
++if(EXISTS ${FILENAME})
++    message("++ Face: Using prefetched ${file_id}")
++else()
++    message(WARNING "++ Face: Could not find ${file_id} in ${FILENAME}")
++    message(WARNING "Face: Can't get model file for face alignment.")
+ endif()
diff --git a/graphics/opencv/files/patch-contrib_modules_wechat__qrcode_CMakeLists.txt b/graphics/opencv/files/patch-contrib_modules_wechat__qrcode_CMakeLists.txt
new file mode 100644
index 000000000000..a30731c0c3ea
--- /dev/null
+++ b/graphics/opencv/files/patch-contrib_modules_wechat__qrcode_CMakeLists.txt
@@ -0,0 +1,26 @@
+--- contrib/modules/wechat_qrcode/CMakeLists.txt.orig	2021-07-18 07:59:28 UTC
++++ contrib/modules/wechat_qrcode/CMakeLists.txt
+@@ -23,17 +23,12 @@ set(model_names detect sr)
+ 
+ foreach(model_name ${model_names})
+     foreach(model_type ${model_types})
+-        ocv_download(FILENAME ${model_name}.${model_type}
+-                        HASH ${hash_${model_name}_${model_type}}
+-                        URL
+-                        "${OPENCV_WECHAT_QRCODE_URL}"
+-                        "$ENV{OPENCV_WECHAT_QRCODE_URL}"
+-                        "https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/${wechat_qrcode_commit_hash}/"
+-                        DESTINATION_DIR "${CMAKE_BINARY_DIR}/downloads/wechat_qrcode"
+-                        ID "wechat_qrcode"
+-                        RELATIVE_URL
+-                        STATUS res)
+-        if(NOT res)
++        set(DESTINATION_DIR "${CMAKE_BINARY_DIR}/downloads/wechat_qrcode")
++        set(FILENAME ${DESTINATION_DIR}/${model_name}.${model_type})
++        if(EXISTS ${FILENAME})
++            message("++ WeChatQRCode: Using prefetched ${model_name}.${model_type}")
++        else()
++            message(WARNING "++ WeChatQRCode: Could not find ${name_${id}} in ${FILENAME}")
+             message(WARNING "WeChatQRCode: Can't get ${model_name} ${model_type} file for wechat qrcode.")
+         endif()
+     endforeach()
diff --git a/graphics/opencv/files/patch-contrib_modules_xfeatures2d_cmake_download__boostdesc.cmake b/graphics/opencv/files/patch-contrib_modules_xfeatures2d_cmake_download__boostdesc.cmake
new file mode 100644
index 000000000000..1a1083aeba5e
--- /dev/null
+++ b/graphics/opencv/files/patch-contrib_modules_xfeatures2d_cmake_download__boostdesc.cmake
@@ -0,0 +1,25 @@
+--- contrib/modules/xfeatures2d/cmake/download_boostdesc.cmake.orig	2021-07-04 21:55:23 UTC
++++ contrib/modules/xfeatures2d/cmake/download_boostdesc.cmake
+@@ -19,17 +19,11 @@ function(download_boost_descriptors dst_dir status_var
+ 
+   set(${status_var} TRUE PARENT_SCOPE)
+   foreach(id ${ids})
+-    ocv_download(FILENAME ${name_${id}}
+-                 HASH ${hash_${id}}
+-                 URL
+-                   "${OPENCV_BOOSTDESC_URL}"
+-                   "$ENV{OPENCV_BOOSTDESC_URL}"
+-                   "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${OPENCV_3RDPARTY_COMMIT}/"
+-                 DESTINATION_DIR ${dst_dir}
+-                 ID "xfeatures2d/boostdesc"
+-                 RELATIVE_URL
+-                 STATUS res)
+-    if(NOT res)
++    set(FILENAME ${dst_dir}/${name_${id}})
++    if(EXISTS ${FILENAME})
++      message("++ xfeatures2d/boostdesc: Using prefetched ${name_${id}}")
++    else()
++      message(WARNING "++ xfeatures2d/boostdesc: Could not find ${name_${id}} in ${FILENAME}")
+       set(${status_var} FALSE PARENT_SCOPE)
+     endif()
+   endforeach()
diff --git a/graphics/opencv/files/patch-contrib_modules_xfeatures2d_cmake_download__vgg.cmake b/graphics/opencv/files/patch-contrib_modules_xfeatures2d_cmake_download__vgg.cmake
new file mode 100644
index 000000000000..cc7f249ddf81
--- /dev/null
+++ b/graphics/opencv/files/patch-contrib_modules_xfeatures2d_cmake_download__vgg.cmake
@@ -0,0 +1,27 @@
+--- contrib/modules/xfeatures2d/cmake/download_vgg.cmake.orig	2021-07-18 08:11:09 UTC
++++ contrib/modules/xfeatures2d/cmake/download_vgg.cmake
+@@ -13,18 +13,12 @@ function(download_vgg_descriptors dst_dir status_var)
+ 
+   set(${status_var} TRUE PARENT_SCOPE)
+   foreach(id ${ids})
+-    ocv_download(FILENAME ${name_${id}}
+-                 HASH ${hash_${id}}
+-                 URL
+-                   "${OPENCV_VGGDESC_URL}"
+-                   "$ENV{OPENCV_VGGDESC_URL}"
+-                   "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${OPENCV_3RDPARTY_COMMIT}/"
+-                 DESTINATION_DIR "${dst_dir}"
+-                 ID "xfeatures2d/vgg"
+-                 RELATIVE_URL
+-                 STATUS res)
+-    if(NOT res)
+-      set(${status_var} FALSE PARENT_SCOPE)
++     set(FILENAME ${dst_dir}/${name_${id}})
++     if(EXISTS ${FILENAME})
++        message("++ xfeatures2d/vgg: Using prefetched ${name_${id}}")
++     else()
++        message(WARNING "++ xfeatures2d/vgg: Could not find ${name_${id}} in ${FILENAME}")
++        set(${status_var} FALSE PARENT_SCOPE)
+     endif()
+   endforeach()
+ endfunction()
diff --git a/graphics/opencv/files/patch-modules_gapi_cmake_DownloadADE.cmake b/graphics/opencv/files/patch-modules_gapi_cmake_DownloadADE.cmake
index 3027477e2615..45fcc5ea32ec 100644
--- a/graphics/opencv/files/patch-modules_gapi_cmake_DownloadADE.cmake
+++ b/graphics/opencv/files/patch-modules_gapi_cmake_DownloadADE.cmake
@@ -1,13 +1,12 @@
 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.orig	2021-07-05 12:03:22 UTC
 +++ modules/gapi/cmake/DownloadADE.cmake
-@@ -1,23 +1,9 @@
- set(ade_src_dir "${OpenCV_BINARY_DIR}/3rdparty/ade")
+@@ -2,22 +2,18 @@ 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")
+ set(ade_md5 "b624b995ec9c439cbc2e9e6ee940d3a2")
 -ocv_download(FILENAME ${ade_filename}
 -             HASH ${ade_md5}
 -             URL
@@ -20,11 +19,18 @@ framework.
 -             UNPACK RELATIVE_URL)
  
 -if (NOT res)
--    return()
++set(file_id ade-0.1.1f/CMakeLists.txt)
++set(FILENAME ${ade_src_dir}/${file_id})
++if(EXISTS ${FILENAME})
++    message("++ ade: Using prefetched ${file_id}")
++else()
++    message(WARNING "++ ade: Could not find ${file_id} in ${FILENAME}")
+     return()
 -endif()
--
++ 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})
+ add_library(ade STATIC ${OPENCV_3RDPARTY_EXCLUDE_FROM_ALL}
diff --git a/graphics/opencv/files/patch-modules_videoio_src_cap__v4l.cpp b/graphics/opencv/files/patch-modules_videoio_src_cap__v4l.cpp
index ff6dbd235b52..7b3e102cf34e 100644
--- a/graphics/opencv/files/patch-modules_videoio_src_cap__v4l.cpp
+++ b/graphics/opencv/files/patch-modules_videoio_src_cap__v4l.cpp
@@ -1,6 +1,6 @@
---- modules/videoio/src/cap_v4l.cpp.orig	2021-01-30 06:58:09 UTC
+--- modules/videoio/src/cap_v4l.cpp.orig	2021-04-02 11:23:54 UTC
 +++ modules/videoio/src/cap_v4l.cpp
-@@ -231,7 +231,9 @@ make & enjoy!
+@@ -228,7 +228,9 @@ make & enjoy!
  #include <poll.h>
  
  #ifdef HAVE_CAMV4L2
diff --git a/graphics/opencv/pkg-plist b/graphics/opencv/pkg-plist
index d46ddf050c2f..61bcc7208f5e 100644
--- a/graphics/opencv/pkg-plist
+++ b/graphics/opencv/pkg-plist
@@ -1,5 +1,6 @@
 bin/opencv_annotation
 bin/opencv_interactive-calibration
+bin/opencv_model_diagnostics
 bin/opencv_version
 bin/opencv_visualisation
 bin/opencv_waldboost_detector
@@ -7,6 +8,7 @@ include/opencv4/opencv2/alphamat.hpp
 include/opencv4/opencv2/aruco.hpp
 include/opencv4/opencv2/aruco/charuco.hpp
 include/opencv4/opencv2/aruco/dictionary.hpp
+include/opencv4/opencv2/barcode.hpp
 include/opencv4/opencv2/bgsegm.hpp
 include/opencv4/opencv2/bioinspired.hpp
 include/opencv4/opencv2/bioinspired/bioinspired.hpp
@@ -72,6 +74,8 @@ include/opencv4/opencv2/core/cvstd_wrapper.hpp
 include/opencv4/opencv2/core/detail/async_promise.hpp
 include/opencv4/opencv2/core/detail/exception_ptr.hpp
 include/opencv4/opencv2/core/directx.hpp
+include/opencv4/opencv2/core/dualquaternion.hpp
+include/opencv4/opencv2/core/dualquaternion.inl.hpp
 include/opencv4/opencv2/core/eigen.hpp
 include/opencv4/opencv2/core/fast_math.hpp
 include/opencv4/opencv2/core/hal/hal.hpp
@@ -84,6 +88,7 @@ include/opencv4/opencv2/core/hal/intrin_forward.hpp
 include/opencv4/opencv2/core/hal/intrin_msa.hpp
 include/opencv4/opencv2/core/hal/intrin_neon.hpp
 include/opencv4/opencv2/core/hal/intrin_rvv.hpp
+include/opencv4/opencv2/core/hal/intrin_rvv071.hpp
 include/opencv4/opencv2/core/hal/intrin_sse.hpp
 include/opencv4/opencv2/core/hal/intrin_sse_em.hpp
 include/opencv4/opencv2/core/hal/intrin_vsx.hpp
@@ -99,14 +104,14 @@ include/opencv4/opencv2/core/ocl_genbase.hpp
 include/opencv4/opencv2/core/opencl/ocl_defs.hpp
 include/opencv4/opencv2/core/opencl/opencl_info.hpp
 include/opencv4/opencv2/core/opencl/opencl_svm.hpp
-include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_clamdblas.hpp
-include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_clamdfft.hpp
+include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_clblas.hpp
+include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_clfft.hpp
 include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp
 include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp
 include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp
 include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp
-include/opencv4/opencv2/core/opencl/runtime/opencl_clamdblas.hpp
-include/opencv4/opencv2/core/opencl/runtime/opencl_clamdfft.hpp
+include/opencv4/opencv2/core/opencl/runtime/opencl_clblas.hpp
+include/opencv4/opencv2/core/opencl/runtime/opencl_clfft.hpp
 include/opencv4/opencv2/core/opencl/runtime/opencl_core.hpp
 include/opencv4/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp
 include/opencv4/opencv2/core/opencl/runtime/opencl_gl.hpp
@@ -118,6 +123,9 @@ include/opencv4/opencv2/core/opengl.hpp
 include/opencv4/opencv2/core/operations.hpp
 include/opencv4/opencv2/core/optim.hpp
 include/opencv4/opencv2/core/ovx.hpp
+include/opencv4/opencv2/core/parallel/backend/parallel_for.openmp.hpp
+include/opencv4/opencv2/core/parallel/backend/parallel_for.tbb.hpp
+include/opencv4/opencv2/core/parallel/parallel_backend.hpp
 include/opencv4/opencv2/core/persistence.hpp
 include/opencv4/opencv2/core/quaternion.hpp
 include/opencv4/opencv2/core/quaternion.inl.hpp
@@ -248,6 +256,7 @@ include/opencv4/opencv2/gapi/core.hpp
 include/opencv4/opencv2/gapi/cpu/core.hpp
 include/opencv4/opencv2/gapi/cpu/gcpukernel.hpp
 include/opencv4/opencv2/gapi/cpu/imgproc.hpp
+include/opencv4/opencv2/gapi/cpu/stereo.hpp
 include/opencv4/opencv2/gapi/cpu/video.hpp
 include/opencv4/opencv2/gapi/fluid/core.hpp
 include/opencv4/opencv2/gapi/fluid/gfluidbuffer.hpp
@@ -300,17 +309,20 @@ include/opencv4/opencv2/gapi/own/types.hpp
 include/opencv4/opencv2/gapi/plaidml/core.hpp
 include/opencv4/opencv2/gapi/plaidml/gplaidmlkernel.hpp
 include/opencv4/opencv2/gapi/plaidml/plaidml.hpp
+include/opencv4/opencv2/gapi/python/python.hpp
 include/opencv4/opencv2/gapi/render.hpp
 include/opencv4/opencv2/gapi/render/render.hpp
 include/opencv4/opencv2/gapi/render/render_types.hpp
 include/opencv4/opencv2/gapi/rmat.hpp
 include/opencv4/opencv2/gapi/s11n.hpp
 include/opencv4/opencv2/gapi/s11n/base.hpp
+include/opencv4/opencv2/gapi/stereo.hpp
 include/opencv4/opencv2/gapi/streaming/cap.hpp
 include/opencv4/opencv2/gapi/streaming/desync.hpp
 include/opencv4/opencv2/gapi/streaming/format.hpp
 include/opencv4/opencv2/gapi/streaming/meta.hpp
 include/opencv4/opencv2/gapi/streaming/source.hpp
+include/opencv4/opencv2/gapi/streaming/sync.hpp
 include/opencv4/opencv2/gapi/util/any.hpp
 include/opencv4/opencv2/gapi/util/compiler_hints.hpp
 include/opencv4/opencv2/gapi/util/copy_through_move.hpp
@@ -341,11 +353,13 @@ include/opencv4/opencv2/imgcodecs/ios.h
 include/opencv4/opencv2/imgcodecs/legacy/constants_c.h
 include/opencv4/opencv2/imgcodecs/macosx.h
 include/opencv4/opencv2/imgproc.hpp
+include/opencv4/opencv2/imgproc/bindings.hpp
 include/opencv4/opencv2/imgproc/detail/gcgraph.hpp
 include/opencv4/opencv2/imgproc/hal/hal.hpp
 include/opencv4/opencv2/imgproc/hal/interface.h
 include/opencv4/opencv2/imgproc/imgproc.hpp
 include/opencv4/opencv2/imgproc/imgproc_c.h
+include/opencv4/opencv2/imgproc/segmentation.hpp
 include/opencv4/opencv2/imgproc/types_c.h
 include/opencv4/opencv2/intensity_transform.hpp
 include/opencv4/opencv2/line_descriptor.hpp
@@ -396,7 +410,9 @@ include/opencv4/opencv2/reg/mapperpyramid.hpp
 include/opencv4/opencv2/reg/mapprojec.hpp
 include/opencv4/opencv2/reg/mapshift.hpp
 include/opencv4/opencv2/rgbd.hpp
+include/opencv4/opencv2/rgbd/colored_kinfu.hpp
 include/opencv4/opencv2/rgbd/depth.hpp
+include/opencv4/opencv2/rgbd/detail/pose_graph.hpp
 include/opencv4/opencv2/rgbd/dynafu.hpp
 include/opencv4/opencv2/rgbd/intrinsics.hpp
 include/opencv4/opencv2/rgbd/kinfu.hpp
@@ -468,6 +484,7 @@ include/opencv4/opencv2/tracking/tracking_internals.hpp
 include/opencv4/opencv2/tracking/tracking_legacy.hpp
 include/opencv4/opencv2/video.hpp
 include/opencv4/opencv2/video/background_segm.hpp
+include/opencv4/opencv2/video/detail/tracking.detail.hpp
 include/opencv4/opencv2/video/legacy/constants_c.h
 include/opencv4/opencv2/video/tracking.hpp
 include/opencv4/opencv2/video/video.hpp
@@ -492,6 +509,7 @@ include/opencv4/opencv2/videostab/outlier_rejection.hpp
 include/opencv4/opencv2/videostab/ring_buffer.hpp
 include/opencv4/opencv2/videostab/stabilizer.hpp
 include/opencv4/opencv2/videostab/wobble_suppression.hpp
+include/opencv4/opencv2/wechat_qrcode.hpp
 include/opencv4/opencv2/xfeatures2d.hpp
 include/opencv4/opencv2/xfeatures2d/cuda.hpp
 include/opencv4/opencv2/xfeatures2d/nonfree.hpp
@@ -500,6 +518,7 @@ include/opencv4/opencv2/ximgproc/brightedges.hpp
 include/opencv4/opencv2/ximgproc/color_match.hpp
 include/opencv4/opencv2/ximgproc/deriche_filter.hpp
 include/opencv4/opencv2/ximgproc/disparity_filter.hpp
+include/opencv4/opencv2/ximgproc/edge_drawing.hpp
 include/opencv4/opencv2/ximgproc/edge_filter.hpp
 include/opencv4/opencv2/ximgproc/edgeboxes.hpp
 include/opencv4/opencv2/ximgproc/edgepreserving_filter.hpp
@@ -526,172 +545,178 @@ include/opencv4/opencv2/xphoto/inpainting.hpp
 include/opencv4/opencv2/xphoto/oilpainting.hpp
 include/opencv4/opencv2/xphoto/tonemap.hpp
 include/opencv4/opencv2/xphoto/white_balance.hpp
+lib/libopencv_wechat_qrcode.so
+lib/libopencv_wechat_qrcode.so.%%SHLIB_VER%%
+lib/libopencv_wechat_qrcode.so.4.5
 lib/cmake/opencv4/OpenCVConfig-version.cmake
 lib/cmake/opencv4/OpenCVConfig.cmake
 lib/cmake/opencv4/OpenCVModules-%%CMAKE_BUILD_TYPE%%.cmake
 lib/cmake/opencv4/OpenCVModules.cmake
 lib/libopencv_alphamat.so
 lib/libopencv_alphamat.so.4.5
-lib/libopencv_alphamat.so.4.5.1
+lib/libopencv_alphamat.so.%%SHLIB_VER%%
 lib/libopencv_aruco.so
 lib/libopencv_aruco.so.4.5
-lib/libopencv_aruco.so.4.5.1
+lib/libopencv_aruco.so.%%SHLIB_VER%%
+lib/libopencv_barcode.so
+lib/libopencv_barcode.so.4.5
+lib/libopencv_barcode.so.%%SHLIB_VER%%
 lib/libopencv_bgsegm.so
 lib/libopencv_bgsegm.so.4.5
-lib/libopencv_bgsegm.so.4.5.1
+lib/libopencv_bgsegm.so.%%SHLIB_VER%%
 lib/libopencv_bioinspired.so
 lib/libopencv_bioinspired.so.4.5
-lib/libopencv_bioinspired.so.4.5.1
+lib/libopencv_bioinspired.so.%%SHLIB_VER%%
 lib/libopencv_calib3d.so
 lib/libopencv_calib3d.so.4.5
-lib/libopencv_calib3d.so.4.5.1
+lib/libopencv_calib3d.so.%%SHLIB_VER%%
 lib/libopencv_ccalib.so
 lib/libopencv_ccalib.so.4.5
-lib/libopencv_ccalib.so.4.5.1
+lib/libopencv_ccalib.so.%%SHLIB_VER%%
 lib/libopencv_core.so
 lib/libopencv_core.so.4.5
-lib/libopencv_core.so.4.5.1
+lib/libopencv_core.so.%%SHLIB_VER%%
 lib/libopencv_datasets.so
 lib/libopencv_datasets.so.4.5
-lib/libopencv_datasets.so.4.5.1
+lib/libopencv_datasets.so.%%SHLIB_VER%%
 lib/libopencv_dnn.so
 lib/libopencv_dnn.so.4.5
-lib/libopencv_dnn.so.4.5.1
+lib/libopencv_dnn.so.%%SHLIB_VER%%
 lib/libopencv_dnn_objdetect.so
 lib/libopencv_dnn_objdetect.so.4.5
-lib/libopencv_dnn_objdetect.so.4.5.1
+lib/libopencv_dnn_objdetect.so.%%SHLIB_VER%%
 lib/libopencv_dnn_superres.so
 lib/libopencv_dnn_superres.so.4.5
-lib/libopencv_dnn_superres.so.4.5.1
+lib/libopencv_dnn_superres.so.%%SHLIB_VER%%
 lib/libopencv_dpm.so
 lib/libopencv_dpm.so.4.5
-lib/libopencv_dpm.so.4.5.1
+lib/libopencv_dpm.so.%%SHLIB_VER%%
 lib/libopencv_face.so
 lib/libopencv_face.so.4.5
-lib/libopencv_face.so.4.5.1
+lib/libopencv_face.so.%%SHLIB_VER%%
 lib/libopencv_features2d.so
 lib/libopencv_features2d.so.4.5
-lib/libopencv_features2d.so.4.5.1
+lib/libopencv_features2d.so.%%SHLIB_VER%%
 lib/libopencv_flann.so
 lib/libopencv_flann.so.4.5
-lib/libopencv_flann.so.4.5.1
+lib/libopencv_flann.so.%%SHLIB_VER%%
 lib/libopencv_freetype.so
 lib/libopencv_freetype.so.4.5
-lib/libopencv_freetype.so.4.5.1
+lib/libopencv_freetype.so.%%SHLIB_VER%%
 lib/libopencv_fuzzy.so
 lib/libopencv_fuzzy.so.4.5
-lib/libopencv_fuzzy.so.4.5.1
+lib/libopencv_fuzzy.so.%%SHLIB_VER%%
 lib/libopencv_gapi.so
 lib/libopencv_gapi.so.4.5
-lib/libopencv_gapi.so.4.5.1
+lib/libopencv_gapi.so.%%SHLIB_VER%%
 lib/libopencv_hdf.so
 lib/libopencv_hdf.so.4.5
-lib/libopencv_hdf.so.4.5.1
+lib/libopencv_hdf.so.%%SHLIB_VER%%
 lib/libopencv_hfs.so
 lib/libopencv_hfs.so.4.5
-lib/libopencv_hfs.so.4.5.1
+lib/libopencv_hfs.so.%%SHLIB_VER%%
 lib/libopencv_highgui.so
 lib/libopencv_highgui.so.4.5
-lib/libopencv_highgui.so.4.5.1
+lib/libopencv_highgui.so.%%SHLIB_VER%%
 lib/libopencv_img_hash.so
 lib/libopencv_img_hash.so.4.5
-lib/libopencv_img_hash.so.4.5.1
+lib/libopencv_img_hash.so.%%SHLIB_VER%%
 lib/libopencv_imgcodecs.so
 lib/libopencv_imgcodecs.so.4.5
-lib/libopencv_imgcodecs.so.4.5.1
+lib/libopencv_imgcodecs.so.%%SHLIB_VER%%
 lib/libopencv_imgproc.so
 lib/libopencv_imgproc.so.4.5
-lib/libopencv_imgproc.so.4.5.1
+lib/libopencv_imgproc.so.%%SHLIB_VER%%
 lib/libopencv_intensity_transform.so
 lib/libopencv_intensity_transform.so.4.5
-lib/libopencv_intensity_transform.so.4.5.1
+lib/libopencv_intensity_transform.so.%%SHLIB_VER%%
 lib/libopencv_line_descriptor.so
 lib/libopencv_line_descriptor.so.4.5
-lib/libopencv_line_descriptor.so.4.5.1
+lib/libopencv_line_descriptor.so.%%SHLIB_VER%%
 lib/libopencv_mcc.so
 lib/libopencv_mcc.so.4.5
-lib/libopencv_mcc.so.4.5.1
+lib/libopencv_mcc.so.%%SHLIB_VER%%
 lib/libopencv_ml.so
 lib/libopencv_ml.so.4.5
-lib/libopencv_ml.so.4.5.1
+lib/libopencv_ml.so.%%SHLIB_VER%%
 lib/libopencv_objdetect.so
 lib/libopencv_objdetect.so.4.5
-lib/libopencv_objdetect.so.4.5.1
+lib/libopencv_objdetect.so.%%SHLIB_VER%%
 lib/libopencv_optflow.so
 lib/libopencv_optflow.so.4.5
-lib/libopencv_optflow.so.4.5.1
+lib/libopencv_optflow.so.%%SHLIB_VER%%
 lib/libopencv_phase_unwrapping.so
 lib/libopencv_phase_unwrapping.so.4.5
-lib/libopencv_phase_unwrapping.so.4.5.1
+lib/libopencv_phase_unwrapping.so.%%SHLIB_VER%%
 lib/libopencv_photo.so
 lib/libopencv_photo.so.4.5
-lib/libopencv_photo.so.4.5.1
+lib/libopencv_photo.so.%%SHLIB_VER%%
 lib/libopencv_plot.so
 lib/libopencv_plot.so.4.5
-lib/libopencv_plot.so.4.5.1
+lib/libopencv_plot.so.%%SHLIB_VER%%
 lib/libopencv_quality.so
 lib/libopencv_quality.so.4.5
-lib/libopencv_quality.so.4.5.1
+lib/libopencv_quality.so.%%SHLIB_VER%%
 lib/libopencv_rapid.so
 lib/libopencv_rapid.so.4.5
-lib/libopencv_rapid.so.4.5.1
+lib/libopencv_rapid.so.%%SHLIB_VER%%
 lib/libopencv_reg.so
 lib/libopencv_reg.so.4.5
-lib/libopencv_reg.so.4.5.1
+lib/libopencv_reg.so.%%SHLIB_VER%%
 lib/libopencv_rgbd.so
 lib/libopencv_rgbd.so.4.5
-lib/libopencv_rgbd.so.4.5.1
+lib/libopencv_rgbd.so.%%SHLIB_VER%%
 lib/libopencv_saliency.so
 lib/libopencv_saliency.so.4.5
-lib/libopencv_saliency.so.4.5.1
+lib/libopencv_saliency.so.%%SHLIB_VER%%
 lib/libopencv_sfm.so
 lib/libopencv_sfm.so.4.5
-lib/libopencv_sfm.so.4.5.1
+lib/libopencv_sfm.so.%%SHLIB_VER%%
 lib/libopencv_shape.so
 lib/libopencv_shape.so.4.5
-lib/libopencv_shape.so.4.5.1
+lib/libopencv_shape.so.%%SHLIB_VER%%
 lib/libopencv_stereo.so
 lib/libopencv_stereo.so.4.5
-lib/libopencv_stereo.so.4.5.1
+lib/libopencv_stereo.so.%%SHLIB_VER%%
 lib/libopencv_stitching.so
 lib/libopencv_stitching.so.4.5
-lib/libopencv_stitching.so.4.5.1
+lib/libopencv_stitching.so.%%SHLIB_VER%%
 lib/libopencv_structured_light.so
 lib/libopencv_structured_light.so.4.5
-lib/libopencv_structured_light.so.4.5.1
+lib/libopencv_structured_light.so.%%SHLIB_VER%%
 lib/libopencv_superres.so
 lib/libopencv_superres.so.4.5
-lib/libopencv_superres.so.4.5.1
+lib/libopencv_superres.so.%%SHLIB_VER%%
 lib/libopencv_surface_matching.so
 lib/libopencv_surface_matching.so.4.5
-lib/libopencv_surface_matching.so.4.5.1
+lib/libopencv_surface_matching.so.%%SHLIB_VER%%
 lib/libopencv_text.so
 lib/libopencv_text.so.4.5
-lib/libopencv_text.so.4.5.1
+lib/libopencv_text.so.%%SHLIB_VER%%
 lib/libopencv_tracking.so
 lib/libopencv_tracking.so.4.5
-lib/libopencv_tracking.so.4.5.1
+lib/libopencv_tracking.so.%%SHLIB_VER%%
 lib/libopencv_video.so
 lib/libopencv_video.so.4.5
-lib/libopencv_video.so.4.5.1
+lib/libopencv_video.so.%%SHLIB_VER%%
 lib/libopencv_videoio.so
 lib/libopencv_videoio.so.4.5
-lib/libopencv_videoio.so.4.5.1
+lib/libopencv_videoio.so.%%SHLIB_VER%%
 lib/libopencv_videostab.so
 lib/libopencv_videostab.so.4.5
-lib/libopencv_videostab.so.4.5.1
+lib/libopencv_videostab.so.%%SHLIB_VER%%
 lib/libopencv_xfeatures2d.so
 lib/libopencv_xfeatures2d.so.4.5
-lib/libopencv_xfeatures2d.so.4.5.1
+lib/libopencv_xfeatures2d.so.%%SHLIB_VER%%
 lib/libopencv_ximgproc.so
 lib/libopencv_ximgproc.so.4.5
-lib/libopencv_ximgproc.so.4.5.1
+lib/libopencv_ximgproc.so.%%SHLIB_VER%%
 lib/libopencv_xobjdetect.so
 lib/libopencv_xobjdetect.so.4.5
-lib/libopencv_xobjdetect.so.4.5.1
+lib/libopencv_xobjdetect.so.%%SHLIB_VER%%
 lib/libopencv_xphoto.so
 lib/libopencv_xphoto.so.4.5
-lib/libopencv_xphoto.so.4.5.1
+lib/libopencv_xphoto.so.%%SHLIB_VER%%
 lib/opencv4/3rdparty/libcorrespondence.a
 lib/opencv4/3rdparty/libmultiview.a
 lib/opencv4/3rdparty/libnumeric.a
@@ -722,9 +747,11 @@ libdata/pkgconfig/opencv4.pc
 %%DATADIR%%/quality/brisque_range_live.yml
 %%DATADIR%%/valgrind.supp
 %%DATADIR%%/valgrind_3rdparty.supp
-%%JAVA%%share/java/opencv4/libopencv_java451.so
-%%JAVA%%share/java/opencv4/opencv-451.jar
+%%JAVA%%share/java/opencv4/libopencv_java453.so
+%%JAVA%%share/java/opencv4/opencv-453.jar
 %%PYTHON%%%%PYTHON_SITELIBDIR%%/cv2/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/cv2/_extra_py_code/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/cv2/_extra_py_code/gapi/__init__.py
 %%PYTHON%%%%PYTHON_SITELIBDIR%%/cv2/config-%%PYTHON_VER%%.py
 %%PYTHON%%%%PYTHON_SITELIBDIR%%/cv2/config.py
 %%PYTHON%%%%PYTHON_SITELIBDIR%%/cv2/load_config_py2.py



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