Name: opencv Version: 4.10.0 Release: 3%{?dist} Summary: Collection of algorithms for computer vision (core+imgproc only) License: Apache-2.0 URL: https://opencv.org Source0: https://github.com/opencv/opencv/archive/refs/tags/%{version}.tar.gz BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: make BuildRequires: pkgconfig BuildRequires: zlib-ng-compat-devel %description OpenCV, scoped down to just the core and imgproc modules via its own real -DBUILD_LIST option (per explicit user instruction, after confirming the full library isn't packaged anywhere on this distro and that Spectacle itself -- not just a dependency -- unconditionally hard-requires find_package(OpenCV 4.7 REQUIRED core imgproc) with no option gate to work around). Scoping to BUILD_LIST=core,imgproc skips the heavy modules entirely (dnn, videoio, gapi, highgui, calib3d, ml, stitching, objdetect, features2d, flann, photo, video, and all language bindings), keeping the dependency footprint and build time to just what Spectacle actually needs. OpenCV's own build system is self-contained (bundles vendored 3rdparty fallbacks for most optional libraries when not found), so zlib is the only real external dependency for this trimmed module set. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel %{summary}. %prep %autosetup -p1 -n opencv-%{version} %build %cmake \ -DCMAKE_SKIP_RPATH=ON \ -DBUILD_LIST=core,imgproc \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_TESTS=OFF \ -DBUILD_PERF_TESTS=OFF \ -DBUILD_EXAMPLES=OFF \ -DBUILD_opencv_apps=OFF \ -DBUILD_DOCS=OFF \ -DBUILD_JAVA=OFF \ -DBUILD_opencv_python2=OFF \ -DBUILD_opencv_python3=OFF \ -DWITH_GTK=OFF \ -DWITH_QT=OFF \ -DWITH_FFMPEG=OFF \ -DWITH_GSTREAMER=OFF \ -DWITH_V4L=OFF \ -DINSTALL_C_EXAMPLES=OFF %cmake_build %install %cmake_install %files %license LICENSE %license %{_datadir}/licenses/opencv4/ %{_libdir}/libopencv_core.so.* %{_libdir}/libopencv_imgproc.so.* %{_bindir}/setup_vars_opencv4.sh %{_datadir}/opencv4/ %files devel %{_includedir}/opencv4/ %{_libdir}/libopencv_core.so %{_libdir}/libopencv_imgproc.so %{_libdir}/cmake/opencv4/ %changelog * Sun Aug 30 2026 Smech - 4.10.0-3 - R2 compiled and installed cleanly but failed RPM's own %%files verification: opencv4.pc was claimed but never actually installed (removed). Pulled the full real -- Installing: list from the R2 build log and found a batch of genuinely-installed-but-unclaimed files: /usr/bin/setup_vars_opencv4.sh, the valgrind suppression files, all haarcascades/lbpcascades data XML files, and roughly a dozen bundled third-party license files under /usr/share/licenses/opencv4/. Claimed the setup script directly and the rest via broad %%{_datadir}/opencv4/ and %%{_datadir}/licenses/opencv4/ directory globs rather than enumerating every file. * Sun Aug 30 2026 Smech - 4.10.0-2 - R1 got all the way through a real, successful compile+install of both libopencv_core.so.4.10.0 and libopencv_imgproc.so.4.10.0 (a genuinely large build that completed in ~5 minutes once scoped to just those two modules), then failed on RPM's own check-rpaths QA script: both libraries embed an explicit RPATH of /usr/lib64 -- a standard system linker search path, so the RPATH is redundant and flagged as a packaging-hygiene issue, not an actual problem with the libraries themselves. Passed -DCMAKE_SKIP_RPATH=ON so OpenCV's own build system stops embedding any RPATH. This failure happened before RPM's own %%files verification stage even ran, so the %%files list itself is still unverified against a real build -- expect at least one more correction round for that. * Sun Aug 30 2026 Smech - 4.10.0-1 - Real upstream source (GitHub release tag). Built specifically for Spectacle's own unconditional find_package(OpenCV 4.7 REQUIRED core imgproc) requirement, scoped to just those two modules via the real BUILD_LIST option per explicit user instruction to build the trimmed version rather than the full library. %%files is a first-pass estimate of OpenCV's standard per-module .so naming and include4/cmake config layout; not yet verified against a real build log -- this is the largest single source tree built this session (95MB tarball even before trimming), expect at least one real-error correction round and a long build time.