commit:     a24d678d1484c2158cde85012cf4fb5100340bbf
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Mon Sep  8 12:33:46 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Sep 10 20:27:41 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a24d678d

media-libs/opencv: 4.12.0 fix QA issues[QA]

Opencascade will lose USE=ffmpeg eventually, so prepare for that.

Closes: https://bugs.gentoo.org/962693
Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/43729
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-libs/opencv/Manifest                         |  2 +-
 media-libs/opencv/metadata.xml                     |  2 +-
 ...pencv-4.12.0.ebuild => opencv-4.12.0-r1.ebuild} | 32 ++++++++++++++--------
 3 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/media-libs/opencv/Manifest b/media-libs/opencv/Manifest
index e92da24e847a..7611addab2f9 100644
--- a/media-libs/opencv/Manifest
+++ b/media-libs/opencv/Manifest
@@ -4,8 +4,8 @@ DIST ade-0.1.2e.tar.gz 117054 BLAKE2B 
6f6b3bc39e45fff946f75f3b445b05b5a19b757459
 DIST opencv-4.10.0-protobuf-30.patch 2746 BLAKE2B 
7a532d6b50878b4518b2b4342474b9115cb4d58898d8bd9d300520c9f84fd0bffb97b6796f89dee29b7ec6f9d526dff421dd82d4c034114da65d9900deea4d42
 SHA512 
b749aaa56426ba452bd0d0b54de2803e2b03ad14c9059ad4e32e689d9d0c9f9c97e5627b5db3204171ae32d8a6b88b036ab7b67093807c98607630d2b05669b5
 DIST opencv-4.10.0.tar.gz 94993429 BLAKE2B 
f16de226337ce1dabda4a52ae03257b0570af0e6212102c483dce61f2bcee1549150d0016b6ea20bae5d8c838e12db3d54bcb9c2ec5d3164639cdd56818f0b1b
 SHA512 
b4f7248f89f1cd146dbbae7860a17131cd29bd3cb81db1e678abfcfbf2d8fa4a7633bfd0edbf50afae7b838c8700e8c0d0bb05828139d5cb5662df6bbf3eb92c
 DIST opencv-4.11.0.tar.gz 95051012 BLAKE2B 
a4195007513d82666f785b58bccce69158f81420d6519e162a122bc245f59db3118edb8cacb3b6cadce3c7df7823859f06a1d2cb33ad0a256b19c96629fecfb2
 SHA512 
3b6e0da8169449944715de9e66380977791069a1d8288534ec768eaa2fb68533821fd8e06eac925a26656baf42185258b13aa80579e1e9be3ebc18fcea66f24d
+DIST opencv-4.12.0-fix_videowriter_raw_return_code.patch 2463 BLAKE2B 
b311456194b4b575322586b782c4df409ad4cb57fbc86924759f24d3de878d2db40c80c5c458d00b82d4fab45fc5c976a5ffef2439acbbf1dcdc4651cd3d268d
 SHA512 
e35794321c9f7c7295f17d3960f6678bb97c64716985e4b1a2b4e8511a92c03afc0430db2b65872442b6e695db3025061e954648cbda20c7122c1216c12ab19c
 DIST opencv-4.12.0.tar.gz 95254890 BLAKE2B 
26a5258e0ef3fb37f0d5a67cc329a14e204080a636b94a8c9dd5cbd7e5e623528726af023f5aaf85fe8da952040f1f08593ac8093b9531c273eea47eb631e12c
 SHA512 
8ac63ddd61e22cc0eaeafee4f30ae6e1cab05fc4929e2cea29070203b9ca8dfead12cc0fd7c4a87b65c1e20ec6b9ab4865a1b83fad33d114fc0708fdf107c51b
-DIST opencv-PR27737.patch 1182 BLAKE2B 
c58f157db58a8223717a110a254e876e838b548ca322ab10c240e32f39979a4afc6cd87a6581dea342ae02e30a65ba258f4c36f054ec76ae3ee2cd612343bfd0
 SHA512 
9b6a22ab21e040752ef8458605bc5ba1f4db45bf3f7a5a3afa5bd63d0d658459421099d383f10ad08e048c4ce6845863f3cf429df38c91f99426ac70241827d1
 DIST opencv_3rdparty-34e4206aef44d50e6bbcd0ab06354b52e7466d26.tar.gz 397901 
BLAKE2B 
9adbe14ee3a2c90b890be694aa80d65b67e23a23f47ccabee4564e31eb9857d717b5a751df32004cfa5d6a53a9e1d8ea8d8943b705a0eaea5ca741169e2222f6
 SHA512 
