git: 930c94a06539 - main - cad/freecad-devel: new port

From: Michael Reifenberger <mr_at_FreeBSD.org>
Date: Sat, 22 Nov 2025 12:45:49 UTC
The branch main has been updated by mr:

URL: https://cgit.FreeBSD.org/ports/commit/?id=930c94a06539281df652db301a2311e2075f23e0

commit 930c94a06539281df652db301a2311e2075f23e0
Author:     Michael Reifenberger <mr@FreeBSD.org>
AuthorDate: 2025-11-22 12:42:18 +0000
Commit:     Michael Reifenberger <mr@FreeBSD.org>
CommitDate: 2025-11-22 12:42:18 +0000

    cad/freecad-devel: new port
    
    This is the development version of cad/freecad following currently
    the 1.1 branch as of 2025.11.21.
---
 cad/freecad-devel/Makefile                         |  148 +
 cad/freecad-devel/Makefile.git_rev                 |    7 +
 cad/freecad-devel/distinfo                         |   11 +
 cad/freecad-devel/files/newVersion.sh              |   33 +
 cad/freecad-devel/files/patch-cMake_FindOCC.cmake  |   10 +
 ...elpers_SetGlobalCompilerAndLinkerSettings.cmake |   11 +
 .../files/patch-src_App_ApplicationDirectories.cpp |   10 +
 .../files/patch-src_Gui_CMakeLists.txt             |   32 +
 .../patch-src_Mod_MeshPart_App_CMakeLists.txt      |   18 +
 .../patch-src_Mod_TechDraw_App_CMakeLists.txt      |   10 +
 cad/freecad-devel/pkg-descr                        |   14 +
 cad/freecad-devel/pkg-plist                        | 3537 ++++++++++++++++++++
 12 files changed, 3841 insertions(+)

