Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Sep 2024 19:04:48 GMT
From:      Christoph Moench-Tegeder <cmt@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 078cb3bc84c7 - main - cad/FreeCAD: update to 1.0rc1
Message-ID:  <202409221904.48MJ4mKD072098@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by cmt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=078cb3bc84c761464daf1f93ca3f05f03f3ba228

commit 078cb3bc84c761464daf1f93ca3f05f03f3ba228
Author:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
AuthorDate: 2024-09-22 19:01:22 +0000
Commit:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
CommitDate: 2024-09-22 19:03:39 +0000

    cad/FreeCAD: update to 1.0rc1
    
    newer (and less messy) than the snapshot before.
    
    Release Notes (WIP):
      https://wiki.freecad.org/Release_notes_1.0
    
    PR:             280391
    Reported By:    jwb
---
 cad/freecad/Makefile                               |   38 +-
 cad/freecad/distinfo                               |    6 +-
 ...h-cMake_FreeCAD__Helpers_SetupSalomeSMESH.cmake |   11 -
 .../files/patch-src_Gui_SoFCCSysDragger.cpp        |   31 -
 cad/freecad/files/patch-src_Mod_Gui_StartView.cpp  |   25 +
 .../patch-src_Mod_Material_Gui_CMakeLists.txt      |   22 +
 .../patch-src_Mod_MeshPart_App_CMakeLists.txt      |    8 +-
 .../files/patch-src_Mod_Part_App_Geometry2d.cpp    |  101 --
 .../patch-src_Tools_plugins_widget_CMakeLists.txt  |   21 +
 cad/freecad/pkg-plist                              | 1462 ++++++++++++--------
 10 files changed, 971 insertions(+), 754 deletions(-)

diff --git a/cad/freecad/Makefile b/cad/freecad/Makefile
index f30f78ef0ed9..359a0b15a99d 100644
--- a/cad/freecad/Makefile
+++ b/cad/freecad/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	FreeCAD
-DISTVERSION=	0.21.2
-PORTREVISION=	6
+DISTVERSION=	1.0rc1
 CATEGORIES=	cad
 
 MAINTAINER=	cmt@FreeBSD.org
@@ -12,17 +11,20 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 
 BUILD_DEPENDS=	doxygen:devel/doxygen \
 		pybind11-config:devel/py-pybind11@${PY_FLAVOR} \
-		pyside_tool.py:devel/pyside2-tools@${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} \
 		${PYTHON_INCLUDEDIR}/CXX/Config.hxx:devel/py-cxx \
+		microsoft-gsl>0:devel/microsoft-gsl \
+		googletest>0:devel/googletest \
 		swig:devel/swig
+# the ffmpeg4 dependency is inherited via cad/opencascade
 LIB_DEPENDS=	libexpat.so:textproc/expat2 \
 		libyaml-cpp.so:devel/yaml-cpp \
 		libfreetype.so:print/freetype2 \
 		libtbb.so:devel/onetbb \
 		${PY_BOOST} \
-		libpyside2.cpython-${PYTHON_SUFFIX}${PYTHON_ABIVER}.so:devel/pyside2@${PY_FLAVOR} \
+		libpyside6.abi3.so:devel/pyside6@${PY_FLAVOR} \
 		libCoin.so:graphics/Coin \
 		libfmt.so:devel/libfmt \
 		libpng.so:graphics/png \
@@ -33,24 +35,23 @@ LIB_DEPENDS=	libexpat.so:textproc/expat2 \
 		libboost_thread.so:devel/boost-libs \
 		libfontconfig.so:x11-fonts/fontconfig \
 		libfreeimage.so:graphics/freeimage \
-		libavutil.so:multimedia/ffmpeg4 \
+		libavutil.so.58:multimedia/ffmpeg \
+		libavformat.so.58:multimedia/ffmpeg4 \
 		libmed.so:french/med \
-		libshiboken2.cpython-${PYTHON_SUFFIX}${PYTHON_ABIVER}.so:devel/shiboken2@${PY_FLAVOR} \
+		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++17-lang cmake cpe gl eigen:3 fortran gmake jpeg \
-		localbase:ldflags mpi:openmpi pkgconfig python localbase qt:5 xorg \
+		localbase:ldflags mpi:openmpi pkgconfig python localbase qt:6 xorg \
 		desktop-file-utils shared-mime-info shebangfix
 USE_GITHUB=	yes
-GH_TAGNAME=	8abd09398a010337c3b294e687e0666b60bceacf # PR #11909 Add support for OCCT 7.8.0
+GH_TAGNAME=	${DISTVERSION}
 USE_XORG=	ice sm x11 xext xt
 USE_GL=		gl glu
-USE_QT=		buildtools concurrent core declarative designer gui \
-		linguisttools location network opengl printsupport \
-		qmake:build svg webchannel widgets xml xmlpatterns
+USE_QT=		base declarative location svg tools webchannel
 USE_LDCONFIG=	yes
 
 CPE_VENDOR=	freecad_project
@@ -63,7 +64,7 @@ SHEBANG_FILES=	src/Tools/freecad-thumbnailer
 # 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" \
-		-DBUILD_QT5="ON" \
+		-DFREECAD_QT_VERSION="6" \
 		-DPYTHON_LIBRARY="${PYTHONBASE}/lib/libpython${PYTHON_VER}${PYTHON_ABIVER}.so" \
 		-DPYTHON_INCLUDE_DIR="${PYTHON_INCLUDEDIR}" \
 		-DPYTHON_PACKAGES_PATH="${PYTHON_SITELIBDIR}" \