8a92555aed2ac8752818586ab9762dd96ec128c5465cb87e402f15b15d16f7d371b3de045ef7295526e9ef99ec817766bb685a21d24dba29c650cf44e384a4e3
 DIST opencv_3rdparty-8afa57abc8229d611c4937165d20e2a2d9fc5a12.tar.gz 63301261 
BLAKE2B 
923dc944edfda4c292d42207290bee414bfe21998f6ffe341ea3b38b6f2f581f3a243653e2c1fd3fa86084068ad6e7acd5ca73ab43094aa15f124d379833a5d8
 SHA512 
68cce870da0846cbd12a093ec7896b510e34590dad2b91699be1df5d4f72d343f9789d54c45c1b801784f7e57e0e80b19ba65dd99855225da99b4193dae97aaa
 DIST opencv_3rdparty-a8b69ccc738421293254aec5ddb38bd523503252.tar.gz 920403 
BLAKE2B 
5f834e8ccef9d88d0650f8ae5d215a2d07d0a356aaad4de1622068e0b2a7def88fccc84bc4397f0182732e836fcd6e363ae25a2cdeaa4d458a7d8ef9afc81da5
 SHA512 
5611b9db40477759213ab35320570c198f1f224f92ca801ca3accd1f7620faf3d44f306e44abefd10be118acee9b56da643ca82abaa7c4d2102fe92e5b298a6e

diff --git a/media-libs/opencv/metadata.xml b/media-libs/opencv/metadata.xml
index a293b272b6dd..822f5dbc812c 100644
--- a/media-libs/opencv/metadata.xml
+++ b/media-libs/opencv/metadata.xml
@@ -50,7 +50,7 @@
                <flag name="video_cards_intel">Enable Video Acceleration API 
for hardware decoding for Intel cards</flag>
                <flag name="vtk">Build new 3D visualization module viz based on 
<pkg>sci-libs/vtk</pkg></flag>
                <flag name="vulkan">Enable experimental Vulkan backend</flag>
-               <flag name="wechat_qrcode">Enable wechat_qrcode module</flag>
+               <flag name="wechat-qrcode">Enable wechat_qrcode module</flag>
        </use>
        <upstream>
                
<changelog>https://github.com/opencv/opencv/wiki/ChangeLog</changelog>

diff --git a/media-libs/opencv/opencv-4.12.0.ebuild 
b/media-libs/opencv/opencv-4.12.0-r1.ebuild
similarity index 98%
rename from media-libs/opencv/opencv-4.12.0.ebuild
rename to media-libs/opencv/opencv-4.12.0-r1.ebuild
index 35bfc20100aa..87958fe8fabd 100644
--- a/media-libs/opencv/opencv-4.12.0.ebuild
+++ b/media-libs/opencv/opencv-4.12.0-r1.ebuild
@@ -44,7 +44,7 @@ else
                https://github.com/opencv/ade/archive/v${ADE_PV}.tar.gz -> 
