git: 29210b73e946 - main - graphics/f3d: Update 1.2.1 -> 1.3.1; Add options for modules; Add tests

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 09 Sep 2022 05:17:44 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=29210b73e94643c774af1d43b30d92cac3096b14

commit 29210b73e94643c774af1d43b30d92cac3096b14
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-09-09 04:33:49 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-09-09 05:17:42 +0000

    graphics/f3d: Update 1.2.1 -> 1.3.1; Add options for modules; Add tests
---
 graphics/f3d/Makefile                              | 48 +++++++++++++++-------
 graphics/f3d/distinfo                              |  6 +--
 .../f3d/files/patch-application_CMakeLists.txt     | 11 +++++
 .../f3d/files/patch-library_testing_CMakeLists.txt | 11 +++++
 graphics/f3d/pkg-plist                             | 31 ++++++++++++++
 5 files changed, 89 insertions(+), 18 deletions(-)

diff --git a/graphics/f3d/Makefile b/graphics/f3d/Makefile
index bef28933c198..4d27cf697548 100644
--- a/graphics/f3d/Makefile
+++ b/graphics/f3d/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	f3d
 DISTVERSIONPREFIX=	v
-DISTVERSION=	1.2.1
-PORTREVISION=	2
+DISTVERSION=	1.3.1
 CATEGORIES=	graphics
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -16,26 +15,45 @@ LIB_DEPENDS=	libfreetype.so:print/freetype2 \
 		libnetcdf.so:science/netcdf \
 		libvtkCommonMisc-9.1.so:math/vtk9
 
-USES=		cmake compiler:c++11-lang desktop-file-utils gl tar:bzip2 xorg
+USES=		cmake:testing compiler:c++17-lang desktop-file-utils gl xorg
 USE_GL=		gl glu
 USE_XORG=	ice sm x11 xt
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	f3d-app
 
-PLIST_FILES=	bin/f3d \
-		lib/libf3d.so \
-		share/applications/f3d.desktop \
-		share/bash-completion/completions/f3d \
-		share/fish/vendor_completions.d/f3d.fish \
-		share/icons/hicolor/32x32/apps/f3d.png \
-		share/icons/hicolor/48x48/apps/f3d.png \
-		share/icons/hicolor/64x64/apps/f3d.png \
-		share/icons/hicolor/scalable/apps/f3d.svg \
-		share/metainfo/io.github.f3d_app.f3d.metainfo.xml \
-		share/zsh/site-functions/_f3d
+OPTIONS_GROUP=			MODULES
+OPTIONS_GROUP_MODULES=		ALEMBIC ASSIMP EXODUS EXTERNAL_RENDERING OCCT RAYTRACING
+OPTIONS_DEFAULT=		ALEMBIC ASSIMP EXODUS
+
+MODULES_DESC=			Build modules:
+
+ALEMBIC_DESC=			Alembic module (ABC files)
+ALEMBIC_CMAKE_BOOL=		F3D_MODULE_ALEMBIC
+ALEMBIC_LIB_DEPENDS=		libAlembic.so:graphics/alembic
+
+ASSIMP_DESC=			Assimp module (FBX, OFF, DAE and DXF files)
+ASSIMP_CMAKE_BOOL=		F3D_MODULE_ASSIMP
+ASSIMP_LIB_DEPENDS=		libassimp.so:multimedia/assimp
+
+EXODUS_DESC=			ExodusII module
+EXODUS_CMAKE_BOOL=		F3D_MODULE_EXODUS
+
+EXTERNAL_RENDERING_DESC=	External rendering module
+EXTERNAL_RENDERING_CMAKE_BOOL=	F3D_MODULE_EXTERNAL_RENDERING
+EXTERNAL_RENDERING_BROKEN=	Requires VTK::RenderingExternal enabled in VTK
+
+OCCT_DESC=			OpenCASCADE module (STEP and IGES files)
+OCCT_CMAKE_BOOL=		F3D_MODULE_OCCT
+OCCT_LIB_DEPENDS=		libTKBRep.so:cad/opencascade
+OCCT_CMAKE_ON=			-DOpenCASCADE_DIR=${LOCALBASE}/lib/cmake
+OCCT_BROKEN=			configure fails, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=266280
+
+RAYTRACING_DESC=		Raytracing module
+RAYTRACING_CMAKE_BOOL=		F3D_MODULE_RAYTRACING
+RAYTRACING_BROKEN=		Requires VTK::RenderingRayTracing enabled in VTK
 
 post-install:
-	@cd ${STAGEDIR}${PREFIX} && ${RM} LICENSE README.md
+	@${RM} -r ${STAGEDIR}${DOCSDIR}
 
 .include <bsd.port.mk>
diff --git a/graphics/f3d/distinfo b/graphics/f3d/distinfo
index f2c0075d042f..07fcead13c5e 100644
--- a/graphics/f3d/distinfo
+++ b/graphics/f3d/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1639618089
-SHA256 (f3d-app-f3d-v1.2.1_GH0.tar.gz) = 0d72cc465af1adefdf71695481ceea95d4a94ee9e00125bc98c9f32b14ac2bf4
-SIZE (f3d-app-f3d-v1.2.1_GH0.tar.gz) = 34590696
+TIMESTAMP = 1662604096
+SHA256 (f3d-app-f3d-v1.3.1_GH0.tar.gz) = 653dc4044e14d0618c1d947a8ee85d2513e100b3fc24bd6e51830131a13e795d
+SIZE (f3d-app-f3d-v1.3.1_GH0.tar.gz) = 35586414
diff --git a/graphics/f3d/files/patch-application_CMakeLists.txt b/graphics/f3d/files/patch-application_CMakeLists.txt
new file mode 100644
index 000000000000..f219486bd740
--- /dev/null
+++ b/graphics/f3d/files/patch-application_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- application/CMakeLists.txt.orig	2022-09-07 16:38:14 UTC
++++ application/CMakeLists.txt
+@@ -29,7 +29,7 @@ endif()
+ add_executable(f3d ${F3D_SOURCE_FILES})
+ target_link_libraries(f3d PUBLIC libf3d)
+ 
+-if (UNIX AND NOT APPLE)
++if (UNIX AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
+   target_link_libraries(f3d PRIVATE stdc++fs)
+ endif ()
+ 
diff --git a/graphics/f3d/files/patch-library_testing_CMakeLists.txt b/graphics/f3d/files/patch-library_testing_CMakeLists.txt
new file mode 100644
index 000000000000..828882a5d08a
--- /dev/null
+++ b/graphics/f3d/files/patch-library_testing_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- library/testing/CMakeLists.txt.orig	2022-09-07 16:39:43 UTC
++++ library/testing/CMakeLists.txt
+@@ -112,7 +112,7 @@ if(Qt5_FOUND)
+   target_link_libraries(libf3dSDKTests Qt5::OpenGL)
+ endif()
+ 
+-if (UNIX AND NOT APPLE)
++if (UNIX AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
+   target_link_libraries(libf3dSDKTests stdc++fs)
+ endif ()
+ 
diff --git a/graphics/f3d/pkg-plist b/graphics/f3d/pkg-plist
new file mode 100644
index 000000000000..a6718b1a0e68
--- /dev/null
+++ b/graphics/f3d/pkg-plist
@@ -0,0 +1,31 @@
+bin/f3d
+include/f3d/camera.h
+include/f3d/engine.h
+include/f3d/exception.h
+include/f3d/export.h
+include/f3d/image.h
+include/f3d/interactor.h
+include/f3d/loader.h
+include/f3d/log.h
+include/f3d/options.h
+include/f3d/types.h
+include/f3d/window.h
+lib/cmake/f3d/f3dConfig.cmake
+lib/cmake/f3d/f3dConfigVersion.cmake
+lib/cmake/f3d/f3dEmbed.cmake
+lib/cmake/f3d/f3dTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/f3d/f3dTargets.cmake
+lib/libVTKExtensionsApplicative.a
+lib/libVTKExtensionsCore.a
+lib/libVTKExtensionsReaders.a
+lib/libVTKExtensionsRendering.a
+lib/libf3d.so
+share/applications/f3d.desktop
+share/bash-completion/completions/f3d
+share/fish/vendor_completions.d/f3d.fish
+share/icons/hicolor/32x32/apps/f3d.png
+share/icons/hicolor/48x48/apps/f3d.png
+share/icons/hicolor/64x64/apps/f3d.png
+share/icons/hicolor/scalable/apps/f3d.svg
+share/metainfo/io.github.f3d_app.f3d.metainfo.xml
+share/zsh/site-functions/_f3d