From: Rafael Sadowski Subject: Re: [new] cad/freecad To: Johannes Thyssen Tishman , ports@openbsd.org Date: Sun, 3 Aug 2025 15:43:04 +0200 What a new monster in the tree. Nice work! OK rsadowski On Sat Aug 02, 2025 at 07:55:35PM +0000, Johannes Thyssen Tishman wrote: > 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) > >