@@ -72,7 +73,10 @@ CMAKE_ARGS+=	-DOCC_INCLUDE_DIR="${LOCALBASE}/include/OpenCASCADE" \
 		-DBUILD_ASSEMBLY="OFF" \
 		-DBUILD_DESIGNER_PLUGIN="ON" \
 		-DBUILD_FLAT_MESH="ON" \
+		-DBUILD_TEST="OFF" \
+		-DENABLE_DEVELOPER_TESTS="OFF" \
 		-DBUILD_VR="OFF" \
+		-DFREECAD_LIBPACK_USE="OFF" \
 		-DFREECAD_USE_EXTERNAL_FMT="ON" \
 		-DFREECAD_CREATE_MAC_APP="OFF" \
 		-DFREECAD_FREECAD_LIBPACK_USE="OFF" \
@@ -80,6 +84,8 @@ CMAKE_ARGS+=	-DOCC_INCLUDE_DIR="${LOCALBASE}/include/OpenCASCADE" \
 		-DFREECAD_USE_EXTERNAL_SMESH="OFF" \
 		-DFREECAD_USE_FREETYPE="ON" \
 		-DFREECAD_USE_PYBIND11="ON" \
+		-DUSE_CUDA="OFF" \
+		-DUSE_OPENCV="OFF" \
 		-Dpybind11_DIR="${PYTHON_SITELIBDIR}/pybind11/share/cmake/pybind11" \
 		-DHDF5_CFLAGS="-I${LOCALBASE}/include" \
 		-DHDF5_FOUND=TRUE \
@@ -87,14 +93,10 @@ CMAKE_ARGS+=	-DOCC_INCLUDE_DIR="${LOCALBASE}/include/OpenCASCADE" \
 		-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++17
-
+		-DBUILD_ENABLE_CXX_STD=C++17 \
+		-DXDG_DATADIR="${PREFIX}/share"
 
 CMAKE_INSTALL_PREFIX=	${PREFIX}/${PORTNAME}
-# Install XDG icons and files to the standard path
-CMAKE_ARGS+=	-DXDG_DATADIR="${PREFIX}/share"
 
 OPTIONS_DEFINE=	COLLADA
 
