git: 37f9d06df180 - main - graphics/opencv: Add OGRE3D option

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Fri, 27 Sep 2024 15:00:47 UTC
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=37f9d06df180a835d9f278584ad5245f6f3938f7

commit 37f9d06df180a835d9f278584ad5245f6f3938f7
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2024-09-27 14:40:55 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2024-09-27 15:00:42 +0000

    graphics/opencv: Add OGRE3D option
    
    If graphics/ogre3d was installed on the system, the ovis module was
    being built, but not installed. The module was still added to the
    pkgconfig file, though, which is problematic for consumers of opencv
    using pkgconf such as graphics/gstreamer1-plugins-opencv. [1]
    
    Move gflags/glog deps to EIGEN option. Fix plist if ceres-solver is
    installed on the system.
    
    Elevate USES=gnome, so it that works for the two options that need it.
    
    PR:             278914 [1]
    Reported by:    Chad Jacob Milios <milios@ccsys.com> [1]
---
 graphics/opencv/Makefile  | 16 ++++++++++------
 graphics/opencv/pkg-plist |  5 +++++
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/graphics/opencv/Makefile b/graphics/opencv/Makefile
index 40664bf4a515..e6391f41b582 100644
--- a/graphics/opencv/Makefile
+++ b/graphics/opencv/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	opencv
 DISTVERSION=	4.9.0
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	graphics
 
 MAINTAINER=	desktop@FreeBSD.org
@@ -11,12 +11,10 @@ LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
 LIB_DEPENDS=	libfreetype.so:print/freetype2 \
-		libgflags.so:devel/gflags \
-		libglog.so:devel/glog \
 		libharfbuzz.so:print/harfbuzz \
 		libhdf5.so:science/hdf5
 
-USES=		cmake compiler:c++14-lang cpe localbase:ldflags pkgconfig
+USES=		cmake compiler:c++14-lang cpe gnome localbase:ldflags pkgconfig
 USE_GITHUB=	yes
 GH_ACCOUNT=	WeChatCV:wechat
 GH_PROJECT=	opencv_contrib:contrib \
@@ -50,7 +48,7 @@ OPTIONS_DEFINE=		EIGEN GDAL GDCM HARDENING JAVA LTO OPENCL \
 
 OPTIONS_GROUP=		GUI IMAGE VIDEO
 OPTIONS_GROUP_GUI=	GTK3 VTK
-OPTIONS_GROUP_IMAGE=	GPHOTO2 JPEG OPENEXR PNG TIFF
+OPTIONS_GROUP_IMAGE=	GPHOTO2 JPEG OGRE3D OPENEXR PNG TIFF
 OPTIONS_GROUP_VIDEO=	DC1394 FFMPEG GSTREAMER V4L VULKAN WEBP XINE
 
 OPTIONS_SINGLE=		BLAS
@@ -69,6 +67,9 @@ OPTIONS_SUB=		yes
 # Normal options (EIGEN GDAL GDCM HARDENING JAVA LTO OPENCL PATENTED PROTOBUF PYTHON TBB)
 EIGEN_DESC=		Add Eigen v3 Support, builds sfm modules
 EIGEN_CMAKE_BOOL=	WITH_EIGEN
+EIGEN_LIB_DEPENDS=	libgflags.so:devel/gflags \
+			libglog.so:devel/glog \
+			libceres.so:math/ceres-solver
 EIGEN_USES=		eigen:3
 
 GDAL_DESC=		Add Geospatial Data Abstraction Library Support
@@ -119,7 +120,6 @@ TESSERACT_CMAKE_BOOL=	WITH_TESSERACT
 ###
 
 # GUI group options (GTK3 VTK)
-GTK3_USES=		gnome
 GTK3_USE=		gnome=gtk30,cairo,gdkpixbuf2
 GTK3_CMAKE_BOOL=	WITH_GTK
 
@@ -139,6 +139,10 @@ JPEG_DESC=		Add LibJpeg Support
 JPEG_CMAKE_BOOL=	WITH_JPEG
 JPEG_USES=		jpeg
 
+OGRE3D_DESC=		Add OGRE support
+OGRE3D_LIB_DEPENDS=	libOgreMain.so:graphics/ogre3d
+OGRE3D_CMAKE_BOOL=	BUILD_opencv_ovis
+
 OPENEXR_DESC=		Add OpenEXR Support
 OPENEXR_CMAKE_BOOL=	WITH_OPENEXR
 OPENEXR_LIB_DEPENDS=	libOpenEXR.so:graphics/openexr
diff --git a/graphics/opencv/pkg-plist b/graphics/opencv/pkg-plist
index cbfc7246738b..f775249861bf 100644
--- a/graphics/opencv/pkg-plist
+++ b/graphics/opencv/pkg-plist
@@ -316,6 +316,7 @@ include/opencv4/opencv2/optflow/motempl.hpp
 include/opencv4/opencv2/optflow/pcaflow.hpp
 include/opencv4/opencv2/optflow/rlofflow.hpp
 include/opencv4/opencv2/optflow/sparse_matching_gpc.hpp
+%%OGRE3D%%include/opencv4/opencv2/ovis.hpp
 include/opencv4/opencv2/phase_unwrapping.hpp
 include/opencv4/opencv2/phase_unwrapping/histogramphaseunwrapping.hpp
 include/opencv4/opencv2/phase_unwrapping/phase_unwrapping.hpp
@@ -580,6 +581,9 @@ lib/libopencv_objdetect.so.409
 lib/libopencv_optflow.so
 lib/libopencv_optflow.so.%%SHLIB_VER%%
 lib/libopencv_optflow.so.409
+%%OGRE3D%%lib/libopencv_ovis.so
+%%OGRE3D%%lib/libopencv_ovis.so.%%SHLIB_VER%%
+%%OGRE3D%%lib/libopencv_ovis.so.409
 lib/libopencv_phase_unwrapping.so
 lib/libopencv_phase_unwrapping.so.%%SHLIB_VER%%
 lib/libopencv_phase_unwrapping.so.409
@@ -661,6 +665,7 @@ lib/libopencv_xphoto.so.409
 %%EIGEN%%lib/opencv4/3rdparty/libcorrespondence.a
 %%EIGEN%%lib/opencv4/3rdparty/libmultiview.a
 %%EIGEN%%lib/opencv4/3rdparty/libnumeric.a
+%%EIGEN%%lib/opencv4/3rdparty/libsimple_pipeline.a
 %%PYTHON%%%%PYTHON_SITELIBDIR%%/cv2/__init__.py
 %%PYTHON%%%%PYTHON_SITELIBDIR%%/cv2/config-%%PYTHON_VER%%.py
 %%PYTHON%%%%PYTHON_SITELIBDIR%%/cv2/config.py