ade-${ADE_PV}.tar.gz
                contrib? (
                        
https://github.com/${PN}/${PN}_contrib/archive/${PV}.tar.gz -> 
${PN}_contrib-${PV}.tar.gz
-                       wechat_qrcode? (
+                       wechat-qrcode? (
                                
https://github.com/${PN}/${PN}_3rdparty/archive/${QRCODE_COMMIT}.tar.gz -> 
${PN}_3rdparty-${QRCODE_COMMIT}.tar.gz
                                
https://github.com/${PN}/${PN}_3rdparty/archive/${DNN_SAMPLES_FACE_DETECTOR_COMMIT}.tar.gz
                                        -> 
${PN}_3rdparty-${DNN_SAMPLES_FACE_DETECTOR_COMMIT}.tar.gz
@@ -70,7 +70,8 @@ else
                contribdnn? (
                        
https://github.com/ShiqiYu/libfacedetection.train/raw/02246e79b1e976c83d1e135a85e0628120c93769/onnx/yunet_s_640_640.onnx
 -> yunet-202303.onnx
                )
-               https://github.com/opencv/opencv/pull/27737.patch -> 
${PN}-PR27737.patch
+               
https://github.com/opencv/opencv/commit/54b03cc2f84cfe83222c59b747e17cb378a9744c.patch
+               -> ${P}-fix_videowriter_raw_return_code.patch
        "
        KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
 fi
@@ -82,7 +83,7 @@ SLOT="0/${PV}" # subslot = libopencv* soname version
 IUSE="debug doc +eigen gflags glog java non-free opencvapps python test 
testprograms"
 
 # modules
-IUSE+=" contrib contribcvv contribdnn contribfreetype contribhdf contribovis 
contribsfm contribxfeatures2d examples features2d wechat_qrcode"
+IUSE+=" contrib contribcvv contribdnn contribfreetype contribhdf contribovis 
contribsfm contribxfeatures2d examples features2d wechat-qrcode"
 # hardware
 IUSE+=" cuda cudnn opencl video_cards_intel"
 # video
@@ -178,16 +179,16 @@ REQUIRED_USE="
        contribovis? ( contrib )
        contribsfm? ( contrib eigen gflags glog )
        contribxfeatures2d? ( contrib )
-       mkl? ( lapack )
+       jasper? ( !abi_x86_32 )
        java? ( python )
+       mkl? ( lapack )
        opengl? ( || ( gtk3 qt6 wayland ) )
-       jasper? ( !abi_x86_32 )
        python? ( ${PYTHON_REQUIRED_USE} )
        tesseract? ( contrib )
        testprograms? ( test )
        test? ( || ( ffmpeg gstreamer ) jpeg png tiff features2d )
        wayland? ( !vtk )
-       wechat_qrcode? ( contribdnn )
+       wechat-qrcode? ( contribdnn )
 "
 #      ?? ( gtk3 qt6 wayland )
 
@@ -289,7 +290,7 @@ COMMON_DEPEND="
                || (
                        (
                                sci-libs/vtk[opencascade(+)]
-                               sci-libs/opencascade[-ffmpeg]
+                               sci-libs/opencascade[-ffmpeg(-)]
                        )
                        sci-libs/vtk[-opencascade(-)]
                )
@@ -383,7 +384,7 @@ PATCHES=(
        "${FILESDIR}/${PN}-4.12.0-cuda-13.0.patch"
 
        "${FILESDIR}/${PN}-4.11.0-ffmpeg8.patch" # PR 27691
-       "${DISTDIR}/${PN}-PR27737.patch"
+       "${DISTDIR}/${P}-fix_videowriter_raw_return_code.patch"
 
        # TODO applied in src_prepare
        # "${FILESDIR}/${PN}_contrib-4.8.1-rgbd.patch"
@@ -455,7 +456,14 @@ cuda_get_host_compiler() {
 
        ebegin "testing ${NVCC_CCBIN_default} (default)"
 
-       while ! nvcc "${NVCCFLAGS}" -ccbin "${NVCC_CCBIN}" - -x cu <<<"int 
main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do
+       while ! \
+               nvcc "${NVCCFLAGS}" \
+                       -x cu \
+                       -ccbin "${NVCC_CCBIN}" \
+                       - \
+                       <<<"int main(){}" \
+                       &>> "${T}/cuda_get_host_compiler.log" ;
+               do
                eend 1
 
                while true; do
@@ -626,7 +634,7 @@ src_prepare() {
                        -i "${S}/modules/gapi/cmake/DownloadADE.cmake" || die
        fi
 
-       if use wechat_qrcode; then
+       if use wechat-qrcode; then
                mkdir -p "${S}/.cache/wechat_qrcode" || die
                for file in "detect.caffemodel" "detect.prototxt" "sr.prototxt" 
"sr.caffemodel"; do
                        mv \
@@ -879,7 +887,7 @@ multilib_src_configure() {
                -DBUILD_opencv_gapi="$(usex ffmpeg yes "$(usex gstreamer)")"
                -DBUILD_opencv_features2d="$(usex features2d)"
                -DBUILD_opencv_java_bindings_generator="$(usex java)"
-               -DBUILD_opencv_wechat_qrcode="$(usex wechat_qrcode)"
+               -DBUILD_opencv_wechat_qrcode="$(usex wechat-qrcode)"
                -DBUILD_opencv_julia="no"
                -DBUILD_opencv_js="no"
                -DBUILD_opencv_js_bindings_generator="no"
@@ -1341,7 +1349,7 @@ multilib_src_test() {
                )
        fi
 
-       if use wechat_qrcode; then
+       if use wechat-qrcode; then
                local -x OPENCV_SKIP_TESTS_wechat_qrcode=(
                        # dnn/wechat_2021-01/detect.prototxt
                        'Objdetect_QRCode_points_position.rotate45'

Reply via email to