diff --git a/cad/freecad/Makefile b/cad/freecad/Makefile --- a/cad/freecad/Makefile +++ b/cad/freecad/Makefile @@ -1,11 +1,14 @@ PORTNAME= FreeCAD DISTVERSION= 0.19.2 -PORTREVISION= 2 +PORTREVISION= 3 # 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 @@ 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 @@ 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" \ @@ -55,7 +60,6 @@ -DBUILD_ASSEMBLY="OFF" -DBUILD_FLAT_MESH="ON" \ -DPYSIDE2RCCBINARY="${RCC}" \ -DPYSIDE2UICBINARY="${UIC}" \ - -DVTK_DIR:PATH=${LOCALBASE}/lib/vtk-8.2/cmake/vtk-8.2 \ -DBUILD_ENABLE_CXX_STD=C++17 CMAKE_INSTALL_PREFIX= ${PREFIX}/${PORTNAME} diff --git a/cad/freecad/distinfo b/cad/freecad/distinfo --- 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 --- /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() diff --git a/cad/opencascade/Makefile b/cad/opencascade/Makefile --- a/cad/opencascade/Makefile +++ b/cad/opencascade/Makefile @@ -2,7 +2,7 @@ PORTNAME= opencascade PORTVERSION= 7.5.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= cad science MASTER_SITES= LOCAL/thierry @@ -18,8 +18,8 @@ ${LOCALBASE}/lib/qt5/bin/qmake:devel/qt5-qmake \ ${LOCALBASE}/lib/qt5/bin/moc:devel/qt5-buildtools LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ - libvtksys-${VTKVER}.so:math/vtk8 \ - libfreetype.so:print/freetype2 + libfreetype.so:print/freetype2 \ + libvtksys-${VTKVER}.so:math/vtk${VTKVER:R} RUN_DEPENDS= bash:shells/bash # Check ${WRKSRC}/dox/overview/overview.md @@ -27,7 +27,7 @@ USES= alias:10 cmake compiler:c++14-lang dos2unix \ gl python qt:5 shebangfix tk tar:tgz xorg USE_XORG= ice sm x11 xext xi xmu xt -USE_GL= gl glu +USE_GL= egl gl glesv2 glu DOS2UNIX_FILES= adm/templates/* SHEBANG_FILES= adm/templates/*.sh \ @@ -38,7 +38,7 @@ gendoc ENVSH= adm/templates/env.sh -VTKVER= 8.2 +VTKVER= 9.0 OPTIONS_DEFINE= DOCS DOXYGEN FFMPEG VIS VIS_DESC= Build Visualizazion module (requires OpenGL, freetype, ftgl) @@ -59,7 +59,7 @@ -DUSE_TBB:BOOL=OFF \ -DUSE_RAPIDJSON:BOOL=ON \ -DUSE_VTK:BOOL=ON \ - -DVTK_DIR:PATH=${LOCALBASE}/lib/vtk-${VTKVER}/cmake/vtk-${VTKVER} + -D3RDPARTY_VTK_INCLUDE_DIR:PATH=${LOCALBASE}/include/vtk-${VTKVER} # TODO: TBB to be replaced by onetbb later #CMAKE_ARGS+= -DUSE_EIGEN:BOOL=ON -DUSE_TBB:BOOL=ON diff --git a/cad/opencascade/files/patch-adm_cmake_occt__csf.cmake b/cad/opencascade/files/patch-adm_cmake_occt__csf.cmake --- a/cad/opencascade/files/patch-adm_cmake_occt__csf.cmake +++ b/cad/opencascade/files/patch-adm_cmake_occt__csf.cmake @@ -1,9 +1,10 @@ ---- adm/cmake/occt_csf.cmake.orig 2018-05-25 19:13:23 UTC +--- adm/cmake/occt_csf.cmake.orig 2020-11-03 14:49:43 UTC +++ adm/cmake/occt_csf.cmake -@@ -116,6 +116,5 @@ if (WIN32) +@@ -124,7 +124,6 @@ else() set (CSF_OpenGlLibs "GL") endif() set (CSF_XwLibs "X11 Xext Xmu Xi") - set (CSF_dl "dl") + set (CSF_fontconfig "fontconfig") endif() endif() diff --git a/cad/opencascade/files/patch-adm_cmake_occt__macros.cmake b/cad/opencascade/files/patch-adm_cmake_occt__macros.cmake --- a/cad/opencascade/files/patch-adm_cmake_occt__macros.cmake +++ b/cad/opencascade/files/patch-adm_cmake_occt__macros.cmake @@ -1,6 +1,6 @@ ---- adm/cmake/occt_macros.cmake.orig 2018-05-25 19:13:23 UTC +--- adm/cmake/occt_macros.cmake.orig 2020-11-03 14:49:43 UTC +++ adm/cmake/occt_macros.cmake -@@ -53,7 +53,7 @@ macro (OCCT_MAKE_OS_WITH_BITNESS) +@@ -47,7 +47,7 @@ macro (OCCT_MAKE_OS_WITH_BITNESS) elseif(APPLE) set (OS_WITH_BIT "mac${COMPILER_BITNESS}") else() @@ -9,7 +9,7 @@ endif() endmacro() -@@ -337,7 +337,7 @@ macro (COLLECT_AND_INSTALL_OCCT_HEADER_F +@@ -336,7 +336,7 @@ macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_TARG configure_file ("${TEMPLATE_HEADER_PATH}" "${ROOT_TARGET_OCCT_DIR}/${OCCT_INSTALL_DIR_PREFIX}/${HEADER_FILE_NAME}" @ONLY) endforeach() diff --git a/cad/opencascade/files/patch-adm_templates_OpenCASCADEConfig.cmake.in b/cad/opencascade/files/patch-adm_templates_OpenCASCADEConfig.cmake.in --- a/cad/opencascade/files/patch-adm_templates_OpenCASCADEConfig.cmake.in +++ b/cad/opencascade/files/patch-adm_templates_OpenCASCADEConfig.cmake.in @@ -1,6 +1,6 @@ ---- adm/templates/OpenCASCADEConfig.cmake.in.orig 2017-12-27 14:54:08 UTC +--- adm/templates/OpenCASCADEConfig.cmake.in.orig 2021-06-26 15:04:30 UTC +++ adm/templates/OpenCASCADEConfig.cmake.in -@@ -31,11 +31,11 @@ if (OpenCASCADE_INSTALL_PREFIX MATCHES " +@@ -36,11 +36,11 @@ if (OpenCASCADE_INSTALL_PREFIX MATCHES "/libs/${CMAKE_ endif() # Set OpenCASCADE paths to headers, binaries, libraries, resources, tests, samples, data diff --git a/cad/opencascade/files/patch-adm_templates_custom.install.sh.in b/cad/opencascade/files/patch-adm_templates_custom.install.sh.in --- a/cad/opencascade/files/patch-adm_templates_custom.install.sh.in +++ b/cad/opencascade/files/patch-adm_templates_custom.install.sh.in @@ -1,6 +1,6 @@ ---- adm/templates/custom.install.sh.in.orig 2017-12-27 14:54:08 UTC +--- adm/templates/custom.install.sh.in.orig 2021-06-26 15:04:30 UTC +++ adm/templates/custom.install.sh.in -@@ -21,14 +21,14 @@ if [ "$1" == "@BIN_LETTER@" ]; then +@@ -20,14 +20,14 @@ if [ "$1" == "@BIN_LETTER@" ]; then export TCL_VERSION_WITH_DOT="@3RDPARTY_TCL_LIBRARY_VERSION_WITH_DOT@" export TK_VERSION_WITH_DOT="@3RDPARTY_TK_LIBRARY_VERSION_WITH_DOT@" diff --git a/cad/opencascade/files/patch-src_DrawResources_CheckCommands.tcl b/cad/opencascade/files/patch-src_DrawResources_CheckCommands.tcl --- a/cad/opencascade/files/patch-src_DrawResources_CheckCommands.tcl +++ b/cad/opencascade/files/patch-src_DrawResources_CheckCommands.tcl @@ -1,6 +1,6 @@ ---- src/DrawResources/CheckCommands.tcl.orig 2018-05-25 19:13:38 UTC +--- src/DrawResources/CheckCommands.tcl.orig 2020-11-03 14:49:56 UTC +++ src/DrawResources/CheckCommands.tcl -@@ -1036,6 +1036,7 @@ help checkplatform { +@@ -1053,6 +1053,7 @@ help checkplatform { -windows : return 1 if current platform is 'Windows', overwise return 0 -linux : return 1 if current platform is 'Linux', overwise return 0 -osx : return 1 if current platform is 'MacOS X', overwise return 0 @@ -8,7 +8,7 @@ Only one option can be used at once. If no option is given, procedure will return the name of current platform. -@@ -1044,9 +1045,11 @@ proc checkplatform {args} { +@@ -1061,9 +1062,11 @@ proc checkplatform {args} { set check_for_windows false set check_for_linux false set check_for_macosx false @@ -20,7 +20,7 @@ {"-osx" check_for_macosx 0}} _check_args ${args} ${options} "checkplatform" -@@ -1055,17 +1058,19 @@ proc checkplatform {args} { +@@ -1072,17 +1075,19 @@ proc checkplatform {args} { set current_platform Windows } elseif { $::tcl_platform(os) == "Linux" } { set current_platform Linux @@ -42,21 +42,18 @@ error "Error: wrong usage of command checkplatform, only single option can be used at once" } -@@ -1074,11 +1079,16 @@ proc checkplatform {args} { +@@ -1091,8 +1096,13 @@ proc checkplatform {args} { return 1 } - # checking for Mac OS X platforms + # checking for Linux platforms if { ${check_for_linux} && ${current_platform} == "Linux" } { - return 1 - } - -+ # checking for FreeBSD platforms -+ if { ${check_for_freebsd} && ${current_platform} == "FreeBSD" } { + return 1 + } + - # checking for Mac OS X platforms - if { ${check_for_macosx} && ${current_platform} == "MacOS" } { ++ # checking for FreeBSD platforms ++ if { ${check_for_freebsd} && ${current_platform} == "FreeBSD" } { return 1 + } + diff --git a/cad/opencascade/files/patch-src_IVtkDraw_IVtkDraw.cxx b/cad/opencascade/files/patch-src_IVtkDraw_IVtkDraw.cxx new file mode 100644 --- /dev/null +++ b/cad/opencascade/files/patch-src_IVtkDraw_IVtkDraw.cxx @@ -0,0 +1,15 @@ +--- src/IVtkDraw/IVtkDraw.cxx.orig 2020-11-03 14:50:01 UTC ++++ src/IVtkDraw/IVtkDraw.cxx +@@ -36,6 +36,12 @@ + #include + #include + ++// Preventing naming collisions between ++// GLX and VTK versions 9.0 and above ++#ifdef AllValues ++#undef AllValues ++#endif ++ + #include + #include + #include diff --git a/cad/opencascade/files/patch-src_IVtkDraw_IVtkDraw__Interactor.cxx b/cad/opencascade/files/patch-src_IVtkDraw_IVtkDraw__Interactor.cxx new file mode 100644 --- /dev/null +++ b/cad/opencascade/files/patch-src_IVtkDraw_IVtkDraw__Interactor.cxx @@ -0,0 +1,16 @@ +--- src/IVtkDraw/IVtkDraw_Interactor.cxx.orig 2020-11-03 14:50:01 UTC ++++ src/IVtkDraw/IVtkDraw_Interactor.cxx +@@ -20,6 +20,13 @@ + #include + #else + #include ++ ++// Preventing naming collisions between ++// GLX and VTK versions 9.0 and above ++#ifdef AllValues ++#undef AllValues ++#endif ++ + #include + #include + #endif diff --git a/cad/opencascade/files/patch-src_Standard_Standard__CString.cxx b/cad/opencascade/files/patch-src_Standard_Standard__CString.cxx --- a/cad/opencascade/files/patch-src_Standard_Standard__CString.cxx +++ b/cad/opencascade/files/patch-src_Standard_Standard__CString.cxx @@ -1,6 +1,6 @@ ---- src/Standard/Standard_CString.cxx.orig 2017-08-30 13:28:31 UTC +--- src/Standard/Standard_CString.cxx.orig 2020-11-03 14:50:08 UTC +++ src/Standard/Standard_CString.cxx -@@ -81,7 +81,7 @@ Standard_Integer HashCodes (const Standa +@@ -83,7 +83,7 @@ Standard_Integer HashCodes (const Standard_CString the // strtod, strtol, strtoll functions. For other system with locale-depended // implementations problems may appear if "C" locale is not set explicitly. #if !defined(__ANDROID__) && !defined(__QNX__) && !defined(__MINGW32__)