commit:     de005c58db7f4b0cfff3f5c0df46e69b8eec3ac1
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 13 19:25:57 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Apr 14 18:00:33 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de005c58

media-libs/opencv: Fix build w/ >=cmake-4

Closes: https://bugs.gentoo.org/951724
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-libs/opencv/files/opencv-4.10.0-cmake4.patch | 165 +++++++++++++++++++++
 media-libs/opencv/opencv-4.10.0.ebuild             |   1 +
 2 files changed, 166 insertions(+)

diff --git a/media-libs/opencv/files/opencv-4.10.0-cmake4.patch 
b/media-libs/opencv/files/opencv-4.10.0-cmake4.patch
new file mode 100644
index 000000000000..6078f1beba70
--- /dev/null
+++ b/media-libs/opencv/files/opencv-4.10.0-cmake4.patch
@@ -0,0 +1,165 @@
+https://github.com/opencv/opencv/pull/27192
+
+From cb8030809e0278d02fa335cc1f5ec7c3c17548e0 Mon Sep 17 00:00:00 2001
+From: Dan Dennedy <[email protected]>
+Date: Wed, 2 Apr 2025 13:45:08 -0700
+Subject: [PATCH] Fix configuring with CMake version 4
+
+fixes #27122
+---
+ CMakeLists.txt                                                  | 2 +-
+ cmake/OpenCVGenPkgconfig.cmake                                  | 2 +-
+ .../introduction/linux_gcc_cmake/linux_gcc_cmake.markdown       | 2 +-
+ modules/python/CMakeLists.txt                                   | 2 +-
+ platforms/android/build-tests/test_cmake_build.py               | 2 +-
+ samples/CMakeLists.example.in                                   | 2 +-
+ samples/CMakeLists.txt                                          | 2 +-
+ samples/cpp/example_cmake/CMakeLists.txt                        | 2 +-
+ samples/cpp/tutorial_code/gpu/gpu-thrust-interop/CMakeLists.txt | 2 +-
+ samples/hal/c_hal/CMakeLists.txt                                | 2 +-
+ samples/hal/slow_hal/CMakeLists.txt                             | 2 +-
+ samples/openvx/CMakeLists.txt                                   | 2 +-
+ 12 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7985623ffb53..ca402b65c9b1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,7 +16,7 @@ endif()
+ include(cmake/OpenCVMinDepVersions.cmake)
+ 
+ if(CMAKE_SYSTEM_NAME MATCHES WindowsPhone OR CMAKE_SYSTEM_NAME MATCHES 
WindowsStore)
+-  cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
++  cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
+   #Required to resolve linker error issues due to incompatibility with CMake 
v3.0+ policies.
+   #CMake fails to find _fseeko() which leads to subsequent linker error.
+   #See details here: http://www.cmake.org/Wiki/CMake/Policies
+diff --git a/cmake/OpenCVGenPkgconfig.cmake b/cmake/OpenCVGenPkgconfig.cmake
+index 4fc80f5e4b27..3532260efb53 100644
+--- a/cmake/OpenCVGenPkgconfig.cmake
++++ b/cmake/OpenCVGenPkgconfig.cmake
+@@ -110,7 +110,7 @@ endif()
+ # 
=============================================================================
+ else() # DEFINED CMAKE_HELPER_SCRIPT
+ 
+-cmake_minimum_required(VERSION 2.8.12.2)
++cmake_minimum_required(VERSION 3.5)
+ cmake_policy(SET CMP0012 NEW)
+ include("${CMAKE_HELPER_SCRIPT}")
+ include("${OpenCV_SOURCE_DIR}/cmake/OpenCVUtils.cmake")
+diff --git 
a/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown 
b/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown
+index 7cfbb31777d3..75bdc2ef42d0 100644
+--- a/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown
++++ b/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.markdown
+@@ -63,7 +63,7 @@ int main(int argc, char** argv )
+ 
+ Now you have to create your CMakeLists.txt file. It should look like this:
+ @code{.cmake}
+-cmake_minimum_required(VERSION 2.8)
++cmake_minimum_required(VERSION 3.5)
+ project( DisplayImage )
+ find_package( OpenCV REQUIRED )
+ include_directories( ${OpenCV_INCLUDE_DIRS} )
+diff --git a/modules/python/CMakeLists.txt b/modules/python/CMakeLists.txt
+index 93eab8c94d21..ec30f4215012 100644
+--- a/modules/python/CMakeLists.txt
++++ b/modules/python/CMakeLists.txt
+@@ -35,7 +35,7 @@ add_subdirectory(python3)
+ 
+ else()  # standalone build
+ 
+-cmake_minimum_required(VERSION 2.8.12.2)
++cmake_minimum_required(VERSION 3.5)
+ project(OpenCVPython CXX C)
+ include("./standalone.cmake")
+ 
+diff --git a/platforms/android/build-tests/test_cmake_build.py 
b/platforms/android/build-tests/test_cmake_build.py
+index 25d185b8e5c6..51affd1f3b4b 100644
+--- a/platforms/android/build-tests/test_cmake_build.py
++++ b/platforms/android/build-tests/test_cmake_build.py
+@@ -7,7 +7,7 @@
+ log.basicConfig(format='%(message)s', level=log.DEBUG)
+ 
+ CMAKE_TEMPLATE='''\
+-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
++CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
+ 
+ # Enable C++11
+ set(CMAKE_CXX_STANDARD 11)
+diff --git a/samples/CMakeLists.example.in b/samples/CMakeLists.example.in
+index 7cf20d5e44b3..59a133bc9d74 100644
+--- a/samples/CMakeLists.example.in
++++ b/samples/CMakeLists.example.in
+@@ -1,5 +1,5 @@
+ # cmake needs this line
+-cmake_minimum_required(VERSION 3.1)
++cmake_minimum_required(VERSION 3.5)
+ 
+ if(NOT DEFINED EXAMPLE_NAME)
+   message(FATAL_ERROR "Invalid build script: missing EXAMPLE_NAME")
+diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt
+index 6a18b61afa33..dabe07747f81 100644
+--- a/samples/CMakeLists.txt
++++ b/samples/CMakeLists.txt
+@@ -62,7 +62,7 @@ else()
+ #  Standalone mode
+ #
+ 
#===================================================================================================
+-cmake_minimum_required(VERSION 3.1)
++cmake_minimum_required(VERSION 3.5)
+ 
+ project(samples C CXX)
+ option(BUILD_EXAMPLES "Build samples" ON)
+diff --git a/samples/cpp/example_cmake/CMakeLists.txt 
b/samples/cpp/example_cmake/CMakeLists.txt
+index 8d5cd98af291..f17aca4b5432 100644
+--- a/samples/cpp/example_cmake/CMakeLists.txt
++++ b/samples/cpp/example_cmake/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ # cmake needs this line
+-cmake_minimum_required(VERSION 3.1)
++cmake_minimum_required(VERSION 3.5)
+ 
+ # Define project name
+ project(opencv_example_project)
+diff --git a/samples/cpp/tutorial_code/gpu/gpu-thrust-interop/CMakeLists.txt 
b/samples/cpp/tutorial_code/gpu/gpu-thrust-interop/CMakeLists.txt
+index 037d508569b3..1a35085aa2a6 100644
+--- a/samples/cpp/tutorial_code/gpu/gpu-thrust-interop/CMakeLists.txt
++++ b/samples/cpp/tutorial_code/gpu/gpu-thrust-interop/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
++CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
+ 
+ FIND_PACKAGE(CUDA REQUIRED)
+ INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS})
+diff --git a/samples/hal/c_hal/CMakeLists.txt 
b/samples/hal/c_hal/CMakeLists.txt
+index 8cf78aa5ff63..72dfef01c3ad 100644
+--- a/samples/hal/c_hal/CMakeLists.txt
++++ b/samples/hal/c_hal/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 2.8.12.2 FATAL_ERROR)
++cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
+ 
+ set(PROJECT_NAME "c_hal")
+ set(HAL_LIB_NAME "c_hal")
+diff --git a/samples/hal/slow_hal/CMakeLists.txt 
b/samples/hal/slow_hal/CMakeLists.txt
+index 1ffa4670b6ab..a20596ea2a13 100644
+--- a/samples/hal/slow_hal/CMakeLists.txt
++++ b/samples/hal/slow_hal/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 2.8.12.2 FATAL_ERROR)
++cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
+ 
+ set(PROJECT_NAME "slow_hal")
+ set(HAL_LIB_NAME "slow_hal")
+diff --git a/samples/openvx/CMakeLists.txt b/samples/openvx/CMakeLists.txt
+index fd04e6b9e261..c5efdf9ad02a 100644
+--- a/samples/openvx/CMakeLists.txt
++++ b/samples/openvx/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ ocv_install_example_src(cpp *.cpp *.hpp CMakeLists.txt)
+ 
+-cmake_minimum_required(VERSION 2.8.12.2)
++cmake_minimum_required(VERSION 3.5)
+ 
+ set(OPENCV_OPENVX_SAMPLE_REQUIRED_DEPS
+   opencv_core

diff --git a/media-libs/opencv/opencv-4.10.0.ebuild 
b/media-libs/opencv/opencv-4.10.0.ebuild
index a1f434194b03..0209326a2531 100644
--- a/media-libs/opencv/opencv-4.10.0.ebuild
+++ b/media-libs/opencv/opencv-4.10.0.ebuild
@@ -338,6 +338,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-4.10.0-tbb-detection.patch"
 
        "${DISTDIR}/${P}-protobuf-30.patch" # drop in 4.11
+       "${FILESDIR}/${P}-cmake4.patch" # PR pending
 
        # TODO applied in src_prepare
        # "${FILESDIR}/${PN}_contrib-4.8.1-rgbd.patch"

Reply via email to