diff --git a/backports/freecad/APKBUILD b/backports/freecad/APKBUILD new file mode 100644 index 0000000..8967ba7 --- /dev/null +++ b/backports/freecad/APKBUILD @@ -0,0 +1,80 @@ +# Contributor: Bryce Vandegrift +# Maintainer: Bryce Vandegrift +pkgname=freecad +pkgver=1.0.0 +_ondsel_ver="2e3659c4bce3e6885269e0cb3d640261b2a91108" +_gsl_ver="b39e7e4b0987859f5b19ff7686b149c916588658" +pkgrel=0 +pkgdesc="Open-source parametric 3D modeler" +url="https://www.freecad.org/" +# armv7, armhf, and aarch64: GL_MULTISAMPLE not declared +# s390x: blocked by opencascade-dev, vtk-dev, and freeimage-dev +# riscv64: blocked by py3-pivy, py3-pyside6, pyside6-dev, and py3-shiboken6 +arch="all !aarch64 !armhf !armv7 !s390x !riscv64" +license="LGPL-2.0-or-later" +depends="py3-pivy py3-matplotlib py3-pyside6" +makedepends=" + cmake + ninja + boost-dev + doxygen + python3-dev + xerces-c-dev + opencascade-dev + glew-dev + gtest-dev + vtk-dev + libmedc-dev + eigen-dev + coin-dev + libspnav-dev + pyside6-dev + py3-shiboken6 + py3-pivy + py3-matplotlib + swig + jsoncpp-dev + freeimage-dev + qt6-qtbase-dev + qt6-qtsvg-dev + qt6-qttools-dev + yaml-cpp-dev" +subpackages="$pkgname-doc $pkgname-dev" +options="!check" +source="$pkgname-$pkgver.tar.gz::https://github.com/FreeCAD/FreeCAD/archive/$pkgver.tar.gz + OndselSolver-$_ondsel_ver.tar.gz::https://github.com/Ondsel-Development/OndselSolver/archive/$_ondsel_ver.tar.gz + GSL-$_gsl_ver.tar.gz::https://github.com/microsoft/GSL/archive/$_gsl_ver.tar.gz + no-execinfo.patch" +builddir="$srcdir/FreeCAD-$pkgver" + +prepare() { + default_prepare + + cp -r $srcdir/OndselSolver-$_ondsel_ver/* $builddir/src/3rdParty/OndselSolver + cp -r $srcdir/GSL-$_gsl_ver/* $builddir/src/3rdParty/GSL +} + +build() { + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DFREECAD_QT_VERSION=6 \ + -DFREECAD_USE_EXTERNAL_PIVY=ON \ + -DBUILD_FLAT_MESH=ON \ + -DENABLE_DEVELOPER_TESTS=OFF \ + -DBUILD_TEST=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_DATAROOTDIR=/usr/share \ + -DCMAKE_INSTALL_DATADIR=/usr/share/$pkgname + ninja -C build +} + +package() { + DESTDIR="$pkgdir" ninja -C build install +} + +sha512sums=" +afc1079ea04fd5bb8135f8ad1012d9e4e05c8839dd0a4e00253eada58fe018f445c1200d1ca7ac9f268644c946cbf55b7b313dc3d6bd010f9da3a3334103b7db freecad-1.0.0.tar.gz +8b08a668c63b57a49b8d95308f31496c1bcb27a5fb024d2e6b9744bd2e4819e82c59f68a8b99cc1be3e2bdfcdf435da5e342afaff4f28d97a849f9c01736af89 OndselSolver-2e3659c4bce3e6885269e0cb3d640261b2a91108.tar.gz +01ae556b70f7b5b572d15a427a6a5e0e7a4047727958be4c61d7dd84fc3bc97aebeaebf60c48064c565884441605fca180d5fdc8c920d35b2a8874664c024b01 GSL-b39e7e4b0987859f5b19ff7686b149c916588658.tar.gz +2f190118bddbf2e070519d0244eafd15ae7919f9759f925f593ce43988a7f9ab023c50bec3768404926e8cc661e829f6a55bec5e9e58c58735c050338fbcec16 no-execinfo.patch +" diff --git a/user/freecad/no-execinfo.patch b/backports/freecad/no-execinfo.patch similarity index 56% rename from user/freecad/no-execinfo.patch rename to backports/freecad/no-execinfo.patch index 3e1c39c..9443301 100644 --- a/user/freecad/no-execinfo.patch +++ b/backports/freecad/no-execinfo.patch @@ -1,5 +1,15 @@ +From 9cd1f5e5b90ef2e17c61719ffdb2f6c43cbae185 Mon Sep 17 00:00:00 2001 +From: Bryce Vandegrift +Date: Sun, 24 Nov 2024 18:19:39 -0500 +Subject: [PATCH] Remove dependency on execinfo.h + +--- + .../salomesmesh/src/DriverSTL/Basics_Utils.cpp | 11 ----------- + src/App/Application.cpp | 1 - + 2 files changed, 12 deletions(-) + diff --git a/src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp b/src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp -index 23c5083..54c7ecf 100644 +index 23c5083fdf..5ea06ad3f4 100644 --- a/src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp +++ b/src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp @@ -29,7 +29,6 @@ @@ -10,14 +20,10 @@ index 23c5083..54c7ecf 100644 #endif -@@ -109,20 +108,7 @@ namespace Kernel_Utils - #ifndef WIN32 - void print_traceback() - { -- void *array[50]; -- size_t size; -- char **strings; -- size_t i; +@@ -113,16 +112,6 @@ namespace Kernel_Utils + size_t size; + char **strings; + size_t i; - - size = backtrace (array, 40); - strings = backtrace_symbols (array, size); @@ -28,15 +34,14 @@ index 23c5083..54c7ecf 100644 - } - - free (strings); -+ std::cerr << "there is no backtrace." << std::endl; } #else #if (_MSC_VER >= 1400) // Visual Studio 2005 diff --git a/src/App/Application.cpp b/src/App/Application.cpp -index 3081623..ba3525f 100644 +index 9384790627..9155c00d25 100644 --- a/src/App/Application.cpp +++ b/src/App/Application.cpp -@@ -1732,7 +1732,6 @@ static void freecadNewHandler () +@@ -1798,7 +1798,6 @@ static void freecadNewHandler () #endif #if defined(FC_OS_LINUX) @@ -44,3 +49,6 @@ index 3081623..ba3525f 100644 #include #include +-- +2.47.0 + diff --git a/user/freecad/APKBUILD b/user/freecad/APKBUILD deleted file mode 100644 index 30c9eb5..0000000 --- a/user/freecad/APKBUILD +++ /dev/null @@ -1,108 +0,0 @@ -# Contributor: Aiden Grossman -# Maintainer: Aiden Grossman -pkgname=freecad -pkgver=0.20.2 -pkgrel=5 -pkgdesc="Free and open source 3D parametric modeler" -url="https://freecadweb.org/" -license="LGPL-2.0-or-later" -arch="" # removed dependency py3-pyside2 -#arch="x86_64" # dependency OpenCascade is only x86_64 -depends=" - graphviz - hdf5 - opencascade - py3-matplotlib - py3-numpy - py3-pivy - py3-ply - py3-pyside2 - py3-six - py3-yaml - python3 - " -makedepends=" - boost-dev - cmake - coin-dev - doxygen - eigen-dev - freeimage-dev - glu-dev - hdf5-dev - libmedc-dev - libshiboken2-dev - onetbb-dev - opencascade-dev - py3-pyside2-dev - python3-dev - shiboken2 - qt5-qtsvg-dev - qt5-qtwebengine-dev - qt5-qtxmlpatterns-dev - samurai - swig - vtk-dev - xerces-c-dev - " -checkdepends="xvfb-run mesa mesa-dri-gallium font-opensans" -source="https://github.com/FreeCAD/FreeCAD/archive/$pkgver/freecad-$pkgver.tar.gz - $pkgname-python3.11-1.patch::https://github.com/FreeCAD/FreeCAD/commit/fe02d63c8c9b1280978be841d04e68a0a55cceb9.patch - numpy-1.20.patch - no-execinfo.patch - no-workaround-spnav.patch - resourceDirectory.patch - tests.patch - opencascade-7.8.0.patch - missing-include-cstdint.patch - " -builddir="$srcdir/FreeCAD-$pkgver" - -build() { - cmake -B build -G Ninja \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_FLAGS="$CFLAGS -fPIC -w" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS -fPIC -w" \ - -DCMAKE_INSTALL_PREFIX=/usr/lib/freecad \ - -DCMAKE_INSTALL_DATADIR=/usr/share/freecad \ - -DCMAKE_INSTALL_DATAROOTDIR=/usr/share \ - -DCMAKE_INSTALL_DOCDIR=/usr/share/freecad/doc \ - -DBUILD_ENABLE_CXX_STD=C++17 \ - -DBUILD_QT5=ON \ - -DFREECAD_USE_EXTERNAL_PIVY=ON \ - -DFREECAD_USE_OCC_VARIANT="Official Version" \ - -DFREECAD_USE_QT_FILEDIALOG=ON \ - -DPYTHON_EXECUTABLE=/usr/bin/python3 - cmake --build build -} - -check() { - DESTDIR=test_install cmake --install build - mkdir -p test_install/usr/bin - ln -s ../lib/freecad/bin/FreeCAD test_install/usr/bin/FreeCAD - ln -s ../lib/freecad/bin/FreeCADCmd test_install/usr/bin/FreeCADCmd - LD_LIBRARY_PATH="$PWD"/test_install/usr/lib/freecad/lib \ - xvfb-run "$PWD"/test_install/usr/bin/FreeCAD -t 0 -} - -package() { - DESTDIR="$pkgdir" cmake --install build - - # FreeCAD does not initialize correctly when binaries - # are located under /usr/bin; thus, symlinks are necessary. - install -d "$pkgdir"/usr/bin - ln -s /usr/lib/freecad/bin/FreeCAD "$pkgdir"/usr/bin/FreeCAD - ln -s /usr/lib/freecad/bin/FreeCADCmd "$pkgdir"/usr/bin/FreeCADCmd -} - -sha512sums=" -c3acd77dd2bb9a2a23ac354da3b6102effb89c95d675e91421d65486414dfe8cc0188a7212245e0deb63f17b9c5df76133017be09e4cd14b833be8cbec52a08d freecad-0.20.2.tar.gz -75a237f7ed7a89a98c0e5bdb3d3f0788749602daf718089aa0814e05f93ced1e15ad5867c7c87f170b48c5984f9ace1bbc95c4f386ce72bfb8d616323b47f1e5 freecad-python3.11-1.patch -80b08b031810fce7b6d698c662f64fa4f8a904f283f46b478b1d718529164c0ee61ce190f633abf04e03212720480f3f0603b0c1e160af79d7b6bb82da3bd0e4 numpy-1.20.patch -73aaba7015dce7048eb7d2456131b5b5ba4673cc980503331987be54d99daed5f61db015ca33d7d2ef0f02bd3192da8ce122c103c3b93f9959927deb4f0b933e no-execinfo.patch -15696bdaaf77482f1b5d3806535a8004c8cec7d598d62092d9f0394b4ca9e2ad6cedd77c4b86a83a06324d16678c1c6bbf3a390b807729717a2f513e858afd50 no-workaround-spnav.patch -8ba13b17bad66316757d180c1b9e9e72a24382627eac7c43a2264b3b5101e6e8f701775f2b805ed733f500fbcd8b0e8e422ec58a9ab3d948d613b666157d4c52 resourceDirectory.patch -5db19e0aa2ca1fd21f4c56afc9db54390a799262aaa0a741704c2c304b0068fd6ca1dcc086465e12e9c0cfe06aac750aaf9b8f5f4db324539af4dd3394803ff9 tests.patch -f933680dea8744e147f38abce389cb7fd0ec3fb3566454fdd5e6ea07b2faaac5fe61aabe1df3bda9f0d7b4fca16055aa2ad700e9cce10d2604ae37b761b68ade opencascade-7.8.0.patch -fec515cc63830f0e715527c7890173705b24e7d99d225821ec4300104cf3affdee49243bbd4d0a331a902cf04db756a1b8f18f0a17cc71f5757f8b5c73c78ede missing-include-cstdint.patch -" diff --git a/user/freecad/missing-include-cstdint.patch b/user/freecad/missing-include-cstdint.patch deleted file mode 100644 index 363a706..0000000 --- a/user/freecad/missing-include-cstdint.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --color -rupN a/src/3rdParty/libE57Format/include/E57Format.h b/src/3rdParty/libE57Format/include/E57Format.h ---- a/src/3rdParty/libE57Format/include/E57Format.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/3rdParty/libE57Format/include/E57Format.h 2024-02-27 14:06:29.308892531 +0100 -@@ -32,6 +32,7 @@ - //! @file E57Format.h header file for the E57 API - - #include -+#include - #include - #include - diff --git a/user/freecad/no-workaround-spnav.patch b/user/freecad/no-workaround-spnav.patch deleted file mode 100644 index ee4fead..0000000 --- a/user/freecad/no-workaround-spnav.patch +++ /dev/null @@ -1,69 +0,0 @@ -Patch-Source: https://github.com/FreeCAD/FreeCAD/commit/7b377a216b9185960e4cee980a6504dc1a755f50 -fixes stderr reassignment --- -From 7b377a216b9185960e4cee980a6504dc1a755f50 Mon Sep 17 00:00:00 2001 -From: wmayer -Date: Wed, 29 Jun 2022 15:19:18 +0200 -Subject: [PATCH] Gui: remove workaround for spnav 0.23 due to build failure - with musl libc - ---- - src/Gui/3Dconnexion/GuiNativeEventLinux.cpp | 27 --------------------- - 1 file changed, 27 deletions(-) - -diff --git a/src/Gui/3Dconnexion/GuiNativeEventLinux.cpp b/src/Gui/3Dconnexion/GuiNativeEventLinux.cpp -index 7f0ddd75d262..455ece0b36bd 100644 ---- a/src/Gui/3Dconnexion/GuiNativeEventLinux.cpp -+++ b/src/Gui/3Dconnexion/GuiNativeEventLinux.cpp -@@ -21,42 +21,17 @@ - ***************************************************************************/ - - #include --#include - - #include "GuiNativeEventLinux.h" - - #include "GuiApplicationNativeEventAware.h" - #include --#include - #include - - #include - - #include - --namespace { --class RedirectStdErr --{ --public: -- RedirectStdErr() -- : fi(Base::FileInfo::getTempFileName()) -- , file(stderr) -- { -- stderr = fopen(fi.filePath().c_str(), "w"); -- } -- ~RedirectStdErr() -- { -- fclose(stderr); -- fi.deleteFile(); -- stderr = file; -- } -- --private: -- Base::FileInfo fi; -- FILE* file; --}; --} -- - Gui::GuiNativeEvent::GuiNativeEvent(Gui::GUIApplicationNativeEventAware *app) - : GuiAbstractNativeEvent(app) - { -@@ -72,8 +47,6 @@ Gui::GuiNativeEvent::~GuiNativeEvent() - - void Gui::GuiNativeEvent::initSpaceball(QMainWindow *window) - { -- // tmp. redirect stderr to a file to suppress an error message from spnav_open() -- RedirectStdErr err; - Q_UNUSED(window) - if (spnav_open() == -1) { - Base::Console().Log("Couldn't connect to spacenav daemon. Please ignore if you don't have a spacemouse.\n"); diff --git a/user/freecad/numpy-1.20.patch b/user/freecad/numpy-1.20.patch deleted file mode 100644 index 20f4b41..0000000 --- a/user/freecad/numpy-1.20.patch +++ /dev/null @@ -1,25 +0,0 @@ -Patch-Source: https://github.com/FreeCAD/FreeCAD/commit/8b0df1dc936b544091f6a2d68df1c1a14ae3de5b --- -From 8b0df1dc936b544091f6a2d68df1c1a14ae3de5b Mon Sep 17 00:00:00 2001 -From: lorenz -Date: Tue, 27 Dec 2022 04:59:35 +0100 -Subject: [PATCH] FEM: femmesh: fix AttributeError: module 'numpy' has no - attribute 'int' - ---- - src/Mod/Fem/femmesh/meshtools.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Mod/Fem/femmesh/meshtools.py b/src/Mod/Fem/femmesh/meshtools.py -index dd8671b..d2e2b0a 100644 ---- a/src/Mod/Fem/femmesh/meshtools.py -+++ b/src/Mod/Fem/femmesh/meshtools.py -@@ -485,7 +485,7 @@ def get_femelement_sets( - # fem_objects = FreeCAD FEM document objects - # get femelements for reference shapes of each obj.References - count_femelements = 0 -- referenced_femelements = np.zeros((max(femelement_table.keys())+1,),dtype=np.int) -+ referenced_femelements = np.zeros((max(femelement_table.keys())+1,),dtype=int) - has_remaining_femelements = None - for fem_object_i, fem_object in enumerate(fem_objects): - obj = fem_object["Object"] diff --git a/user/freecad/opencascade-7.8.0.patch b/user/freecad/opencascade-7.8.0.patch deleted file mode 100644 index 582fbde..0000000 --- a/user/freecad/opencascade-7.8.0.patch +++ /dev/null @@ -1,877 +0,0 @@ -Fix compilation with opencascase 7.8.0 - -Base on https://github.com/FreeCAD/FreeCAD/pull/11909 - -diff --color -rupN a/cMake/FindOCC.cmake b/cMake/FindOCC.cmake ---- a/cMake/FindOCC.cmake 2022-12-07 03:35:37.000000000 +0100 -+++ b/cMake/FindOCC.cmake 2024-02-27 15:00:48.248873883 +0100 -@@ -127,8 +127,6 @@ if(OCC_FOUND) - TKG2d - TKG3d - TKMath -- TKIGES -- TKSTL - TKShHealing - TKXSBase - TKBool -@@ -139,10 +137,6 @@ if(OCC_FOUND) - TKGeomBase - TKOffset - TKPrim -- TKSTEPBase -- TKSTEPAttr -- TKSTEP209 -- TKSTEP - TKHLR - TKFeat - ) -@@ -154,17 +148,19 @@ if(OCC_FOUND) - TKLCAF - TKVCAF - TKCDF -- TKXDESTEP -- TKXDEIGES - TKMeshVS - TKService - TKV3d - ) -- if(OCC_VERSION_STRING VERSION_LESS 6.7.3) -- list(APPEND OCC_OCAF_LIBRARIES TKAdvTools) -- elseif(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0) -+ if(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0) - list(APPEND OCC_OCAF_LIBRARIES TKRWMesh) -- endif(OCC_VERSION_STRING VERSION_LESS 6.7.3) -+ endif(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0) -+ if(OCC_VERSION_STRING VERSION_LESS 7.8.0) -+ list(APPEND OCC_LIBRARIES TKIGES TKSTL TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP) -+ list(APPEND OCC_OCAF_LIBRARIES TKXDESTEP TKXDEIGES) -+ else(OCC_VERSION_STRING VERSION_LESS 7.8.0) -+ list(APPEND OCC_LIBRARIES TKDESTEP TKDEIGES TKDEGLTF TKDESTL) -+ endif(OCC_VERSION_STRING VERSION_LESS 7.8.0) - message(STATUS "-- Found OCE/OpenCASCADE version: ${OCC_VERSION_STRING}") - message(STATUS "-- OCE/OpenCASCADE include directory: ${OCC_INCLUDE_DIR}") - message(STATUS "-- OCE/OpenCASCADE shared libraries directory: ${OCC_LIBRARY_DIR}") -diff --color -rupN a/src/3rdParty/salomesmesh/inc/SMESHDS_DataMapOfShape.hxx b/src/3rdParty/salomesmesh/inc/SMESHDS_DataMapOfShape.hxx ---- a/src/3rdParty/salomesmesh/inc/SMESHDS_DataMapOfShape.hxx 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/3rdParty/salomesmesh/inc/SMESHDS_DataMapOfShape.hxx 2024-02-27 15:00:48.248873883 +0100 -@@ -29,22 +29,35 @@ - - #include - -+#include -+ - /* - * This method needed for instance NCollection_DataMap with TopoDS_Shape as key - */ -+#if OCC_VERSION_HEX >= 0x070800 - struct SMESHDS_Hasher - { -- static inline Standard_Boolean IsEqual(const TopoDS_Shape& S1, -- const TopoDS_Shape& S2) -- { -- return S1.IsSame(S2); -+ size_t operator()(const TopoDS_Shape& S) const noexcept { -+ return std::hash{}(S); - } -- static inline Standard_Integer HashCode(const TopoDS_Shape& S, -- const Standard_Integer Upper) -- { -- return ::HashCode( S, Upper); -+ size_t operator()(const TopoDS_Shape& S1, const TopoDS_Shape& S2) const noexcept { -+ return S1.IsSame(S2); - } - }; -- -+#else -+struct SMESHDS_Hasher -+{ -+static inline Standard_Boolean IsEqual(const TopoDS_Shape& S1, -+ const TopoDS_Shape& S2) -+{ -+ return S1.IsSame(S2); -+} -+static inline Standard_Integer HashCode(const TopoDS_Shape& S, -+ const Standard_Integer Upper) -+{ -+ return ::HashCode( S, Upper); -+} -+}; -+#endif - - #endif -diff --color -rupN a/src/3rdParty/salomesmesh/inc/SMESH_MeshVSLink.hxx b/src/3rdParty/salomesmesh/inc/SMESH_MeshVSLink.hxx ---- a/src/3rdParty/salomesmesh/inc/SMESH_MeshVSLink.hxx 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/3rdParty/salomesmesh/inc/SMESH_MeshVSLink.hxx 2024-02-27 15:00:48.248873883 +0100 -@@ -57,9 +57,6 @@ - #ifndef _MeshVS_EntityType_HeaderFile - #include - #endif --#ifndef _Standard_Address_HeaderFile --#include --#endif - #ifndef _TColStd_HArray1OfInteger_HeaderFile - #include - #endif -diff --color -rupN a/src/3rdParty/salomesmesh/inc/SMESH_SMESH.hxx b/src/3rdParty/salomesmesh/inc/SMESH_SMESH.hxx ---- a/src/3rdParty/salomesmesh/inc/SMESH_SMESH.hxx 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/3rdParty/salomesmesh/inc/SMESH_SMESH.hxx 2024-02-27 15:00:48.248873883 +0100 -@@ -37,4 +37,5 @@ - #define SMESH_EXPORT - #endif - -+#include - #endif -diff --color -rupN a/src/3rdParty/salomesmesh/inc/SMESH_SequenceOfNode.hxx b/src/3rdParty/salomesmesh/inc/SMESH_SequenceOfNode.hxx ---- a/src/3rdParty/salomesmesh/inc/SMESH_SequenceOfNode.hxx 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/3rdParty/salomesmesh/inc/SMESH_SequenceOfNode.hxx 2024-02-27 15:00:48.252207183 +0100 -@@ -28,10 +28,11 @@ - - #include "SMESH_SMESH.hxx" - --#include - #if OCC_VERSION_HEX >= 0x060703 - #include - #include -+#else -+#include - #endif - - typedef const SMDS_MeshNode* SMDS_MeshNodePtr; -diff --color -rupN a/src/3rdParty/salomesmesh/inc/SMESH_TypeDefs.hxx b/src/3rdParty/salomesmesh/inc/SMESH_TypeDefs.hxx ---- a/src/3rdParty/salomesmesh/inc/SMESH_TypeDefs.hxx 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/3rdParty/salomesmesh/inc/SMESH_TypeDefs.hxx 2024-02-27 15:00:48.252207183 +0100 -@@ -185,11 +185,18 @@ typedef std::vector< UVPtStruct > UVPtSt - - // -------------------------------------------------------------------------------- - // class SMESH_SequenceOfElemPtr -+#include -+#if OCC_VERSION_HEX >= 0x060703 -+#include -+#else - #include -+#endif - - class SMDS_MeshElement; - - typedef const SMDS_MeshElement* SMDS_MeshElementPtr; -+#define DEFINE_SEQUENCE(_ClassName_, _BaseCollection_, TheItemType) \ -+typedef NCollection_Sequence _ClassName_; - - DEFINE_SEQUENCE (SMESH_SequenceOfElemPtr, SMESH_BaseCollectionElemPtr, SMDS_MeshElementPtr) - -diff --color -rupN a/src/3rdParty/salomesmesh/src/DriverSTL/DriverSTL_R_SMDS_Mesh.cpp b/src/3rdParty/salomesmesh/src/DriverSTL/DriverSTL_R_SMDS_Mesh.cpp ---- a/src/3rdParty/salomesmesh/src/DriverSTL/DriverSTL_R_SMDS_Mesh.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/3rdParty/salomesmesh/src/DriverSTL/DriverSTL_R_SMDS_Mesh.cpp 2024-02-27 15:00:48.252207183 +0100 -@@ -33,10 +33,33 @@ - #include "SMDS_MeshNode.hxx" - #include "SMESH_File.hxx" - -+#include -+ - namespace - { - struct Hasher - { -+#if OCC_VERSION_HEX >= 0x070800 -+ size_t operator()(const gp_Pnt& point) const noexcept -+ { -+ union -+ { -+ Standard_Real R[3]; -+ Standard_Integer I[6]; -+ } U; -+ -+ point.Coord( U.R[0], U.R[1], U.R[2] ); -+ return std::hash{}(U.I[0]/23+U.I[1]/19+U.I[2]/17+U.I[3]/13+U.I[4]/11+U.I[5]/7); -+ } -+ -+ size_t operator()(const gp_Pnt& point1, const gp_Pnt& point2) const noexcept -+ { -+ static Standard_Real tab1[3], tab2[3]; -+ point1.Coord(tab1[0],tab1[1],tab1[2]); -+ point2.Coord(tab2[0],tab2[1],tab2[2]); -+ return (memcmp(tab1,tab2,sizeof(tab1)) == 0); -+ } -+#else - //======================================================================= - //function : HashCode - //purpose : -@@ -51,9 +74,9 @@ namespace - } U; - - point.Coord( U.R[0], U.R[1], U.R[2] ); -- -- return ::HashCode(U.I[0]/23+U.I[1]/19+U.I[2]/17+U.I[3]/13+U.I[4]/11+U.I[5]/7,Upper); -+ return std::hash{}(U.I[0]/23+U.I[1]/19+U.I[2]/17+U.I[3]/13+U.I[4]/11+U.I[5]/7); - } -+ - //======================================================================= - //function : IsEqual - //purpose : -@@ -66,7 +89,9 @@ namespace - point2.Coord(tab2[0],tab2[1],tab2[2]); - return (memcmp(tab1,tab2,sizeof(tab1)) == 0); - } -+#endif - }; -+ - typedef NCollection_DataMap TDataMapOfPntNodePtr; - - const int HEADER_SIZE = 84; -diff --color -rupN a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp ---- a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp 2024-02-27 15:00:48.252207183 +0100 -@@ -48,7 +48,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --color -rupN a/src/Mod/Drawing/App/PreCompiled.h b/src/Mod/Drawing/App/PreCompiled.h ---- a/src/Mod/Drawing/App/PreCompiled.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Drawing/App/PreCompiled.h 2024-02-27 15:00:48.252207183 +0100 -@@ -70,7 +70,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --color -rupN a/src/Mod/Drawing/Gui/TaskDialog.cpp b/src/Mod/Drawing/Gui/TaskDialog.cpp ---- a/src/Mod/Drawing/Gui/TaskDialog.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Drawing/Gui/TaskDialog.cpp 2024-02-27 15:00:48.252207183 +0100 -@@ -29,7 +29,6 @@ - #endif - - --#include - #include "TaskDialog.h" - #include - #include -diff --color -rupN a/src/Mod/Fem/Gui/PreCompiled.h b/src/Mod/Fem/Gui/PreCompiled.h ---- a/src/Mod/Fem/Gui/PreCompiled.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Fem/Gui/PreCompiled.h 2024-02-27 15:00:48.252207183 +0100 -@@ -63,7 +63,6 @@ - #endif - - // OCC --#include - #include - #include - #include -diff --color -rupN a/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp b/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp ---- a/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp 2024-02-27 15:00:48.252207183 +0100 -@@ -28,7 +28,6 @@ - - # include - # include --# include - #endif - - #include -diff --color -rupN a/src/Mod/Import/App/ImportOCAF.cpp b/src/Mod/Import/App/ImportOCAF.cpp ---- a/src/Mod/Import/App/ImportOCAF.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Import/App/ImportOCAF.cpp 2024-02-27 15:00:48.252207183 +0100 -@@ -165,7 +165,11 @@ void ImportOCAF::loadShapes(const TDF_La - std::vector localValue; - - if (aShapeTool->GetShape(label,aShape)) { -+#if OCC_VERSION_HEX >= 0x070800 -+ hash = std::hash{}(aShape); -+#else - hash = aShape.HashCode(HashUpper); -+#endif - } - - Handle(TDataStd_Name) name; -@@ -235,7 +239,11 @@ void ImportOCAF::loadShapes(const TDF_La - if (isRef || myRefShapes.find(hash) == myRefShapes.end()) { - TopoDS_Shape aShape; - if (isRef && aShapeTool->GetShape(label, aShape)) -+#if OCC_VERSION_HEX >= 0x070800 -+ myRefShapes.insert(std::hash{}(aShape)); -+#else - myRefShapes.insert(aShape.HashCode(HashUpper)); -+#endif - - if (aShapeTool->IsSimpleShape(label) && (isRef || aShapeTool->IsFree(label))) { - if (!asm_name.empty()) -@@ -565,7 +573,11 @@ void ImportXCAF::createShape(const TopoD - part->Label.setValue(default_name); - part->Shape.setValue(shape); - std::map::const_iterator jt; -+#if OCC_VERSION_HEX >= 0x070800 -+ jt = myColorMap.find(std::hash{}(shape)); -+#else - jt = myColorMap.find(shape.HashCode(INT_MAX)); -+#endif - - App::Color partColor(0.8f,0.8f,0.8f); - #if 0//TODO -@@ -586,7 +598,11 @@ void ImportXCAF::createShape(const TopoD - // set label name if defined - if (setname && !myNameMap.empty()) { - std::map::const_iterator jt; -+#if OCC_VERSION_HEX >= 0x070800 -+ jt = myNameMap.find(std::hash{}(shape)); -+#else - jt = myNameMap.find(shape.HashCode(INT_MAX)); -+#endif - if (jt != myNameMap.end()) { - part->Label.setValue(jt->second); - } -@@ -606,7 +622,11 @@ void ImportXCAF::createShape(const TopoD - faceColors.resize(faces.Extent(), partColor); - xp.Init(shape,TopAbs_FACE); - while (xp.More()) { -+#if OCC_VERSION_HEX >= 0x070800 -+ jt = myColorMap.find(std::hash{}(xp.Current())); -+#else - jt = myColorMap.find(xp.Current().HashCode(INT_MAX)); -+#endif - if (jt != myColorMap.end()) { - int index = faces.FindIndex(xp.Current()); - faceColors[index-1] = convertColor(jt->second); -@@ -641,23 +661,51 @@ void ImportXCAF::loadShapes(const TDF_La - // add the shapes - TopExp_Explorer xp; - for (xp.Init(aShape, TopAbs_SOLID); xp.More(); xp.Next(), ctSolids++) -+#if OCC_VERSION_HEX >= 0x070800 -+ this->mySolids[std::hash{}(xp.Current())] = (xp.Current()); -+#else - this->mySolids[xp.Current().HashCode(INT_MAX)] = (xp.Current()); -+#endif - for (xp.Init(aShape, TopAbs_SHELL, TopAbs_SOLID); xp.More(); xp.Next(), ctShells++) -+#if OCC_VERSION_HEX >= 0x070800 -+ this->myShells[std::hash{}(xp.Current())] = (xp.Current()); -+#else - this->myShells[xp.Current().HashCode(INT_MAX)] = (xp.Current()); -+#endif - // if no solids and no shells were found then go for compounds - if (ctSolids == 0 && ctShells == 0) { - for (xp.Init(aShape, TopAbs_COMPOUND); xp.More(); xp.Next(), ctComps++) -+#if OCC_VERSION_HEX >= 0x070800 -+ this->myCompds[std::hash{}(xp.Current())] = (xp.Current()); -+#else - this->myCompds[xp.Current().HashCode(INT_MAX)] = (xp.Current()); -+#endif - } - if (ctComps == 0) { - for (xp.Init(aShape, TopAbs_FACE, TopAbs_SHELL); xp.More(); xp.Next()) -+#if OCC_VERSION_HEX >= 0x070800 -+ this->myShapes[std::hash{}(xp.Current())] = (xp.Current()); -+#else - this->myShapes[xp.Current().HashCode(INT_MAX)] = (xp.Current()); -+#endif - for (xp.Init(aShape, TopAbs_WIRE, TopAbs_FACE); xp.More(); xp.Next()) -+#if OCC_VERSION_HEX >= 0x070800 -+ this->myShapes[std::hash{}(xp.Current())] = (xp.Current()); -+#else - this->myShapes[xp.Current().HashCode(INT_MAX)] = (xp.Current()); -+#endif - for (xp.Init(aShape, TopAbs_EDGE, TopAbs_WIRE); xp.More(); xp.Next()) -+#if OCC_VERSION_HEX >= 0x070800 -+ this->myShapes[std::hash{}(xp.Current())] = (xp.Current()); -+#else - this->myShapes[xp.Current().HashCode(INT_MAX)] = (xp.Current()); -+#endif - for (xp.Init(aShape, TopAbs_VERTEX, TopAbs_EDGE); xp.More(); xp.Next()) -+#if OCC_VERSION_HEX >= 0x070800 -+ this->myShapes[std::hash{}(xp.Current())] = (xp.Current()); -+#else - this->myShapes[xp.Current().HashCode(INT_MAX)] = (xp.Current()); -+#endif - } - } - -@@ -667,7 +715,11 @@ void ImportXCAF::loadShapes(const TDF_La - hColors->GetColor(label, XCAFDoc_ColorSurf, col) || - hColors->GetColor(label, XCAFDoc_ColorCurv, col)) { - // add defined color -+#if OCC_VERSION_HEX >= 0x070800 -+ myColorMap[std::hash{}(aShape)] = col; -+#else - myColorMap[aShape.HashCode(INT_MAX)] = col; -+#endif - } - else { - // http://www.opencascade.org/org/forum/thread_17107/ -@@ -677,7 +729,11 @@ void ImportXCAF::loadShapes(const TDF_La - hColors->GetColor(it.Value(), XCAFDoc_ColorSurf, col) || - hColors->GetColor(it.Value(), XCAFDoc_ColorCurv, col)) { - // add defined color -+#if OCC_VERSION_HEX >= 0x070800 -+ myColorMap[std::hash{}(it.Value())] = col; -+#else - myColorMap[it.Value().HashCode(INT_MAX)] = col; -+#endif - } - } - } -@@ -690,7 +746,11 @@ void ImportXCAF::loadShapes(const TDF_La - extstr.ToUTF8CString(str); - std::string labelName(str); - if (!labelName.empty()) -+#if OCC_VERSION_HEX >= 0x070800 -+ myNameMap[std::hash{}(aShape)] = labelName; -+#else - myNameMap[aShape.HashCode(INT_MAX)] = labelName; -+#endif - delete [] str; - } - -diff --color -rupN a/src/Mod/Import/App/ImportOCAF.h b/src/Mod/Import/App/ImportOCAF.h ---- a/src/Mod/Import/App/ImportOCAF.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Import/App/ImportOCAF.h 2024-02-27 15:00:48.252207183 +0100 -@@ -29,7 +29,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --color -rupN a/src/Mod/Import/App/ImportOCAF2.h b/src/Mod/Import/App/ImportOCAF2.h ---- a/src/Mod/Import/App/ImportOCAF2.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Import/App/ImportOCAF2.h 2024-02-27 15:06:12.358890276 +0100 -@@ -27,7 +27,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -57,13 +56,21 @@ namespace Import { - - struct ShapeHasher { - std::size_t operator()(const TopoDS_Shape &s) const { -+#if OCC_VERSION_HEX >= 0x070800 -+ return std::hash{}(s); -+#else - return s.HashCode(INT_MAX); -+#endif - } - }; - - struct LabelHasher { - std::size_t operator()(const TDF_Label &l) const { -+#if OCC_VERSION_HEX >= 0x070800 -+ return std::hash {}(l); -+#else - return TDF_LabelMapHasher::HashCode(l,INT_MAX); -+#endif - } - }; - -diff --color -rupN a/src/Mod/MeshPart/App/CurveProjector.h b/src/Mod/MeshPart/App/CurveProjector.h ---- a/src/Mod/MeshPart/App/CurveProjector.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/MeshPart/App/CurveProjector.h 2024-02-27 15:00:48.252207183 +0100 -@@ -20,6 +20,7 @@ - * * - ***************************************************************************/ - -+#include - - #ifndef _CurveProjector_h_ - #define _CurveProjector_h_ -@@ -64,8 +65,13 @@ public: - - template - struct TopoDSLess { -- bool operator()(const T& x, const T& y) const { -- return x.HashCode(INT_MAX-1) < y.HashCode(INT_MAX-1); -+ bool operator()(const T& x, const T& y) const { -+#if OCC_VERSION_HEX >= 0x070800 -+ std::hash hasher; -+ return hasher(x) < hasher(y); -+#else -+ return x.HashCode(INT_MAX-1) < y.HashCode(INT_MAX-1); -+#endif - } - }; - -diff --color -rupN a/src/Mod/MeshPart/App/PreCompiled.h b/src/Mod/MeshPart/App/PreCompiled.h ---- a/src/Mod/MeshPart/App/PreCompiled.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/MeshPart/App/PreCompiled.h 2024-02-27 15:00:48.252207183 +0100 -@@ -76,7 +76,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --color -rupN a/src/Mod/MeshPart/Gui/CrossSections.cpp b/src/Mod/MeshPart/Gui/CrossSections.cpp ---- a/src/Mod/MeshPart/Gui/CrossSections.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/MeshPart/Gui/CrossSections.cpp 2024-02-27 15:00:48.252207183 +0100 -@@ -24,7 +24,6 @@ - #include "PreCompiled.h" - #ifndef _PreComp_ - # include --# include - # include - # include - # include -diff --color -rupN a/src/Mod/Part/App/ImportStep.cpp b/src/Mod/Part/App/ImportStep.cpp ---- a/src/Mod/Part/App/ImportStep.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/App/ImportStep.cpp 2024-02-27 15:00:48.255540482 +0100 -@@ -167,7 +167,12 @@ int Part::ImportStepParts(App::Document - // This is a trick to access the GUI via Python and set the color property - // of the associated view provider. If no GUI is up an exception is thrown - // and cleared immediately -+#if OCC_VERSION_HEX >= 0x070800 -+ std::hash hasher; -+ std::map::iterator it = hash_col.find(hasher(aSolid)); -+#else - std::map::iterator it = hash_col.find(aSolid.HashCode(INT_MAX)); -+#endif - if (it != hash_col.end()) { - try { - Py::Object obj(pcFeature->getPyObject(), true); -diff --color -rupN a/src/Mod/Part/App/OCCError.h b/src/Mod/Part/App/OCCError.h ---- a/src/Mod/Part/App/OCCError.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/App/OCCError.h 2024-02-27 15:00:48.255540482 +0100 -@@ -50,7 +50,6 @@ - # include - # include - # include --# include - # include - # include - -diff --color -rupN a/src/Mod/Part/App/OpenCascadeAll.h b/src/Mod/Part/App/OpenCascadeAll.h ---- a/src/Mod/Part/App/OpenCascadeAll.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/App/OpenCascadeAll.h 2024-02-27 15:00:48.255540482 +0100 -@@ -49,7 +49,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --color -rupN a/src/Mod/Part/App/TopoShapePyImp.cpp b/src/Mod/Part/App/TopoShapePyImp.cpp ---- a/src/Mod/Part/App/TopoShapePyImp.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/App/TopoShapePyImp.cpp 2024-02-27 15:00:48.255540482 +0100 -@@ -1321,7 +1321,11 @@ PyObject* TopoShapePy::ancestorsOfType( - TopTools_ListIteratorOfListOfShape it(ancestors); - for (; it.More(); it.Next()) { - // make sure to avoid duplicates -+#if OCC_VERSION_HEX >= 0x070800 -+ const size_t code = std::hash{}(static_cast(it.Value())); -+#else - Standard_Integer code = it.Value().HashCode(INT_MAX); -+#endif - if (hashes.find(code) == hashes.end()) { - list.append(shape2pyshape(it.Value())); - hashes.insert(code); -@@ -1943,7 +1947,11 @@ PyObject* TopoShapePy::hashCode(PyObject - if (!PyArg_ParseTuple(args, "|i",&upper)) - return nullptr; - -+#if OCC_VERSION_HEX >= 0x070800 -+ int hc = std::hash{}(getTopoShapePtr()->getShape()); -+#else - int hc = getTopoShapePtr()->getShape().HashCode(upper); -+#endif - return Py_BuildValue("i", hc); - } - -diff --color -rupN a/src/Mod/Part/Gui/AppPartGui.cpp b/src/Mod/Part/Gui/AppPartGui.cpp ---- a/src/Mod/Part/Gui/AppPartGui.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/Gui/AppPartGui.cpp 2024-02-27 15:00:48.255540482 +0100 -@@ -11,9 +11,6 @@ - - - #include "PreCompiled.h" --#ifndef _PreComp_ --# include --#endif - - #include - #include -diff --color -rupN a/src/Mod/Part/Gui/Command.cpp b/src/Mod/Part/Gui/Command.cpp ---- a/src/Mod/Part/Gui/Command.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/Gui/Command.cpp 2024-02-27 15:00:48.255540482 +0100 -@@ -26,7 +26,6 @@ - # include - # include - # include --# include - # include - # include - # include -diff --color -rupN a/src/Mod/Part/Gui/CommandSimple.cpp b/src/Mod/Part/Gui/CommandSimple.cpp ---- a/src/Mod/Part/Gui/CommandSimple.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/Gui/CommandSimple.cpp 2024-02-27 15:00:48.255540482 +0100 -@@ -22,9 +22,6 @@ - - - #include "PreCompiled.h" --#ifndef _PreComp_ --# include --#endif - - #include - #include -diff --color -rupN a/src/Mod/Part/Gui/CrossSections.cpp b/src/Mod/Part/Gui/CrossSections.cpp ---- a/src/Mod/Part/Gui/CrossSections.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/Gui/CrossSections.cpp 2024-02-27 15:00:48.255540482 +0100 -@@ -23,7 +23,6 @@ - - #include "PreCompiled.h" - #ifndef _PreComp_ --# include - # include - # include - # include -diff --color -rupN a/src/Mod/Part/Gui/ViewProvider2DObject.cpp b/src/Mod/Part/Gui/ViewProvider2DObject.cpp ---- a/src/Mod/Part/Gui/ViewProvider2DObject.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/Gui/ViewProvider2DObject.cpp 2024-02-27 15:00:48.255540482 +0100 -@@ -26,8 +26,6 @@ - #ifndef _PreComp_ - # include - --# include -- - # include - # include - # include -diff --color -rupN a/src/Mod/Part/Gui/ViewProviderExt.cpp b/src/Mod/Part/Gui/ViewProviderExt.cpp ---- a/src/Mod/Part/Gui/ViewProviderExt.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/Gui/ViewProviderExt.cpp 2024-02-27 15:00:48.255540482 +0100 -@@ -978,7 +978,11 @@ void ViewProviderPartExt::updateVisual() - - TopExp_Explorer xp; - for (xp.Init(faceMap(i),TopAbs_EDGE);xp.More();xp.Next()) -+#if OCC_VERSION_HEX >= 0x070800 -+ faceEdges.insert(std::hash{}(xp.Current())); -+#else - faceEdges.insert(xp.Current().HashCode(INT_MAX)); -+#endif - numFaces++; - } - -@@ -1006,7 +1010,11 @@ void ViewProviderPartExt::updateVisual() - // So, we have to store the hashes of the edges associated to a face. - // If the hash of a given edge is not in this list we know it's really - // a free edge. -+#if OCC_VERSION_HEX >= 0x070800 -+ int hash = std::hash{}(aEdge); -+#else - int hash = aEdge.HashCode(INT_MAX); -+#endif - if (faceEdges.find(hash) == faceEdges.end()) { - Handle(Poly_Polygon3D) aPoly = Part::Tools::polygonOfEdge(aEdge, aLoc); - if (!aPoly.IsNull()) { -@@ -1205,7 +1213,11 @@ void ViewProviderPartExt::updateVisual() - TopLoc_Location aLoc; - - // handling of the free edge that are not associated to a face -+#if OCC_VERSION_HEX >= 0x070800 -+ int hash = std::hash{}(aEdge); -+#else - int hash = aEdge.HashCode(INT_MAX); -+#endif - if (faceEdges.find(hash) == faceEdges.end()) { - Handle(Poly_Polygon3D) aPoly = Part::Tools::polygonOfEdge(aEdge, aLoc); - if (!aPoly.IsNull()) { -diff --color -rupN a/src/Mod/Part/Gui/ViewProviderExt.h b/src/Mod/Part/Gui/ViewProviderExt.h ---- a/src/Mod/Part/Gui/ViewProviderExt.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/Gui/ViewProviderExt.h 2024-02-27 15:00:48.255540482 +0100 -@@ -24,7 +24,6 @@ - #ifndef PARTGUI_VIEWPROVIDERPARTEXT_H - #define PARTGUI_VIEWPROVIDERPARTEXT_H - --#include - #include - #include - #include -diff --color -rupN a/src/Mod/Part/Gui/ViewProviderMirror.cpp b/src/Mod/Part/Gui/ViewProviderMirror.cpp ---- a/src/Mod/Part/Gui/ViewProviderMirror.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/Gui/ViewProviderMirror.cpp 2024-02-27 15:00:48.255540482 +0100 -@@ -27,7 +27,6 @@ - # include - # include - # include --# include - # include - # include - # include -diff --color -rupN a/src/Mod/Part/Gui/ViewProviderPython.cpp b/src/Mod/Part/Gui/ViewProviderPython.cpp ---- a/src/Mod/Part/Gui/ViewProviderPython.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/Gui/ViewProviderPython.cpp 2024-02-27 15:00:48.255540482 +0100 -@@ -23,7 +23,6 @@ - - #include "PreCompiled.h" - --#include - #ifndef _PreComp_ - # include - #endif -diff --color -rupN a/src/Mod/Part/Gui/ViewProviderReference.h b/src/Mod/Part/Gui/ViewProviderReference.h ---- a/src/Mod/Part/Gui/ViewProviderReference.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Part/Gui/ViewProviderReference.h 2024-02-27 15:00:48.255540482 +0100 -@@ -24,7 +24,6 @@ - #ifndef PARTGUI_ViewProviderPartReference_H - #define PARTGUI_ViewProviderPartReference_H - --#include - #include - #include - #include -diff --color -rupN a/src/Mod/PartDesign/Gui/PreCompiled.h b/src/Mod/PartDesign/Gui/PreCompiled.h ---- a/src/Mod/PartDesign/Gui/PreCompiled.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/PartDesign/Gui/PreCompiled.h 2024-02-27 15:00:48.255540482 +0100 -@@ -44,7 +44,6 @@ - #include - - // OCC --#include - #include - #include - #include -diff --color -rupN a/src/Mod/Path/App/Voronoi.cpp b/src/Mod/Path/App/Voronoi.cpp ---- a/src/Mod/Path/App/Voronoi.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Path/App/Voronoi.cpp 2024-02-27 15:00:48.255540482 +0100 -@@ -23,10 +23,6 @@ - - #include "PreCompiled.h" - --#ifndef _PreComp_ --# include --#endif -- - #include - - #include "Voronoi.h" -diff --color -rupN a/src/Mod/Path/Gui/PreCompiled.h b/src/Mod/Path/Gui/PreCompiled.h ---- a/src/Mod/Path/Gui/PreCompiled.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Path/Gui/PreCompiled.h 2024-02-27 15:00:48.258873781 +0100 -@@ -38,8 +38,6 @@ - # define PathGuiExport - #endif - --#include -- - #ifdef _MSC_VER - # pragma warning( disable : 4273 ) - #endif -diff --color -rupN a/src/Mod/Robot/Gui/PreCompiled.h b/src/Mod/Robot/Gui/PreCompiled.h ---- a/src/Mod/Robot/Gui/PreCompiled.h 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Robot/Gui/PreCompiled.h 2024-02-27 15:00:48.258873781 +0100 -@@ -39,8 +39,6 @@ - # define RobotGuiExport - #endif - --#include -- - #ifdef _MSC_VER - # pragma warning(disable : 4005) - # pragma warning(disable : 4273) -diff --color -rupN a/src/Mod/Sandbox/Gui/AppSandboxGui.cpp b/src/Mod/Sandbox/Gui/AppSandboxGui.cpp ---- a/src/Mod/Sandbox/Gui/AppSandboxGui.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Sandbox/Gui/AppSandboxGui.cpp 2024-02-27 15:00:48.258873781 +0100 -@@ -24,7 +24,6 @@ - #include "PreCompiled.h" - #ifndef _PreComp_ - # include --# include - # include - # include - # include -diff --color -rupN a/src/Mod/Sketcher/App/SketchAnalysis.cpp b/src/Mod/Sketcher/App/SketchAnalysis.cpp ---- a/src/Mod/Sketcher/App/SketchAnalysis.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Sketcher/App/SketchAnalysis.cpp 2024-02-27 15:00:48.258873781 +0100 -@@ -25,7 +25,6 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ --# include - # include - # include - # include -diff --color -rupN a/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp b/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp ---- a/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp 2024-02-27 15:00:48.258873781 +0100 -@@ -24,7 +24,6 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ --# include - # include - # include - # include -diff --color -rupN a/src/Mod/Sketcher/Gui/EditDatumDialog.cpp b/src/Mod/Sketcher/Gui/EditDatumDialog.cpp ---- a/src/Mod/Sketcher/Gui/EditDatumDialog.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Sketcher/Gui/EditDatumDialog.cpp 2024-02-27 15:00:48.258873781 +0100 -@@ -23,7 +23,6 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ --# include - /// Qt Include Files - # include - # include -diff --color -rupN a/src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp b/src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp ---- a/src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp 2024-02-27 15:00:48.258873781 +0100 -@@ -24,7 +24,6 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ --# include - # include - # include - # include -diff --color -rupN a/src/Mod/Sketcher/Gui/ViewProviderPython.cpp b/src/Mod/Sketcher/Gui/ViewProviderPython.cpp ---- a/src/Mod/Sketcher/Gui/ViewProviderPython.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Sketcher/Gui/ViewProviderPython.cpp 2024-02-27 15:00:48.258873781 +0100 -@@ -23,7 +23,6 @@ - - #include "PreCompiled.h" - --#include - #ifndef _PreComp_ - # include - #endif -diff --color -rupN a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp ---- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp 2024-02-27 15:00:48.258873781 +0100 -@@ -24,7 +24,6 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ --# include - - # include - # include -diff --color -rupN a/src/Mod/Surface/Gui/Command.cpp b/src/Mod/Surface/Gui/Command.cpp ---- a/src/Mod/Surface/Gui/Command.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/Surface/Gui/Command.cpp 2024-02-27 15:00:48.258873781 +0100 -@@ -31,7 +31,6 @@ - #include - #include - #include --#include - #include - #include - #include -diff --color -rupN a/src/Mod/TechDraw/Gui/TaskProjection.cpp b/src/Mod/TechDraw/Gui/TaskProjection.cpp ---- a/src/Mod/TechDraw/Gui/TaskProjection.cpp 2022-12-07 03:35:37.000000000 +0100 -+++ b/src/Mod/TechDraw/Gui/TaskProjection.cpp 2024-02-27 15:00:48.258873781 +0100 -@@ -29,9 +29,6 @@ - # include - #endif - -- --#include -- - #include - #include - #include diff --git a/user/freecad/resourceDirectory.patch b/user/freecad/resourceDirectory.patch deleted file mode 100644 index a2a16d1..0000000 --- a/user/freecad/resourceDirectory.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./cMake/FreeCAD_Helpers/ConfigureCMakeVariables.cmake.orig -+++ ./cMake/FreeCAD_Helpers/ConfigureCMakeVariables.cmake -@@ -23,7 +23,7 @@ - "Path to the directory containing PyCXX's cxxextensions.c source file") - - # used as compiler defines -- set(RESOURCEDIR "${CMAKE_INSTALL_DATADIR}") -+ set(RESOURCEDIR "../../share/freecad") - set(LIBRARYDIR "${CMAKE_INSTALL_LIBDIR}") - set(DOCDIR "${CMAKE_INSTALL_DOCDIR}") - diff --git a/user/freecad/tests.patch b/user/freecad/tests.patch deleted file mode 100644 index 4b63a20..0000000 --- a/user/freecad/tests.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- ./src/Mod/Mesh/App/MeshTestsApp.py.orig -+++ ./src/Mod/Mesh/App/MeshTestsApp.py -@@ -423,30 +423,6 @@ - self.planarMesh = [] - FreeCAD.newDocument("MeshTest") - -- def testRayPick(self): -- if not FreeCAD.GuiUp: -- return -- self.planarMesh.append( [-16.097176,-29.891157,15.987688] ) -- self.planarMesh.append( [-16.176304,-29.859991,15.947966] ) -- self.planarMesh.append( [-16.071451,-29.900553,15.912505] ) -- self.planarMesh.append( [-16.092241,-29.893408,16.020439] ) -- self.planarMesh.append( [-16.007210,-29.926180,15.967641] ) -- self.planarMesh.append( [-16.064457,-29.904951,16.090832] ) -- planarMeshObject = Mesh.Mesh(self.planarMesh) -- -- from pivy import coin; import FreeCADGui -- Mesh.show(planarMeshObject) -- view=FreeCADGui.ActiveDocument.ActiveView.getViewer() -- rp=coin.SoRayPickAction(view.getSoRenderManager().getViewportRegion()) -- rp.setRay(coin.SbVec3f(-16.05,16.0,16.0),coin.SbVec3f(0,-1,0)) -- rp.apply(view.getSoRenderManager().getSceneGraph()) -- pp=rp.getPickedPoint() -- self.assertTrue(pp != None) -- det=pp.getDetail() -- self.assertTrue(det.getTypeId() == coin.SoFaceDetail.getClassTypeId()) -- det=coin.cast(det, det.getTypeId().getName().getString()) -- self.assertTrue(det.getFaceIndex() == 1) -- - def testPrimitiveCount(self): - if not FreeCAD.GuiUp: - return