diff --git a/cad/freecad/distinfo b/cad/freecad/distinfo
index edad602088c9..f426020c92f9 100644
--- a/cad/freecad/distinfo
+++ b/cad/freecad/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1710958473
-SHA256 (FreeCAD-FreeCAD-0.21.2-8abd09398a010337c3b294e687e0666b60bceacf_GH0.tar.gz) = 05023d52a60b01d5c108a71279d21eb1c1b50db169016b0510ef39c7bbb2361d
-SIZE (FreeCAD-FreeCAD-0.21.2-8abd09398a010337c3b294e687e0666b60bceacf_GH0.tar.gz) = 67392556
+TIMESTAMP = 1726945270
+SHA256 (FreeCAD-FreeCAD-1.0rc1_GH0.tar.gz) = 33ad59dcd268557cab14053987aefafb22c70b47e43c0d19a955762b0f4d7c03
+SIZE (FreeCAD-FreeCAD-1.0rc1_GH0.tar.gz) = 88552055
diff --git a/cad/freecad/files/patch-cMake_FreeCAD__Helpers_SetupSalomeSMESH.cmake b/cad/freecad/files/patch-cMake_FreeCAD__Helpers_SetupSalomeSMESH.cmake
deleted file mode 100644
index 88153f41bffc..000000000000
--- a/cad/freecad/files/patch-cMake_FreeCAD__Helpers_SetupSalomeSMESH.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
---- cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake.orig	2024-01-10 01:47:25 UTC
-+++ cMake/FreeCAD_Helpers/SetupSalomeSMESH.cmake
-@@ -26,7 +26,7 @@ macro(SetupSalomeSMESH)
- 
-         # check which modules are available
-         if(UNIX OR WIN32)
--            find_package(VTK COMPONENTS vtkCommonCore REQUIRED NO_MODULE)
-+            find_package(VTK COMPONENTS CommonCore REQUIRED NO_MODULE)
-             if(${VTK_MAJOR_VERSION} LESS 9)
-                 list(APPEND VTK_COMPONENTS vtkIOMPIParallel vtkParallelMPI vtkhdf5 vtkFiltersParallelDIY2 vtkRenderingCore vtkInteractionStyle vtkRenderingFreeType vtkRenderingOpenGL2)
-                 foreach(_module ${VTK_COMPONENTS})
diff --git a/cad/freecad/files/patch-src_Gui_SoFCCSysDragger.cpp b/cad/freecad/files/patch-src_Gui_SoFCCSysDragger.cpp
deleted file mode 100644
index 7cdf23e5e50f..000000000000
--- a/cad/freecad/files/patch-src_Gui_SoFCCSysDragger.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
---- src/Gui/SoFCCSysDragger.cpp.orig	2024-03-20 18:17:18 UTC
-+++ src/Gui/SoFCCSysDragger.cpp
-@@ -94,7 +94,7 @@ TDragger::TDragger()
- {
-     SO_KIT_CONSTRUCTOR(TDragger);
- 
--#if defined(Q_OS_MAC)
-+#if defined(Q_OS_MAC) || defined(Q_OS_FREEBSD)
-     this->ref();
- #endif
- 
-@@ -696,7 +696,7 @@ RDragger::RDragger()
- RDragger::RDragger()
- {
-     SO_KIT_CONSTRUCTOR(RDragger);
--#if defined(Q_OS_MAC)
-+#if defined(Q_OS_MAC) || defined(Q_OS_FREEBSD)
-     this->ref();
- #endif
- 
-@@ -1005,6 +1005,10 @@ SoFCCSysDragger::SoFCCSysDragger()
-     : axisScale(1.0f, 1.0f, 1.0f)
- {
-     SO_KIT_CONSTRUCTOR(SoFCCSysDragger);
-+
-+#if defined(Q_OS_MAC) || defined(Q_OS_FREEBSD)
-+    this->ref();
-+#endif
- 
-     SO_KIT_ADD_CATALOG_ENTRY(annotation, SoAnnotation, TRUE, geomSeparator, "", TRUE);
-     SO_KIT_ADD_CATALOG_ENTRY(scaleNode, SoScale, TRUE, annotation, "", TRUE);
diff --git a/cad/freecad/files/patch-src_Mod_Gui_StartView.cpp b/cad/freecad/files/patch-src_Mod_Gui_StartView.cpp
new file mode 100644
index 000000000000..bb054fec6995
--- /dev/null
+++ b/cad/freecad/files/patch-src_Mod_Gui_StartView.cpp
@@ -0,0 +1,25 @@
+commit 0946c6880def66bc0c611dad37140da3f126a6c3
+Author: wmayer <wmayer@freecad.org>
+Date:   Wed Sep 11 16:53:08 2024 +0200
+
+    StartPage: Make sure to pass a container widget to the QScrollArea
+    
+    Fixes #16047: FreeBSD: Segfault in StartView::firstStartWidgetDismissed
+
+diff --git src/Mod/Start/Gui/StartView.cpp src/Mod/Start/Gui/StartView.cpp
+index 4667c8db72..086cec7c35 100644
+--- src/Mod/Start/Gui/StartView.cpp
++++ src/Mod/Start/Gui/StartView.cpp
+@@ -117,7 +117,11 @@ StartView::StartView(QWidget* parent)
+ 
+     // First start page
+     auto firstStartScrollArea = gsl::owner<QScrollArea*>(new QScrollArea());
+-    auto firstStartRegion = gsl::owner<QHBoxLayout*>(new QHBoxLayout(firstStartScrollArea));
++    auto firstStartScrollWidget = gsl::owner<QWidget*>(new QWidget(firstStartScrollArea));
++    firstStartScrollArea->setWidget(firstStartScrollWidget);
++    firstStartScrollArea->setWidgetResizable(true);
++
++    auto firstStartRegion = gsl::owner<QHBoxLayout*>(new QHBoxLayout(firstStartScrollWidget));
+     firstStartRegion->addStretch();
+     auto firstStartWidget = gsl::owner<FirstStartWidget*>(new FirstStartWidget(this));
+     connect(firstStartWidget,
diff --git a/cad/freecad/files/patch-src_Mod_Material_Gui_CMakeLists.txt b/cad/freecad/files/patch-src_Mod_Material_Gui_CMakeLists.txt
new file mode 100644
index 000000000000..e1d90495ffcb
--- /dev/null
+++ b/cad/freecad/files/patch-src_Mod_Material_Gui_CMakeLists.txt
@@ -0,0 +1,22 @@
+commit 448306c93760c0304ab1f74ff1fc4173c542fd60
+Author: Christoph Moench-Tegeder <cmt@burggraben.net>
+Date:   Sun Sep 22 01:40:21 2024 +0200
+
+    fix installation path
+
+diff --git src/Mod/Material/Gui/CMakeLists.txt src/Mod/Material/Gui/CMakeLists.txt
+index a33c503e90..e9804543d1 100644
+--- src/Mod/Material/Gui/CMakeLists.txt
++++ src/Mod/Material/Gui/CMakeLists.txt
+@@ -169,9 +169,9 @@ SET_PYTHON_PREFIX_SUFFIX(MatGui)
+ 
+ fc_copy_sources(MatGui "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/Material" ${MatGuiIcon_SVG})
+ fc_copy_sources(MatGui "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/Material" ${MatGuiImages})
+-fc_copy_sources(MatGui "${CMAKE_BINARY_DIR}/Mod/Material" ${Material_Ui_Files})
++fc_copy_sources(MatGui "${CMAKE_BINARY_DIR}/Mod/Material" ${Material_Ui_Files})
+ 
+ INSTALL(TARGETS MatGui DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ INSTALL(FILES ${MatGuiIcon_SVG} DESTINATION "${CMAKE_INSTALL_DATADIR}/Mod/Material/Resources/icons")
+ INSTALL(FILES ${MatGuiImages} DESTINATION "${CMAKE_INSTALL_DATADIR}/Mod/Material/Resources/images")
+-INSTALL(FILES ${Material_Ui_Files} DESTINATION "${CMAKE_BINARY_DIR}/Mod/Material/Resources/ui")
++INSTALL(FILES ${Material_Ui_Files} DESTINATION "Mod/Material/Resources/ui")
diff --git a/cad/freecad/files/patch-src_Mod_MeshPart_App_CMakeLists.txt b/cad/freecad/files/patch-src_Mod_MeshPart_App_CMakeLists.txt
index afd5191ccffe..308c93026b33 100644
--- a/cad/freecad/files/patch-src_Mod_MeshPart_App_CMakeLists.txt
+++ b/cad/freecad/files/patch-src_Mod_MeshPart_App_CMakeLists.txt
@@ -1,12 +1,12 @@
 diff --git src/Mod/MeshPart/App/CMakeLists.txt src/Mod/MeshPart/App/CMakeLists.txt
-index 6ee9deb4eb..6fb25015e3 100644
+index 11a84e1a13..d78fc8a197 100644
 --- src/Mod/MeshPart/App/CMakeLists.txt
 +++ src/Mod/MeshPart/App/CMakeLists.txt
-@@ -21,6 +21,7 @@ include_directories(
-     ${PYTHON_INCLUDE_DIRS}
+@@ -19,6 +19,7 @@ include_directories(
      ${SMESH_INCLUDE_DIR}
      ${VTK_INCLUDE_DIRS}
-+    ${pybind11_INCLUDE_DIR}
      ${EIGEN3_INCLUDE_DIR}
++    ${pybind11_INCLUDE_DIR}
  )
  
+ 
diff --git a/cad/freecad/files/patch-src_Mod_Part_App_Geometry2d.cpp b/cad/freecad/files/patch-src_Mod_Part_App_Geometry2d.cpp
deleted file mode 100644
index f03a01f1e4e1..000000000000
--- a/cad/freecad/files/patch-src_Mod_Part_App_Geometry2d.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
---- src/Mod/Part/App/Geometry2d.cpp.orig	2019-10-04 10:33:33 UTC
-+++ src/Mod/Part/App/Geometry2d.cpp
-@@ -183,7 +183,7 @@ void Geom2dPoint::Save(Base::Writer &writer) const
-         << "<Geom2dPoint "
-         << "X=\"" << Point.x << "\" "
-         << "Y=\"" << Point.y << "\" "
--        << "/>" << endl;
-+        << "/>" << std::endl;
- }
- 
- void Geom2dPoint::Restore(Base::XMLReader &reader)
-@@ -875,7 +875,7 @@ void Geom2dCircle::Save(Base::Writer& writer) const
-     SaveAxis(writer, axis);
-     writer.Stream()
-         << "Radius=\"" << c.Radius() << "\" "
--        << "/>" << endl;
-+        << "/>" << std::endl;
- }
- 
- void Geom2dCircle::Restore(Base::XMLReader& reader)
-@@ -990,7 +990,7 @@ void Geom2dArcOfCircle::Save(Base::Writer &writer) con
-     SaveAxis(writer, axis, u, v);
-     writer.Stream()
-         << "Radius=\"" << c.Radius() << "\" "
--        << "/>" << endl;
-+        << "/>" << std::endl;
- }
- 
- void Geom2dArcOfCircle::Restore(Base::XMLReader &reader)
-@@ -1152,7 +1152,7 @@ void Geom2dEllipse::Save(Base::Writer& writer) const
-     writer.Stream()
-         << "MajorRadius=\"" << e.MajorRadius() << "\" "
-         << "MinorRadius=\"" << e.MinorRadius() << "\" "
--        << "/>" << endl;
-+        << "/>" << std::endl;
- }
- 
- void Geom2dEllipse::Restore(Base::XMLReader& reader)
-@@ -1329,7 +1329,7 @@ void Geom2dArcOfEllipse::Save(Base::Writer &writer) co
-     writer.Stream()
-         << "MajorRadius=\"" << e.MajorRadius() << "\" "
-         << "MinorRadius=\"" << e.MinorRadius() << "\" "
--        << "/>" << endl;
-+        << "/>" << std::endl;
- }
- 
- void Geom2dArcOfEllipse::Restore(Base::XMLReader &reader)
-@@ -1458,7 +1458,7 @@ void Geom2dHyperbola::Save(Base::Writer& writer) const
-     writer.Stream()
-         << "MajorRadius=\"" <<  h.MajorRadius() << "\" "
-         << "MinorRadius=\"" <<  h.MinorRadius() << "\" "
--        << "/>" << endl;
-+        << "/>" << std::endl;
- }
- 
- void Geom2dHyperbola::Restore(Base::XMLReader& reader)
-@@ -1591,7 +1591,7 @@ void Geom2dArcOfHyperbola::Save(Base::Writer &writer) 
-     writer.Stream()
-         << "MajorRadius=\"" <<  h.MajorRadius() << "\" "
-         << "MinorRadius=\"" <<  h.MinorRadius() << "\" "
--        << "/>" << endl;
-+        << "/>" << std::endl;
- }
- 
- void Geom2dArcOfHyperbola::Restore(Base::XMLReader &reader)
-@@ -1702,7 +1702,7 @@ void Geom2dParabola::Save(Base::Writer& writer) const
-     SaveAxis(writer, axis);
-     writer.Stream()
-         << "Focal=\"" << focal << "\" "
--        << "/>" << endl;
-+        << "/>" << std::endl;
- }
- 
- void Geom2dParabola::Restore(Base::XMLReader& reader)
-@@ -1815,7 +1815,7 @@ void Geom2dArcOfParabola::Save(Base::Writer &writer) c
-     SaveAxis(writer, axis, u, v);
-     writer.Stream()
-         << "Focal=\"" << focal << "\" "
--        << "/>" << endl;
-+        << "/>" << std::endl;
- }
- 
- void Geom2dArcOfParabola::Restore(Base::XMLReader &reader)
-@@ -1930,7 +1930,7 @@ void Geom2dLine::Save(Base::Writer &writer) const
-         << "PosY=\"" << Pos.y << "\" "
-         << "DirX=\"" << Dir.x << "\" "
-         << "DirY=\"" << Dir.y << "\" "
--        << "/>" << endl;
-+        << "/>" << std::endl;
- }
- 
- void Geom2dLine::Restore(Base::XMLReader &reader)
-@@ -2064,7 +2064,7 @@ void Geom2dLineSegment::Save(Base::Writer &writer) con
-         << "StartY=\"" << Start.y << "\" "
-         << "EndX=\"" << End.x << "\" "
-         << "EndY=\"" << End.y << "\" "
--        << "/>" << endl;
-+        << "/>" << std::endl;
- }
- 
- void Geom2dLineSegment::Restore(Base::XMLReader &reader)
diff --git a/cad/freecad/files/patch-src_Tools_plugins_widget_CMakeLists.txt b/cad/freecad/files/patch-src_Tools_plugins_widget_CMakeLists.txt
new file mode 100644
index 000000000000..3471c5ec4e69
--- /dev/null
+++ b/cad/freecad/files/patch-src_Tools_plugins_widget_CMakeLists.txt
@@ -0,0 +1,21 @@
+commit 22eb8cc0f4ffcc6e1e283d2d325b043f0f9fb625
+Author: Christoph Moench-Tegeder <cmt@burggraben.net>
+Date:   Sat Sep 21 21:58:31 2024 +0200
+
+    fix CMAKE CMP0153
+    
+    use execute_process() instead of exec_program()
+
+diff --git src/Tools/plugins/widget/CMakeLists.txt src/Tools/plugins/widget/CMakeLists.txt
+index d909c156a1..9052694f28 100644
+--- src/Tools/plugins/widget/CMakeLists.txt
++++ src/Tools/plugins/widget/CMakeLists.txt
+@@ -57,7 +57,7 @@ target_compile_options(FreeCAD_widgets PRIVATE ${COMPILE_OPTIONS})
+ 
+ # Get the install location of a plugin to determine the path to designer plguins
+ get_target_property(QMAKE_EXECUTABLE Qt${FREECAD_QT_MAJOR_VERSION}::qmake LOCATION)
+-exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_PLUGINS" RETURN_VALUE return_code OUTPUT_VARIABLE DEFAULT_QT_PLUGINS_DIR )
++execute_process(COMMAND ${QMAKE_EXECUTABLE} "-query" "QT_INSTALL_PLUGINS" RESULT_VARIABLE return_code OUTPUT_VARIABLE DEFAULT_QT_PLUGINS_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
+ set(DESIGNER_PLUGIN_LOCATION ${DEFAULT_QT_PLUGINS_DIR}/designer CACHE PATH "Path where the plugin will be installed to")
+ 
+ if (NOT IS_SUB_PROJECT)
diff --git a/cad/freecad/pkg-plist b/cad/freecad/pkg-plist
index b2f9d4d880cc..2639d7bd9011 100644
--- a/cad/freecad/pkg-plist
+++ b/cad/freecad/pkg-plist
@@ -2,6 +2,7 @@ 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
@@ -66,12 +67,24 @@ FreeCAD/Mod/AddonManager/AddonManagerTest/gui/test_workers_startup.py
 FreeCAD/Mod/AddonManager/AddonManagerTest/gui/test_workers_utility.py
 FreeCAD/Mod/AddonManager/AddonManagerTest/test_information.md
 FreeCAD/Mod/AddonManager/AddonManager_rc.py
+FreeCAD/Mod/AddonManager/AddonStats.py
 FreeCAD/Mod/AddonManager/Init.py
 FreeCAD/Mod/AddonManager/InitGui.py
 FreeCAD/Mod/AddonManager/NetworkManager.py
 FreeCAD/Mod/AddonManager/PythonDependencyUpdateDialog.ui
 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_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/add_toolbar_button_dialog.ui
 FreeCAD/Mod/AddonManager/addonmanager_cache.py
 FreeCAD/Mod/AddonManager/addonmanager_connection_checker.py
@@ -90,10 +103,14 @@ FreeCAD/Mod/AddonManager/addonmanager_freecad_interface.py
 FreeCAD/Mod/AddonManager/addonmanager_git.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_pyside_interface.py
+FreeCAD/Mod/AddonManager/addonmanager_readme_controller.py
 FreeCAD/Mod/AddonManager/addonmanager_uninstaller.py
 FreeCAD/Mod/AddonManager/addonmanager_uninstaller_gui.py
 FreeCAD/Mod/AddonManager/addonmanager_update_all_gui.py
@@ -104,6 +121,7 @@ FreeCAD/Mod/AddonManager/addonmanager_workers_utility.py
 FreeCAD/Mod/AddonManager/change_branch.py
 FreeCAD/Mod/AddonManager/change_branch.ui
 FreeCAD/Mod/AddonManager/compact_view.py
+FreeCAD/Mod/AddonManager/composite_view.py
 FreeCAD/Mod/AddonManager/dependency_resolution_dialog.ui
 FreeCAD/Mod/AddonManager/developer_mode.ui
 FreeCAD/Mod/AddonManager/developer_mode_add_content.ui
@@ -123,73 +141,448 @@ FreeCAD/Mod/AddonManager/first_run.ui
 FreeCAD/Mod/AddonManager/install_to_toolbar.py
 FreeCAD/Mod/AddonManager/loading.html
 FreeCAD/Mod/AddonManager/manage_python_dependencies.py
-FreeCAD/Mod/AddonManager/package_details.py
 FreeCAD/Mod/AddonManager/package_list.py
 FreeCAD/Mod/AddonManager/select_toolbar_dialog.ui
 FreeCAD/Mod/AddonManager/update_all.ui
-FreeCAD/Mod/Arch/Arch.py
-FreeCAD/Mod/Arch/ArchAxis.py
-FreeCAD/Mod/Arch/ArchAxisSystem.py
-FreeCAD/Mod/Arch/ArchBuilding.py
-FreeCAD/Mod/Arch/ArchBuildingPart.py
-FreeCAD/Mod/Arch/ArchCommands.py
-FreeCAD/Mod/Arch/ArchComponent.py
-FreeCAD/Mod/Arch/ArchCurtainWall.py
-FreeCAD/Mod/Arch/ArchCutPlane.py
-FreeCAD/Mod/Arch/ArchEquipment.py
-FreeCAD/Mod/Arch/ArchFence.py
-FreeCAD/Mod/Arch/ArchFloor.py
-FreeCAD/Mod/Arch/ArchFrame.py
-FreeCAD/Mod/Arch/ArchGrid.py
-FreeCAD/Mod/Arch/ArchIFC.py
-FreeCAD/Mod/Arch/ArchIFCSchema.py
-FreeCAD/Mod/Arch/ArchIFCView.py
-FreeCAD/Mod/Arch/ArchMaterial.py
-FreeCAD/Mod/Arch/ArchNesting.py
-FreeCAD/Mod/Arch/ArchPanel.py
-FreeCAD/Mod/Arch/ArchPipe.py
-FreeCAD/Mod/Arch/ArchPrecast.py
-FreeCAD/Mod/Arch/ArchProfile.py
-FreeCAD/Mod/Arch/ArchProject.py
-FreeCAD/Mod/Arch/ArchRebar.py
-FreeCAD/Mod/Arch/ArchReference.py
-FreeCAD/Mod/Arch/ArchRoof.py
-FreeCAD/Mod/Arch/ArchSchedule.py
-FreeCAD/Mod/Arch/ArchSectionPlane.py
-FreeCAD/Mod/Arch/ArchSite.py
-FreeCAD/Mod/Arch/ArchSketchObject.py
-FreeCAD/Mod/Arch/ArchSpace.py
-FreeCAD/Mod/Arch/ArchStairs.py
-FreeCAD/Mod/Arch/ArchStructure.py
-FreeCAD/Mod/Arch/ArchTruss.py
-FreeCAD/Mod/Arch/ArchVRM.py
-FreeCAD/Mod/Arch/ArchWall.py
-FreeCAD/Mod/Arch/ArchWindow.py
-FreeCAD/Mod/Arch/ArchWindowPresets.py
-FreeCAD/Mod/Arch/Arch_rc.py
-FreeCAD/Mod/Arch/Dice3DS/__init__.py
-FreeCAD/Mod/Arch/Dice3DS/dom3ds.py
-FreeCAD/Mod/Arch/Dice3DS/util.py
-FreeCAD/Mod/Arch/Init.py
-FreeCAD/Mod/Arch/InitGui.py
-FreeCAD/Mod/Arch/OfflineRenderingUtils.py
-FreeCAD/Mod/Arch/TestArch.py
-FreeCAD/Mod/Arch/exportIFC.py
-FreeCAD/Mod/Arch/exportIFCHelper.py
-FreeCAD/Mod/Arch/exportIFCStructuralTools.py
-FreeCAD/Mod/Arch/ifc_objects.py
-FreeCAD/Mod/Arch/ifc_viewproviders.py
-FreeCAD/Mod/Arch/import3DS.py
-FreeCAD/Mod/Arch/importDAE.py
-FreeCAD/Mod/Arch/importIFC.py
-FreeCAD/Mod/Arch/importIFCHelper.py
-FreeCAD/Mod/Arch/importIFClegacy.py
-FreeCAD/Mod/Arch/importIFCmulticore.py
-FreeCAD/Mod/Arch/importJSON.py
-FreeCAD/Mod/Arch/importOBJ.py
-FreeCAD/Mod/Arch/importSH3D.py
-FreeCAD/Mod/Arch/importSHP.py
-FreeCAD/Mod/Arch/importWebGL.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/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/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/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/importSHP.py
+FreeCAD/Mod/BIM/importers/importWebGL.py
+FreeCAD/Mod/BIM/nativeifc/__init__.py
+FreeCAD/Mod/BIM/nativeifc/ifc_commands.py
+FreeCAD/Mod/BIM/nativeifc/ifc_diff.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_viewproviders.py
+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/Images/Tools/drill.svg
+FreeCAD/Mod/CAM/Images/Tools/endmill.svg
+FreeCAD/Mod/CAM/Images/Tools/v-bit.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/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/Boundary.py
+FreeCAD/Mod/CAM/Path/Dressup/DogboneII.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/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/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
+FreeCAD/Mod/CAM/Path/Op/PocketShape.py
+FreeCAD/Mod/CAM/Path/Op/Probe.py
+FreeCAD/Mod/CAM/Path/Op/Profile.py
+FreeCAD/Mod/CAM/Path/Op/Slot.py
+FreeCAD/Mod/CAM/Path/Op/Surface.py
+FreeCAD/Mod/CAM/Path/Op/SurfaceSupport.py
+FreeCAD/Mod/CAM/Path/Op/ThreadMilling.py
+FreeCAD/Mod/CAM/Path/Op/Util.py
+FreeCAD/Mod/CAM/Path/Op/Vcarve.py
+FreeCAD/Mod/CAM/Path/Op/Waterline.py
+FreeCAD/Mod/CAM/Path/Op/__init__.py
+FreeCAD/Mod/CAM/Path/Post/Command.py
+FreeCAD/Mod/CAM/Path/Post/Processor.py
+FreeCAD/Mod/CAM/Path/Post/Utils.py
+FreeCAD/Mod/CAM/Path/Post/UtilsArguments.py
+FreeCAD/Mod/CAM/Path/Post/UtilsExport.py
+FreeCAD/Mod/CAM/Path/Post/UtilsParse.py
+FreeCAD/Mod/CAM/Path/Post/__init__.py
+FreeCAD/Mod/CAM/Path/Post/scripts/KineticNCBeamicon2_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/__init__.py
+FreeCAD/Mod/CAM/Path/Post/scripts/centroid_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/comparams_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/dxf_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/dynapath_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/estlcam_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/example_pre.py
+FreeCAD/Mod/CAM/Path/Post/scripts/fablin_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/fangling_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/fanuc_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/gcode_pre.py
+FreeCAD/Mod/CAM/Path/Post/scripts/generic_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/grbl_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/heidenhain_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/jtech_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/linuxcnc_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/mach3_mach4_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/marlin_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/nccad_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/opensbp_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/opensbp_pre.py
+FreeCAD/Mod/CAM/Path/Post/scripts/philips_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/refactored_centroid_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/refactored_grbl_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/refactored_linuxcnc_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/refactored_mach3_mach4_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/refactored_test_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/rml_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/rrf_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/slic3r_pre.py
+FreeCAD/Mod/CAM/Path/Post/scripts/smoothie_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/uccnc_post.py
+FreeCAD/Mod/CAM/Path/Post/scripts/wedm_post.py
+FreeCAD/Mod/CAM/Path/Preferences.py
+FreeCAD/Mod/CAM/Path/Tool/Bit.py
+FreeCAD/Mod/CAM/Path/Tool/Controller.py
+FreeCAD/Mod/CAM/Path/Tool/Gui/Bit.py
+FreeCAD/Mod/CAM/Path/Tool/Gui/BitCmd.py
+FreeCAD/Mod/CAM/Path/Tool/Gui/BitEdit.py
+FreeCAD/Mod/CAM/Path/Tool/Gui/BitLibrary.py
+FreeCAD/Mod/CAM/Path/Tool/Gui/BitLibraryCmd.py
+FreeCAD/Mod/CAM/Path/Tool/Gui/Controller.py
+FreeCAD/Mod/CAM/Path/Tool/Gui/__init__.py
+FreeCAD/Mod/CAM/Path/Tool/__init__.py
+FreeCAD/Mod/CAM/Path/__init__.py
+FreeCAD/Mod/CAM/PathCommands.py
+FreeCAD/Mod/CAM/PathPythonGui/__init__.py
+FreeCAD/Mod/CAM/PathPythonGui/simple_edit_panel.py
+FreeCAD/Mod/CAM/PathScripts/PathPropertyBag.py
+FreeCAD/Mod/CAM/PathScripts/PathPropertyBagGui.py
+FreeCAD/Mod/CAM/PathScripts/PathUtils.py
+FreeCAD/Mod/CAM/PathScripts/PathUtilsGui.py
+FreeCAD/Mod/CAM/PathScripts/__init__.py
+FreeCAD/Mod/CAM/TestCAMApp.py
+FreeCAD/Mod/CAM/Tests/Drilling_1.FCStd
+FreeCAD/Mod/CAM/Tests/FilePathTestUtils.py
+FreeCAD/Mod/CAM/Tests/PathTestUtils.py
+FreeCAD/Mod/CAM/Tests/TestCAMSanity.py
+FreeCAD/Mod/CAM/Tests/TestCentroidPost.py
+FreeCAD/Mod/CAM/Tests/TestGrblPost.py
+FreeCAD/Mod/CAM/Tests/TestLinuxCNCPost.py
+FreeCAD/Mod/CAM/Tests/TestMach3Mach4Post.py
+FreeCAD/Mod/CAM/Tests/TestPathAdaptive.py
+FreeCAD/Mod/CAM/Tests/TestPathCore.py
+FreeCAD/Mod/CAM/Tests/TestPathDepthParams.py
+FreeCAD/Mod/CAM/Tests/TestPathDressupDogbone.py
+FreeCAD/Mod/CAM/Tests/TestPathDressupDogboneII.py
+FreeCAD/Mod/CAM/Tests/TestPathDressupHoldingTags.py
+FreeCAD/Mod/CAM/Tests/TestPathDrillGenerator.py
+FreeCAD/Mod/CAM/Tests/TestPathDrillable.py
+FreeCAD/Mod/CAM/Tests/TestPathGeneratorDogboneII.py
+FreeCAD/Mod/CAM/Tests/TestPathGeom.py
+FreeCAD/Mod/CAM/Tests/TestPathHelix.py
+FreeCAD/Mod/CAM/Tests/TestPathHelixGenerator.py
+FreeCAD/Mod/CAM/Tests/TestPathHelpers.py
+FreeCAD/Mod/CAM/Tests/TestPathLanguage.py
+FreeCAD/Mod/CAM/Tests/TestPathLog.py
+FreeCAD/Mod/CAM/Tests/TestPathOpDeburr.py
+FreeCAD/Mod/CAM/Tests/TestPathOpUtil.py
+FreeCAD/Mod/CAM/Tests/TestPathPost.py
+FreeCAD/Mod/CAM/Tests/TestPathPreferences.py
+FreeCAD/Mod/CAM/Tests/TestPathProfile.py
+FreeCAD/Mod/CAM/Tests/TestPathPropertyBag.py
+FreeCAD/Mod/CAM/Tests/TestPathRotationGenerator.py
+FreeCAD/Mod/CAM/Tests/TestPathSetupSheet.py
+FreeCAD/Mod/CAM/Tests/TestPathStock.py
+FreeCAD/Mod/CAM/Tests/TestPathThreadMilling.py
+FreeCAD/Mod/CAM/Tests/TestPathThreadMillingGenerator.py
+FreeCAD/Mod/CAM/Tests/TestPathToolBit.py
+FreeCAD/Mod/CAM/Tests/TestPathToolChangeGenerator.py
+FreeCAD/Mod/CAM/Tests/TestPathToolController.py
+FreeCAD/Mod/CAM/Tests/TestPathUtil.py
+FreeCAD/Mod/CAM/Tests/TestPathVcarve.py
+FreeCAD/Mod/CAM/Tests/TestPathVoronoi.py
+FreeCAD/Mod/CAM/Tests/TestRefactoredCentroidPost.py
+FreeCAD/Mod/CAM/Tests/TestRefactoredGrblPost.py
+FreeCAD/Mod/CAM/Tests/TestRefactoredLinuxCNCPost.py
+FreeCAD/Mod/CAM/Tests/TestRefactoredMach3Mach4Post.py
+FreeCAD/Mod/CAM/Tests/TestRefactoredTestPost.py
+FreeCAD/Mod/CAM/Tests/TestRefactoredTestPostGCodes.py
+FreeCAD/Mod/CAM/Tests/TestRefactoredTestPostMCodes.py
+FreeCAD/Mod/CAM/Tests/Tools/Bit/test-path-tool-bit-bit-00.fctb
+FreeCAD/Mod/CAM/Tests/Tools/Library/test-path-tool-bit-library-00.fctl
+FreeCAD/Mod/CAM/Tests/Tools/Shape/test-path-tool-bit-shape-00.fcstd
+FreeCAD/Mod/CAM/Tests/__init__.py
+FreeCAD/Mod/CAM/Tests/boxtest.fcstd
+FreeCAD/Mod/CAM/Tests/boxtest1.fcstd
+FreeCAD/Mod/CAM/Tests/drill_test1.FCStd
+FreeCAD/Mod/CAM/Tests/test-path-tool-bit-bit-00.fctb
+FreeCAD/Mod/CAM/Tests/test-path-tool-bit-library-00.fctl
+FreeCAD/Mod/CAM/Tests/test-path-tool-bit-shape-00.fcstd
+FreeCAD/Mod/CAM/Tests/test_adaptive.fcstd
+FreeCAD/Mod/CAM/Tests/test_centroid_00.ngc
+FreeCAD/Mod/CAM/Tests/test_filenaming.fcstd
+FreeCAD/Mod/CAM/Tests/test_geomop.fcstd
+FreeCAD/Mod/CAM/Tests/test_holes00.fcstd
+FreeCAD/Mod/CAM/Tests/test_profile.fcstd
+FreeCAD/Mod/CAM/Tools/Bit/45degree_chamfer.fctb
+FreeCAD/Mod/CAM/Tools/Bit/5mm-thread-cutter.fctb
+FreeCAD/Mod/CAM/Tools/Bit/5mm_Drill.fctb
+FreeCAD/Mod/CAM/Tools/Bit/5mm_Endmill.fctb
+FreeCAD/Mod/CAM/Tools/Bit/60degree_Vbit.fctb
+FreeCAD/Mod/CAM/Tools/Bit/6mm_Ball_End.fctb
+FreeCAD/Mod/CAM/Tools/Bit/6mm_Bullnose.fctb
+FreeCAD/Mod/CAM/Tools/Bit/probe.fctb
+FreeCAD/Mod/CAM/Tools/Bit/slittingsaw.fctb
+FreeCAD/Mod/CAM/Tools/Library/Default.fctl
+FreeCAD/Mod/CAM/Tools/README.md
+FreeCAD/Mod/CAM/Tools/Shape/ballend.fcstd
+FreeCAD/Mod/CAM/Tools/Shape/bullnose.fcstd
+FreeCAD/Mod/CAM/Tools/Shape/chamfer.fcstd
+FreeCAD/Mod/CAM/Tools/Shape/dovetail.fcstd
*** 1287 LINES SKIPPED ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202409221904.48MJ4mKD072098>