Saturday, April 04, 2026

[update] cad/freecad 1.0.2 -> 1.1.0

Please find below an update for cad/freecad to version 1.1.0.

Changelog: https://wiki.freecad.org/Release_notes_1.1

Notes about this update:

1. I've reenabled the AddonManager as it does not cause FreeCAD to crash
anymore when saving preferences.

2. As you can see by the modified comment in the Makefile, I'm now
including build dependencies that are picked up by the Find*.cmake
modules of some of FreeCAD's dependencies like vtk or pcl. This is
just a precaution suggested by tb@ a while ago that I completely
forgot to patch (sorry).

3. Most tests of the TestFramework workbench are still passing (32 of 35
test sets). A set of tests is not passing due to missing optional
dependencies (not yet ported) that are, in my opinion, not worth
adding before a user requests them (e.g. vtk python wrapper and gmsh
mesher for FEM Workbench). Two other partially failing test sets are
due to issues I'm still debugging. One I've already reported[1]
upstream and the other is related to the CAM workbench which I'd like
to debug once we land this update (if that's okay).

[1] https://github.com/FreeCAD/FreeCAD/issues/29041

4. Major bump to OndselSolver shared library due to a dynamic export
removal.

diff /usr/ports
path + /usr/ports
commit - 4658dbcbe59eb87e0d95b05c390ef2da5fa86922
blob - e2f0a453c5cdf19487ec678e06c98cc1daff7261
file + cad/freecad/Makefile
--- cad/freecad/Makefile
+++ cad/freecad/Makefile
@@ -4,12 +4,12 @@ DPB_PROPERTIES = parallel parallel2

COMMENT = general purpose parametric 3D CAD modeler

-V = 1.0.2
-DISTNAME = freecad_source
+V = 1.1.0
+DISTNAME = freecad_source_${V}
PKGNAME = freecad-${V}
-REVISION = 5

-SHARED_LIBS += OndselSolver 1.0 # 0.0
+SHARED_LIBS += OndselSolver 2.0 # 0.0
+SHARED_LIBS += E57Format 0.0 # 0.0

CATEGORIES = cad
HOMEPAGE = https://www.freecad.org/
@@ -26,35 +26,34 @@ WANTLIB += TKDEIGES TKDESTEP TKDESTL TKExpress TKFeat
WANTLIB += TKG2d TKG3d TKGeomAlgo TKGeomBase TKHLR TKLCAF TKMath
WANTLIB += TKMesh TKMeshVS TKOffset TKPrim TKRWMesh TKService
WANTLIB += TKShHealing TKTopAlgo TKV3d TKVCAF TKXCAF TKXSBase
-WANTLIB += TKernel X11 boost_atomic-mt boost_chrono-mt boost_container-mt
+WANTLIB += TKernel boost_atomic-mt boost_chrono-mt boost_container-mt
WANTLIB += boost_date_time-mt boost_filesystem-mt boost_iostreams-mt
WANTLIB += boost_program_options-mt boost_random-mt boost_regex-mt
WANTLIB += boost_serialization-mt boost_thread-mt c execinfo fmt
-WANTLIB += freetype hdf5 hdf5_hl m med medC pcl_common pcl_features
-WANTLIB += pcl_filters pcl_kdtree pcl_ml pcl_octree pcl_sample_consensus
-WANTLIB += pcl_search pcl_segmentation pcl_surface pyside6.abi3
-WANTLIB += ${MODPY_WANTLIB} shiboken6.abi3 vtkCommonCore vtkCommonDataModel
-WANTLIB += vtkCommonExecutionModel vtkCommonMath vtkCommonMisc
-WANTLIB += vtkCommonTransforms vtkFiltersCellGrid vtkFiltersCore
-WANTLIB += vtkFiltersExtraction vtkFiltersGeneral vtkFiltersGeometry
-WANTLIB += vtkFiltersSources vtkFiltersVerdict vtkIOCellGrid vtkIOCore
-WANTLIB += vtkIOImage vtkIOLegacy vtkIOXML vtkIOXMLParser vtkImagingCore
-WANTLIB += vtkInteractionStyle vtkRenderingCore vtkRenderingFreeType
-WANTLIB += vtkRenderingHyperTreeGrid vtkRenderingOpenGL2 vtkRenderingUI
-WANTLIB += vtkglad vtkkissfft vtksys vtktoken xerces-c yaml-cpp
-WANTLIB += z
+WANTLIB += freetype hdf5 hdf5_hl icui18n icuuc m med medC pcl_common
+WANTLIB += pcl_features pcl_filters pcl_kdtree pcl_ml pcl_octree
+WANTLIB += pcl_sample_consensus pcl_search pcl_segmentation pcl_surface
+WANTLIB += pyside6.abi3 python3.13 scn shiboken6.abi3 vtkCommonCore
+WANTLIB += vtkCommonDataModel vtkCommonExecutionModel vtkCommonMath
+WANTLIB += vtkCommonMisc vtkCommonTransforms vtkFiltersCellGrid
+WANTLIB += vtkFiltersCore vtkFiltersExtraction vtkFiltersGeneral
+WANTLIB += vtkFiltersGeometry vtkFiltersSources vtkFiltersVerdict
+WANTLIB += vtkIOCellGrid vtkIOCore vtkIOImage vtkIOLegacy vtkIOXML
+WANTLIB += vtkIOXMLParser vtkImagingCore vtkInteractionStyle vtkRenderingCore
+WANTLIB += vtkRenderingFreeType vtkRenderingHyperTreeGrid vtkRenderingOpenGL2
+WANTLIB += vtkRenderingUI vtkfmt vtkglad vtkkissfft vtksys vtktoken
+WANTLIB += vtkx11 xerces-c yaml-cpp z

SITES = https://github.com/FreeCAD/FreeCAD/releases/download/${V}/

+FIX_CRLF_FILES = src/Gui/View3DInventor.cpp \
+ src/Gui/ViewProvider.h
+
COMPILER = base-clang ports-gcc
MODULES = devel/cmake \
lang/python \
x11/qt6

-# There are a few dependencies listed at configure time that are not required
-# by FreeCAD but that are picked up by the Find*.cmake modules of some of its
-# dependencies like vtk or pcl, e.g., flann, qhull, libusb1, utf8cpp, glslang,
-# shaderc or exprtk. Do not list these here.
BUILD_DEPENDS = cad/netgen-mesher \
devel/boost \
devel/gtest \
@@ -67,9 +66,21 @@ BUILD_DEPENDS = cad/netgen-mesher \
textproc/nlohmann-json \
x11/qt6/pyside6/tools

+# There are a few dependencies listed at configure time that are not required
+# by FreeCAD but that are picked up by the Find*.cmake modules of some of its
+# dependencies like vtk or pcl. List them here just in case.
+BUILD_DEPENDS += devel/libusb1 \
+ devel/utfcpp \
+ graphics/glslang \
+ graphics/shaderc \
+ math/exprtk \
+ math/flann \
+ math/qhull
+
RUN_DEPENDS = cad/netgen-mesher \
devel/desktop-file-utils \
devel/py-ply \
+ devel/py-typing-extensions \
graphics/py-matplotlib \
graphics/py-pivy \
misc/shared-mime-info \
@@ -102,6 +113,7 @@ LIB_DEPENDS = ${MODPY_LIB_DEPENDS} \
# https://github.com/FreeCAD/FreeCAD/blob/main/src/Mod/Robot/App/CMakeLists.txt#L77
CONFIGURE_ARGS += -DFREECAD_USE_EXTERNAL_FMT=ON \
-DFREECAD_USE_EXTERNAL_PIVY=ON \
+ -DFREECAD_USE_EXTERNAL_GTEST=ON \
-DFREECAD_USE_EXTERNAL_KDL=OFF \
-DFREECAD_USE_EXTERNAL_ZIPIOS=OFF \
-DFREECAD_USE_EXTERNAL_SMESH=OFF \
@@ -113,7 +125,6 @@ CONFIGURE_ARGS += -DFREECAD_USE_EXTERNAL_FMT=ON \
-DFREECAD_QT_VERSION=6 \
-DINSTALL_TO_SITEPACKAGES=ON \
-DBUILD_FEM_NETGEN=ON \
- -DBUILD_ADDONMGR=OFF \
-DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON \
-DCMAKE_DISABLE_FIND_PACKAGE_Spnav=ON \
-DCMAKE_DISABLE_FIND_PACKAGE_OpenMP=ON \
@@ -138,10 +149,9 @@ WRKDIST = ${WRKDIR}
PORTHOME = ${WRKDIR}
DEBUG_PACKAGES = ${BUILD_PACKAGES}

-# Some tarballs bundle GSL and GTest, use GSL and GTest from ports:
+# Some tarballs bundle GSL, use GSL from ports.
post-extract:
rm -r ${WRKSRC}/src/3rdParty/GSL
- rm -r ${WRKSRC}/tests/lib

# To generate src/Build/Version.h file:
# 1. git clone --single-branch -b ${VERSION} https://github.com/FreeCAD/FreeCAD
@@ -163,4 +173,8 @@ post-install:
${WRKINST}${MODPY_SITEPKG}/freecad/ \
${PREFIX}/lib/freecad/{Mod,Ext}/

+ # Remove unnecessary files from E57Format and OndselSolver.
+ find ${WRKINST} \( -name 'E57*' -o -name 'OndselSolver*' \) \
+ -exec rm -rf {} +
+
.include <bsd.port.mk>
commit - 4658dbcbe59eb87e0d95b05c390ef2da5fa86922
blob - 58be48ead67a3e8657f5144db1c194ce5b35db15
file + cad/freecad/distinfo
--- cad/freecad/distinfo
+++ cad/freecad/distinfo
@@ -1,2 +1,2 @@
-SHA256 (freecad_source.tar.gz) = ybjhnb8gzqOHxDKJDqBZBZ/2tX7EzXeCDNEgLRJHu94=
-SIZE (freecad_source.tar.gz) = 97214151
+SHA256 (freecad_source_1.1.0.tar.gz) = PQQVYaoSl1XupR38DhzfQ/JiOrBlOOCGCpHb7xrkM9c=
+SIZE (freecad_source_1.1.0.tar.gz) = 98114570
commit - 4658dbcbe59eb87e0d95b05c390ef2da5fa86922
blob - 76a7fed76c87bd8a9091405fdac11eb66f30b186
file + cad/freecad/files/Version.h
--- cad/freecad/files/Version.h
+++ cad/freecad/files/Version.h
@@ -1,16 +1,18 @@

// Version Number
#define FCVersionMajor "1"
-#define FCVersionMinor "0"
+#define FCVersionMinor "1"
#define FCVersionName ""
-#define FCVersionPoint "2"
+#define FCVersionPoint "0"
#define FCVersionSuffix ""
+// Displayed Copyright Year (i.e. build year)
+#define FCCopyrightYear 2026
// test: $Format:Hash (%H), Date: %ci$
-#define FCRevision "39319 (Git)" //Highest committed revision number
-#define FCRevisionDate "2025/08/05 20:19:07" //Date of highest committed revision
+#define FCRevision "44795 (Git)" //Highest committed revision number
+#define FCRevisionDate "2026/03/25 02:17:53" //Date of highest committed revision
#define FCRepositoryURL "Unknown" //Repository URL of the working copy

// Git relevant stuff
-#define FCRepositoryHash "256fc7eff3379911ab5daf88e10182c509aa8052"
-#define FCRepositoryBranch "tag: 1.0.2"
+#define FCRepositoryHash "34a9716668b1ddeb55b914f1c5be644826bdbbbf"
+#define FCRepositoryBranch "tag: 1.1.0"

commit - 4658dbcbe59eb87e0d95b05c390ef2da5fa86922
blob - 27f9750978608e43a081e55268fab565234d1bf3
file + cad/freecad/patches/patch-cMake_FreeCAD_Helpers_SetupSalomeSMESH_cmake
--- cad/freecad/patches/patch-cMake_FreeCAD_Helpers_SetupSalomeSMESH_cmake
+++ cad/freecad/patches/patch-cMake_FreeCAD_Helpers_SetupSalomeSMESH_cmake
@@ -3,9 +3,9 @@ OpenMPI is only needed if devel/med was compiled with
Index: cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake
--- cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake.orig
+++ cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake
-@@ -111,15 +111,6 @@ macro(SetupSalomeSMESH)
- if(NOT HDF5_FOUND)
- message( FATAL_ERROR "hdf5.h was not found.")
+@@ -131,15 +131,6 @@ macro(SetupSalomeSMESH)
+ message( FATAL_ERROR "hdf5.h was not found (tested pkg-config ${HDF5_VARIANT}, suggested header location was '${hdf5_include_path}').")
+ endif()
endif()
-
- # Med Fichier can require MPI
commit - 4658dbcbe59eb87e0d95b05c390ef2da5fa86922
blob - cda801258a2e8fb127dd8e336f018c8df6124b19
file + cad/freecad/patches/patch-src_3rdParty_salomesmesh_CMakeLists_txt
--- cad/freecad/patches/patch-src_3rdParty_salomesmesh_CMakeLists_txt
+++ cad/freecad/patches/patch-src_3rdParty_salomesmesh_CMakeLists_txt
@@ -1,7 +1,7 @@
Index: src/3rdParty/salomesmesh/CMakeLists.txt
--- src/3rdParty/salomesmesh/CMakeLists.txt.orig
+++ src/3rdParty/salomesmesh/CMakeLists.txt
-@@ -135,6 +135,7 @@ else(MSVC)
+@@ -134,6 +134,7 @@ else(MSVC)
${NGLIB_LIBRARIES}
${OCC_LIBRARIES}
${OCC_OCAF_LIBRARIES}
commit - 4658dbcbe59eb87e0d95b05c390ef2da5fa86922
blob - /dev/null
file + cad/freecad/patches/patch-src_3rdParty_salomesmesh_inc_SMDS_MeshElement_hxx (mode 644)
--- /dev/null
+++ cad/freecad/patches/patch-src_3rdParty_salomesmesh_inc_SMDS_MeshElement_hxx
@@ -0,0 +1,18 @@
+This patch has been merged upstream. Drop next update.
+Commit: bd90728f886bbeb6d69aafd4f68f934109b96f91
+
+Index: src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx
+--- src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx.orig
++++ src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx
+@@ -45,11 +45,7 @@
+ //typedef unsigned short UShortType;
+ typedef short ShortType;
+ typedef int LongType;
+-#ifdef VTK_CELL_ARRAY_V2
+ typedef const vtkIdType* vtkIdTypePtr;
+-#else
+-typedef vtkIdType* vtkIdTypePtr;
+-

No comments:

Post a Comment