From: Johannes Thyssen Tishman Subject: Re: [new] cad/freecad To: ports@openbsd.org Cc: Rafael Sadowski Date: Sat, 2 Aug 2025 19:55:35 +0000 2025-08-02T13:06:45+0000 Johannes Thyssen Tishman : > Please find attached a port for cad/freecad. > > I've been playing with the port for a while and think is ready for > others to test. Unfortunately, there is a bug in the AddonManager module > that causes FreeCAD to crash when closing the 'Preferences' dialog (see > [1]), making it impossible to change settings (at least through the > GUI). For now, I've disabled the module as a workaround and will keep > looking for a fix. > > Currently most test are passing: > 75% tests passed, 253 tests failed out of 1027 > > I'll keep working on getting all these to pass. Additionally, there is a > test "Workbench" inside FreeCAD in which all tests pass. > > COMMENT: > general purpose parametric 3D CAD modeler > > DESCR: > FreeCAD is an open-source parametric 3D modeler made primarily to > design real-life objects of any size. Parametric modeling allows > you to easily modify your design by going back into your model > history and changing its parameters. > > Feedback? OK's? Thank you. > > [1] https://github.com/FreeCAD/FreeCAD/issues/20331 Updated tarball attached with feedback from rsadowski@ addressed (see diff below). commit 79cf3935774defb04f26bb665d57a268bc4c31aa (main) from: Johannes Thyssen Tishman date: Sat Aug 2 17:41:57 2025 UTC cad/freecad: Address rsadowski@'s feedback M cad/freecad/Makefile | 5+ 1- M cad/freecad/patches/patch-src_3rdParty_salomesmesh_CMakeLists_txt | 1+ 1- M cad/freecad/patches/patch-src_Mod_Part_App_CMakeLists_txt | 1+ 1- M cad/freecad/patches/patch-src_Tools_freecad-thumbnailer_in | 1+ 1- M cad/freecad/patches/patch-tests_CMakeLists_txt | 2+ 2- 5 files changed, 10 insertions(+), 6 deletions(-) commit - 6f0f097d3be57ad99020406a4f938ef8687079a5 commit + 79cf3935774defb04f26bb665d57a268bc4c31aa blob - 77be3f18f356484aa519755f50c9601515fc88c8 blob + 73f9652f4333a33e09e753c394fb1dea176b6811 --- cad/freecad/Makefile +++ cad/freecad/Makefile @@ -113,6 +113,7 @@ CONFIGURE_ARGS += -DFREECAD_USE_EXTERNAL_FMT=ON \ -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON \ -DCMAKE_DISABLE_FIND_PACKAGE_Spnav=ON \ -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP=ON \ + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON \ -DCMAKE_INSTALL_DATAROOTDIR=${LOCALBASE}/share \ -DCMAKE_INSTALL_DATADIR=${LOCALBASE}/share/freecad \ -DCMAKE_INSTALL_DOCDIR=${LOCALBASE}/share/doc/freecad \ @@ -121,7 +122,6 @@ CONFIGURE_ARGS += -DFREECAD_USE_EXTERNAL_FMT=ON \ -DCMAKE_INSTALL_LIBDIR=${LOCALBASE}/lib/freecad/lib \ -Dpybind11_DIR=${MODPY_SITEPKG}/pybind11/share/cmake/pybind11 \ -DENABLE_DEVELOPER_TESTS=ON \ - -DCMAKE_BUILD_TYPE="Release" \ -Wno-dev # Some tests require an active X11 display to work. When using @@ -143,6 +143,10 @@ DEBUG_PACKAGES = ${BUILD_PACKAGES} # 3. mkdir build && cd build && cmake .. && make fc_version pre-configure: cp ${FILESDIR}/Version.h ${WRKSRC}/src/Build + ${SUBST_CMD} ${WRKSRC}/src/3rdParty/salomesmesh/CMakeLists.txt \ + ${WRKSRC}/src/Mod/Part/App/CMakeLists.txt \ + ${WRKSRC}/src/Tools/freecad-thumbnailer.in \ + ${WRKSRC}/tests/CMakeLists.txt post-install: ln -s ${LOCALBASE}/lib/freecad/bin/FreeCAD ${PREFIX}/bin/freecad blob - 59878a4d82727a2a73032de0103c541a3b4d9f48 blob + cda801258a2e8fb127dd8e336f018c8df6124b19 --- cad/freecad/patches/patch-src_3rdParty_salomesmesh_CMakeLists_txt +++ cad/freecad/patches/patch-src_3rdParty_salomesmesh_CMakeLists_txt @@ -5,7 +5,7 @@ Index: src/3rdParty/salomesmesh/CMakeLists.txt ${NGLIB_LIBRARIES} ${OCC_LIBRARIES} ${OCC_OCAF_LIBRARIES} -+ -L/usr/X11R6/lib ++ -L${X11BASE}/lib ) ADD_DEFINITIONS(${NETGEN_DEFINITIONS}) else(BUILD_FEM_NETGEN) blob - 1563bf18983b23c9f665b865bc46c844646dae03 blob + 848856a2671f2fcabc71c548cab38adc6235a0cb --- cad/freecad/patches/patch-src_Mod_Part_App_CMakeLists_txt +++ cad/freecad/patches/patch-src_Mod_Part_App_CMakeLists_txt @@ -5,7 +5,7 @@ Index: src/Mod/Part/App/CMakeLists.txt ${OCC_DEBUG_LIBRARIES} FreeCADApp Materials -+ -L/usr/X11R6/lib ++ -L${X11BASE}/lib ) if(FREETYPE_FOUND) blob - 439e5a46a3147563d6ce8e1204cc3471b2e8078e blob + c8a95d335576323b8602475568c56cca76612e13 --- cad/freecad/patches/patch-src_Tools_freecad-thumbnailer_in +++ cad/freecad/patches/patch-src_Tools_freecad-thumbnailer_in @@ -5,7 +5,7 @@ Index: src/Tools/freecad-thumbnailer.in --- src/Tools/freecad-thumbnailer.in.orig +++ src/Tools/freecad-thumbnailer.in @@ -0,0 +1,68 @@ -+#!/usr/local/bin/python3 ++#!${LOCALBASE}/bin/python3 +"""Support file to show FreeCAD thumbnails on Free Desktop Environments (like GNOME or KDE) + +Installation: blob - d279b66148fe2b8fac38f2f4c35394ed2eac868b blob + cc743cc0452be4d6c6361319a2732b955657d2c5 --- cad/freecad/patches/patch-tests_CMakeLists_txt +++ cad/freecad/patches/patch-tests_CMakeLists_txt @@ -5,7 +5,7 @@ Index: tests/CMakeLists.txt foreach (exe ${TestExecutables}) add_executable(${exe}) -+ target_link_directories(${exe} PUBLIC /usr/local/lib) ++ target_link_directories(${exe} PUBLIC ${LOCALBASE}/lib) endforeach() if ( EXISTS "${CMAKE_SOURCE_DIR}/tests/lib/googletest" ) @@ -18,7 +18,7 @@ Index: tests/CMakeLists.txt gmock_main ${Google_Tests_LIBS} FreeCADApp -+ -L/usr/local/lib ++ -L${LOCALBASE}/lib ) include(GoogleTest)