From e15851b0228989a8e5513f0e5fba87501743e6cb Mon Sep 17 00:00:00 2001 From: Christoph Moench-Tegeder Date: Wed, 30 Jun 2021 19:39:23 +0200 Subject: [PATCH] cad/freecad: follow opencascade's switch to vtk9 - this pulls in upstream commit 0cfea3fee3e7848bbf043d2b1a19f6405d7ebe25 "Make smesh compile with vtk9" - fixes vtk module detection - and switches FreeCAD's own dependencies --- cad/freecad/Makefile | 12 ++++-- cad/freecad/distinfo | 2 + ...ke_FreeCAD__Helpers_SetupSalomeSMESH.cmake | 40 +++++++++++++++++++ 3 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 cad/freecad/files/patch-cMake_FreeCAD__Helpers_SetupSalomeSMESH.cmake diff --git a/cad/freecad/Makefile b/cad/freecad/Makefile index c173b88dde18..330d9c3897e1 100644 --- a/cad/freecad/Makefile +++ b/cad/freecad/Makefile @@ -1,11 +1,14 @@ PORTNAME= FreeCAD DISTVERSION= 0.19.2 -PORTREVISION= 1 +PORTREVISION= 2 # use these for bugfixes/snapshots # DISTVERSION= 0.18-16093 # git rev-list --count # DISTVERSIONSUFFIX= -g690774c0e CATEGORIES= cad +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES= 0cfea3fee3e7848bbf043d2b1a19f6405d7ebe25.patch:-p1 + MAINTAINER= cmt@FreeBSD.org COMMENT= General purpose 3D CAD modeller @@ -22,7 +25,7 @@ LIB_DEPENDS= libexpat.so:textproc/expat2 \ libCoin.so:graphics/Coin \ libpng.so:graphics/png \ libtiff.so:graphics/tiff \ - libvtkFiltersTexture-8.2.so:math/vtk8 \ + libvtksys-${VTK_VER}.so:math/vtk${VTK_VER:R} \ libTKernel.so:cad/opencascade \ libxerces-c.so:textproc/xerces-c3 \ libboost_thread.so:devel/boost-libs \ @@ -43,6 +46,8 @@ USE_QT= buildtools concurrent core gui network opengl printsupport \ qmake_build svg webkit widgets xml xmlpatterns USE_LDCONFIG= yes +VTK_VER= 9.0 + DOS2UNIX_GLOB= *.txt *.h *.cpp *.py *.qss *.csv *.pov *.stp *.ui *.wrl *.WRL CMAKE_ARGS+= -DOCC_INCLUDE_DIR="${LOCALBASE}/include/OpenCASCADE" \ @@ -54,8 +59,7 @@ CMAKE_ARGS+= -DOCC_INCLUDE_DIR="${LOCALBASE}/include/OpenCASCADE" \ -DPYTHON_EXECUTABLE="${PYTHON_CMD}" \ -DBUILD_ASSEMBLY="OFF" -DBUILD_FLAT_MESH="ON" \ -DPYSIDE2RCCBINARY="${LOCALBASE}/bin/rcc" \ - -DPYSIDE2UICBINARY="${LOCALBASE}/bin/uic" \ - -DVTK_DIR:PATH=${LOCALBASE}/lib/vtk-8.2/cmake/vtk-8.2 + -DPYSIDE2UICBINARY="${LOCALBASE}/bin/uic" CMAKE_INSTALL_PREFIX= ${PREFIX}/${PORTNAME} diff --git a/cad/freecad/distinfo b/cad/freecad/distinfo index 9c0a49aae4b7..0d679a782f99 100644 --- a/cad/freecad/distinfo +++ b/cad/freecad/distinfo @@ -1,3 +1,5 @@ TIMESTAMP = 1619964737 SHA256 (FreeCAD-FreeCAD-0.19.2_GH0.tar.gz) = 47e39e3d6fcafe6e0c68923fb1b86acda16986268e5e6011694057b940139fba SIZE (FreeCAD-FreeCAD-0.19.2_GH0.tar.gz) = 296987961 +SHA256 (0cfea3fee3e7848bbf043d2b1a19f6405d7ebe25.patch) = 71a2ad3bc210281d151add9e73beab78eaa1cc6d94bf97db865b4171f8d56d4d +SIZE (0cfea3fee3e7848bbf043d2b1a19f6405d7ebe25.patch) = 34604 diff --git a/cad/freecad/files/patch-cMake_FreeCAD__Helpers_SetupSalomeSMESH.cmake b/cad/freecad/files/patch-cMake_FreeCAD__Helpers_SetupSalomeSMESH.cmake new file mode 100644 index 000000000000..2b3bc745c000 --- /dev/null +++ b/cad/freecad/files/patch-cMake_FreeCAD__Helpers_SetupSalomeSMESH.cmake @@ -0,0 +1,40 @@ +--- cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake.orig 2021-04-15 09:17:08 UTC ++++ cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake +@@ -12,24 +12,24 @@ macro(SetupSalomeSMESH) + + #if we use smesh we definitely also need vtk, no matter of external or internal smesh + set (VTK_COMPONENTS +- vtkCommonCore +- vtkCommonDataModel +- vtkFiltersVerdict +- vtkIOXML +- vtkFiltersCore +- vtkFiltersGeneral +- vtkIOLegacy +- vtkFiltersExtraction +- vtkFiltersSources +- vtkFiltersGeometry ++ CommonCore ++ tkCommonDataModel ++ tkFiltersVerdict ++ tkIOXML ++ tkFiltersCore ++ tkFiltersGeneral ++ tkIOLegacy ++ tkFiltersExtraction ++ tkFiltersSources ++ tkFiltersGeometry + ) + + # check which modules are available + if(UNIX OR WIN32) +- find_package(VTK COMPONENTS vtkCommonCore REQUIRED NO_MODULE) +- list(APPEND VTK_COMPONENTS vtkIOMPIParallel vtkParallelMPI vtkhdf5 vtkFiltersParallelDIY2 vtkRenderingCore vtkInteractionStyle vtkRenderingFreeType vtkRenderingOpenGL2) ++ find_package(VTK COMPONENTS CommonCore REQUIRED NO_MODULE) ++ list(APPEND VTK_COMPONENTS IOMPIParallel ParallelMPI hdf5 FiltersParallelDIY2 RenderingCore InteractionStyle RenderingFreeType RenderingOpenGL2) + foreach(_module ${VTK_COMPONENTS}) +- list (FIND VTK_MODULES_ENABLED ${_module} _index) ++ list (FIND VTK_AVAILABLE_COMPONENTS ${_module} _index) + if (${_index} GREATER -1) + list(APPEND AVAILABLE_VTK_COMPONENTS ${_module}) + endif() -- 2.32.0