diff --git a/cad/freecad-devel/Makefile b/cad/freecad-devel/Makefile
new file mode 100644
index 000000000000..4350726282d6
--- /dev/null
+++ b/cad/freecad-devel/Makefile
@@ -0,0 +1,148 @@
+PORTNAME=	FreeCAD
+DISTVERSION=	r${GIT_SRC_DATE}
+#PORTREVISION=	1
+CATEGORIES=	cad
+PKGNAMESUFFIX=  -devel
+
+#PATCH_SITES=	https://github.com/FreeCAD/FreeCAD/pull/17325/commits/
+#PATCHFILES+=	cc302dfc06916719698bd43fe76ddf3cad2d6cc7.patch:-p1
+
+MAINTAINER=	mr@FreeBSD.org
+COMMENT=	General purpose 3D CAD modeller
+WWW=		https://www.freecadweb.org/
+
+LICENSE=	LGPL20+
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+CONFLICTS_INSTALL=      freecad # bin/FreeCAD
+
+BUILD_DEPENDS=	doxygen:devel/doxygen \
+		pybind11-config:devel/py-pybind11@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyside6-tools>0:devel/pyside6-tools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pivy>0:graphics/py-pivy@${PY_FLAVOR} \
+		${PYTHON_SITELIBDIR}/matplotlib/__init__.py:math/py-matplotlib@${PY_FLAVOR} \
+		swig:devel/swig
+
+LIB_DEPENDS=	libexpat.so:textproc/expat2 \
+		libyaml-cpp.so:devel/yaml-cpp \
+		libfreetype.so:print/freetype2 \
+		libtbb.so:devel/onetbb \
+		${PY_BOOST} \
+		libpyside6.abi3.so:devel/pyside6 \
+		libCoin.so:graphics/Coin \
+		libfmt.so:devel/libfmt \
+		libpng.so:graphics/png \
+		libtiff.so:graphics/tiff \
+		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 \
+		libfontconfig.so:x11-fonts/fontconfig \
+		libfreeimage.so:graphics/freeimage \
+		libavutil.so.58:multimedia/ffmpeg \
+                libavformat.so.58:multimedia/ffmpeg4 \
+		libmed.so:french/med \
+		libshiboken6.abi3.so:devel/shiboken6@${PY_FLAVOR} \
+		libhdf5.so:science/hdf5
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pivy>0:graphics/py-pivy@${PY_FLAVOR} \
+		${PYTHON_SITELIBDIR}/matplotlib/__init__.py:math/py-matplotlib@${PY_FLAVOR}
+
+USES=		dos2unix compiler:c++20-lang cmake cpe gl eigen:3 fortran gmake jpeg \
+		localbase:ldflags mpi:openmpi pkgconfig python localbase qt:6 xorg \
+		desktop-file-utils shared-mime-info shebangfix
+USE_GITHUB=	yes
+GH_ACCOUNT=	FreeCAD:ondsel google:gtest microsoft:gsl FreeCAD:addonmgr
+GH_PROJECT=	OndselSolver:ondsel googletest:gtest GSL:gsl AddonManager:addonmgr
+GH_TAGNAME=	${GIT_SRC_HASH} ${GIT_ONDSEL_HASH}:ondsel ${GIT_GTEST_HASH}:gtest ${GIT_GSL_HASH}:gsl ${GIT_ADDONMGR_HASH}:addonmgr
+GH_SUBDIR=	src/3rdParty/OndselSolver:ondsel tests/lib:gtest src/3rdParty/GSL:gsl src/Mod/AddonManager:addonmgr
+USE_XORG=	ice sm x11 xext xt
+USE_GL=		gl glu
+USE_QT=		base svg tools
+#USE_QT=		buildtools concurrent core declarative designer gui \
+#		linguisttools location network opengl printsupport \
+#		qmake:build svg webchannel widgets xml xmlpatterns
+USE_LDCONFIG=	yes
+
+CPE_VENDOR=	freecad_project
+
+VTK_VER=	9.5
+
+DOS2UNIX_GLOB=	*.txt *.h *.cpp *.py *.qss *.csv *.pov *.stp *.ui *.wrl *.WRL
+SHEBANG_FILES=	src/Tools/freecad-thumbnailer.in
+
+# our HDF5/CMake integration is messy, so workarounds are required below
+CMAKE_ARGS+=	-DOCC_INCLUDE_DIR="${LOCALBASE}/include/OpenCASCADE" \
+		-DOPENMPI_INCLUDE_DIRS="${LOCALBASE}/mpi/openmpi/include" \
+		-DFREECAD_QT_VERSION=6 \
+		-DBUILD_QT5="OFF" \
+		-DBUILD_QT6="ON" \
+		-DPYTHON_LIBRARY="${PYTHONBASE}/lib/libpython${PYTHON_VER}${PYTHON_ABIVER}.so" \
+		-DPYTHON_INCLUDE_DIR="${PYTHON_INCLUDEDIR}" \
+		-DPYTHON_PACKAGES_PATH="${PYTHON_SITELIBDIR}" \
+		-DPYTHON_EXECUTABLE="${PYTHON_CMD}" \
+		-DBUILD_ASSEMBLY="ON" \
+		-DBUILD_DESIGNER_PLUGIN="ON" \
+		-DBUILD_FLAT_MESH="ON" \
+		-DBUILD_VR="OFF" \
+		-DFREECAD_USE_EXTERNAL_FMT="ON" \
+		-DFREECAD_CREATE_MAC_APP="OFF" \
+		-DFREECAD_FREECAD_LIBPACK_USE="OFF" \
+		-DFREECAD_USE_EXTERNAL_KDL="OFF" \
+		-DFREECAD_USE_EXTERNAL_SMESH="OFF" \
+		-DFREECAD_USE_FREETYPE="ON" \
+		-DFREECAD_USE_PYBIND11="ON" \
+		-DFREECAD_USE_PCL="OFF" \
+		-Dpybind11_DIR="${PYTHON_SITELIBDIR}/pybind11/share/cmake/pybind11" \
+		-DHDF5_CFLAGS="-I${LOCALBASE}/include" \
+		-DHDF5_FOUND=TRUE \
+		-DHDF5_VERSION="1.12.2" \
+		-DHDF5_INCLUDE_DIRS="${LOCALBASE}/include/hdf5" \
+		-DHDF5_LIBRARIES="-L${LOCALBASE}/lib -lhdf5" \
+		-DHDF5_LIBRARY_DIRS="${LOCALBASE}/lib" \
+		-DPYSIDE2RCCBINARY="${RCC}" \
+		-DPYSIDE2UICBINARY="${UIC}" \
+		-DBUILD_ENABLE_CXX_STD=C++20
+
+
+CMAKE_INSTALL_PREFIX=	${PREFIX}/${PORTNAME}
+# Install XDG icons and files to the standard path
+CMAKE_ARGS+=	-DXDG_DATADIR="${PREFIX}/share"
+
+OPTIONS_DEFINE=	COLLADA SPNAV
+
+COLLADA_DESC=		Install pycollada for Collada files import
+COLLADA_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pycollada>0:graphics/py-pycollada@${PY_FLAVOR}
+OPTIONS_DEFINE= COLLADA SPNAV
+SPNAV_DESC=             Enable libspnav (SpaceMouse) support
+SPNAV_CMAKE_BOOL=       FREECAD_SPNAV_SUPPORT
+SPNAV_LIB_DEPENDS=      libspnav.so:misc/libspnav
+
+
+.include <bsd.port.options.mk>
+
+.if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH} == i386
+PLIST_SUB=	WEBENGINE=""
+USE_QT+=	webengine
+.else
+CMAKE_ARGS+=	-DBUILD_WEB:BOOL=OFF
+PLIST_SUB=	WEBENGINE="@comment "
+.endif
+
+.include "Makefile.git_rev"
+
+pre-configure:
+	@${REINPLACE_CMD} -e '/self\.rev/s/Unknown/${DISTVERSION:C/.*-//}/' \
+		${WRKSRC}/src/Tools/SubWCRev.py
+# Install XDG icons and files to the standard path
+	@${REINPLACE_CMD} -e 's/CMAKE_INSTALL_DATAROOTDIR/XDG_DATADIR/g' \
+		${WRKSRC}/src/XDGData/CMakeLists.txt \
+		${WRKSRC}/src/Gui/CMakeLists.txt
+
+post-install:
+	${LN} -sf ../${PORTNAME}/bin/FreeCAD ${STAGEDIR}${LOCALBASE}/bin/FreeCAD
+	${LN} -sf ../${PORTNAME}/bin/FreeCADCmd ${STAGEDIR}${LOCALBASE}/bin/FreeCADCmd
+	# ${INSTALL_SCRIPT} ${WRKSRC}/src/Tools/freecad-thumbnailer \
+	# 	${STAGEDIR}${PREFIX}/bin/freecad-thumbnailer
+
+.include <bsd.port.mk>
diff --git a/cad/freecad-devel/Makefile.git_rev b/cad/freecad-devel/Makefile.git_rev
new file mode 100644
index 000000000000..d2a16526547e
--- /dev/null
+++ b/cad/freecad-devel/Makefile.git_rev
@@ -0,0 +1,7 @@
+GIT_SRC_HASH=  a469c45a2da5322ff9505d0576b7e754c316a357
+GIT_SRC_DATE=  20251121235437
+GIT_SRC_DATE2=  2025.11.21
+GIT_ONDSEL_HASH= 30e9b64e8bf881d438d4b88834f9ba3674865418
+GIT_GSL_HASH= 543d0dd3fe966ddf20e884b44e5fdbf12cb43784
+GIT_GTEST_HASH= f8d7d77c06936315286eb55f8de22cd23c188571
+GIT_ADDONMGR_HASH= 8d35b2ecf17c42a2d4a7428818dea7c712def18e
diff --git a/cad/freecad-devel/distinfo b/cad/freecad-devel/distinfo
new file mode 100644
index 000000000000..9b582c615b74
--- /dev/null
+++ b/cad/freecad-devel/distinfo
@@ -0,0 +1,11 @@
+TIMESTAMP = 1763719220
+SHA256 (FreeCAD-FreeCAD-r20251121084732-ba5652e0466f6d82446143fc3d0225e69aa94f18_GH0.tar.gz) = e1fe849988fcd599d90379321d4d95883e35a75669f1490900790f5f257d0dc6
+SIZE (FreeCAD-FreeCAD-r20251121084732-ba5652e0466f6d82446143fc3d0225e69aa94f18_GH0.tar.gz) = 90601699
+SHA256 (FreeCAD-OndselSolver-30e9b64e8bf881d438d4b88834f9ba3674865418_GH0.tar.gz) = 77646ca7d8cbc6dc4e8304439be2ff2b9aecf397e6349e63b3b06e65dfed79c3
+SIZE (FreeCAD-OndselSolver-30e9b64e8bf881d438d4b88834f9ba3674865418_GH0.tar.gz) = 4667790
+SHA256 (google-googletest-f8d7d77c06936315286eb55f8de22cd23c188571_GH0.tar.gz) = 7ff5db23de232a39cbb5c9f5143c355885e30ac596161a6b9fc50c4538bfbf01
+SIZE (google-googletest-f8d7d77c06936315286eb55f8de22cd23c188571_GH0.tar.gz) = 868904
+SHA256 (microsoft-GSL-543d0dd3fe966ddf20e884b44e5fdbf12cb43784_GH0.tar.gz) = dd06a9190c02f6c04d008366faabc8947c817f33cbc6a838c5bfc9ad79652410
+SIZE (microsoft-GSL-543d0dd3fe966ddf20e884b44e5fdbf12cb43784_GH0.tar.gz) = 65378
+SHA256 (FreeCAD-AddonManager-8d35b2ecf17c42a2d4a7428818dea7c712def18e_GH0.tar.gz) = 4107c14ca95fdb35adc31aae779e5409fc9ef4752ad7a2727a002790d67c3ecc
+SIZE (FreeCAD-AddonManager-8d35b2ecf17c42a2d4a7428818dea7c712def18e_GH0.tar.gz) = 842322
diff --git a/cad/freecad-devel/files/newVersion.sh b/cad/freecad-devel/files/newVersion.sh
new file mode 100644
index 000000000000..539d54f191f4
--- /dev/null
+++ b/cad/freecad-devel/files/newVersion.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+CURDIR=`pwd`
+WRKDIR=`pwd`/work
+#mkdir -p "${WRKDIR}"
+
+if [ \! -d "${CURDIR}/freecad-repo" ]; then
+ git clone https://github.com/FreeCAD/FreeCAD -b main "${CURDIR}/freecad-repo";
+else
+  cd "${CURDIR}/freecad-repo"
+  # git pull https://github.com/FreeCAD/FreeCAD;
+  git pull
+fi
+
+cd "${CURDIR}/freecad-repo"
+GIT_SRC_HASH=`git log -n 1 --pretty=format:"%H"`;
+GIT_SRC_DATE=`git log -n 1 --date=iso-local -n 1 --pretty=format:"%cd" | \
+    cut -c '1-19' | sed -e 's,-,,g' -e 's,:,,g' -e 's, ,,g'`
+GIT_SRC_DATE2=`git log -n 1 --date=iso-local -n 1 --pretty=format:"%cd" --date=format-local:'%Y.%m.%d' | \
+    cut -c '1-19' | sed -e 's,-,,g' -e 's,:,,g' -e 's, ,,g'`
+GIT_ONDSEL_HASH=`git ls-tree HEAD src/3rdParty/OndselSolver/ | awk '{print $3}'`
+GIT_GSL_HASH=`git ls-tree HEAD src/3rdParty/GSL/ | awk '{print $3}'`
+GIT_GTEST_HASH=`git ls-tree HEAD tests/lib/ | awk '{print $3}'`
+GIT_ADDONMGR_HASH=`git ls-tree HEAD src/Mod/AddonManager/ | awk '{print $3}'`
+
+echo "$GIT_SRC_HASH, $GIT_SRC_DATE"
+echo "GIT_SRC_HASH=  ${GIT_SRC_HASH}"    > ${CURDIR}/Makefile.git_rev
+echo "GIT_SRC_DATE=  ${GIT_SRC_DATE}"   >> ${CURDIR}/Makefile.git_rev
+echo "GIT_SRC_DATE2=  ${GIT_SRC_DATE2}"   >> ${CURDIR}/Makefile.git_rev
+echo "GIT_ONDSEL_HASH= ${GIT_ONDSEL_HASH}"   >> ${CURDIR}/Makefile.git_rev
+echo "GIT_GSL_HASH= ${GIT_GSL_HASH}"   >> ${CURDIR}/Makefile.git_rev
+echo "GIT_GTEST_HASH= ${GIT_GTEST_HASH}"   >> ${CURDIR}/Makefile.git_rev
+echo "GIT_ADDONMGR_HASH= ${GIT_ADDONMGR_HASH}"   >> ${CURDIR}/Makefile.git_rev
diff --git a/cad/freecad-devel/files/patch-cMake_FindOCC.cmake b/cad/freecad-devel/files/patch-cMake_FindOCC.cmake
new file mode 100644
index 000000000000..4498270ec31b
--- /dev/null
+++ b/cad/freecad-devel/files/patch-cMake_FindOCC.cmake
@@ -0,0 +1,10 @@
+--- cMake/FindOCC.cmake.orig	2025-07-21 02:26:03 UTC
++++ cMake/FindOCC.cmake
+@@ -109,6 +109,7 @@ if (OCC_FOUND)
+             TKPrim
+             TKHLR
+             TKFeat
++            TKExpress
+     )
+     if (OCC_VERSION_STRING VERSION_GREATER_EQUAL 7.9.0)
+         list(APPEND OCC_LIBRARIES TKExpress)
diff --git a/cad/freecad-devel/files/patch-cMake_FreeCAD__Helpers_SetGlobalCompilerAndLinkerSettings.cmake b/cad/freecad-devel/files/patch-cMake_FreeCAD__Helpers_SetGlobalCompilerAndLinkerSettings.cmake
new file mode 100644
index 000000000000..51bce51f26df
--- /dev/null
+++ b/cad/freecad-devel/files/patch-cMake_FreeCAD__Helpers_SetGlobalCompilerAndLinkerSettings.cmake
@@ -0,0 +1,11 @@
+--- cMake/FreeCAD_Helpers/SetGlobalCompilerAndLinkerSettings.cmake.orig	2025-04-17 06:38:38 UTC
++++ cMake/FreeCAD_Helpers/SetGlobalCompilerAndLinkerSettings.cmake
+@@ -103,4 +103,8 @@ macro(SetGlobalCompilerAndLinkerSettings)
+         endif()
+     endif(MINGW)
+ 
++# Enable the Topological Naming Problem mitigation code
++add_compile_options(-DFC_USE_TNP_FIX)
++
++
+ endmacro(SetGlobalCompilerAndLinkerSettings)
diff --git a/cad/freecad-devel/files/patch-src_App_ApplicationDirectories.cpp b/cad/freecad-devel/files/patch-src_App_ApplicationDirectories.cpp
new file mode 100644
index 000000000000..6fe8aeda6539
--- /dev/null
+++ b/cad/freecad-devel/files/patch-src_App_ApplicationDirectories.cpp
@@ -0,0 +1,10 @@
+--- src/App/ApplicationDirectories.cpp.orig	2025-09-10 20:44:18 UTC
++++ src/App/ApplicationDirectories.cpp
+@@ -33,6 +33,7 @@
+ 
+ #if defined(FC_OS_LINUX) || defined(FC_OS_MACOSX) || defined(FC_OS_BSD)
+ #include <pwd.h>
++#include <sys/sysctl.h>
+ #endif
+ 
+ #include <Base/FileInfo.h>
diff --git a/cad/freecad-devel/files/patch-src_Gui_CMakeLists.txt b/cad/freecad-devel/files/patch-src_Gui_CMakeLists.txt
new file mode 100644
index 000000000000..c0700d18c931
--- /dev/null
+++ b/cad/freecad-devel/files/patch-src_Gui_CMakeLists.txt
@@ -0,0 +1,32 @@
+--- src/Gui/CMakeLists.txt.orig	2025-09-10 18:14:29 UTC
++++ src/Gui/CMakeLists.txt
+@@ -107,7 +107,7 @@ else(MSVC)
+     set(FreeCADGui_LIBS
+         FreeCADApp
+         ${Boost_LIBRARIES}
+-        ${OPENGL_gl_LIBRARY}
++        ${OPENGL_gl_LIBRARY} -L${CMAKE_INSTALL_PREFIX}/lib
+         ${3DCONNEXION_LINKFLAGS}
+     )
+ endif(MSVC)
+@@ -1528,13 +1528,13 @@ else(WIN32)
+     INSTALL(TARGETS FreeCADGui
+         LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+     )
+-    INSTALL(FILES Icons/freecad-icon-16.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps RENAME org.freecad.FreeCAD.png)
+-    INSTALL(FILES Icons/freecad-icon-32.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps RENAME org.freecad.FreeCAD.png)
+-    INSTALL(FILES Icons/freecad-icon-48.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps RENAME org.freecad.FreeCAD.png)
+-    INSTALL(FILES Icons/freecad-icon-64.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps RENAME org.freecad.FreeCAD.png)
+-    INSTALL(FILES Icons/freecad.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps RENAME org.freecad.FreeCAD.svg)
+-    INSTALL(FILES Icons/freecad.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps)
+-    INSTALL(FILES Icons/freecad-doc.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/mimetypes RENAME application-x-extension-fcstd.svg)
++    INSTALL(FILES Icons/freecad-icon-16.png DESTINATION ${XDG_DATADIR}/icons/hicolor/16x16/apps RENAME org.freecad.FreeCAD.png)
++    INSTALL(FILES Icons/freecad-icon-32.png DESTINATION ${XDG_DATADIR}/icons/hicolor/32x32/apps RENAME org.freecad.FreeCAD.png)
++    INSTALL(FILES Icons/freecad-icon-48.png DESTINATION ${XDG_DATADIR}/icons/hicolor/48x48/apps RENAME org.freecad.FreeCAD.png)
++    INSTALL(FILES Icons/freecad-icon-64.png DESTINATION ${XDG_DATADIR}/icons/hicolor/64x64/apps RENAME org.freecad.FreeCAD.png)
++    INSTALL(FILES Icons/freecad.svg DESTINATION ${XDG_DATADIR}/icons/hicolor/scalable/apps RENAME org.freecad.FreeCAD.svg)
++    INSTALL(FILES Icons/freecad.svg DESTINATION ${XDG_DATADIR}/pixmaps)
++    INSTALL(FILES Icons/freecad-doc.svg DESTINATION ${XDG_DATADIR}/icons/hicolor/scalable/mimetypes RENAME application-x-extension-fcstd.svg)
+ endif(WIN32)
+ 
+ set(FreeCADGui_Scripts
diff --git a/cad/freecad-devel/files/patch-src_Mod_MeshPart_App_CMakeLists.txt b/cad/freecad-devel/files/patch-src_Mod_MeshPart_App_CMakeLists.txt
new file mode 100644
index 000000000000..70119a30b46c
--- /dev/null
+++ b/cad/freecad-devel/files/patch-src_Mod_MeshPart_App_CMakeLists.txt
@@ -0,0 +1,18 @@
+--- src/Mod/MeshPart/App/CMakeLists.txt.orig	2025-03-24 09:50:06 UTC
++++ src/Mod/MeshPart/App/CMakeLists.txt
+@@ -14,6 +14,7 @@ include_directories(
+ include_directories(
+     ${CMAKE_BINARY_DIR}
+     ${CMAKE_SOURCE_DIR}/src
++    ${pybind11_INCLUDE_DIR}
+ )
+ 
+ target_include_directories(
+@@ -22,6 +23,7 @@ target_include_directories(
+     PUBLIC
+     ${SMESH_INCLUDE_DIR}
+     ${VTK_INCLUDE_DIRS}
++    ${pybind11_INCLUDE_DIR}
+ )
+ 
+ target_include_directories(
diff --git a/cad/freecad-devel/files/patch-src_Mod_TechDraw_App_CMakeLists.txt b/cad/freecad-devel/files/patch-src_Mod_TechDraw_App_CMakeLists.txt
new file mode 100644
index 000000000000..012f752b2331
--- /dev/null
+++ b/cad/freecad-devel/files/patch-src_Mod_TechDraw_App_CMakeLists.txt
@@ -0,0 +1,10 @@
+--- src/Mod/TechDraw/App/CMakeLists.txt.orig	2025-03-24 09:38:26 UTC
++++ src/Mod/TechDraw/App/CMakeLists.txt
+@@ -24,6 +24,7 @@ include_directories(
+     ${QtCore_INCLUDE_DIR}
+     ${QtGui_INCLUDE_DIR}
+     ${QtWidgets_INCLUDE_DIRS}
++    ${pybind11_INCLUDE_DIR}
+ )
+ 
+ list(APPEND TechDrawLIBS
diff --git a/cad/freecad-devel/pkg-descr b/cad/freecad-devel/pkg-descr
new file mode 100644
index 000000000000..2e6f36f1a3c4
--- /dev/null
+++ b/cad/freecad-devel/pkg-descr
@@ -0,0 +1,14 @@
+FreeCAD is a general purpose parametric 3D modeler.
+
+FreeCAD is aimed directly at mechanical engineering and product
+design but also fits in a wider range of uses around engineering,
+such as architecture or other engineering specialties.
+
+FreeCAD features tools similar to Catia, SolidWorks or Solid Edge,
+and therefore also falls into the category of MCAD, PLM, CAx and
+CAE. It is a feature based parametric modeler with a modular software
+architecture which makes it easy to provide additional functionality
+without modifying the core system.
+
+       FreeCAD is under heavy development and might not be
+                    ready for production use.
diff --git a/cad/freecad-devel/pkg-plist b/cad/freecad-devel/pkg-plist
new file mode 100644
index 000000000000..4fb0b72b338d
--- /dev/null
+++ b/cad/freecad-devel/pkg-plist
@@ -0,0 +1,3537 @@
+FreeCAD/Ext/PySide/QtCore.py
+FreeCAD/Ext/PySide/QtGui.py
+FreeCAD/Ext/PySide/QtNetwork.py
+FreeCAD/Ext/PySide/QtSvg.py
+FreeCAD/Ext/PySide/QtSvgWidgets.py
+FreeCAD/Ext/PySide/QtUiTools.py
+FreeCAD/Ext/PySide/QtWebEngineWidgets.py
+FreeCAD/Ext/PySide/QtWidgets.py
+FreeCAD/Ext/PySide/__init__.py
+FreeCAD/Ext/freecad/gui/RemoteDebugger.py
+FreeCAD/Ext/freecad/gui/RemoteDebugger.ui
+FreeCAD/Ext/lazy_loader/__init__.py
+FreeCAD/Ext/lazy_loader/lazy_loader.py
+FreeCAD/Mod/AddonManager/ALLOWED_PYTHON_PACKAGES.txt
+FreeCAD/Mod/AddonManager/Addon.py
+FreeCAD/Mod/AddonManager/AddonCatalog.py
+FreeCAD/Mod/AddonManager/AddonCatalog.schema.json
+FreeCAD/Mod/AddonManager/AddonCatalogCacheCreator.py
+FreeCAD/Mod/AddonManager/AddonManager.py
+FreeCAD/Mod/AddonManager/AddonManager.ui
+FreeCAD/Mod/AddonManager/AddonManagerOptions.py
+FreeCAD/Mod/AddonManager/AddonManagerOptions.ui
+FreeCAD/Mod/AddonManager/AddonManagerOptions_AddCustomRepository.ui
+FreeCAD/Mod/AddonManager/AddonStats.py
+FreeCAD/Mod/AddonManager/Init.py
+FreeCAD/Mod/AddonManager/InitGui.py
+FreeCAD/Mod/AddonManager/LICENSE.md
+FreeCAD/Mod/AddonManager/MacroCacheCreator.py
+FreeCAD/Mod/AddonManager/NetworkManager.py
+FreeCAD/Mod/AddonManager/PySideWrapper.py
+FreeCAD/Mod/AddonManager/PythonDependencyUpdateDialog.ui
+FreeCAD/Mod/AddonManager/Resources/icons/addon_manager.svg
+FreeCAD/Mod/AddonManager/Resources/icons/addon_manager_with_warning.svg
+FreeCAD/Mod/AddonManager/Resources/icons/button_left.svg
+FreeCAD/Mod/AddonManager/Resources/icons/button_valid.svg
+FreeCAD/Mod/AddonManager/Resources/icons/compact_view.svg
+FreeCAD/Mod/AddonManager/Resources/icons/composite_view.svg
+FreeCAD/Mod/AddonManager/Resources/icons/debug-stop.svg
+FreeCAD/Mod/AddonManager/Resources/icons/document-package.svg
+FreeCAD/Mod/AddonManager/Resources/icons/document-python.svg
+FreeCAD/Mod/AddonManager/Resources/icons/expanded_view.svg
+FreeCAD/Mod/AddonManager/Resources/icons/gear.svg
+FreeCAD/Mod/AddonManager/Resources/icons/list-add.svg
+FreeCAD/Mod/AddonManager/Resources/icons/list-remove.svg
+FreeCAD/Mod/AddonManager/Resources/icons/preferences-addon_manager.svg
+FreeCAD/Mod/AddonManager/Resources/icons/process-stop.svg
+FreeCAD/Mod/AddonManager/Resources/icons/regex_bad.svg
+FreeCAD/Mod/AddonManager/Resources/icons/regex_ok.svg
+FreeCAD/Mod/AddonManager/Resources/icons/sort_ascending.svg
+FreeCAD/Mod/AddonManager/Resources/icons/sort_descending.svg
+FreeCAD/Mod/AddonManager/Resources/icons/spinner.svg
+FreeCAD/Mod/AddonManager/Resources/icons/view-refresh.svg
+FreeCAD/Mod/AddonManager/Resources/licenses/Apache-2.0.txt
+FreeCAD/Mod/AddonManager/Resources/licenses/BSD-2-Clause.txt
+FreeCAD/Mod/AddonManager/Resources/licenses/BSD-3-Clause.txt
+FreeCAD/Mod/AddonManager/Resources/licenses/CC0-1.0.txt
+FreeCAD/Mod/AddonManager/Resources/licenses/GPL-2.0-or-later.txt
+FreeCAD/Mod/AddonManager/Resources/licenses/GPL-3.0-or-later.txt
+FreeCAD/Mod/AddonManager/Resources/licenses/LGPL-2.1-or-later.txt
+FreeCAD/Mod/AddonManager/Resources/licenses/LGPL-3.0-or-later.txt
+FreeCAD/Mod/AddonManager/Resources/licenses/MIT.txt
+FreeCAD/Mod/AddonManager/Resources/licenses/MPL-2.0.txt
+FreeCAD/Mod/AddonManager/Resources/licenses/spdx.json
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_be.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_ca.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_cs.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_da.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_de.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_el.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_es-AR.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_es-CO.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_es-ES.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_es-VE.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_eu.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_fr.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_hr.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_hu.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_it.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_ja.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_ka.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_pl.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_pt-BR.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_pt-PT.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_ru.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_sr-CS.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_sr-SP.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_uk.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_zh-CN.qm
+FreeCAD/Mod/AddonManager/Resources/translations/AddonManager_zh-TW.qm
+FreeCAD/Mod/AddonManager/TestAddonManagerApp.py
+FreeCAD/Mod/AddonManager/TestAddonManagerGui.py
+FreeCAD/Mod/AddonManager/Widgets/__init__.py
+FreeCAD/Mod/AddonManager/Widgets/addonmanager_colors.py
+FreeCAD/Mod/AddonManager/Widgets/addonmanager_utility_dialogs.py
+FreeCAD/Mod/AddonManager/Widgets/addonmanager_widget_addon_buttons.py
+FreeCAD/Mod/AddonManager/Widgets/addonmanager_widget_filter_selector.py
+FreeCAD/Mod/AddonManager/Widgets/addonmanager_widget_global_buttons.py
+FreeCAD/Mod/AddonManager/Widgets/addonmanager_widget_package_details_view.py
+FreeCAD/Mod/AddonManager/Widgets/addonmanager_widget_progress_bar.py
+FreeCAD/Mod/AddonManager/Widgets/addonmanager_widget_readme_browser.py
+FreeCAD/Mod/AddonManager/Widgets/addonmanager_widget_search.py
+FreeCAD/Mod/AddonManager/Widgets/addonmanager_widget_view_control_bar.py
+FreeCAD/Mod/AddonManager/Widgets/addonmanager_widget_view_selector.py
+FreeCAD/Mod/AddonManager/Widgets/spinner.py
+FreeCAD/Mod/AddonManager/__init__.py
+FreeCAD/Mod/AddonManager/add_toolbar_button_dialog.ui
+FreeCAD/Mod/AddonManager/addonmanager.dox
+FreeCAD/Mod/AddonManager/addonmanager_connection_checker.py
+FreeCAD/Mod/AddonManager/addonmanager_dependency_installer.py
+FreeCAD/Mod/AddonManager/addonmanager_firstrun.py
+FreeCAD/Mod/AddonManager/addonmanager_freecad_interface.py
+FreeCAD/Mod/AddonManager/addonmanager_git.py
+FreeCAD/Mod/AddonManager/addonmanager_icon_utilities.py
+FreeCAD/Mod/AddonManager/addonmanager_installation_manifest.py
+FreeCAD/Mod/AddonManager/addonmanager_installer.py
+FreeCAD/Mod/AddonManager/addonmanager_installer_gui.py
+FreeCAD/Mod/AddonManager/addonmanager_licenses.py
+FreeCAD/Mod/AddonManager/addonmanager_macro.py
+FreeCAD/Mod/AddonManager/addonmanager_macro_parser.py
+FreeCAD/Mod/AddonManager/addonmanager_metadata.py
+FreeCAD/Mod/AddonManager/addonmanager_package_details_controller.py
+FreeCAD/Mod/AddonManager/addonmanager_preferences_defaults.json
+FreeCAD/Mod/AddonManager/addonmanager_preferences_migrations.py
+FreeCAD/Mod/AddonManager/addonmanager_python_deps.py
+FreeCAD/Mod/AddonManager/addonmanager_python_deps_gui.py
+FreeCAD/Mod/AddonManager/addonmanager_readme_controller.py
+FreeCAD/Mod/AddonManager/addonmanager_toolbar_adapter.py
+FreeCAD/Mod/AddonManager/addonmanager_uninstaller.py
+FreeCAD/Mod/AddonManager/addonmanager_uninstaller_gui.py
+FreeCAD/Mod/AddonManager/addonmanager_update_all_gui.py
+FreeCAD/Mod/AddonManager/addonmanager_utilities.py
+FreeCAD/Mod/AddonManager/addonmanager_workers_startup.py
+FreeCAD/Mod/AddonManager/addonmanager_workers_utility.py
+FreeCAD/Mod/AddonManager/compact_view.py
+FreeCAD/Mod/AddonManager/compact_view.ui
+FreeCAD/Mod/AddonManager/composite_view.py
+FreeCAD/Mod/AddonManager/dependency_resolution_dialog.ui
+FreeCAD/Mod/AddonManager/expanded_view.py
+FreeCAD/Mod/AddonManager/expanded_view.ui
+FreeCAD/Mod/AddonManager/first_run.ui
+FreeCAD/Mod/AddonManager/package.xml
+FreeCAD/Mod/AddonManager/package_details.ui
+FreeCAD/Mod/AddonManager/package_list.py
+FreeCAD/Mod/AddonManager/progress.ui
+FreeCAD/Mod/AddonManager/proxy_authentication.ui
+FreeCAD/Mod/AddonManager/select_toolbar_dialog.ui
+FreeCAD/Mod/AddonManager/toolbar_button.ui
+FreeCAD/Mod/AddonManager/update_all.ui
+FreeCAD/Mod/AddonManager/update_all_progress.ui
+FreeCAD/Mod/Assembly/Assembly/__init__.py
+FreeCAD/Mod/Assembly/AssemblyImport.py
+FreeCAD/Mod/Assembly/AssemblyTests/MockGui.py
+FreeCAD/Mod/Assembly/AssemblyTests/TestCommandInsertLink.py
+FreeCAD/Mod/Assembly/AssemblyTests/TestCore.py
+FreeCAD/Mod/Assembly/AssemblyTests/__init__.py
+FreeCAD/Mod/Assembly/Assembly_rc.py
+FreeCAD/Mod/Assembly/CommandCreateAssembly.py
+FreeCAD/Mod/Assembly/CommandCreateBom.py
+FreeCAD/Mod/Assembly/CommandCreateJoint.py
+FreeCAD/Mod/Assembly/CommandCreateSimulation.py
+FreeCAD/Mod/Assembly/CommandCreateView.py
+FreeCAD/Mod/Assembly/CommandExportASMT.py
+FreeCAD/Mod/Assembly/CommandInsertLink.py
+FreeCAD/Mod/Assembly/CommandInsertNewPart.py
+FreeCAD/Mod/Assembly/CommandSolveAssembly.py
+FreeCAD/Mod/Assembly/Init.py
+FreeCAD/Mod/Assembly/InitGui.py
+FreeCAD/Mod/Assembly/JointObject.py
+FreeCAD/Mod/Assembly/Preferences.py
+FreeCAD/Mod/Assembly/SoSwitchMarker.py
+FreeCAD/Mod/Assembly/TestAssemblyWorkbench.py
+FreeCAD/Mod/Assembly/UtilsAssembly.py
+FreeCAD/Mod/BIM/Arch.py
+FreeCAD/Mod/BIM/ArchAxis.py
+FreeCAD/Mod/BIM/ArchAxisSystem.py
+FreeCAD/Mod/BIM/ArchBuildingPart.py
+FreeCAD/Mod/BIM/ArchCommands.py
+FreeCAD/Mod/BIM/ArchComponent.py
+FreeCAD/Mod/BIM/ArchCurtainWall.py
+FreeCAD/Mod/BIM/ArchCutPlane.py
+FreeCAD/Mod/BIM/ArchEquipment.py
+FreeCAD/Mod/BIM/ArchFence.py
+FreeCAD/Mod/BIM/ArchFrame.py
+FreeCAD/Mod/BIM/ArchGrid.py
+FreeCAD/Mod/BIM/ArchIFC.py
+FreeCAD/Mod/BIM/ArchIFCSchema.py
+FreeCAD/Mod/BIM/ArchIFCView.py
+FreeCAD/Mod/BIM/ArchMaterial.py
+FreeCAD/Mod/BIM/ArchNesting.py
+FreeCAD/Mod/BIM/ArchPanel.py
+FreeCAD/Mod/BIM/ArchPipe.py
+FreeCAD/Mod/BIM/ArchPrecast.py
+FreeCAD/Mod/BIM/ArchProfile.py
+FreeCAD/Mod/BIM/ArchProject.py
+FreeCAD/Mod/BIM/ArchRebar.py
+FreeCAD/Mod/BIM/ArchReference.py
+FreeCAD/Mod/BIM/ArchRoof.py
+FreeCAD/Mod/BIM/ArchSchedule.py
+FreeCAD/Mod/BIM/ArchSectionPlane.py
+FreeCAD/Mod/BIM/ArchSite.py
+FreeCAD/Mod/BIM/ArchSketchObject.py
+FreeCAD/Mod/BIM/ArchSpace.py
+FreeCAD/Mod/BIM/ArchStairs.py
+FreeCAD/Mod/BIM/ArchStructure.py
+FreeCAD/Mod/BIM/ArchTruss.py
+FreeCAD/Mod/BIM/ArchVRM.py
+FreeCAD/Mod/BIM/ArchWall.py
+FreeCAD/Mod/BIM/ArchWindow.py
+FreeCAD/Mod/BIM/ArchWindowPresets.py
+FreeCAD/Mod/BIM/Arch_rc.py
+FreeCAD/Mod/BIM/BimSelect.py
+FreeCAD/Mod/BIM/BimStatus.py
+FreeCAD/Mod/BIM/Dice3DS/__init__.py
+FreeCAD/Mod/BIM/Dice3DS/dom3ds.py
+FreeCAD/Mod/BIM/Dice3DS/util.py
+FreeCAD/Mod/BIM/Init.py
+FreeCAD/Mod/BIM/InitGui.py
+FreeCAD/Mod/BIM/OfflineRenderingUtils.py
+FreeCAD/Mod/BIM/TestArch.py
+FreeCAD/Mod/BIM/TestArchGui.py
+FreeCAD/Mod/BIM/bimcommands/BimArchUtils.py
+FreeCAD/Mod/BIM/bimcommands/BimAxis.py
+FreeCAD/Mod/BIM/bimcommands/BimBackground.py
+FreeCAD/Mod/BIM/bimcommands/BimBeam.py
+FreeCAD/Mod/BIM/bimcommands/BimBox.py
+FreeCAD/Mod/BIM/bimcommands/BimBuilder.py
+FreeCAD/Mod/BIM/bimcommands/BimBuildingPart.py
+FreeCAD/Mod/BIM/bimcommands/BimClassification.py
+FreeCAD/Mod/BIM/bimcommands/BimClone.py
+FreeCAD/Mod/BIM/bimcommands/BimColumn.py
+FreeCAD/Mod/BIM/bimcommands/BimCommon.py
+FreeCAD/Mod/BIM/bimcommands/BimCompound.py
+FreeCAD/Mod/BIM/bimcommands/BimConvert.py
+FreeCAD/Mod/BIM/bimcommands/BimCopy.py
+FreeCAD/Mod/BIM/bimcommands/BimCurtainwall.py
+FreeCAD/Mod/BIM/bimcommands/BimCut.py
+FreeCAD/Mod/BIM/bimcommands/BimCutPlane.py
+FreeCAD/Mod/BIM/bimcommands/BimDiff.py
+FreeCAD/Mod/BIM/bimcommands/BimDimensions.py
+FreeCAD/Mod/BIM/bimcommands/BimDoor.py
+FreeCAD/Mod/BIM/bimcommands/BimDrawingView.py
+FreeCAD/Mod/BIM/bimcommands/BimEmptyTrash.py
+FreeCAD/Mod/BIM/bimcommands/BimEquipment.py
+FreeCAD/Mod/BIM/bimcommands/BimExamples.py
+FreeCAD/Mod/BIM/bimcommands/BimExtrude.py
+FreeCAD/Mod/BIM/bimcommands/BimFence.py
+FreeCAD/Mod/BIM/bimcommands/BimFrame.py
+FreeCAD/Mod/BIM/bimcommands/BimFuse.py
+FreeCAD/Mod/BIM/bimcommands/BimGlue.py
+FreeCAD/Mod/BIM/bimcommands/BimHelp.py
+FreeCAD/Mod/BIM/bimcommands/BimIfcElements.py
+FreeCAD/Mod/BIM/bimcommands/BimIfcExplorer.py
+FreeCAD/Mod/BIM/bimcommands/BimIfcProperties.py
+FreeCAD/Mod/BIM/bimcommands/BimIfcQuantities.py
+FreeCAD/Mod/BIM/bimcommands/BimImagePlane.py
+FreeCAD/Mod/BIM/bimcommands/BimLayers.py
+FreeCAD/Mod/BIM/bimcommands/BimLeader.py
+FreeCAD/Mod/BIM/bimcommands/BimLibrary.py
+FreeCAD/Mod/BIM/bimcommands/BimMaterial.py
+FreeCAD/Mod/BIM/bimcommands/BimMoveView.py
+FreeCAD/Mod/BIM/bimcommands/BimNudge.py
+FreeCAD/Mod/BIM/bimcommands/BimOffset.py
+FreeCAD/Mod/BIM/bimcommands/BimPanel.py
+FreeCAD/Mod/BIM/bimcommands/BimPipe.py
+FreeCAD/Mod/BIM/bimcommands/BimPreflight.py
+FreeCAD/Mod/BIM/bimcommands/BimProfile.py
+FreeCAD/Mod/BIM/bimcommands/BimProject.py
+FreeCAD/Mod/BIM/bimcommands/BimProjectManager.py
+FreeCAD/Mod/BIM/bimcommands/BimRebar.py
+FreeCAD/Mod/BIM/bimcommands/BimReextrude.py
+FreeCAD/Mod/BIM/bimcommands/BimReference.py
+FreeCAD/Mod/BIM/bimcommands/BimReorder.py
+FreeCAD/Mod/BIM/bimcommands/BimResetCloneColors.py
+FreeCAD/Mod/BIM/bimcommands/BimRewire.py
+FreeCAD/Mod/BIM/bimcommands/BimRoof.py
+FreeCAD/Mod/BIM/bimcommands/BimSchedule.py
+FreeCAD/Mod/BIM/bimcommands/BimSectionPlane.py
+FreeCAD/Mod/BIM/bimcommands/BimSetup.py
+FreeCAD/Mod/BIM/bimcommands/BimShape2DView.py
+FreeCAD/Mod/BIM/bimcommands/BimSimpleCopy.py
+FreeCAD/Mod/BIM/bimcommands/BimSite.py
+FreeCAD/Mod/BIM/bimcommands/BimSketch.py
+FreeCAD/Mod/BIM/bimcommands/BimSlab.py
+FreeCAD/Mod/BIM/bimcommands/BimSpace.py
+FreeCAD/Mod/BIM/bimcommands/BimStairs.py
+FreeCAD/Mod/BIM/bimcommands/BimTDPage.py
+FreeCAD/Mod/BIM/bimcommands/BimTDView.py
+FreeCAD/Mod/BIM/bimcommands/BimText.py
+FreeCAD/Mod/BIM/bimcommands/BimTogglePanels.py
+FreeCAD/Mod/BIM/bimcommands/BimTrash.py
+FreeCAD/Mod/BIM/bimcommands/BimTruss.py
+FreeCAD/Mod/BIM/bimcommands/BimTutorial.py
+FreeCAD/Mod/BIM/bimcommands/BimUnclone.py
+FreeCAD/Mod/BIM/bimcommands/BimUngroup.py
+FreeCAD/Mod/BIM/bimcommands/BimViews.py
+FreeCAD/Mod/BIM/bimcommands/BimWPCommands.py
+FreeCAD/Mod/BIM/bimcommands/BimWall.py
+FreeCAD/Mod/BIM/bimcommands/BimWelcome.py
+FreeCAD/Mod/BIM/bimcommands/BimWindow.py
+FreeCAD/Mod/BIM/bimcommands/BimWindows.py
+FreeCAD/Mod/BIM/bimcommands/__init__.py
+FreeCAD/Mod/BIM/bimtests/TestArchAxis.py
+FreeCAD/Mod/BIM/bimtests/TestArchBase.py
+FreeCAD/Mod/BIM/bimtests/TestArchBaseGui.py
+FreeCAD/Mod/BIM/bimtests/TestArchBuildingPart.py
+FreeCAD/Mod/BIM/bimtests/TestArchBuildingPartGui.py
+FreeCAD/Mod/BIM/bimtests/TestArchComponent.py
+FreeCAD/Mod/BIM/bimtests/TestArchCurtainWall.py
+FreeCAD/Mod/BIM/bimtests/TestArchEquipment.py
+FreeCAD/Mod/BIM/bimtests/TestArchFence.py
+FreeCAD/Mod/BIM/bimtests/TestArchFrame.py
+FreeCAD/Mod/BIM/bimtests/TestArchGrid.py
+FreeCAD/Mod/BIM/bimtests/TestArchImportersGui.py
+FreeCAD/Mod/BIM/bimtests/TestArchMaterial.py
+FreeCAD/Mod/BIM/bimtests/TestArchPanel.py
+FreeCAD/Mod/BIM/bimtests/TestArchPipe.py
+FreeCAD/Mod/BIM/bimtests/TestArchProfile.py
+FreeCAD/Mod/BIM/bimtests/TestArchProject.py
+FreeCAD/Mod/BIM/bimtests/TestArchRebar.py
+FreeCAD/Mod/BIM/bimtests/TestArchReference.py
+FreeCAD/Mod/BIM/bimtests/TestArchRoof.py
+FreeCAD/Mod/BIM/bimtests/TestArchSchedule.py
+FreeCAD/Mod/BIM/bimtests/TestArchSectionPlane.py
+FreeCAD/Mod/BIM/bimtests/TestArchSiteGui.py
+FreeCAD/Mod/BIM/bimtests/TestArchSpace.py
+FreeCAD/Mod/BIM/bimtests/TestArchStairs.py
+FreeCAD/Mod/BIM/bimtests/TestArchStructure.py
+FreeCAD/Mod/BIM/bimtests/TestArchTruss.py
+FreeCAD/Mod/BIM/bimtests/TestArchWall.py
+FreeCAD/Mod/BIM/bimtests/TestArchWindow.py
+FreeCAD/Mod/BIM/bimtests/TestWebGLExport.py
+FreeCAD/Mod/BIM/bimtests/TestWebGLExportGui.py
+FreeCAD/Mod/BIM/bimtests/fixtures/FC_site_simple-102.FCStd
+FreeCAD/Mod/BIM/importers/Sample.sh3d
+FreeCAD/Mod/BIM/importers/__init__.py
+FreeCAD/Mod/BIM/importers/exportIFC.py
+FreeCAD/Mod/BIM/importers/exportIFCHelper.py
+FreeCAD/Mod/BIM/importers/exportIFCStructuralTools.py
+FreeCAD/Mod/BIM/importers/import3DS.py
+FreeCAD/Mod/BIM/importers/importDAE.py
+FreeCAD/Mod/BIM/importers/importGBXML.py
+FreeCAD/Mod/BIM/importers/importIFC.py
+FreeCAD/Mod/BIM/importers/importIFCHelper.py
+FreeCAD/Mod/BIM/importers/importIFClegacy.py
+FreeCAD/Mod/BIM/importers/importIFCmulticore.py
+FreeCAD/Mod/BIM/importers/importJSON.py
+FreeCAD/Mod/BIM/importers/importOBJ.py
+FreeCAD/Mod/BIM/importers/importSH3D.py
+FreeCAD/Mod/BIM/importers/importSH3DHelper.py
+FreeCAD/Mod/BIM/importers/importSHP.py
+FreeCAD/Mod/BIM/importers/importWebGL.py
+FreeCAD/Mod/BIM/nativeifc/__init__.py
+FreeCAD/Mod/BIM/nativeifc/ifc_classification.py
+FreeCAD/Mod/BIM/nativeifc/ifc_commands.py
+FreeCAD/Mod/BIM/nativeifc/ifc_diff.py
+FreeCAD/Mod/BIM/nativeifc/ifc_export.py
+FreeCAD/Mod/BIM/nativeifc/ifc_generator.py
+FreeCAD/Mod/BIM/nativeifc/ifc_geometry.py
+FreeCAD/Mod/BIM/nativeifc/ifc_import.py
+FreeCAD/Mod/BIM/nativeifc/ifc_layers.py
+FreeCAD/Mod/BIM/nativeifc/ifc_materials.py
+FreeCAD/Mod/BIM/nativeifc/ifc_objects.py
+FreeCAD/Mod/BIM/nativeifc/ifc_observer.py
+FreeCAD/Mod/BIM/nativeifc/ifc_openshell.py
+FreeCAD/Mod/BIM/nativeifc/ifc_performance_test.py
+FreeCAD/Mod/BIM/nativeifc/ifc_psets.py
+FreeCAD/Mod/BIM/nativeifc/ifc_selftest.py
+FreeCAD/Mod/BIM/nativeifc/ifc_status.py
+FreeCAD/Mod/BIM/nativeifc/ifc_tools.py
+FreeCAD/Mod/BIM/nativeifc/ifc_tree.py
+FreeCAD/Mod/BIM/nativeifc/ifc_types.py
+FreeCAD/Mod/BIM/nativeifc/ifc_viewproviders.py
+FreeCAD/Mod/CAM/CAMTests/Drilling_1.FCStd
+FreeCAD/Mod/CAM/CAMTests/FilePathTestUtils.py
+FreeCAD/Mod/CAM/CAMTests/Fixtures/OpHelix_v0-21.FCStd
+FreeCAD/Mod/CAM/CAMTests/PathTestUtils.py
+FreeCAD/Mod/CAM/CAMTests/TestCAMSanity.py
+FreeCAD/Mod/CAM/CAMTests/TestCentroidPost.py
+FreeCAD/Mod/CAM/CAMTests/TestGrblPost.py
+FreeCAD/Mod/CAM/CAMTests/TestLinuxCNCPost.py
+FreeCAD/Mod/CAM/CAMTests/TestMach3Mach4Post.py
+FreeCAD/Mod/CAM/CAMTests/TestPathAdaptive.py
+FreeCAD/Mod/CAM/CAMTests/TestPathCore.py
+FreeCAD/Mod/CAM/CAMTests/TestPathDepthParams.py
+FreeCAD/Mod/CAM/CAMTests/TestPathDressupArray.py
+FreeCAD/Mod/CAM/CAMTests/TestPathDressupDogbone.py
+FreeCAD/Mod/CAM/CAMTests/TestPathDressupDogboneII.py
+FreeCAD/Mod/CAM/CAMTests/TestPathDressupHoldingTags.py
+FreeCAD/Mod/CAM/CAMTests/TestPathDrillGenerator.py
+FreeCAD/Mod/CAM/CAMTests/TestPathDrillable.py
+FreeCAD/Mod/CAM/CAMTests/TestPathGeneratorDogboneII.py
+FreeCAD/Mod/CAM/CAMTests/TestPathGeom.py
+FreeCAD/Mod/CAM/CAMTests/TestPathHelix.py
+FreeCAD/Mod/CAM/CAMTests/TestPathHelixGenerator.py
+FreeCAD/Mod/CAM/CAMTests/TestPathHelpers.py
+FreeCAD/Mod/CAM/CAMTests/TestPathLanguage.py
+FreeCAD/Mod/CAM/CAMTests/TestPathLog.py
+FreeCAD/Mod/CAM/CAMTests/TestPathOpDeburr.py
+FreeCAD/Mod/CAM/CAMTests/TestPathOpUtil.py
+FreeCAD/Mod/CAM/CAMTests/TestPathPost.py
+FreeCAD/Mod/CAM/CAMTests/TestPathPreferences.py
+FreeCAD/Mod/CAM/CAMTests/TestPathProfile.py
+FreeCAD/Mod/CAM/CAMTests/TestPathPropertyBag.py
+FreeCAD/Mod/CAM/CAMTests/TestPathRotationGenerator.py
+FreeCAD/Mod/CAM/CAMTests/TestPathSetupSheet.py
+FreeCAD/Mod/CAM/CAMTests/TestPathStock.py
+FreeCAD/Mod/CAM/CAMTests/TestPathTapGenerator.py
+FreeCAD/Mod/CAM/CAMTests/TestPathThreadMilling.py
+FreeCAD/Mod/CAM/CAMTests/TestPathThreadMillingGenerator.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolAsset.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolAssetCache.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolAssetManager.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolAssetStore.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolAssetUri.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolBit.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolBitBrowserWidget.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolBitEditorWidget.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolBitListWidget.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolBitPropertyEditorWidget.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolBitSerializer.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolChangeGenerator.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolController.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolDocumentObjectEditorWidget.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolLibrary.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolLibrarySerializer.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolMachine.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolShapeClasses.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolShapeDoc.py
+FreeCAD/Mod/CAM/CAMTests/TestPathToolShapeIcon.py
+FreeCAD/Mod/CAM/CAMTests/TestPathUtil.py
+FreeCAD/Mod/CAM/CAMTests/TestPathVcarve.py
+FreeCAD/Mod/CAM/CAMTests/TestPathVoronoi.py
+FreeCAD/Mod/CAM/CAMTests/TestRefactoredCentroidPost.py
+FreeCAD/Mod/CAM/CAMTests/TestRefactoredGrblPost.py
+FreeCAD/Mod/CAM/CAMTests/TestRefactoredLinuxCNCPost.py
+FreeCAD/Mod/CAM/CAMTests/TestRefactoredMach3Mach4Post.py
+FreeCAD/Mod/CAM/CAMTests/TestRefactoredMassoG3Post.py
+FreeCAD/Mod/CAM/CAMTests/TestRefactoredTestDressupPost.py
+FreeCAD/Mod/CAM/CAMTests/TestRefactoredTestPost.py
+FreeCAD/Mod/CAM/CAMTests/TestRefactoredTestPostGCodes.py
+FreeCAD/Mod/CAM/CAMTests/TestRefactoredTestPostMCodes.py
+FreeCAD/Mod/CAM/CAMTests/TestSnapmakerPost.py
+FreeCAD/Mod/CAM/CAMTests/Tools/Bit/test-path-tool-bit-bit-00.fctb
+FreeCAD/Mod/CAM/CAMTests/Tools/Library/test-path-tool-bit-library-00.fctl
+FreeCAD/Mod/CAM/CAMTests/Tools/Shape/test-path-tool-bit-shape-00.fcstd
+FreeCAD/Mod/CAM/CAMTests/__init__.py
+FreeCAD/Mod/CAM/CAMTests/boxtest.fcstd
+FreeCAD/Mod/CAM/CAMTests/boxtest1.fcstd
+FreeCAD/Mod/CAM/CAMTests/dressuptest.FCStd
+FreeCAD/Mod/CAM/CAMTests/drill_test1.FCStd
+FreeCAD/Mod/CAM/CAMTests/test-path-tool-bit-bit-00.fctb
+FreeCAD/Mod/CAM/CAMTests/test-path-tool-bit-library-00.fctl
+FreeCAD/Mod/CAM/CAMTests/test-path-tool-bit-shape-00.fcstd
+FreeCAD/Mod/CAM/CAMTests/test_adaptive.fcstd
+FreeCAD/Mod/CAM/CAMTests/test_centroid_00.ngc
+FreeCAD/Mod/CAM/CAMTests/test_filenaming.fcstd
+FreeCAD/Mod/CAM/CAMTests/test_geomop.fcstd
+FreeCAD/Mod/CAM/CAMTests/test_holes00.fcstd
+FreeCAD/Mod/CAM/CAMTests/test_profile.fcstd
+FreeCAD/Mod/CAM/Data/Threads/imperial-external-2A.csv
+FreeCAD/Mod/CAM/Data/Threads/imperial-external-3A.csv
+FreeCAD/Mod/CAM/Data/Threads/imperial-internal-2B.csv
+FreeCAD/Mod/CAM/Data/Threads/imperial-internal-3B.csv
+FreeCAD/Mod/CAM/Data/Threads/metric-external-4G6G.csv
+FreeCAD/Mod/CAM/Data/Threads/metric-external-6G.csv
+FreeCAD/Mod/CAM/Data/Threads/metric-internal-6H.csv
+FreeCAD/Mod/CAM/Images/Ops/chamfer.svg
+FreeCAD/Mod/CAM/Init.py
+FreeCAD/Mod/CAM/InitGui.py
+FreeCAD/Mod/CAM/Path/Base/Drillable.py
+FreeCAD/Mod/CAM/Path/Base/FeedRate.py
+FreeCAD/Mod/CAM/Path/Base/Generator/dogboneII.py
+FreeCAD/Mod/CAM/Path/Base/Generator/drill.py
+FreeCAD/Mod/CAM/Path/Base/Generator/helix.py
+FreeCAD/Mod/CAM/Path/Base/Generator/rotation.py
+FreeCAD/Mod/CAM/Path/Base/Generator/tapping.py
+FreeCAD/Mod/CAM/Path/Base/Generator/threadmilling.py
+FreeCAD/Mod/CAM/Path/Base/Generator/toolchange.py
+FreeCAD/Mod/CAM/Path/Base/Gui/GetPoint.py
+FreeCAD/Mod/CAM/Path/Base/Gui/IconViewProvider.py
+FreeCAD/Mod/CAM/Path/Base/Gui/PreferencesAdvanced.py
+FreeCAD/Mod/CAM/Path/Base/Gui/PropertyBag.py
+FreeCAD/Mod/CAM/Path/Base/Gui/PropertyEditor.py
+FreeCAD/Mod/CAM/Path/Base/Gui/SetupSheet.py
+FreeCAD/Mod/CAM/Path/Base/Gui/SetupSheetOpPrototype.py
+FreeCAD/Mod/CAM/Path/Base/Gui/Util.py
+FreeCAD/Mod/CAM/Path/Base/Gui/__init__.py
+FreeCAD/Mod/CAM/Path/Base/Language.py
+FreeCAD/Mod/CAM/Path/Base/MachineState.py
+FreeCAD/Mod/CAM/Path/Base/Property.py
+FreeCAD/Mod/CAM/Path/Base/PropertyBag.py
+FreeCAD/Mod/CAM/Path/Base/SetupSheet.py
+FreeCAD/Mod/CAM/Path/Base/SetupSheetOpPrototype.py
+FreeCAD/Mod/CAM/Path/Base/Util.py
+FreeCAD/Mod/CAM/Path/Base/__init__.py
+FreeCAD/Mod/CAM/Path/Dressup/Array.py
+FreeCAD/Mod/CAM/Path/Dressup/Boundary.py
+FreeCAD/Mod/CAM/Path/Dressup/DogboneII.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/Array.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/AxisMap.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/Boundary.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/Dogbone.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/DogboneII.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/Dragknife.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/LeadInOut.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/Preferences.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/RampEntry.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/TagPreferences.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/Tags.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/ZCorrect.py
+FreeCAD/Mod/CAM/Path/Dressup/Gui/__init__.py
+FreeCAD/Mod/CAM/Path/Dressup/Tags.py
+FreeCAD/Mod/CAM/Path/Dressup/Utils.py
+FreeCAD/Mod/CAM/Path/Dressup/__init__.py
+FreeCAD/Mod/CAM/Path/Geom.py
+FreeCAD/Mod/CAM/Path/GuiInit.py
+FreeCAD/Mod/CAM/Path/Log.py
+FreeCAD/Mod/CAM/Path/Main/Gui/Camotics.py
+FreeCAD/Mod/CAM/Path/Main/Gui/Fixture.py
+FreeCAD/Mod/CAM/Path/Main/Gui/Inspect.py
+FreeCAD/Mod/CAM/Path/Main/Gui/Job.py
+FreeCAD/Mod/CAM/Path/Main/Gui/JobCmd.py
+FreeCAD/Mod/CAM/Path/Main/Gui/JobDlg.py
+FreeCAD/Mod/CAM/Path/Main/Gui/PreferencesJob.py
+FreeCAD/Mod/CAM/Path/Main/Gui/SanityCmd.py
+FreeCAD/Mod/CAM/Path/Main/Gui/Simulator.py
+FreeCAD/Mod/CAM/Path/Main/Gui/SimulatorGL.py
+FreeCAD/Mod/CAM/Path/Main/Gui/__init__.py
+FreeCAD/Mod/CAM/Path/Main/Job.py
+FreeCAD/Mod/CAM/Path/Main/Sanity/HTMLTemplate.py
+FreeCAD/Mod/CAM/Path/Main/Sanity/ImageBuilder.py
+FreeCAD/Mod/CAM/Path/Main/Sanity/ReportGenerator.py
+FreeCAD/Mod/CAM/Path/Main/Sanity/Sanity.py
+FreeCAD/Mod/CAM/Path/Main/Sanity/Sanity_Bulb.svg
+FreeCAD/Mod/CAM/Path/Main/Sanity/Sanity_Caution.svg
+FreeCAD/Mod/CAM/Path/Main/Sanity/Sanity_Note.svg
+FreeCAD/Mod/CAM/Path/Main/Sanity/Sanity_Warning.svg
+FreeCAD/Mod/CAM/Path/Main/Stock.py
+FreeCAD/Mod/CAM/Path/Main/__init__.py
+FreeCAD/Mod/CAM/Path/Op/Adaptive.py
+FreeCAD/Mod/CAM/Path/Op/Area.py
+FreeCAD/Mod/CAM/Path/Op/Base.py
+FreeCAD/Mod/CAM/Path/Op/CircularHoleBase.py
+FreeCAD/Mod/CAM/Path/Op/Custom.py
+FreeCAD/Mod/CAM/Path/Op/Deburr.py
+FreeCAD/Mod/CAM/Path/Op/Drilling.py
+FreeCAD/Mod/CAM/Path/Op/Engrave.py
+FreeCAD/Mod/CAM/Path/Op/EngraveBase.py
+FreeCAD/Mod/CAM/Path/Op/FeatureExtension.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Adaptive.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Array.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Base.py
+FreeCAD/Mod/CAM/Path/Op/Gui/CircularHoleBase.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Comment.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Copy.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Custom.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Deburr.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Drilling.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Engrave.py
+FreeCAD/Mod/CAM/Path/Op/Gui/FeatureExtension.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Helix.py
+FreeCAD/Mod/CAM/Path/Op/Gui/MillFace.py
+FreeCAD/Mod/CAM/Path/Op/Gui/PathShapeTC.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Pocket.py
+FreeCAD/Mod/CAM/Path/Op/Gui/PocketBase.py
+FreeCAD/Mod/CAM/Path/Op/Gui/PocketShape.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Probe.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Profile.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Selection.py
+FreeCAD/Mod/CAM/Path/Op/Gui/SimpleCopy.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Slot.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Stop.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Surface.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Tapping.py
+FreeCAD/Mod/CAM/Path/Op/Gui/ThreadMilling.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Vcarve.py
+FreeCAD/Mod/CAM/Path/Op/Gui/Waterline.py
+FreeCAD/Mod/CAM/Path/Op/Gui/__init__.py
+FreeCAD/Mod/CAM/Path/Op/Helix.py
+FreeCAD/Mod/CAM/Path/Op/MillFace.py
+FreeCAD/Mod/CAM/Path/Op/Pocket.py
+FreeCAD/Mod/CAM/Path/Op/PocketBase.py
*** 2955 LINES SKIPPED ***