mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] opencv: version bump 4.4.0 -> 4.13.0
@ 2026-05-11 13:41 Artur Wiebe via ptxdist
  2026-05-27 21:54 ` [ptxdist] [APPLIED] " Michael Olbrich
  0 siblings, 1 reply; 2+ messages in thread
From: Artur Wiebe via ptxdist @ 2026-05-11 13:41 UTC (permalink / raw)
  To: ptxdist; +Cc: Artur Wiebe

License relicensed BSD-3-Clause -> Apache-2.0 in OpenCV 4.5 (Aug 2020).
Add OPENCV_LICENSE_FILES and OPENCV_CVE_PRODUCT for SBOM / CVE tooling.

CMake options synced to 4.13.0 via configure_helper.py:
- Drop options removed since 4.0 (WITH_LIBV4L/NGRAPH/PLAIDML/TENGINE/
  UNICAP/FREETYPE/GIGEAPI/IPP_A/INF_ENGINE, BUILD_opencv_python2,
  BUILD_IPP_IW).
- Pin all new OCV_OPTIONs (WITH_AVIF/OBSENSOR/OAK/OPENVINO/ONNX/
  FLATBUFFERS/KLEIDICV/...) to OFF for reproducibility across archs.
- Switch ARM intrinsics gating from ENABLE_NEON/VFPV3 to the unified
  CPU_BASELINE_REQUIRE/DISABLE framework.
- Fix PYTHON_LIBRARY (pointed at /bin/python instead of the .so);
  migrate to PYTHON3_LIBRARY / PYTHON3_PACKAGES_PATH.
- WITH_LAPACK=OFF; the previous "ON" was a no-op due to the
  conflicting CMAKE_DISABLE_FIND_PACKAGE_LAPACK override.

Tune for embedded:
- WITH_PTHREADS_PF=ON: enables multi-core cv::parallel_for_ (all
  threading backends were OFF, so it was effectively single-threaded).
- CV_TRACE / WITH_ITT / BUILD_ITT / OPENCV_ENABLE_ALLOCATOR_STATS=OFF:
  drop instrumentation overhead and dead tracing hooks.

Kconfig (opencv.in):
- Drop OPENCV_EXAMPLES; examples don't belong in an embedded rootfs
  and cpp samples now require modules we deliberately exclude (gapi).
- Drop OPENCV_V4L_LIBV4L2; OpenCV stopped using libv4l in 4.0, the
  V4L backend talks to /dev/videoX via raw kernel ioctls.
- Fix dependency selects: IMGCODECS/DNN now select IMGPROC; OPENCV_V4L
  and OPENCV_GSTREAMER select OPENCV_VIDEOIO (not OPENCV_VIDEO, which
  is the analysis module, not the I/O backend).

Signed-off-by: Artur Wiebe <artur@4wiebe.de>
---
 rules/opencv.in   |  36 ++------------
 rules/opencv.make | 119 ++++++++++++++++++++++++++--------------------
 2 files changed, 73 insertions(+), 82 deletions(-)

diff --git a/rules/opencv.in b/rules/opencv.in
index 08a0422ac..f6387ab14 100644
--- a/rules/opencv.in
+++ b/rules/opencv.in
@@ -14,9 +14,7 @@ menuconfig OPENCV
 	select QT5_GUI			if OPENCV_QT
 	select GSTREAMER1		if OPENCV_GSTREAMER
 	select GST_PLUGINS_BASE1	if OPENCV_GSTREAMER
-	select V4L_UTILS		if OPENCV_V4L_LIBV4L2
-	select V4L_UTILS_LIBV4L2	if OPENCV_V4L_LIBV4L2
-	select PYTHON3_NUMPY	if OPENCV_PYTHON
+	select PYTHON3_NUMPY		if OPENCV_PYTHON
 	help
 	  Open Source Computer Vision Library
 
@@ -59,6 +57,7 @@ config OPENCV_IMGPROC
 config OPENCV_IMGCODECS
 	bool
 	prompt "imgcodecs"
+	select OPENCV_IMGPROC
 	help
 	  Image Codecs
 
@@ -88,7 +87,6 @@ config OPENCV_STITCHING
 	prompt "stitching"
 	select OPENCV_CALIB3D
 	select OPENCV_FEATURES2D
-	select OPENCV_OBJDETECT
 	help
 	  Images stitching
 
@@ -109,31 +107,24 @@ config OPENCV_VIDEOIO
 config OPENCV_DNN
 	bool
 	prompt "DNN"
+	select OPENCV_IMGPROC
 	help
 	  Deep Neural Network Library
 
 config OPENCV_GSTREAMER
 	bool
 	prompt "gstreamer"
+	select OPENCV_VIDEOIO
 	help
 	  Gstreamer Support
 
 config OPENCV_V4L
 	bool
 	prompt "v4l"
-	select OPENCV_VIDEO
+	select OPENCV_VIDEOIO
 	help
 	  Video4Linux Support
 
-config OPENCV_V4L_LIBV4L2
-	bool
-	prompt "libv4l2"
-	depends on OPENCV_V4L
-	help
-	  For embedded use cases it often makes sense to explicitly not
-	  use libv4l, because the colorspace conversions in software adds
-	  unexpected overhead.
-
 config OPENCV_QT
 	bool
 	prompt "qt"
@@ -146,21 +137,4 @@ config OPENCV_PYTHON
 	help
 	  Python bindings
 
-config OPENCV_EXAMPLES
-	bool
-	prompt "Build Examples"
-	select OPENCV_IMGPROC
-	select OPENCV_FLANN
-	select OPENCV_IMGCODECS
-	select OPENCV_VIDEOIO
-	select OPENCV_HIGHGUI
-	select OPENCV_ML
-	select OPENCV_VIDEO
-	select OPENCV_OBJDETECT
-	select OPENCV_PHOTO
-	select OPENCV_FEATURES2D
-	select OPENCV_CALIB3D
-	select OPENCV_STITCHING
-	help
-	  Build the OpenCV example applications and install them into /usr/share/opencv/examples.
 endif
diff --git a/rules/opencv.make b/rules/opencv.make
index f4a044307..1b7daec26 100644
--- a/rules/opencv.make
+++ b/rules/opencv.make
@@ -17,22 +17,20 @@ PACKAGES-$(PTXCONF_OPENCV) += opencv
 # Paths and names
 #
 
-OPENCV_VERSION	:= 4.4.0
-OPENCV_MD5	:= 4b00f5cdb1cf393c4a84696362c5a72a
-OPENCV		:= opencv-$(OPENCV_VERSION)
-OPENCV_SUFFIX	:= zip
-OPENCV_URL	:= \
+OPENCV_VERSION		:= 4.13.0
+OPENCV_MD5		:= 3774391cd16823fd4c51078cfee36e8b
+OPENCV			:= opencv-$(OPENCV_VERSION)
+OPENCV_SUFFIX		:= zip
+OPENCV_URL		:= \
 	$(call ptx/mirror, SF, opencvlibrary/opencv-unix/$(OPENCV_VERSION)/$(OPENCV).$(OPENCV_SUFFIX)) \
 	https://github.com/opencv/opencv/archive/$(OPENCV_VERSION).$(OPENCV_SUFFIX)
-OPENCV_SOURCE	:= $(SRCDIR)/$(OPENCV).$(OPENCV_SUFFIX)
-OPENCV_DIR	:= $(BUILDDIR)/$(OPENCV)
-OPENCV_LICENSE	:= BSD
-OPENCV_BUILD_DIR := $(OPENCV_DIR)-build
-
-ifdef PTXCONF_OPENCV_EXAMPLES
-# the examples are installed from the build tree
-OPENCV_DEVPKG	:= NO
-endif
+OPENCV_SOURCE		:= $(SRCDIR)/$(OPENCV).$(OPENCV_SUFFIX)
+OPENCV_DIR		:= $(BUILDDIR)/$(OPENCV)
+OPENCV_BUILD_DIR	:= $(OPENCV_DIR)-build
+OPENCV_LICENSE		:= Apache-2.0
+OPENCV_LICENSE_FILES	:= \
+	file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57
+OPENCV_CVE_PRODUCT	:= opencv
 
 # ----------------------------------------------------------------------------
 # Prepare
@@ -52,17 +50,16 @@ OPENCV_CONF_TOOL	:= cmake
 # Variables that are not shown by configure_helper.py are added at the end.
 OPENCV_CONF_OPT		:= \
 	$(CROSS_CMAKE_USR) \
-	-DANT_EXECUTABLE= \
 	-DBUILD_CUDA_STUBS=OFF \
 	-DBUILD_DOCS=OFF \
-	-DBUILD_EXAMPLES=$(call ptx/onoff, PTXCONF_OPENCV_EXAMPLES) \
-	-DBUILD_IPP_IW=ON \
-	-DBUILD_ITT=ON \
+	-DBUILD_EXAMPLES=OFF \
+	-DBUILD_ITT=OFF \
 	-DBUILD_JASPER=OFF \
 	-DBUILD_JAVA=OFF \
 	-DBUILD_JPEG=OFF \
 	-DBUILD_LIST= \
 	-DBUILD_OPENEXR=OFF \
+	-DBUILD_OPENJPEG=OFF \
 	-DBUILD_PACKAGE=OFF \
 	-DBUILD_PERF_TESTS=OFF \
 	-DBUILD_PNG=OFF \
@@ -82,27 +79,30 @@ OPENCV_CONF_OPT		:= \
 	-DBUILD_opencv_dnn=$(call ptx/onoff,PTXCONF_OPENCV_DNN) \
 	-DBUILD_opencv_features2d=$(call ptx/onoff,PTXCONF_OPENCV_FEATURES2D) \
 	-DBUILD_opencv_flann=$(call ptx/onoff,PTXCONF_OPENCV_FLANN) \
-	-DBUILD_opencv_highgui=$(call ptx/onoff,PTXCONF_OPENCV_HIGHGUI)  \
+	-DBUILD_opencv_highgui=$(call ptx/onoff,PTXCONF_OPENCV_HIGHGUI) \
 	-DBUILD_opencv_imgcodecs=$(call ptx/onoff,PTXCONF_OPENCV_IMGCODECS) \
 	-DBUILD_opencv_imgproc=$(call ptx/onoff,PTXCONF_OPENCV_IMGPROC) \
 	-DBUILD_opencv_java_bindings_generator=ON \
 	-DBUILD_opencv_js=OFF \
+	-DBUILD_opencv_js_bindings_generator=ON \
 	-DBUILD_opencv_ml=$(call ptx/onoff,PTXCONF_OPENCV_ML) \
+	-DBUILD_opencv_objc_bindings_generator=OFF \
 	-DBUILD_opencv_objdetect=$(call ptx/onoff,PTXCONF_OPENCV_OBJDETECT) \
 	-DBUILD_opencv_photo=$(call ptx/onoff,PTXCONF_OPENCV_PHOTO) \
 	-DBUILD_opencv_python3=$(call ptx/onoff,PTXCONF_OPENCV_PYTHON) \
 	-DBUILD_opencv_python_bindings_generator=$(call ptx/onoff,PTXCONF_OPENCV_PYTHON) \
 	-DBUILD_opencv_python_tests=ON \
 	-DBUILD_opencv_stitching=$(call ptx/onoff,PTXCONF_OPENCV_STITCHING) \
-	-DBUILD_opencv_ts=OFF \
 	-DBUILD_opencv_video=$(call ptx/onoff,PTXCONF_OPENCV_VIDEO) \
 	-DBUILD_opencv_videoio=$(call ptx/onoff,PTXCONF_OPENCV_VIDEOIO) \
 	-DBUILD_opencv_world=OFF \
 	-DCPU_BASELINE=DETECT \
+	-DCPU_BASELINE_DISABLE=VFPV3 \
+	-DCPU_BASELINE_REQUIRE=$(call ptx/ifdef,PTXCONF_ARCH_ARM_NEON,NEON,) \
 	-DCPU_DISPATCH= \
 	-DCV_DISABLE_OPTIMIZATION=OFF \
 	-DCV_ENABLE_INTRINSICS=ON \
-	-DCV_TRACE=ON \
+	-DCV_TRACE=OFF \
 	-DENABLE_BUILD_HARDENING=OFF \
 	-DENABLE_CCACHE=OFF \
 	-DENABLE_CONFIG_VERIFICATION=OFF \
@@ -112,116 +112,133 @@ OPENCV_CONF_OPT		:= \
 	-DENABLE_IMPL_COLLECTION=OFF \
 	-DENABLE_INSTRUMENTATION=OFF \
 	-DENABLE_LTO=OFF \
-	-DENABLE_NEON=$(call ptx/onoff,PTXCONF_ARCH_ARM_NEON) \
 	-DENABLE_NOISY_WARNINGS=OFF \
 	-DENABLE_OMIT_FRAME_POINTER=ON \
 	-DENABLE_PIC=ON \
 	-DENABLE_PROFILING=OFF \
 	-DENABLE_SOLUTION_FOLDERS=OFF \
-	-DENABLE_VFPV3=OFF \
 	-DEXECUTABLE_OUTPUT_PATH=$(OPENCV_BUILD_DIR)/bin \
 	-DGENERATE_ABI_DESCRIPTOR=OFF \
 	-DINSTALL_CREATE_DISTRIB=OFF \
-	-DINSTALL_C_EXAMPLES=$(call ptx/onoff,PTXCONF_OPENCV_EXAMPLES) \
+	-DINSTALL_C_EXAMPLES=OFF \
 	-DINSTALL_PYTHON_EXAMPLES=OFF \
 	-DINSTALL_TESTS=OFF \
 	-DINSTALL_TO_MANGLED_PATHS=OFF \
 	-DMKL_WITH_OPENMP=OFF \
 	-DMKL_WITH_TBB=OFF \
+	-DOBSENSOR_USE_ORBBEC_SDK=OFF \
+	-DOPENCV_DNN_BACKEND_DEFAULT= \
 	-DOPENCV_DNN_CUDA=OFF \
 	-DOPENCV_DNN_OPENCL=ON \
+	-DOPENCV_DNN_OPENVINO=OFF \
+	-DOPENCV_DNN_PERF_CAFFE=OFF \
+	-DOPENCV_DNN_PERF_CLCAFFE=OFF \
+	-DOPENCV_DNN_TFLITE=OFF \
+	-DOPENCV_DISABLE_ENV_SUPPORT=OFF \
+	-DOPENCV_DISABLE_FILESYSTEM_SUPPORT=OFF \
 	-DOPENCV_DOWNLOAD_PATH=$(OPENCV_DIR)/.cache \
 	-DOPENCV_DUMP_HOOKS_FLOW=OFF \
-	-DOPENCV_ENABLE_ALLOCATOR_STATS=ON \
+	-DOPENCV_ENABLE_ALLOCATOR_STATS=OFF \
 	-DOPENCV_ENABLE_ATOMIC_LONG_LONG=ON \
 	-DOPENCV_ENABLE_MEMALIGN=ON \
 	-DOPENCV_ENABLE_MEMORY_SANITIZER=OFF \
 	-DOPENCV_ENABLE_NONFREE=OFF \
 	-DOPENCV_EXTRA_MODULES_PATH= \
 	-DOPENCV_FORCE_3RDPARTY_BUILD=OFF \
+	-DOPENCV_FORCE_PYTHON_LIBS=OFF \
 	-DOPENCV_GENERATE_PKGCONFIG=ON \
 	-DOPENCV_GENERATE_SETUPVARS=ON \
 	-DOPENCV_IPP_GAUSSIAN_BLUR=OFF \
 	-DOPENCV_MATHJAX_RELPATH=https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0 \
 	-DOPENCV_PYTHON3_VERSION=$(PYTHON3_MAJORMINOR) \
 	-DOPENCV_WARNINGS_ARE_ERRORS=OFF \
+	-DPARALLEL_ENABLE_PLUGINS=ON \
 	-DPROTOBUF_UPDATE_FILES=OFF \
 	-DPYTHON3_EXECUTABLE=$(PTXDIST_SYSROOT_CROSS)/usr/bin/python$(PYTHON3_MAJORMINOR) \
+	-DPYTHON3_LIMITED_API=OFF \
 	-DPYTHON3_NUMPY_INCLUDE_DIRS=$(PTXDIST_SYSROOT_TARGET)$(PYTHON3_SITEPACKAGES)/numpy/core/include/ \
 	-DWITH_1394=OFF \
 	-DWITH_ADE=OFF \
 	-DWITH_ARAVIS=OFF \
+	-DWITH_AVIF=OFF \
+	-DWITH_CANN=OFF \
 	-DWITH_CAROTENE=OFF \
 	-DWITH_CLP=OFF \
-	-DWITH_CUBLAS=OFF \
 	-DWITH_CUDA=OFF \
-	-DWITH_CUFFT=OFF \
 	-DWITH_EIGEN=OFF \
+	-DWITH_FASTCV=OFF \
 	-DWITH_FFMPEG=OFF \
+	-DWITH_FLATBUFFERS=OFF \
+	-DWITH_FRAMEBUFFER=OFF \
+	-DWITH_FRAMEBUFFER_XVFB=OFF \
 	-DWITH_FREETYPE=OFF \
 	-DWITH_GDAL=OFF \
 	-DWITH_GDCM=OFF \
-	-DWITH_GIGEAPI=OFF \
 	-DWITH_GPHOTO2=OFF \
 	-DWITH_GSTREAMER=$(call ptx/onoff,PTXCONF_OPENCV_GSTREAMER) \
 	-DWITH_GTK=OFF \
 	-DWITH_GTK_2_X=OFF \
+	-DWITH_HAL_RVV=OFF \
 	-DWITH_HALIDE=OFF \
 	-DWITH_HPX=OFF \
+	-DWITH_IMGCODEC_GIF=OFF \
 	-DWITH_IMGCODEC_HDR=ON \
 	-DWITH_IMGCODEC_PFM=ON \
 	-DWITH_IMGCODEC_PXM=ON \
 	-DWITH_IMGCODEC_SUNRASTER=ON \
-	-DWITH_INF_ENGINE=OFF \
 	-DWITH_IPP=OFF \
-	-DWITH_IPP_A=OFF \
-	-DWITH_ITT=ON \
+	-DWITH_ITT=OFF \
 	-DWITH_JASPER=OFF \
 	-DWITH_JPEG=ON \
-	-DWITH_LAPACK=ON \
+	-DWITH_JPEGXL=OFF \
+	-DWITH_KLEIDICV=OFF \
+	-DWITH_LAPACK=OFF \
 	-DWITH_LIBREALSENSE=OFF \
-	-DWITH_LIBV4L=$(call ptx/onoff,PTXCONF_OPENCV_V4L_LIBV4L2) \
 	-DWITH_MFX=OFF \
-	-DWITH_NGRAPH=OFF \
-	-DWITH_NVCUVID=OFF \
+	-DWITH_NDSRVP=OFF \
+	-DWITH_OAK=OFF \
+	-DWITH_OBSENSOR=OFF \
+	-DWITH_ONNX=OFF \
 	-DWITH_OPENCL=ON \
+	-DWITH_OPENCL_SVM=OFF \
 	-DWITH_OPENCLAMDBLAS=OFF \
 	-DWITH_OPENCLAMDFFT=OFF \
-	-DWITH_OPENCL_SVM=OFF \
 	-DWITH_OPENEXR=OFF \
 	-DWITH_OPENGL=OFF \
 	-DWITH_OPENJPEG=OFF \
 	-DWITH_OPENMP=OFF \
 	-DWITH_OPENNI=OFF \
 	-DWITH_OPENNI2=OFF \
+	-DWITH_OPENVINO=OFF \
 	-DWITH_OPENVX=OFF \
 	-DWITH_PLAIDML=OFF \
 	-DWITH_PNG=ON \
 	-DWITH_PROTOBUF=ON \
-	-DWITH_PTHREADS_PF=OFF \
+	-DWITH_PTHREADS_PF=ON \
 	-DWITH_PVAPI=OFF \
 	-DWITH_QT=$(call ptx/ifdef,PTXCONF_OPENCV_QT,5,OFF) \
 	-DWITH_QUIRC=ON \
+	-DWITH_SPNG=OFF \
 	-DWITH_TBB=OFF \
-	-DWITH_TENGINE=OFF \
 	-DWITH_TIFF=OFF \
-	-DWITH_UNICAP=OFF \
+	-DWITH_TIMVX=OFF \
+	-DWITH_UEYE=OFF \
 	-DWITH_V4L=$(call ptx/onoff,PTXCONF_OPENCV_V4L) \
 	-DWITH_VA=OFF \
 	-DWITH_VA_INTEL=OFF \
 	-DWITH_VULKAN=OFF \
+	-DWITH_WAYLAND=OFF \
+	-DWITH_WEBNN=OFF \
 	-DWITH_WEBP=OFF \
 	-DWITH_XIMEA=OFF \
 	-DWITH_XINE=OFF \
-	-Dopencv_dnn_PERF_CAFFE=OFF \
-	-Dopencv_dnn_PERF_CLCAFFE=OFF \
+	-DWITH_ZLIB_NG=OFF \
 	\
-	-DCMAKE_SKIP_RPATH=ON \
-	-DBUILD_opencv_python2=OFF \
-	-DPYTHON_INCLUDE_DIR=$(PTXDIST_SYSROOT_TARGET)/usr/include/python$(PYTHON3_MAJORMINOR) \
-	-DPYTHON_LIBRARY=$(PTXDIST_SYSROOT_TARGET)/bin/python$(PYTHON3_MAJORMINOR) \
-	-DOPENCV_PYTHON3_INSTALL_PATH=$(PYTHON3_SITEPACKAGES) \
-	-DOPENCV_SKIP_PYTHON_LOADER=ON \
+	-DPYTHON3_INCLUDE_DIR2= \
+	-DPYTHON3_LIBRARY_DEBUG= \
+	-DPYTHON3_INCLUDE_DIR=$(PTXDIST_SYSROOT_TARGET)/usr/include/python$(PYTHON3_MAJORMINOR) \
+	-DPYTHON3_LIBRARY=$(PTXDIST_SYSROOT_TARGET)/usr/lib/libpython$(PYTHON3_MAJORMINOR).so \
+	-DPYTHON3_PACKAGES_PATH=$(PYTHON3_SITEPACKAGES) \
 	-DOPENCV_LAPACK_FIND_PACKAGE_ONLY=ON \
 	-DCMAKE_DISABLE_FIND_PACKAGE_LAPACK=ON
 
@@ -261,12 +278,12 @@ $(STATEDIR)/opencv.targetinstall:
 
 	@$(foreach lib, $(OPENCV_LIBS-y), \
 		$(call install_lib, opencv, 0, 0, 0644, $(lib))$(ptx/nl))
-ifdef PTXCONF_OPENCV_EXAMPLES
-	@$(call install_tree, opencv, 0, 0, $(OPENCV_BUILD_DIR)/bin, /bin)
-endif
+
 ifdef PTXCONF_OPENCV_PYTHON
-	@$(call install_tree, opencv, 0, 0, -, $(PYTHON3_SITEPACKAGES))
+	@$(call install_glob, opencv, 0, 0, -, \
+		$(PYTHON3_SITEPACKAGES), *.so *.py, */load_config_py2.py)
 endif
+
 	@$(call install_finish, opencv)
 	@$(call touch)
 
-- 
2.54.0




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ptxdist] [APPLIED] opencv: version bump 4.4.0 -> 4.13.0
  2026-05-11 13:41 [ptxdist] [PATCH] opencv: version bump 4.4.0 -> 4.13.0 Artur Wiebe via ptxdist
@ 2026-05-27 21:54 ` Michael Olbrich
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Olbrich @ 2026-05-27 21:54 UTC (permalink / raw)
  To: ptxdist; +Cc: Artur Wiebe

