Download raw body.
[new] cad/freecad
2025-08-02T13:06:45+0000 Johannes Thyssen Tishman <jtt@openbsd.org>:
> 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 <johannes@thyssentishman.com>
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)
[new] cad/freecad