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