Thanks, applied as b565393d8a4adf08251b8a073780ce1deb6b7cee.

Michael

[sent from post-receive hook]

On Wed, 27 May 2026 23:54:52 +0200, Artur Wiebe <artur@4wiebe.de> wrote:
> License relicensed BSD-3-Clause -> Apache-2.0 in OpenCV 4.5 (Aug 2020).
> Add OPENCV_LICENSE_FILES and OPENCV_CVE_PRODUCT for SBOM / CVE tooling.
> 
> CMake options synced to 4.13.0 via configure_helper.py:
> - Drop options removed since 4.0 (WITH_LIBV4L/NGRAPH/PLAIDML/TENGINE/
>   UNICAP/FREETYPE/GIGEAPI/IPP_A/INF_ENGINE, BUILD_opencv_python2,
>   BUILD_IPP_IW).
> - Pin all new OCV_OPTIONs (WITH_AVIF/OBSENSOR/OAK/OPENVINO/ONNX/
>   FLATBUFFERS/KLEIDICV/...) to OFF for reproducibility across archs.
> - Switch ARM intrinsics gating from ENABLE_NEON/VFPV3 to the unified
>   CPU_BASELINE_REQUIRE/DISABLE framework.
> - Fix PYTHON_LIBRARY (pointed at /bin/python instead of the .so);
>   migrate to PYTHON3_LIBRARY / PYTHON3_PACKAGES_PATH.
> - WITH_LAPACK=OFF; the previous "ON" was a no-op due to the
>   conflicting CMAKE_DISABLE_FIND_PACKAGE_LAPACK override.
> 
> Tune for embedded:
> - WITH_PTHREADS_PF=ON: enables multi-core cv::parallel_for_ (all
>   threading backends were OFF, so it was effectively single-threaded).
> - CV_TRACE / WITH_ITT / BUILD_ITT / OPENCV_ENABLE_ALLOCATOR_STATS=OFF:
>   drop instrumentation overhead and dead tracing hooks.
> 
> Kconfig (opencv.in):
> - Drop OPENCV_EXAMPLES; examples don't belong in an embedded rootfs
>   and cpp samples now require modules we deliberately exclude (gapi).
> - Drop OPENCV_V4L_LIBV4L2; OpenCV stopped using libv4l in 4.0, the
>   V4L backend talks to /dev/videoX via raw kernel ioctls.
> - Fix dependency selects: IMGCODECS/DNN now select IMGPROC; OPENCV_V4L
>   and OPENCV_GSTREAMER select OPENCV_VIDEOIO (not OPENCV_VIDEO, which
>   is the analysis module, not the I/O backend).
> 
> Signed-off-by: Artur Wiebe <artur@4wiebe.de>
> Message-Id: <20260511134155.1285859-1-artur@4wiebe.de>
> [mol: switch to sha256]
> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
> 
> diff --git a/rules/opencv.in b/rules/opencv.in
> index 08a0422ac3a7..f6387ab14966 100644
> --- a/rules/opencv.in
> +++ b/rules/opencv.in
> @@ -14,9 +14,7 @@ menuconfig OPENCV
>  	select QT5_GUI			if OPENCV_QT
>  	select GSTREAMER1		if OPENCV_GSTREAMER
>  	select GST_PLUGINS_BASE1	if OPENCV_GSTREAMER
> -	select V4L_UTILS		if OPENCV_V4L_LIBV4L2
> -	select V4L_UTILS_LIBV4L2	if OPENCV_V4L_LIBV4L2
> -	select PYTHON3_NUMPY	if OPENCV_PYTHON
> +	select PYTHON3_NUMPY		if OPENCV_PYTHON
>  	help
>  	  Open Source Computer Vision Library
>  
> @@ -59,6 +57,7 @@ config OPENCV_IMGPROC
>  config OPENCV_IMGCODECS
>  	bool
>  	prompt "imgcodecs"
> +	select OPENCV_IMGPROC
>  	help
>  	  Image Codecs
>  
> @@ -88,7 +87,6 @@ config OPENCV_STITCHING
>  	prompt "stitching"
>  	select OPENCV_CALIB3D
>  	select OPENCV_FEATURES2D
> -	select OPENCV_OBJDETECT
>  	help
>  	  Images stitching
>  
> @@ -109,31 +107,24 @@ config OPENCV_VIDEOIO
>  config OPENCV_DNN
>  	bool
>  	prompt "DNN"
> +	select OPENCV_IMGPROC
>  	help
>  	  Deep Neural Network Library
>  
>  config OPENCV_GSTREAMER
>  	bool
>  	prompt "gstreamer"
> +	select OPENCV_VIDEOIO
>  	help
>  	  Gstreamer Support
>  
>  config OPENCV_V4L
>  	bool
>  	prompt "v4l"
> -	select OPENCV_VIDEO
> +	select OPENCV_VIDEOIO
>  	help
>  	  Video4Linux Support
>  
> -config OPENCV_V4L_LIBV4L2
> -	bool
> -	prompt "libv4l2"
> -	depends on OPENCV_V4L
> -	help
> -	  For embedded use cases it often makes sense to explicitly not
> -	  use libv4l, because the colorspace conversions in software adds
> -	  unexpected overhead.
> -
>  config OPENCV_QT
>  	bool
>  	prompt "qt"
> @@ -146,21 +137,4 @@ config OPENCV_PYTHON
>  	help
>  	  Python bindings
>  
> -config OPENCV_EXAMPLES
> -	bool
> -	prompt "Build Examples"
> -	select OPENCV_IMGPROC
> -	select OPENCV_FLANN
> -	select OPENCV_IMGCODECS
> -	select OPENCV_VIDEOIO
> -	select OPENCV_HIGHGUI
> -	select OPENCV_ML
> -	select OPENCV_VIDEO
> -	select OPENCV_OBJDETECT
> -	select OPENCV_PHOTO
> -	select OPENCV_FEATURES2D
> -	select OPENCV_CALIB3D
> -	select OPENCV_STITCHING
> -	help
> -	  Build the OpenCV example applications and install them into /usr/share/opencv/examples.
>  endif
> diff --git a/rules/opencv.make b/rules/opencv.make
> index cdbd29167736..52366469892b 100644
> --- a/rules/opencv.make
> +++ b/rules/opencv.make
> @@ -17,22 +17,20 @@ PACKAGES-$(PTXCONF_OPENCV) += opencv
>  # Paths and names
>  #
>  
> -OPENCV_VERSION	:= 4.4.0
> -OPENCV_SHA256	:= 7faa0991c74cda52313ee37ef73f3e451332a47e7aa36c2bb2240b69f5002d27
> -OPENCV		:= opencv-$(OPENCV_VERSION)
> -OPENCV_SUFFIX	:= zip
> -OPENCV_URL	:= \
> +OPENCV_VERSION		:= 4.13.0
> +OPENCV_SHA256		:= 431cb489d275da26526581c6735d7d7c0b00f190fe940b3217d386b77aef52c7
> +OPENCV			:= opencv-$(OPENCV_VERSION)
> +OPENCV_SUFFIX		:= zip
> +OPENCV_URL		:= \
>  	$(call ptx/mirror, SF, opencvlibrary/opencv-unix/$(OPENCV_VERSION)/$(OPENCV).$(OPENCV_SUFFIX)) \
>  	https://github.com/opencv/opencv/archive/$(OPENCV_VERSION).$(OPENCV_SUFFIX)
> -OPENCV_SOURCE	:= $(SRCDIR)/$(OPENCV).$(OPENCV_SUFFIX)
> -OPENCV_DIR	:= $(BUILDDIR)/$(OPENCV)
> -OPENCV_LICENSE	:= BSD
> -OPENCV_BUILD_DIR := $(OPENCV_DIR)-build
> -
> -ifdef PTXCONF_OPENCV_EXAMPLES
> -# the examples are installed from the build tree
> -OPENCV_DEVPKG	:= NO
> -endif
> +OPENCV_SOURCE		:= $(SRCDIR)/$(OPENCV).$(OPENCV_SUFFIX)
> +OPENCV_DIR		:= $(BUILDDIR)/$(OPENCV)
> +OPENCV_BUILD_DIR	:= $(OPENCV_DIR)-build
> +OPENCV_LICENSE		:= Apache-2.0
> +OPENCV_LICENSE_FILES	:= \
> +	file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57
> +OPENCV_CVE_PRODUCT	:= opencv
>  
>  # ----------------------------------------------------------------------------
>  # Prepare
> @@ -52,17 +50,16 @@ OPENCV_CONF_TOOL	:= cmake
>  # Variables that are not shown by configure_helper.py are added at the end.
>  OPENCV_CONF_OPT		:= \
>  	$(CROSS_CMAKE_USR) \
> -	-DANT_EXECUTABLE= \
>  	-DBUILD_CUDA_STUBS=OFF \
>  	-DBUILD_DOCS=OFF \
> -	-DBUILD_EXAMPLES=$(call ptx/onoff, PTXCONF_OPENCV_EXAMPLES) \
> -	-DBUILD_IPP_IW=ON \
> -	-DBUILD_ITT=ON \
> +	-DBUILD_EXAMPLES=OFF \
> +	-DBUILD_ITT=OFF \
>  	-DBUILD_JASPER=OFF \
>  	-DBUILD_JAVA=OFF \
>  	-DBUILD_JPEG=OFF \
>  	-DBUILD_LIST= \
>  	-DBUILD_OPENEXR=OFF \
> +	-DBUILD_OPENJPEG=OFF \
>  	-DBUILD_PACKAGE=OFF \
>  	-DBUILD_PERF_TESTS=OFF \
>  	-DBUILD_PNG=OFF \
> @@ -82,27 +79,30 @@ OPENCV_CONF_OPT		:= \
>  	-DBUILD_opencv_dnn=$(call ptx/onoff,PTXCONF_OPENCV_DNN) \
>  	-DBUILD_opencv_features2d=$(call ptx/onoff,PTXCONF_OPENCV_FEATURES2D) \
>  	-DBUILD_opencv_flann=$(call ptx/onoff,PTXCONF_OPENCV_FLANN) \
> -	-DBUILD_opencv_highgui=$(call ptx/onoff,PTXCONF_OPENCV_HIGHGUI)  \
> +	-DBUILD_opencv_highgui=$(call ptx/onoff,PTXCONF_OPENCV_HIGHGUI) \
>  	-DBUILD_opencv_imgcodecs=$(call ptx/onoff,PTXCONF_OPENCV_IMGCODECS) \
>  	-DBUILD_opencv_imgproc=$(call ptx/onoff,PTXCONF_OPENCV_IMGPROC) \
>  	-DBUILD_opencv_java_bindings_generator=ON \
>  	-DBUILD_opencv_js=OFF \
> +	-DBUILD_opencv_js_bindings_generator=ON \
>  	-DBUILD_opencv_ml=$(call ptx/onoff,PTXCONF_OPENCV_ML) \
> +	-DBUILD_opencv_objc_bindings_generator=OFF \
>  	-DBUILD_opencv_objdetect=$(call ptx/onoff,PTXCONF_OPENCV_OBJDETECT) \
>  	-DBUILD_opencv_photo=$(call ptx/onoff,PTXCONF_OPENCV_PHOTO) \
>  	-DBUILD_opencv_python3=$(call ptx/onoff,PTXCONF_OPENCV_PYTHON) \
>  	-DBUILD_opencv_python_bindings_generator=$(call ptx/onoff,PTXCONF_OPENCV_PYTHON) \
>  	-DBUILD_opencv_python_tests=ON \
>  	-DBUILD_opencv_stitching=$(call ptx/onoff,PTXCONF_OPENCV_STITCHING) \
> -	-DBUILD_opencv_ts=OFF \
>  	-DBUILD_opencv_video=$(call ptx/onoff,PTXCONF_OPENCV_VIDEO) \
>  	-DBUILD_opencv_videoio=$(call ptx/onoff,PTXCONF_OPENCV_VIDEOIO) \
>  	-DBUILD_opencv_world=OFF \
>  	-DCPU_BASELINE=DETECT \
> +	-DCPU_BASELINE_DISABLE=VFPV3 \
> +	-DCPU_BASELINE_REQUIRE=$(call ptx/ifdef,PTXCONF_ARCH_ARM_NEON,NEON,) \
>  	-DCPU_DISPATCH= \
>  	-DCV_DISABLE_OPTIMIZATION=OFF \
>  	-DCV_ENABLE_INTRINSICS=ON \
> -	-DCV_TRACE=ON \
> +	-DCV_TRACE=OFF \
>  	-DENABLE_BUILD_HARDENING=OFF \
>  	-DENABLE_CCACHE=OFF \
>  	-DENABLE_CONFIG_VERIFICATION=OFF \
> @@ -112,116 +112,133 @@ OPENCV_CONF_OPT		:= \
>  	-DENABLE_IMPL_COLLECTION=OFF \
>  	-DENABLE_INSTRUMENTATION=OFF \
>  	-DENABLE_LTO=OFF \
> -	-DENABLE_NEON=$(call ptx/onoff,PTXCONF_ARCH_ARM_NEON) \
>  	-DENABLE_NOISY_WARNINGS=OFF \
>  	-DENABLE_OMIT_FRAME_POINTER=ON \
>  	-DENABLE_PIC=ON \
>  	-DENABLE_PROFILING=OFF \
>  	-DENABLE_SOLUTION_FOLDERS=OFF \
> -	-DENABLE_VFPV3=OFF \
>  	-DEXECUTABLE_OUTPUT_PATH=$(OPENCV_BUILD_DIR)/bin \
>  	-DGENERATE_ABI_DESCRIPTOR=OFF \
>  	-DINSTALL_CREATE_DISTRIB=OFF \
> -	-DINSTALL_C_EXAMPLES=$(call ptx/onoff,PTXCONF_OPENCV_EXAMPLES) \
> +	-DINSTALL_C_EXAMPLES=OFF \
>  	-DINSTALL_PYTHON_EXAMPLES=OFF \
>  	-DINSTALL_TESTS=OFF \
>  	-DINSTALL_TO_MANGLED_PATHS=OFF \
>  	-DMKL_WITH_OPENMP=OFF \
>  	-DMKL_WITH_TBB=OFF \
> +	-DOBSENSOR_USE_ORBBEC_SDK=OFF \
> +	-DOPENCV_DNN_BACKEND_DEFAULT= \
>  	-DOPENCV_DNN_CUDA=OFF \
>  	-DOPENCV_DNN_OPENCL=ON \
> +	-DOPENCV_DNN_OPENVINO=OFF \
> +	-DOPENCV_DNN_PERF_CAFFE=OFF \
> +	-DOPENCV_DNN_PERF_CLCAFFE=OFF \
> +	-DOPENCV_DNN_TFLITE=OFF \
> +	-DOPENCV_DISABLE_ENV_SUPPORT=OFF \
> +	-DOPENCV_DISABLE_FILESYSTEM_SUPPORT=OFF \
>  	-DOPENCV_DOWNLOAD_PATH=$(OPENCV_DIR)/.cache \
>  	-DOPENCV_DUMP_HOOKS_FLOW=OFF \
> -	-DOPENCV_ENABLE_ALLOCATOR_STATS=ON \
> +	-DOPENCV_ENABLE_ALLOCATOR_STATS=OFF \
>  	-DOPENCV_ENABLE_ATOMIC_LONG_LONG=ON \
>  	-DOPENCV_ENABLE_MEMALIGN=ON \
>  	-DOPENCV_ENABLE_MEMORY_SANITIZER=OFF \
>  	-DOPENCV_ENABLE_NONFREE=OFF \
>  	-DOPENCV_EXTRA_MODULES_PATH= \
>  	-DOPENCV_FORCE_3RDPARTY_BUILD=OFF \
> +	-DOPENCV_FORCE_PYTHON_LIBS=OFF \
>  	-DOPENCV_GENERATE_PKGCONFIG=ON \
>  	-DOPENCV_GENERATE_SETUPVARS=ON \
>  	-DOPENCV_IPP_GAUSSIAN_BLUR=OFF \
>  	-DOPENCV_MATHJAX_RELPATH=https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0 \
>  	-DOPENCV_PYTHON3_VERSION=$(PYTHON3_MAJORMINOR) \
>  	-DOPENCV_WARNINGS_ARE_ERRORS=OFF \
> +	-DPARALLEL_ENABLE_PLUGINS=ON \
>  	-DPROTOBUF_UPDATE_FILES=OFF \
>  	-DPYTHON3_EXECUTABLE=$(PTXDIST_SYSROOT_CROSS)/usr/bin/python$(PYTHON3_MAJORMINOR) \
> +	-DPYTHON3_LIMITED_API=OFF \
>  	-DPYTHON3_NUMPY_INCLUDE_DIRS=$(PTXDIST_SYSROOT_TARGET)$(PYTHON3_SITEPACKAGES)/numpy/core/include/ \
>  	-DWITH_1394=OFF \
>  	-DWITH_ADE=OFF \
>  	-DWITH_ARAVIS=OFF \
> +	-DWITH_AVIF=OFF \
> +	-DWITH_CANN=OFF \
>  	-DWITH_CAROTENE=OFF \
>  	-DWITH_CLP=OFF \
> -	-DWITH_CUBLAS=OFF \
>  	-DWITH_CUDA=OFF \
> -	-DWITH_CUFFT=OFF \
>  	-DWITH_EIGEN=OFF \
> +	-DWITH_FASTCV=OFF \
>  	-DWITH_FFMPEG=OFF \
> +	-DWITH_FLATBUFFERS=OFF \
> +	-DWITH_FRAMEBUFFER=OFF \
> +	-DWITH_FRAMEBUFFER_XVFB=OFF \
>  	-DWITH_FREETYPE=OFF \
>  	-DWITH_GDAL=OFF \
>  	-DWITH_GDCM=OFF \
> -	-DWITH_GIGEAPI=OFF \
>  	-DWITH_GPHOTO2=OFF \
>  	-DWITH_GSTREAMER=$(call ptx/onoff,PTXCONF_OPENCV_GSTREAMER) \
>  	-DWITH_GTK=OFF \
>  	-DWITH_GTK_2_X=OFF \
> +	-DWITH_HAL_RVV=OFF \
>  	-DWITH_HALIDE=OFF \
>  	-DWITH_HPX=OFF \
> +	-DWITH_IMGCODEC_GIF=OFF \
>  	-DWITH_IMGCODEC_HDR=ON \
>  	-DWITH_IMGCODEC_PFM=ON \
>  	-DWITH_IMGCODEC_PXM=ON \
>  	-DWITH_IMGCODEC_SUNRASTER=ON \
> -	-DWITH_INF_ENGINE=OFF \
>  	-DWITH_IPP=OFF \
> -	-DWITH_IPP_A=OFF \
> -	-DWITH_ITT=ON \
> +	-DWITH_ITT=OFF \
>  	-DWITH_JASPER=OFF \
>  	-DWITH_JPEG=ON \
> -	-DWITH_LAPACK=ON \
> +	-DWITH_JPEGXL=OFF \
> +	-DWITH_KLEIDICV=OFF \
> +	-DWITH_LAPACK=OFF \
>  	-DWITH_LIBREALSENSE=OFF \
> -	-DWITH_LIBV4L=$(call ptx/onoff,PTXCONF_OPENCV_V4L_LIBV4L2) \
>  	-DWITH_MFX=OFF \
> -	-DWITH_NGRAPH=OFF \
> -	-DWITH_NVCUVID=OFF \
> +	-DWITH_NDSRVP=OFF \
> +	-DWITH_OAK=OFF \
> +	-DWITH_OBSENSOR=OFF \
> +	-DWITH_ONNX=OFF \
>  	-DWITH_OPENCL=ON \
> +	-DWITH_OPENCL_SVM=OFF \
>  	-DWITH_OPENCLAMDBLAS=OFF \
>  	-DWITH_OPENCLAMDFFT=OFF \
> -	-DWITH_OPENCL_SVM=OFF \
>  	-DWITH_OPENEXR=OFF \
>  	-DWITH_OPENGL=OFF \
>  	-DWITH_OPENJPEG=OFF \
>  	-DWITH_OPENMP=OFF \
>  	-DWITH_OPENNI=OFF \
>  	-DWITH_OPENNI2=OFF \
> +	-DWITH_OPENVINO=OFF \
>  	-DWITH_OPENVX=OFF \
>  	-DWITH_PLAIDML=OFF \
>  	-DWITH_PNG=ON \
>  	-DWITH_PROTOBUF=ON \
> -	-DWITH_PTHREADS_PF=OFF \
> +	-DWITH_PTHREADS_PF=ON \
>  	-DWITH_PVAPI=OFF \
>  	-DWITH_QT=$(call ptx/ifdef,PTXCONF_OPENCV_QT,5,OFF) \
>  	-DWITH_QUIRC=ON \
> +	-DWITH_SPNG=OFF \
>  	-DWITH_TBB=OFF \
> -	-DWITH_TENGINE=OFF \
>  	-DWITH_TIFF=OFF \
> -	-DWITH_UNICAP=OFF \
> +	-DWITH_TIMVX=OFF \
> +	-DWITH_UEYE=OFF \
>  	-DWITH_V4L=$(call ptx/onoff,PTXCONF_OPENCV_V4L) \
>  	-DWITH_VA=OFF \
>  	-DWITH_VA_INTEL=OFF \
>  	-DWITH_VULKAN=OFF \
> +	-DWITH_WAYLAND=OFF \
> +	-DWITH_WEBNN=OFF \
>  	-DWITH_WEBP=OFF \
>  	-DWITH_XIMEA=OFF \
>  	-DWITH_XINE=OFF \
> -	-Dopencv_dnn_PERF_CAFFE=OFF \
> -	-Dopencv_dnn_PERF_CLCAFFE=OFF \
> +	-DWITH_ZLIB_NG=OFF \
>  	\
> -	-DCMAKE_SKIP_RPATH=ON \
> -	-DBUILD_opencv_python2=OFF \
> -	-DPYTHON_INCLUDE_DIR=$(PTXDIST_SYSROOT_TARGET)/usr/include/python$(PYTHON3_MAJORMINOR) \
> -	-DPYTHON_LIBRARY=$(PTXDIST_SYSROOT_TARGET)/bin/python$(PYTHON3_MAJORMINOR) \
> -	-DOPENCV_PYTHON3_INSTALL_PATH=$(PYTHON3_SITEPACKAGES) \
> -	-DOPENCV_SKIP_PYTHON_LOADER=ON \
> +	-DPYTHON3_INCLUDE_DIR2= \
> +	-DPYTHON3_LIBRARY_DEBUG= \
> +	-DPYTHON3_INCLUDE_DIR=$(PTXDIST_SYSROOT_TARGET)/usr/include/python$(PYTHON3_MAJORMINOR) \
> +	-DPYTHON3_LIBRARY=$(PTXDIST_SYSROOT_TARGET)/usr/lib/libpython$(PYTHON3_MAJORMINOR).so \
> +	-DPYTHON3_PACKAGES_PATH=$(PYTHON3_SITEPACKAGES) \
>  	-DOPENCV_LAPACK_FIND_PACKAGE_ONLY=ON \
>  	-DCMAKE_DISABLE_FIND_PACKAGE_LAPACK=ON
>  
> @@ -261,12 +278,12 @@ $(STATEDIR)/opencv.targetinstall:
>  
>  	@$(foreach lib, $(OPENCV_LIBS-y), \
>  		$(call install_lib, opencv, 0, 0, 0644, $(lib))$(ptx/nl))
> -ifdef PTXCONF_OPENCV_EXAMPLES
> -	@$(call install_tree, opencv, 0, 0, $(OPENCV_BUILD_DIR)/bin, /bin)
> -endif
> +
>  ifdef PTXCONF_OPENCV_PYTHON
> -	@$(call install_tree, opencv, 0, 0, -, $(PYTHON3_SITEPACKAGES))
> +	@$(call install_glob, opencv, 0, 0, -, \
> +		$(PYTHON3_SITEPACKAGES), *.so *.py, */load_config_py2.py)
>  endif
> +
>  	@$(call install_finish, opencv)
>  	@$(call touch)
>  



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-05-27 21:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-05-11 13:41 [ptxdist] [PATCH] opencv: version bump 4.4.0 -> 4.13.0 Artur Wiebe via ptxdist
2026-05-27 21:54 ` [ptxdist] [APPLIED] " Michael Olbrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox