pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

opencv-contrib-face: update to 5.0



Module Name:	pkgsrc-wip
Committed By:	Thomas Klausner <wiz%NetBSD.org@localhost>
Pushed By:	wiz
Date:		Wed Jul 15 21:37:34 2026 +0200
Changeset:	d0d106b721d2300dc5fd94b10c70c9eb1cd1a873

Modified Files:
	Makefile
Added Files:
	opencv-contrib-face/DESCR
	opencv-contrib-face/Makefile
	opencv-contrib-face/PLIST
	opencv-contrib-face/buildlink3.mk
	opencv-contrib-face/distinfo
	opencv-contrib-face/patches/patch-.._opencv__contrib-5.0.0_modules_face_CMakeLists.txt
	opencv-contrib-face/patches/patch-3rdparty_ippicv_ippicv.cmake
	opencv-contrib-face/patches/patch-modules_core_src_downhill__simplex.cpp
	opencv-contrib-face/patches/patch-modules_core_src_hal__internal.cpp
	opencv-contrib-face/patches/patch-modules_flann_include_opencv2_flann_defines.h
	opencv-contrib-face/patches/patch-modules_imgproc_src_resize.cpp
	opencv-contrib-face/patches/patch-modules_videoio_src_cap__v4l.cpp

Log Message:
opencv-contrib-face: update to 5.0

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=d0d106b721d2300dc5fd94b10c70c9eb1cd1a873

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                           |   1 +
 opencv-contrib-face/DESCR                          |   1 +
 opencv-contrib-face/Makefile                       |  96 +++++++++++++++++++
 opencv-contrib-face/PLIST                          |  58 ++++++++++++
 opencv-contrib-face/buildlink3.mk                  |  15 +++
 opencv-contrib-face/distinfo                       |  18 ++++
 ...encv__contrib-5.0.0_modules_face_CMakeLists.txt |  29 ++++++
 .../patches/patch-3rdparty_ippicv_ippicv.cmake     |  12 +++
 .../patch-modules_core_src_downhill__simplex.cpp   |  16 ++++
 .../patch-modules_core_src_hal__internal.cpp       |  15 +++
 ...h-modules_flann_include_opencv2_flann_defines.h |  16 ++++
 .../patches/patch-modules_imgproc_src_resize.cpp   |  24 +++++
 .../patches/patch-modules_videoio_src_cap__v4l.cpp | 102 +++++++++++++++++++++
 13 files changed, 403 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 570d2f9415..f968995a8b 100644
--- a/Makefile
+++ b/Makefile
@@ -2774,6 +2774,7 @@ SUBDIR+=	openca
 SUBDIR+=	opencl-clhpp
 SUBDIR+=	opencl-headers
 SUBDIR+=	opencv
+SUBDIR+=	opencv-contrib-face
 SUBDIR+=	opendbx
 SUBDIR+=	opendchub
 SUBDIR+=	opendkim
diff --git a/opencv-contrib-face/DESCR b/opencv-contrib-face/DESCR
new file mode 100644
index 0000000000..73e991fb92
--- /dev/null
+++ b/opencv-contrib-face/DESCR
@@ -0,0 +1 @@
+OpenCV face recognition contributed module.
diff --git a/opencv-contrib-face/Makefile b/opencv-contrib-face/Makefile
new file mode 100644
index 0000000000..96815abc98
--- /dev/null
+++ b/opencv-contrib-face/Makefile
@@ -0,0 +1,96 @@
+# $NetBSD: Makefile,v 1.58 2026/06/23 09:37:00 wiz Exp $
+
+# can't use ninja because we only want to install parts of it
+CMAKE_GENERATORS_INCOMPATIBLE=	ninja
+INSTALL_DIRS=		modules/face modules/plot modules/tracking modules/xobjdetect
+
+.include "../../wip/opencv/Makefile.common"
+
+DISTNAME=	opencv_contrib-${OPENCV_VERSION}
+PKGNAME=	${DISTNAME:S/_contrib/-contrib-face/}
+GITHUB_PROJECT=	opencv_contrib
+
+MAINTAINER=	markd%NetBSD.org@localhost
+COMMENT=	OpenCV face recognition contributed module
+
+DISTFILES=	${DEFAULT_DISTFILES} opencv-${PKGVERSION_NOREV}${EXTRACT_SUFX} opencv-${PKGVERSION_NOREV}_face_landmark_model.dat
+# use the hash from modules/face/CMakeLists.txt
+SITES.opencv-5.0.0_face_landmark_model.dat=	-https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat
+
+WRKSRC=		${WRKDIR}/opencv-${PKGVERSION_NOREV}
+
+post-extract:
+	${CP} ${WRKDIR}/opencv-${PKGVERSION_NOREV}_face_landmark_model.dat ${WRKDIR}/opencv_contrib-${PKGVERSION_NOREV}/modules/face/face_landmark_model.dat
+
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_DOCS=OFF
+CMAKE_CONFIGURE_ARGS+=		-DWITH_FFMPEG=OFF
+CMAKE_CONFIGURE_ARGS+=		-DWITH_JASPER=OFF
+
+CMAKE_CONFIGURE_ARGS+=		-DOPENCV_EXTRA_MODULES_PATH=${WRKDIR}/${DISTNAME}/modules
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_adas=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_aruco=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_bgsegm=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_bioinspired=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_ccalib=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_contrib_world=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_cvv=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_datasets=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_dnn_objdetect=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_dpm=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_fuzzy=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_hdf=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_hfs=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_imgcodecs=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_img_hash=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_intensity_transforms=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_latentsvm=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_line_descriptor=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_matlab=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_optflow=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_phase_unwrapping=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_rapid=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_reg=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_rgbd=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_saliency=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_shape=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_signal=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_stereo=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_structured_light=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_surface_matching=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_text=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_xfeatures2d=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_ximgproc=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_xobjdetect=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_xphoto=OFF
+
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_dnn=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_highgui=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_ml=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_python2=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_python3=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_stitching=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_superres=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_ts=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_videoio=OFF
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_videostab=OFF
+
+# needed by face
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_face=ON
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_objdetect=ON
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_xobjdetect=ON
+# needed by objdetect
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_calib3d=ON
+# needed by xobjdetect
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_imgcodecs=ON
+# needed by calib3d
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_features2d=ON
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_flann=ON
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_imgproc=ON
+# needed by flann and objdetect
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_core=ON
+# needed by tracking
+CMAKE_CONFIGURE_ARGS+=		-DBUILD_opencv_video=ON
+
+BUILDLINK_API_DEPENDS.opencv+=	opencv>=${PKGVERSION_NOREV}
+.include "../../wip/opencv/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/opencv-contrib-face/PLIST b/opencv-contrib-face/PLIST
new file mode 100644
index 0000000000..7912fcd466
--- /dev/null
+++ b/opencv-contrib-face/PLIST
@@ -0,0 +1,58 @@
+@comment $NetBSD$
+include/opencv5/opencv2/face.hpp
+include/opencv5/opencv2/face/bif.hpp
+include/opencv5/opencv2/face/face_alignment.hpp
+include/opencv5/opencv2/face/facemark.hpp
+include/opencv5/opencv2/face/facemarkAAM.hpp
+include/opencv5/opencv2/face/facemarkLBF.hpp
+include/opencv5/opencv2/face/facemark_train.hpp
+include/opencv5/opencv2/face/facerec.hpp
+include/opencv5/opencv2/face/mace.hpp
+include/opencv5/opencv2/face/predict_collector.hpp
+include/opencv5/opencv2/plot.hpp
+include/opencv5/opencv2/tracking.hpp
+include/opencv5/opencv2/tracking/feature.hpp
+include/opencv5/opencv2/tracking/kalman_filters.hpp
+include/opencv5/opencv2/tracking/onlineBoosting.hpp
+include/opencv5/opencv2/tracking/tldDataset.hpp
+include/opencv5/opencv2/tracking/tracking.hpp
+include/opencv5/opencv2/tracking/tracking_by_matching.hpp
+include/opencv5/opencv2/tracking/tracking_internals.hpp
+include/opencv5/opencv2/tracking/tracking_legacy.hpp
+include/opencv5/opencv2/tracking/twist.hpp
+include/opencv5/opencv2/xobjdetect.hpp
+include/opencv5/opencv2/xobjdetect/detection_based_tracker.hpp
+lib/libopencv_face.so
+lib/libopencv_face.so.${PKGVERSION}
+lib/libopencv_face.so.500
+lib/libopencv_plot.so
+lib/libopencv_plot.so.${PKGVERSION}
+lib/libopencv_plot.so.500
+lib/libopencv_tracking.so
+lib/libopencv_tracking.so.${PKGVERSION}
+lib/libopencv_tracking.so.500
+lib/libopencv_xobjdetect.so
+lib/libopencv_xobjdetect.so.${PKGVERSION}
+lib/libopencv_xobjdetect.so.500
+share/opencv5/haarcascades/haarcascade_eye.xml
+share/opencv5/haarcascades/haarcascade_eye_tree_eyeglasses.xml
+share/opencv5/haarcascades/haarcascade_frontalcatface.xml
+share/opencv5/haarcascades/haarcascade_frontalcatface_extended.xml
+share/opencv5/haarcascades/haarcascade_frontalface_alt.xml
+share/opencv5/haarcascades/haarcascade_frontalface_alt2.xml
+share/opencv5/haarcascades/haarcascade_frontalface_alt_tree.xml
+share/opencv5/haarcascades/haarcascade_frontalface_default.xml
+share/opencv5/haarcascades/haarcascade_fullbody.xml
+share/opencv5/haarcascades/haarcascade_lefteye_2splits.xml
+share/opencv5/haarcascades/haarcascade_license_plate_rus_16stages.xml
+share/opencv5/haarcascades/haarcascade_lowerbody.xml
+share/opencv5/haarcascades/haarcascade_profileface.xml
+share/opencv5/haarcascades/haarcascade_righteye_2splits.xml
+share/opencv5/haarcascades/haarcascade_russian_plate_number.xml
+share/opencv5/haarcascades/haarcascade_smile.xml
+share/opencv5/haarcascades/haarcascade_upperbody.xml
+share/opencv5/lbpcascades/lbpcascade_frontalcatface.xml
+share/opencv5/lbpcascades/lbpcascade_frontalface.xml
+share/opencv5/lbpcascades/lbpcascade_frontalface_improved.xml
+share/opencv5/lbpcascades/lbpcascade_profileface.xml
+share/opencv5/lbpcascades/lbpcascade_silverware.xml
diff --git a/opencv-contrib-face/buildlink3.mk b/opencv-contrib-face/buildlink3.mk
new file mode 100644
index 0000000000..d837850ec0
--- /dev/null
+++ b/opencv-contrib-face/buildlink3.mk
@@ -0,0 +1,15 @@
+# $NetBSD: buildlink3.mk,v 1.34 2026/06/23 09:37:00 wiz Exp $
+
+BUILDLINK_TREE+=	opencv-contrib-face
+
+.if !defined(OPENCV_CONTRIB_FACE_BUILDLINK3_MK)
+OPENCV_CONTRIB_FACE_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.opencv-contrib-face+=	opencv-contrib-face>=3.0.0
+BUILDLINK_ABI_DEPENDS.opencv-contrib-face?=	opencv-contrib-face>=4.13.0nb4
+BUILDLINK_PKGSRCDIR.opencv-contrib-face?=	../../graphics/opencv-contrib-face
+
+.include "../../graphics/opencv/buildlink3.mk"
+.endif	# OPENCV_CONTRIB_FACE_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-opencv-contrib-face
diff --git a/opencv-contrib-face/distinfo b/opencv-contrib-face/distinfo
new file mode 100644
index 0000000000..5baf973159
--- /dev/null
+++ b/opencv-contrib-face/distinfo
@@ -0,0 +1,18 @@
+$NetBSD: distinfo,v 1.35 2026/01/05 02:53:36 wiz Exp $
+
+BLAKE2s (opencv-5.0.0.tar.gz) = 42d24b05b62365d961781149deaa7726357ba39cdea6e87c0cb93ff7b8168c13
+SHA512 (opencv-5.0.0.tar.gz) = 37143de2ba76a9af351d6901358635b42b671b5fbe3ccc75d4d27133b0a6c6a0400564e6eaf228fc1705e25a2af09c8e2638039ca9af0ce9428da253dd31d3e0
+Size (opencv-5.0.0.tar.gz) = 81594270 bytes
+BLAKE2s (opencv-5.0.0_face_landmark_model.dat) = 27a36ff06273b7bf77d3a01742348482c129788e6baaa08c07d4d5b3803e57b0
+SHA512 (opencv-5.0.0_face_landmark_model.dat) = c16e60a6c4bb4de3ab39b876ae3c3f320ea56f69c93e9303bd2dff8760841dcd71be4161fff8bc71e8fe4fe8747fa8465d49d6bd8f5ebcdaea161f4bc2da7c93
+Size (opencv-5.0.0_face_landmark_model.dat) = 72368157 bytes
+BLAKE2s (opencv_contrib-5.0.0.tar.gz) = c0ff9f09c9a0aaab65cbd8a24757c32e096f2a2243a598703d837944c311b8be
+SHA512 (opencv_contrib-5.0.0.tar.gz) = 09841f4637f6a51a5e12a5516710e61a3cedd2622455366004cd9e35484a6d03cc9c12de52edae4072dc37af104d7fd9099201effee82c52dd40b8a58c51fdc5
+Size (opencv_contrib-5.0.0.tar.gz) = 72465981 bytes
+SHA1 (patch-.._opencv__contrib-5.0.0_modules_face_CMakeLists.txt) = 9b8ac02fefd731bec7ced79cd8707336e30fa988
+SHA1 (patch-3rdparty_ippicv_ippicv.cmake) = 14ce5de382084793ace32f43c6dfaf01f7ffb390
+SHA1 (patch-modules_core_src_downhill__simplex.cpp) = 1ad7c2fa126d15050b87785e8eec20dbe796b471
+SHA1 (patch-modules_core_src_hal__internal.cpp) = 0f243428337a6e60a8f72cd579941099081d2ecd
+SHA1 (patch-modules_flann_include_opencv2_flann_defines.h) = ab848e67c4e03219670598ac2d21071a617a5c33
+SHA1 (patch-modules_imgproc_src_resize.cpp) = e842d5960c4c00162a34f46cb45cf69d0e9f21ce
+SHA1 (patch-modules_videoio_src_cap__v4l.cpp) = 362fe667a8b5ee9d556036ef97121eb5ff503602
diff --git a/opencv-contrib-face/patches/patch-.._opencv__contrib-5.0.0_modules_face_CMakeLists.txt b/opencv-contrib-face/patches/patch-.._opencv__contrib-5.0.0_modules_face_CMakeLists.txt
new file mode 100644
index 0000000000..852bcc2a13
--- /dev/null
+++ b/opencv-contrib-face/patches/patch-.._opencv__contrib-5.0.0_modules_face_CMakeLists.txt
@@ -0,0 +1,29 @@
+$NetBSD: patch-.._opencv__contrib-4.13.0_modules_face_CMakeLists.txt,v 1.1 2026/01/05 02:54:19 wiz Exp $
+
+Do not download files during build, let pkgsrc provide it.
+
+--- ../opencv_contrib-5.0.0/modules/face/CMakeLists.txt.orig	2025-02-07 17:04:23.284140051 +0000
++++ ../opencv_contrib-5.0.0/modules/face/CMakeLists.txt
+@@ -8,20 +8,6 @@ ocv_define_module(face opencv_core
+ )
+ # NOTE: objdetect module is needed for one of the samples
+ 
+-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
++file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/face_landmark_model.dat
++        DESTINATION ${CMAKE_BINARY_DIR}/${OPENCV_TEST_DATA_INSTALL_PATH}/cv/face/input.txt
+ )
+-if(NOT res)
+-  message(WARNING "Face: Can't get model file for face alignment.")
+-endif()
diff --git a/opencv-contrib-face/patches/patch-3rdparty_ippicv_ippicv.cmake b/opencv-contrib-face/patches/patch-3rdparty_ippicv_ippicv.cmake
new file mode 100644
index 0000000000..15a1ac8712
--- /dev/null
+++ b/opencv-contrib-face/patches/patch-3rdparty_ippicv_ippicv.cmake
@@ -0,0 +1,12 @@
+$NetBSD: patch-3rdparty_ippicv_ippicv.cmake,v 1.1 2025/02/07 21:57:08 wiz Exp $
+
+Do not download at build time.
+
+--- 3rdparty/ippicv/ippicv.cmake.orig	2017-08-03 23:58:23.000000000 +0000
++++ 3rdparty/ippicv/ippicv.cmake
+@@ -1,4 +1,5 @@
+ function(download_ippicv root_var)
++  return()
+   set(${root_var} "" PARENT_SCOPE)
+ 
+   # Commit SHA in the opencv_3rdparty repo
diff --git a/opencv-contrib-face/patches/patch-modules_core_src_downhill__simplex.cpp b/opencv-contrib-face/patches/patch-modules_core_src_downhill__simplex.cpp
new file mode 100644
index 0000000000..423d82588f
--- /dev/null
+++ b/opencv-contrib-face/patches/patch-modules_core_src_downhill__simplex.cpp
@@ -0,0 +1,16 @@
+$NetBSD: patch-modules_core_src_downhill__simplex.cpp,v 1.1 2025/02/07 21:57:08 wiz Exp $
+
+Avoid DS conflict on SunOS.
+
+--- modules/core/src/downhill_simplex.cpp.orig	2015-06-03 17:21:34.000000000 +0000
++++ modules/core/src/downhill_simplex.cpp
+@@ -450,6 +450,9 @@ protected:
+ };
+ 
+ 
++#if defined(__sun)
++#undef DS
++#endif
+ // both minRange & minError are specified by termcrit.epsilon;
+ // In addition, user may specify the number of iterations that the algorithm does.
+ Ptr<DownhillSolver> DownhillSolver::create( const Ptr<MinProblemSolver::Function>& f,
diff --git a/opencv-contrib-face/patches/patch-modules_core_src_hal__internal.cpp b/opencv-contrib-face/patches/patch-modules_core_src_hal__internal.cpp
new file mode 100644
index 0000000000..f533ac206c
--- /dev/null
+++ b/opencv-contrib-face/patches/patch-modules_core_src_hal__internal.cpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Remove complex.h to fix build.
+https://github.com/opencv/opencv/pull/29455
+
+--- modules/core/src/hal_internal.cpp.orig	2026-06-05 18:50:05.000000000 +0000
++++ modules/core/src/hal_internal.cpp
+@@ -47,7 +47,6 @@
+ 
+ #ifdef HAVE_LAPACK
+ 
+-#include <complex.h>
+ #include "opencv_lapack.h"
+ 
+ #include <cmath>
diff --git a/opencv-contrib-face/patches/patch-modules_flann_include_opencv2_flann_defines.h b/opencv-contrib-face/patches/patch-modules_flann_include_opencv2_flann_defines.h
new file mode 100644
index 0000000000..e9f4f58d6e
--- /dev/null
+++ b/opencv-contrib-face/patches/patch-modules_flann_include_opencv2_flann_defines.h
@@ -0,0 +1,16 @@
+$NetBSD: patch-modules_flann_include_opencv2_flann_defines.h,v 1.1 2025/02/07 21:57:08 wiz Exp $
+
+Avoid CS conflict on SunOS.
+
+--- modules/flann/include/opencv2/flann/defines.h.orig	2012-09-27 22:55:06.000000000 +0000
++++ modules/flann/include/opencv2/flann/defines.h
+@@ -71,6 +71,9 @@
+ #define FLANN_PLATFORM_32_BIT
+ #endif
+ 
++#ifdef __sun
++#undef CS
++#endif
+ 
+ #undef FLANN_ARRAY_LEN
+ #define FLANN_ARRAY_LEN(a) (sizeof(a)/sizeof(a[0]))
diff --git a/opencv-contrib-face/patches/patch-modules_imgproc_src_resize.cpp b/opencv-contrib-face/patches/patch-modules_imgproc_src_resize.cpp
new file mode 100644
index 0000000000..8460e080f6
--- /dev/null
+++ b/opencv-contrib-face/patches/patch-modules_imgproc_src_resize.cpp
@@ -0,0 +1,24 @@
+$NetBSD: patch-modules_imgproc_src_resize.cpp,v 1.1 2025/02/07 21:57:08 wiz Exp $
+
+On Illumos int8_t != ET, so be explicit about the cast to be used here.
+
+--- modules/imgproc/src/resize.cpp.orig	2020-08-08 22:04:15.259991576 +0000
++++ modules/imgproc/src/resize.cpp
+@@ -652,7 +652,7 @@ template <typename ET, typename FT>
+ void vlineSet(FT* src, ET* dst, int dst_width)
+ {
+     for (int i = 0; i < dst_width; i++)
+-        dst[i] = src[i];
++        dst[i] = int8_t(src[i]);
+ }
+ template <>
+ void vlineSet<uint8_t, ufixedpoint16>(ufixedpoint16* src, uint8_t* dst, int dst_width)
+@@ -684,7 +684,7 @@ void vlineResize(FT* src, size_t src_ste
+         typename FT::WT res = src[i] * m[0];
+         for (int k = 1; k < n; k++)
+             res = res + src[i + k*src_step] * m[k];
+-        dst[i] = res;
++        dst[i] = int8_t(res);
+     }
+ }
+ template <>
diff --git a/opencv-contrib-face/patches/patch-modules_videoio_src_cap__v4l.cpp b/opencv-contrib-face/patches/patch-modules_videoio_src_cap__v4l.cpp
new file mode 100644
index 0000000000..2dcc83011b
--- /dev/null
+++ b/opencv-contrib-face/patches/patch-modules_videoio_src_cap__v4l.cpp
@@ -0,0 +1,102 @@
+$NetBSD: patch-modules_videoio_src_cap__v4l.cpp,v 1.11 2025/07/07 05:15:26 wiz Exp $
+
+Conditionalize settings not available in NetBSD's v4l2 emulation.
+Avoid non-standard integer types.
+
+--- modules/videoio/src/cap_v4l.cpp.orig	2026-06-05 18:50:05.000000000 +0000
++++ modules/videoio/src/cap_v4l.cpp
+@@ -215,6 +215,14 @@ make & enjoy!
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <sys/ioctl.h>
++#include <inttypes.h>
++#include <stdint.h>
++#ifndef __u32
++#define __u32 uint32_t
++#endif
++#ifndef __s32
++#define __s32 int32_t
++#endif
+ #include <sys/types.h>
+ #include <sys/mman.h>
+ 
+@@ -241,24 +249,30 @@ typedef uint32_t __u32;
+ #endif
+ 
+ // https://github.com/opencv/opencv/issues/13335
++#ifdef V4L2_CID_CAMERA_CLASS_BASE
+ #ifndef V4L2_CID_ISO_SENSITIVITY
+ #define V4L2_CID_ISO_SENSITIVITY (V4L2_CID_CAMERA_CLASS_BASE+23)
+ #endif
++#endif
+ 
+ // https://github.com/opencv/opencv/issues/13929
++#ifdef V4L2_CID_MPEG_BASE
+ #ifndef V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT
+ #define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364)
+ #endif
+ #ifndef V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH
+ #define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365)
+ #endif
++#endif
+ 
+ #ifndef V4L2_CID_ROTATE
+ #define V4L2_CID_ROTATE (V4L2_CID_BASE+34)
+ #endif
++#ifdef V4L2_CID_CAMERA_CLASS_BASE
+ #ifndef V4L2_CID_IRIS_ABSOLUTE
+ #define V4L2_CID_IRIS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+17)
+ #endif
++#endif
+ 
+ #ifndef v4l2_fourcc_be
+ #define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1U << 31))
+@@ -1467,6 +1481,7 @@ void CvCaptureCAM_V4L::convertToRgb(const Buffer &curr
+     case V4L2_PIX_FMT_RGB24:
+         cv::cvtColor(cv::Mat(imageSize, CV_8UC3, start), frame, COLOR_RGB2BGR);
+         return;
++#ifdef V4L2_PIX_FMT_Y16
+     case V4L2_PIX_FMT_Y16:
+     {
+         // https://www.kernel.org/doc/html/v4.10/media/uapi/v4l/pixfmt-y16.html
+@@ -1531,6 +1546,7 @@ void CvCaptureCAM_V4L::convertToRgb(const Buffer &curr
+         cv::cvtColor(cv::Mat(imageSize, CV_8UC1, start), frame, COLOR_BayerGB2BGR);
+         return;
+     }
++#endif
+     case V4L2_PIX_FMT_GREY:
+         cv::cvtColor(cv::Mat(imageSize, CV_8UC1, start), frame, COLOR_GRAY2BGR);
+         return;
+@@ -1650,8 +1666,10 @@ static inline int capPropertyToV4L2(int prop)
+         return CAP_PROP_UNKNOWN;
+     case cv::CAP_PROP_FOURCC:
+         return CAP_PROP_UNKNOWN;
++#ifdef V4L2_CID_MPEG_VIDEO_B_FRAMES
+     case cv::CAP_PROP_FRAME_COUNT:
+         return V4L2_CID_MPEG_VIDEO_B_FRAMES;
++#endif
+     case cv::CAP_PROP_FORMAT:
+         return CAP_PROP_UNKNOWN;
+     case cv::CAP_PROP_MODE:
+@@ -1666,8 +1684,10 @@ static inline int capPropertyToV4L2(int prop)
+         return V4L2_CID_HUE;
+     case cv::CAP_PROP_GAIN:
+         return V4L2_CID_GAIN;
++#ifdef V4L2_CID_EXPOSURE_ABSOLUTE
+     case cv::CAP_PROP_EXPOSURE:
+         return V4L2_CID_EXPOSURE_ABSOLUTE;
++#endif
+     case cv::CAP_PROP_CONVERT_RGB:
+         return CAP_PROP_UNKNOWN;
+     case cv::CAP_PROP_WHITE_BALANCE_BLUE_U:
+@@ -1678,8 +1698,10 @@ static inline int capPropertyToV4L2(int prop)
+         return CAP_PROP_UNKNOWN;
+     case cv::CAP_PROP_SHARPNESS:
+         return V4L2_CID_SHARPNESS;
++#ifdef V4L2_CID_EXPOSURE_AUTO
+     case cv::CAP_PROP_AUTO_EXPOSURE:
+         return V4L2_CID_EXPOSURE_AUTO;
++#endif
+     case cv::CAP_PROP_GAMMA:
+         return V4L2_CID_GAMMA;
+     case cv::CAP_PROP_TEMPERATURE:


Home | Main Index | Thread Index | Old Index