diff --git a/0001-Convert-deprecated-boost-signal-to-signals2.patch b/0001-Convert-deprecated-boost-signal-to-signals2.patch deleted file mode 100644 index b5d2910..0000000 --- a/0001-Convert-deprecated-boost-signal-to-signals2.patch +++ /dev/null @@ -1,133 +0,0 @@ -From ca29d09d51f20d147c5377e66207a1c959698afd Mon Sep 17 00:00:00 2001 -From: wandererfan -Date: Thu, 10 May 2018 12:00:13 -0400 -Subject: [PATCH 1/3] Convert deprecated boost::signal to signals2 - ---- - src/Mod/TechDraw/App/DrawPage.h | 4 ++-- - src/Mod/TechDraw/App/DrawView.h | 4 ++-- - src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp | 3 ++- - src/Mod/TechDraw/Gui/ViewProviderDrawingView.h | 4 +++- - src/Mod/TechDraw/Gui/ViewProviderPage.cpp | 3 ++- - src/Mod/TechDraw/Gui/ViewProviderPage.h | 4 +++- - 6 files changed, 14 insertions(+), 8 deletions(-) - -diff --git a/src/Mod/TechDraw/App/DrawPage.h b/src/Mod/TechDraw/App/DrawPage.h -index 60df838b8..cfde590d0 100644 ---- a/src/Mod/TechDraw/App/DrawPage.h -+++ b/src/Mod/TechDraw/App/DrawPage.h -@@ -24,7 +24,7 @@ - #ifndef _DrawPage_h_ - #define _DrawPage_h_ - --#include -+#include - - #include - #include -@@ -59,7 +59,7 @@ public: - int addView(App::DocumentObject *docObj); - int removeView(App::DocumentObject* docObj); - short mustExecute() const; -- boost::signal signalGuiPaint; -+ boost::signals2::signal signalGuiPaint; - - /// returns the type name of the ViewProvider - virtual const char* getViewProviderName(void) const { -diff --git a/src/Mod/TechDraw/App/DrawView.h b/src/Mod/TechDraw/App/DrawView.h -index dde8baa35..3f09a015f 100644 ---- a/src/Mod/TechDraw/App/DrawView.h -+++ b/src/Mod/TechDraw/App/DrawView.h -@@ -23,7 +23,7 @@ - #ifndef _DrawView_h_ - #define _DrawView_h_ - --#include -+#include - - #include - -@@ -85,7 +85,7 @@ public: - virtual bool checkFit(DrawPage*) const; - virtual void setPosition(double x, double y); - bool keepUpdated(void); -- boost::signal signalGuiPaint; -+ boost::signals2::signal signalGuiPaint; - virtual double getScale(void) const; - void checkScale(void); - void requestPaint(void); -diff --git a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp -index 1175c1aff..32fe47afe 100644 ---- a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp -+++ b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp -@@ -25,7 +25,8 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ --#include -+#include -+#include - #include - - #endif -diff --git a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h -index 679fc8413..31970b4a6 100644 ---- a/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h -+++ b/src/Mod/TechDraw/Gui/ViewProviderDrawingView.h -@@ -25,6 +25,8 @@ - #ifndef DRAWINGGUI_VIEWPROVIDERVIEW_H - #define DRAWINGGUI_VIEWPROVIDERVIEW_H - -+#include -+ - #include - #include - -@@ -78,7 +80,7 @@ public: - virtual TechDraw::DrawView* getViewObject() const; - - void onGuiRepaint(const TechDraw::DrawView* dv); -- typedef boost::signals::scoped_connection Connection; -+ typedef boost::signals2::scoped_connection Connection; - Connection connectGuiRepaint; - - -diff --git a/src/Mod/TechDraw/Gui/ViewProviderPage.cpp b/src/Mod/TechDraw/Gui/ViewProviderPage.cpp -index fd5903bc1..245e39a9b 100644 ---- a/src/Mod/TechDraw/Gui/ViewProviderPage.cpp -+++ b/src/Mod/TechDraw/Gui/ViewProviderPage.cpp -@@ -29,7 +29,8 @@ - # include - # include - #include --#include -+#include -+#include - #include - - #endif -diff --git a/src/Mod/TechDraw/Gui/ViewProviderPage.h b/src/Mod/TechDraw/Gui/ViewProviderPage.h -index e12be67fb..73e41bdc7 100644 ---- a/src/Mod/TechDraw/Gui/ViewProviderPage.h -+++ b/src/Mod/TechDraw/Gui/ViewProviderPage.h -@@ -30,6 +30,8 @@ - #include - #include - -+#include -+ - namespace TechDraw{ - class DrawPage; - } -@@ -81,7 +83,7 @@ public: - - TechDraw::DrawPage* getDrawPage() const; - void onGuiRepaint(const TechDraw::DrawPage* dp); -- typedef boost::signals::scoped_connection Connection; -+ typedef boost::signals2::scoped_connection Connection; - Connection connectGuiRepaint; - - void unsetEdit(int ModNum); --- -2.21.0 - diff --git a/0001-Use-GL_RGB32F-instead-of-GL_RGB32F_ARB.patch b/0001-Use-GL_RGB32F-instead-of-GL_RGB32F_ARB.patch deleted file mode 100644 index 8a0bf5f..0000000 --- a/0001-Use-GL_RGB32F-instead-of-GL_RGB32F_ARB.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 2293eaf9f973cdda4e638bf00d4ddbbf02f4a54e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Sat, 12 Jan 2019 05:44:21 +0100 -Subject: [PATCH] Use GL_RGB32F instead of GL_RGB32F_ARB - -The GL_RGB32F{_ARB,_EXT,} constant has the same value in all three -variants, but the ARB variant is only available for Desktop OpenGL and -EXT is only available for GLES. Use the non-suffix variant from OpenGL -3.0 / GLES 3. - -This allows building on platforms using GLES for Qt5, i.e. many ARM -platforms. ---- - src/Gui/SoFCOffscreenRenderer.cpp | 4 ++-- - src/Gui/View3DInventorViewer.cpp | 6 +++--- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/Gui/SoFCOffscreenRenderer.cpp b/src/Gui/SoFCOffscreenRenderer.cpp -index d4eb3bc1e..6e26d2176 100644 ---- a/src/Gui/SoFCOffscreenRenderer.cpp -+++ b/src/Gui/SoFCOffscreenRenderer.cpp -@@ -598,8 +598,8 @@ SoQtOffscreenRenderer::makeFrameBuffer(int width, int height, int samples) - // format and in the output image search for the above color and - // replaces it with the color requested by the user. - #if defined(HAVE_QT5_OPENGL) -- //fmt.setInternalTextureFormat(GL_RGBA32F_ARB); -- fmt.setInternalTextureFormat(GL_RGB32F_ARB); -+ //fmt.setInternalTextureFormat(GL_RGBA32F); -+ fmt.setInternalTextureFormat(GL_RGB32F); - #else - //fmt.setInternalTextureFormat(GL_RGBA); - fmt.setInternalTextureFormat(GL_RGB); -diff --git a/src/Gui/View3DInventorViewer.cpp b/src/Gui/View3DInventorViewer.cpp -index a1fee6459..21ed8a9e8 100644 ---- a/src/Gui/View3DInventorViewer.cpp -+++ b/src/Gui/View3DInventorViewer.cpp -@@ -1416,7 +1416,7 @@ QImage View3DInventorViewer::grabFramebuffer() - fboFormat.setSamples(getNumSamples()); - fboFormat.setAttachment(QOpenGLFramebufferObject::Depth); - fboFormat.setTextureTarget(GL_TEXTURE_2D); -- fboFormat.setInternalTextureFormat(GL_RGB32F_ARB); -+ fboFormat.setInternalTextureFormat(GL_RGB32F); - - QOpenGLFramebufferObject fbo(width, height, fboFormat); - renderToFramebuffer(&fbo); -@@ -1449,8 +1449,8 @@ void View3DInventorViewer::imageFromFramebuffer(int width, int height, int sampl - // format and in the output image search for the above color and - // replaces it with the color requested by the user. - #if defined(HAVE_QT5_OPENGL) -- //fboFormat.setInternalTextureFormat(GL_RGBA32F_ARB); -- fboFormat.setInternalTextureFormat(GL_RGB32F_ARB); -+ //fboFormat.setInternalTextureFormat(GL_RGBA32F); -+ fboFormat.setInternalTextureFormat(GL_RGB32F); - #else - //fboFormat.setInternalTextureFormat(GL_RGBA); - fboFormat.setInternalTextureFormat(GL_RGB); --- -2.20.1 - diff --git a/0001-find-openmpi2-include-files.patch b/0001-find-openmpi2-include-files.patch new file mode 100644 index 0000000..24d6e78 --- /dev/null +++ b/0001-find-openmpi2-include-files.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3ecfe23a6..1db9bf33e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -717,7 +717,7 @@ endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + add_compile_options(${OPENMPI_CFLAGS}) + link_directories(${OPENMPI_LIBRARY_DIRS}) + link_libraries(${OPENMPI_LIBRARIES}) +- find_file(MpidotH mpi.h PATHS ${OPENMPI_INCLUDE_DIRS} NO_DEFAULT_PATH) ++ find_file(MpidotH mpi.h PATHS ${OPENMPI_INCLUDE_DIRS} /usr/lib64/mpi/gcc/openmpi2/include NO_DEFAULT_PATH) + if(NOT MpidotH) + message( WARNING "mpi.h was not found. Check for error above.") + endif() diff --git a/0002-move-from-deprecated-boost.signals-to-boost.signals2.patch b/0002-move-from-deprecated-boost.signals-to-boost.signals2.patch deleted file mode 100644 index fdb8f73..0000000 --- a/0002-move-from-deprecated-boost.signals-to-boost.signals2.patch +++ /dev/null @@ -1,2155 +0,0 @@ -From 54606c7d27836e2172d312597506309173f76d0d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Stefan=20Br=C3=BCns?= -Date: Thu, 14 Mar 2019 04:20:08 +0100 -Subject: [PATCH 2/3] move from deprecated boost.signals to boost.signals2 - library - ---- - CMakeLists.txt | 3 +- - src/App/Application.cpp | 1 - - src/App/Application.h | 42 +++++++++--------- - src/App/Document.h | 44 +++++++++---------- - src/App/DocumentObject.cpp | 2 +- - src/App/DocumentObject.h | 8 ++-- - src/App/DocumentObserver.cpp | 1 - - src/App/DocumentObserver.h | 4 +- - src/App/DocumentObserverPython.h | 4 +- - src/App/MergeDocuments.h | 4 +- - src/App/PreCompiled.h | 2 +- - src/App/PropertyExpressionEngine.h | 4 +- - src/Base/Tools.h | 13 +++--- - src/Gui/Action.cpp | 2 +- - src/Gui/Application.cpp | 2 +- - src/Gui/Application.h | 28 ++++++------ - src/Gui/AutoSaver.h | 4 +- - src/Gui/DAGView/DAGModel.cpp | 1 - - src/Gui/DAGView/DAGModel.h | 4 +- - src/Gui/DlgDisplayPropertiesImp.h | 6 +-- - src/Gui/Document.cpp | 12 +++-- - src/Gui/Document.h | 32 +++++++------- - src/Gui/DocumentModel.cpp | 2 +- - src/Gui/DocumentObserver.cpp | 14 ------ - src/Gui/DocumentObserver.h | 23 +--------- - src/Gui/ExpressionBinding.h | 4 +- - src/Gui/GraphvizView.h | 4 +- - src/Gui/MDIView.cpp | 2 +- - src/Gui/MDIView.h | 2 +- - src/Gui/MainWindow.cpp | 1 - - src/Gui/ManualAlignment.cpp | 1 - - src/Gui/ManualAlignment.h | 4 +- - src/Gui/MergeDocuments.h | 4 +- - src/Gui/Placement.h | 4 +- - src/Gui/PreCompiled.h | 2 +- - src/Gui/ProjectView.cpp | 1 - - src/Gui/PropertyView.h | 14 +++--- - src/Gui/Selection.cpp | 7 ++- - src/Gui/Selection.h | 6 ++- - src/Gui/TaskView/TaskAppearance.h | 4 +- - src/Gui/TaskView/TaskSelectLinkProperty.h | 1 - - src/Gui/TaskView/TaskView.h | 4 +- - src/Gui/Tree.cpp | 1 - - src/Gui/Tree.h | 4 +- - src/Gui/ViewProvider.h | 8 ++-- - src/Gui/ViewProviderOriginGroup.h | 2 - - src/Gui/ViewProviderOriginGroupExtension.h | 4 +- - src/Gui/ViewProviderPythonFeature.cpp | 1 - - src/Mod/Drawing/Gui/TaskOrthoViews.cpp | 14 +++--- - src/Mod/Drawing/Gui/TaskOrthoViews.h | 8 ++-- - src/Mod/Fem/Gui/TaskPostBoxes.h | 13 +++--- - src/Mod/Fem/Gui/ViewProviderFemPostFunction.h | 37 ++++------------ - src/Mod/Inspection/App/InspectionFeature.cpp | 1 - - src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp | 1 - - src/Mod/Mesh/Gui/MeshEditor.h | 4 +- - src/Mod/Part/App/PreCompiled.h | 10 ++--- - src/Mod/Part/Gui/DlgBooleanOperation.h | 4 +- - src/Mod/Part/Gui/DlgFilletEdges.cpp | 4 +- - src/Mod/Part/Gui/TaskAttacher.h | 2 +- - src/Mod/Part/Gui/TaskFaceColors.cpp | 4 +- - src/Mod/PartDesign/App/Body.h | 4 +- - .../PartDesign/Gui/TaskFeatureParameters.cpp | 1 - - src/Mod/PartDesign/Gui/TaskHoleParameters.h | 2 +- - .../Gui/TaskPrimitiveParameters.cpp | 1 - - .../PartDesign/Gui/TaskPrimitiveParameters.h | 2 - - .../PartDesign/Gui/TaskTransformedMessages.h | 4 +- - .../Gui/TaskTransformedParameters.cpp | 1 - - src/Mod/PartDesign/Gui/ViewProviderBody.h | 4 +- - .../PartDesign/Gui/ViewProviderTransformed.h | 2 +- - src/Mod/PartDesign/Gui/WorkflowManager.h | 8 ++-- - src/Mod/Sandbox/App/DocumentProtector.h | 17 ++++--- - src/Mod/Sketcher/App/PropertyConstraintList.h | 6 +-- - src/Mod/Sketcher/App/SketchObject.h | 6 +-- - src/Mod/Sketcher/Gui/TaskDlgEditSketch.h | 4 +- - src/Mod/Sketcher/Gui/TaskSketcherConstrains.h | 4 +- - src/Mod/Sketcher/Gui/TaskSketcherElements.h | 4 +- - src/Mod/Sketcher/Gui/TaskSketcherMessages.h | 4 +- - .../Sketcher/Gui/TaskSketcherSolverAdvanced.h | 1 - - src/Mod/Sketcher/Gui/ViewProviderSketch.h | 15 +++---- - src/Mod/Spreadsheet/App/Sheet.h | 12 ++--- - src/Mod/Spreadsheet/Gui/SheetModel.h | 4 +- - src/Mod/Spreadsheet/Gui/SheetTableView.h | 4 +- - src/Mod/Spreadsheet/Gui/SpreadsheetView.h | 6 +-- - src/Mod/TechDraw/Gui/MDIViewPage.cpp | 2 +- - src/Mod/TechDraw/Gui/MDIViewPage.h | 2 +- - 85 files changed, 247 insertions(+), 322 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3ecfe23a6..c552a4b4a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -594,7 +594,7 @@ endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - SET(_boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS}) - - find_package(Boost ${BOOST_MIN_VERSION} -- COMPONENTS filesystem program_options regex signals system thread REQUIRED) -+ COMPONENTS filesystem program_options regex system thread REQUIRED) - - IF(NOT Boost_FOUND) - MESSAGE(FATAL_ERROR "========================================\n" -@@ -602,7 +602,6 @@ endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - " * filesystem\n" - " * program_options\n" - " * regex\n" -- " * signals\n" - " * system\n" - " * thread\n" - "========================================\n") -diff --git a/src/App/Application.cpp b/src/App/Application.cpp -index 8bc309bfe..c9f9ca13c 100644 ---- a/src/App/Application.cpp -+++ b/src/App/Application.cpp -@@ -120,7 +120,6 @@ - - #include - #include --#include - #include - #include - #include -diff --git a/src/App/Application.h b/src/App/Application.h -index e3bbb8f12..2da9ea1a9 100644 ---- a/src/App/Application.h -+++ b/src/App/Application.h -@@ -25,7 +25,7 @@ - #ifndef APP_APPLICATION_H - #define APP_APPLICATION_H - --#include -+#include - - #include - -@@ -99,27 +99,27 @@ public: - /** @name Signals of the Application */ - //@{ - /// signal on new Document -- boost::signal signalNewDocument; -+ boost::signals2::signal signalNewDocument; - /// signal on document getting deleted -- boost::signal signalDeleteDocument; -+ boost::signals2::signal signalDeleteDocument; - /// signal on already deleted Document -- boost::signal signalDeletedDocument; -+ boost::signals2::signal signalDeletedDocument; - /// signal on relabeling Document (user name) -- boost::signal signalRelabelDocument; -+ boost::signals2::signal signalRelabelDocument; - /// signal on renaming Document (internal name) -- boost::signal signalRenameDocument; -+ boost::signals2::signal signalRenameDocument; - /// signal on activating Document -- boost::signal signalActiveDocument; -+ boost::signals2::signal signalActiveDocument; - /// signal on saving Document -- boost::signal signalSaveDocument; -+ boost::signals2::signal signalSaveDocument; - /// signal on starting to restore Document -- boost::signal signalStartRestoreDocument; -+ boost::signals2::signal signalStartRestoreDocument; - /// signal on restoring Document -- boost::signal signalFinishRestoreDocument; -+ boost::signals2::signal signalFinishRestoreDocument; - /// signal on undo in document -- boost::signal signalUndoDocument; -+ boost::signals2::signal signalUndoDocument; - /// signal on redo in document -- boost::signal signalRedoDocument; -+ boost::signals2::signal signalRedoDocument; - //@} - - -@@ -129,16 +129,16 @@ public: - */ - //@{ - /// signal on new Object -- boost::signal signalNewObject; -- //boost::signal m_sig; -+ boost::signals2::signal signalNewObject; -+ //boost::signals2::signal m_sig; - /// signal on deleted Object -- boost::signal signalDeletedObject; -+ boost::signals2::signal signalDeletedObject; - /// signal on changed Object -- boost::signal signalChangedObject; -+ boost::signals2::signal signalChangedObject; - /// signal on relabeled Object -- boost::signal signalRelabelObject; -+ boost::signals2::signal signalRelabelObject; - /// signal on activated Object -- boost::signal signalActivatedObject; -+ boost::signals2::signal signalActivatedObject; - //@} - - /** @name Signals of property changes -@@ -147,11 +147,11 @@ public: - */ - //@{ - /// signal on adding a dynamic property -- boost::signal signalAppendDynamicProperty; -+ boost::signals2::signal signalAppendDynamicProperty; - /// signal on about removing a dynamic property -- boost::signal signalRemoveDynamicProperty; -+ boost::signals2::signal signalRemoveDynamicProperty; - /// signal on about changing the editor mode of a property -- boost::signal signalChangePropertyEditor; -+ boost::signals2::signal signalChangePropertyEditor; - //@} - - -diff --git a/src/App/Document.h b/src/App/Document.h -index 7f3235675..e5c9c1e9d 100644 ---- a/src/App/Document.h -+++ b/src/App/Document.h -@@ -37,7 +37,7 @@ - #include - #include - --#include -+#include - - namespace Base { - class Writer; -@@ -113,40 +113,40 @@ public: - /** @name Signals of the document */ - //@{ - /// signal on new Object -- boost::signal signalNewObject; -- //boost::signal m_sig; -+ boost::signals2::signal signalNewObject; -+ //boost::signals2::signal m_sig; - /// signal on deleted Object -- boost::signal signalDeletedObject; -+ boost::signals2::signal signalDeletedObject; - /// signal on changed Object -- boost::signal signalChangedObject; -+ boost::signals2::signal signalChangedObject; - /// signal on relabeled Object -- boost::signal signalRelabelObject; -+ boost::signals2::signal signalRelabelObject; - /// signal on activated Object -- boost::signal signalActivatedObject; -+ boost::signals2::signal signalActivatedObject; - /// signal on created object -- boost::signal signalTransactionAppend; -+ boost::signals2::signal signalTransactionAppend; - /// signal on removed object -- boost::signal signalTransactionRemove; -+ boost::signals2::signal signalTransactionRemove; - /// signal on undo -- boost::signal signalUndo; -+ boost::signals2::signal signalUndo; - /// signal on redo -- boost::signal signalRedo; -+ boost::signals2::signal signalRedo; - /** signal on load/save document - * this signal is given when the document gets streamed. - * you can use this hook to write additional information in - * the file (like the Gui::Document it does). - */ -- boost::signal signalSaveDocument; -- boost::signal signalRestoreDocument; -- boost::signal&, -- Base::Writer &)> signalExportObjects; -- boost::signal&, -- Base::Writer &)> signalExportViewObjects; -- boost::signal&, -- Base::XMLReader&)> signalImportObjects; -- boost::signal&, Base::Reader&, -- const std::map&)> signalImportViewObjects; -- boost::signal signalRecomputed; -+ boost::signals2::signal signalSaveDocument; -+ boost::signals2::signal signalRestoreDocument; -+ boost::signals2::signal&, -+ Base::Writer &)> signalExportObjects; -+ boost::signals2::signal&, -+ Base::Writer &)> signalExportViewObjects; -+ boost::signals2::signal&, -+ Base::XMLReader&)> signalImportObjects; -+ boost::signals2::signal&, Base::Reader&, -+ const std::map&)> signalImportViewObjects; -+ boost::signals2::signal signalRecomputed; - //@} - - /** @name File handling of the document */ -diff --git a/src/App/DocumentObject.cpp b/src/App/DocumentObject.cpp -index d07ad1bb9..ea4e6658b 100644 ---- a/src/App/DocumentObject.cpp -+++ b/src/App/DocumentObject.cpp -@@ -38,7 +38,7 @@ - #include "DocumentObjectExtension.h" - #include "GeoFeatureGroupExtension.h" - #include --#include -+#include - #include - - using namespace App; -diff --git a/src/App/DocumentObject.h b/src/App/DocumentObject.h -index 9b7265131..5eb69c44a 100644 ---- a/src/App/DocumentObject.h -+++ b/src/App/DocumentObject.h -@@ -33,7 +33,7 @@ - #include - - #include --#include -+#include - - namespace App - { -@@ -282,9 +282,9 @@ protected: // attributes - App::Document* _pDoc; - - // Connections to track relabeling of document and document objects -- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection onRelabledDocumentConnection; -- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection onRelabledObjectConnection; -- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection onDeletedObjectConnection; -+ boost::signals2::scoped_connection onRelabledDocumentConnection; -+ boost::signals2::scoped_connection onRelabledObjectConnection; -+ boost::signals2::scoped_connection onDeletedObjectConnection; - - /// Old label; used for renaming expressions - std::string oldLabel; -diff --git a/src/App/DocumentObserver.cpp b/src/App/DocumentObserver.cpp -index 904292f0a..7f9c73d5d 100644 ---- a/src/App/DocumentObserver.cpp -+++ b/src/App/DocumentObserver.cpp -@@ -27,7 +27,6 @@ - # include - #endif - --#include - #include - - #include "Application.h" -diff --git a/src/App/DocumentObserver.h b/src/App/DocumentObserver.h -index de5e37828..3bc6f24f8 100644 ---- a/src/App/DocumentObserver.h -+++ b/src/App/DocumentObserver.h -@@ -25,7 +25,7 @@ - #define APP_DOCUMENTOBSERVER_H - - #include --#include -+#include - #include - - namespace App -@@ -157,7 +157,7 @@ protected: - - private: - App::Document* _document; -- typedef boost::signals::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectApplicationCreatedDocument; - Connection connectApplicationDeletedDocument; - Connection connectDocumentCreatedObject; -diff --git a/src/App/DocumentObserverPython.h b/src/App/DocumentObserverPython.h -index e83c220c2..fdfaa8687 100644 ---- a/src/App/DocumentObserverPython.h -+++ b/src/App/DocumentObserverPython.h -@@ -26,7 +26,7 @@ - - #include - --#include -+#include - #include - - namespace App -@@ -74,7 +74,7 @@ private: - Py::Object inst; - static std::vector _instances; - -- typedef boost::signals::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectApplicationCreatedDocument; - Connection connectApplicationDeletedDocument; - Connection connectApplicationRelabelDocument; -diff --git a/src/App/MergeDocuments.h b/src/App/MergeDocuments.h -index cc9620eee..4e2249240 100644 ---- a/src/App/MergeDocuments.h -+++ b/src/App/MergeDocuments.h -@@ -24,7 +24,7 @@ - #ifndef APP_MERGEDOCUMENTS_H - #define APP_MERGEDOCUMENTS_H - --#include -+#include - #include - - namespace zipios { -@@ -57,7 +57,7 @@ private: - App::Document* appdoc; - std::vector objects; - std::map nameMap; -- typedef boost::signals::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectExport; - Connection connectImport; - }; -diff --git a/src/App/PreCompiled.h b/src/App/PreCompiled.h -index 6cd3a881e..aeacc07b3 100644 ---- a/src/App/PreCompiled.h -+++ b/src/App/PreCompiled.h -@@ -71,7 +71,7 @@ - #include - - // Boost --#include -+#include - #include - #include - -diff --git a/src/App/PropertyExpressionEngine.h b/src/App/PropertyExpressionEngine.h -index c07dbf175..4c7b0813f 100644 ---- a/src/App/PropertyExpressionEngine.h -+++ b/src/App/PropertyExpressionEngine.h -@@ -25,7 +25,7 @@ - - #include - #include --#include -+#include - #include - #include - #include -@@ -125,7 +125,7 @@ public: - void slotObjectDeleted(const DocumentObject &obj); - - ///signal called when a expression was changed -- boost::signal expressionChanged; -+ boost::signals2::signal expressionChanged; - - void onDocumentRestored(); - -diff --git a/src/Base/Tools.h b/src/Base/Tools.h -index 158c7bb31..92d28b77f 100644 ---- a/src/Base/Tools.h -+++ b/src/Base/Tools.h -@@ -30,7 +30,7 @@ - #include - #include - #include --#include -+#include - #include - - namespace Base -@@ -166,17 +166,14 @@ private: - // ---------------------------------------------------------------------------- - - class ConnectionBlocker { -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -- bool b; -- Connection& c; -+ typedef boost::signals2::connection Connection; -+ typedef boost::signals2::shared_connection_block ConnectionBlock; -+ ConnectionBlock blocker; - - public: -- ConnectionBlocker(Connection& c) : c(c) { -- b = c.blocked(); -- c.block(true); -+ ConnectionBlocker(Connection& c) : blocker(c) { - } - ~ConnectionBlocker() { -- c.block(b); - } - }; - -diff --git a/src/Gui/Action.cpp b/src/Gui/Action.cpp -index 4b8e32674..4ba3c3f7a 100644 ---- a/src/Gui/Action.cpp -+++ b/src/Gui/Action.cpp -@@ -24,7 +24,7 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ --# include -+# include - # include - # include - # include -diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp -index 1d968071a..5db68d065 100644 ---- a/src/Gui/Application.cpp -+++ b/src/Gui/Application.cpp -@@ -25,7 +25,7 @@ - - #ifndef _PreComp_ - # include "InventorAll.h" --# include -+# include - # include - # include - # include -diff --git a/src/Gui/Application.h b/src/Gui/Application.h -index afb4c3c46..6fc446f8f 100644 ---- a/src/Gui/Application.h -+++ b/src/Gui/Application.h -@@ -88,33 +88,33 @@ public: - /** @name Signals of the Application */ - //@{ - /// signal on new Document -- boost::signal signalNewDocument; -+ boost::signals2::signal signalNewDocument; - /// signal on deleted Document -- boost::signal signalDeleteDocument; -+ boost::signals2::signal signalDeleteDocument; - /// signal on relabeling Document -- boost::signal signalRelabelDocument; -+ boost::signals2::signal signalRelabelDocument; - /// signal on renaming Document -- boost::signal signalRenameDocument; -+ boost::signals2::signal signalRenameDocument; - /// signal on activating Document -- boost::signal signalActiveDocument; -+ boost::signals2::signal signalActiveDocument; - /// signal on new Object -- boost::signal signalNewObject; -+ boost::signals2::signal signalNewObject; - /// signal on deleted Object -- boost::signal signalDeletedObject; -+ boost::signals2::signal signalDeletedObject; - /// signal on changed object property -- boost::signal signalChangedObject; -+ boost::signals2::signal signalChangedObject; - /// signal on renamed Object -- boost::signal signalRelabelObject; -+ boost::signals2::signal signalRelabelObject; - /// signal on activated Object -- boost::signal signalActivatedObject; -+ boost::signals2::signal signalActivatedObject; - /// signal on activated workbench -- boost::signal signalActivateWorkbench; -+ boost::signals2::signal signalActivateWorkbench; - /// signal on added workbench -- boost::signal signalAddWorkbench; -+ boost::signals2::signal signalAddWorkbench; - /// signal on removed workbench -- boost::signal signalRemoveWorkbench; -+ boost::signals2::signal signalRemoveWorkbench; - /// signal on activating view -- boost::signal signalActivateView; -+ boost::signals2::signal signalActivateView; - //@} - - /** @name methods for Document handling */ -diff --git a/src/Gui/AutoSaver.h b/src/Gui/AutoSaver.h -index 2b0ae0858..9e7d77d59 100644 ---- a/src/Gui/AutoSaver.h -+++ b/src/Gui/AutoSaver.h -@@ -29,7 +29,7 @@ - #include - #include - #include --#include -+#include - - namespace App { - class Document; -@@ -53,7 +53,7 @@ public: - private: - void slotNewObject(const App::DocumentObject&); - void slotChangePropertyData(const App::Property&); -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection documentNew; - Connection documentMod; - }; -diff --git a/src/Gui/DAGView/DAGModel.cpp b/src/Gui/DAGView/DAGModel.cpp -index 73d3bf695..688460bea 100644 ---- a/src/Gui/DAGView/DAGModel.cpp -+++ b/src/Gui/DAGView/DAGModel.cpp -@@ -22,7 +22,6 @@ - - #include "PreCompiled.h" - #ifndef _PreComp_ --#include - #include - #include - #include -diff --git a/src/Gui/DAGView/DAGModel.h b/src/Gui/DAGView/DAGModel.h -index f317500fe..6ae263b32 100644 ---- a/src/Gui/DAGView/DAGModel.h -+++ b/src/Gui/DAGView/DAGModel.h -@@ -26,7 +26,7 @@ - #include - #include - --#include -+#include - - #include - #include -@@ -86,7 +86,7 @@ namespace Gui - private: - Model(){} - //documentObject slots. -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectNewObject; - Connection connectDelObject; - Connection connectChgObject; -diff --git a/src/Gui/DlgDisplayPropertiesImp.h b/src/Gui/DlgDisplayPropertiesImp.h -index 0bdda40b9..50e0b79ee 100644 ---- a/src/Gui/DlgDisplayPropertiesImp.h -+++ b/src/Gui/DlgDisplayPropertiesImp.h -@@ -25,7 +25,7 @@ - #define GUI_DIALOG_DLGDISPLAYPROPERTIES_IMP_H - - #include --#include -+#include - - #include "ui_DlgDisplayProperties.h" - #include "Selection.h" -@@ -42,7 +42,7 @@ namespace Gui { - class Command; - - namespace Dialog { --typedef boost::signals::connection DlgDisplayPropertiesImp_Connection; -+typedef boost::signals2::connection DlgDisplayPropertiesImp_Connection; - - /** - * The DlgDisplayPropertiesImp class implements a dialog containing all available document -@@ -79,7 +79,7 @@ protected: - - private: - void slotChangedObject(const Gui::ViewProvider&, const App::Property& Prop); -- void reject(); -+ void reject(); - void setDisplayModes(const std::vector&); - void setMaterial(const std::vector&); - void setColorPlot(const std::vector&); -diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp -index 5d943c605..0db9ce0df 100644 ---- a/src/Gui/Document.cpp -+++ b/src/Gui/Document.cpp -@@ -31,7 +31,7 @@ - # include - # include - # include --# include -+# include - # include - # include - # include -@@ -89,7 +89,7 @@ struct DocumentP - std::map _ViewProviderMap; - std::map _ViewProviderMapAnnotation; - -- typedef boost::signals::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectNewObject; - Connection connectDelObject; - Connection connectCngObject; -@@ -105,6 +105,8 @@ struct DocumentP - Connection connectRedoDocument; - Connection connectTransactionAppend; - Connection connectTransactionRemove; -+ typedef boost::signals2::shared_connection_block ConnectionBlock; -+ ConnectionBlock connectActObjectBlocker; - }; - - } // namespace Gui -@@ -138,6 +140,8 @@ Document::Document(App::Document* pcDocument,Application * app) - (boost::bind(&Gui::Document::slotRelabelObject, this, _1)); - d->connectActObject = pcDocument->signalActivatedObject.connect - (boost::bind(&Gui::Document::slotActivatedObject, this, _1)); -+ d->connectActObjectBlocker = boost::signals2::shared_connection_block -+ (d->connectActObject, false); - d->connectSaveDocument = pcDocument->signalSaveDocument.connect - (boost::bind(&Gui::Document::Save, this, _1)); - d->connectRestDocument = pcDocument->signalRestoreDocument.connect -@@ -846,14 +850,14 @@ void Document::slotStartRestoreDocument(const App::Document& doc) - if (d->_pcDocument != &doc) - return; - // disable this signal while loading a document -- d->connectActObject.block(); -+ d->connectActObjectBlocker.block(); - } - - void Document::slotFinishRestoreDocument(const App::Document& doc) - { - if (d->_pcDocument != &doc) - return; -- d->connectActObject.unblock(); -+ d->connectActObjectBlocker.unblock(); - App::DocumentObject* act = doc.getActiveObject(); - if (act) { - ViewProvider* viewProvider = getViewProvider(act); -diff --git a/src/Gui/Document.h b/src/Gui/Document.h -index d387a6c42..679190320 100644 ---- a/src/Gui/Document.h -+++ b/src/Gui/Document.h -@@ -92,36 +92,36 @@ public: - /** @name Signals of the document */ - //@{ - /// signal on new Object -- mutable boost::signal signalNewObject; -+ mutable boost::signals2::signal signalNewObject; - /// signal on deleted Object -- mutable boost::signal signalDeletedObject; -+ mutable boost::signals2::signal signalDeletedObject; - /** signal on changed Object, the 2nd argument is the changed property - of the referenced document object, not of the view provider */ -- mutable boost::signal signalChangedObject; - /// signal on renamed Object -- mutable boost::signal signalRelabelObject; -+ mutable boost::signals2::signal signalRelabelObject; - /// signal on activated Object -- mutable boost::signal signalActivatedObject; -+ mutable boost::signals2::signal signalActivatedObject; - /// signal on entering in edit mode -- mutable boost::signal signalInEdit; -+ mutable boost::signals2::signal signalInEdit; - /// signal on leaving edit mode -- mutable boost::signal signalResetEdit; -+ mutable boost::signals2::signal signalResetEdit; - /// signal on changed Object, the 2nd argument is the highlite mode to use -- mutable boost::signal signalHighlightObject; -+ mutable boost::signals2::signal signalHighlightObject; - /// signal on changed Object, the 2nd argument is the highlite mode to use -- mutable boost::signal signalExpandObject; -+ mutable boost::signals2::signal signalExpandObject; - /// signal on scrolling to an object -- mutable boost::signal signalScrollToObject; -+ mutable boost::signals2::signal signalScrollToObject; - /// signal on undo Document -- mutable boost::signal signalUndoDocument; -+ mutable boost::signals2::signal signalUndoDocument; - /// signal on redo Document -- mutable boost::signal signalRedoDocument; -+ mutable boost::signals2::signal signalRedoDocument; - /// signal on deleting Document -- mutable boost::signal signalDeleteDocument; -+ mutable boost::signals2::signal signalDeleteDocument; - //@} - - /** @name I/O of the document */ -diff --git a/src/Gui/DocumentModel.cpp b/src/Gui/DocumentModel.cpp -index 7b3420b14..4ec20c140 100644 ---- a/src/Gui/DocumentModel.cpp -+++ b/src/Gui/DocumentModel.cpp -@@ -26,7 +26,7 @@ - #ifndef _PreComp_ - # include - # include --# include -+# include - # include - #endif - -diff --git a/src/Gui/DocumentObserver.cpp b/src/Gui/DocumentObserver.cpp -index 5852d5a15..d46c0b1a1 100644 ---- a/src/Gui/DocumentObserver.cpp -+++ b/src/Gui/DocumentObserver.cpp -@@ -27,7 +27,6 @@ - # include - #endif - --#include - #include - - #include "Application.h" -@@ -89,19 +88,6 @@ void DocumentObserver::detachDocument() - this->connectDocumentDelete.disconnect(); - } - --void DocumentObserver::enableNotifications(DocumentObserver::Notifications value) --{ -- this->connectDocumentCreatedObject.block(!(value & Create)); -- this->connectDocumentDeletedObject.block(!(value & Delete)); -- this->connectDocumentChangedObject.block(!(value & Change)); -- this->connectDocumentRelabelObject.block(!(value & Relabel)); -- this->connectDocumentActivateObject.block(!(value & Activate)); -- this->connectDocumentEditObject.block(!(value & Edit)); -- this->connectDocumentResetObject.block(!(value & Reset)); -- this->connectDocumentUndo.block(!(value & Undo)); -- this->connectDocumentRedo.block(!(value & Redo)); --} -- - void DocumentObserver::slotUndoDocument(const Document& /*Doc*/) - { - } -diff --git a/src/Gui/DocumentObserver.h b/src/Gui/DocumentObserver.h -index 083e78961..08a9399e2 100644 ---- a/src/Gui/DocumentObserver.h -+++ b/src/Gui/DocumentObserver.h -@@ -25,8 +25,7 @@ - #define GUI_DOCUMENTOBSERVER_H - - #include --#include --#include -+#include - - namespace App { class Property; } - namespace Gui -@@ -45,21 +44,6 @@ class ViewProviderDocumentObject; - class GuiExport DocumentObserver - { - public: -- enum Notification { -- None = 0x0000, -- Create = 0x0001, -- Delete = 0x0002, -- Change = 0x0004, -- Relabel = 0x0008, -- Activate = 0x0010, -- Edit = 0x0020, -- Reset = 0x0040, -- Undo = 0x0080, -- Redo = 0x0100, -- All = 0x01ff -- }; -- Q_DECLARE_FLAGS(Notifications, Notification) -- - /// Constructor - DocumentObserver(); - virtual ~DocumentObserver(); -@@ -72,9 +56,6 @@ public: - * is not longer observed then. - */ - void detachDocument(); -- /** Activates the connection depending on the given value. -- */ -- void enableNotifications(Notifications value); - - private: - /** Notifies when an object has been created. */ -@@ -100,7 +81,7 @@ private: - virtual void slotDeleteDocument(const Document& Doc); - - private: -- typedef boost::BOOST_SIGNALS_NAMESPACE::scoped_connection Connection; -+ typedef boost::signals2::scoped_connection Connection; - Connection connectDocumentCreatedObject; - Connection connectDocumentDeletedObject; - Connection connectDocumentChangedObject; -diff --git a/src/Gui/ExpressionBinding.h b/src/Gui/ExpressionBinding.h -index 8280dec18..765073751 100644 ---- a/src/Gui/ExpressionBinding.h -+++ b/src/Gui/ExpressionBinding.h -@@ -27,7 +27,7 @@ - #include - #include - #include --#include -+#include - - namespace App { - class Expression; -@@ -75,7 +75,7 @@ protected: - int iconHeight; - - void expressionChange(const App::ObjectIdentifier& id); -- boost::signals::scoped_connection connection; -+ boost::signals2::scoped_connection connection; - bool m_autoApply; - }; - -diff --git a/src/Gui/GraphvizView.h b/src/Gui/GraphvizView.h -index 3452e5457..5a9dc204b 100644 ---- a/src/Gui/GraphvizView.h -+++ b/src/Gui/GraphvizView.h -@@ -26,7 +26,7 @@ - - #include "MDIView.h" - #include --#include -+#include - - - class QGraphicsScene; -@@ -84,7 +84,7 @@ private: - GraphvizWorker* thread; - int nPending; - -- typedef boost::BOOST_SIGNALS_NAMESPACE::scoped_connection Connection; -+ typedef boost::signals2::scoped_connection Connection; - Connection recomputeConnection; - Connection undoConnection; - Connection redoConnection; -diff --git a/src/Gui/MDIView.cpp b/src/Gui/MDIView.cpp -index 1f6421429..6d8fbcc5f 100644 ---- a/src/Gui/MDIView.cpp -+++ b/src/Gui/MDIView.cpp -@@ -24,7 +24,7 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ --# include -+# include - # include - # include - # include -diff --git a/src/Gui/MDIView.h b/src/Gui/MDIView.h -index 8704a0d4d..a10be328c 100644 ---- a/src/Gui/MDIView.h -+++ b/src/Gui/MDIView.h -@@ -150,7 +150,7 @@ private: - Qt::WindowStates wstate; - // list of active objects of this view - ActiveObjectList ActiveObjects; -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectDelObject; //remove active object upon delete. - }; - -diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp -index baa4f3675..3a92d5fb5 100644 ---- a/src/Gui/MainWindow.cpp -+++ b/src/Gui/MainWindow.cpp -@@ -51,7 +51,6 @@ - # include - #endif - --#include - #include - - // FreeCAD Base header -diff --git a/src/Gui/ManualAlignment.cpp b/src/Gui/ManualAlignment.cpp -index 78eeb930d..d8736a424 100644 ---- a/src/Gui/ManualAlignment.cpp -+++ b/src/Gui/ManualAlignment.cpp -@@ -49,7 +49,6 @@ - # include - #endif - --#include - #include - - #include -diff --git a/src/Gui/ManualAlignment.h b/src/Gui/ManualAlignment.h -index ebfdc5871..06a78fbd8 100644 ---- a/src/Gui/ManualAlignment.h -+++ b/src/Gui/ManualAlignment.h -@@ -30,7 +30,7 @@ - #include - #include - #include --#include -+#include - - class SbVec3f; - class SoPickedPoint; -@@ -244,7 +244,7 @@ private: - - static ManualAlignment* _instance; - -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectApplicationDeletedDocument; - Connection connectDocumentDeletedObject; - -diff --git a/src/Gui/MergeDocuments.h b/src/Gui/MergeDocuments.h -index 42bc252e0..d4d1be0f3 100644 ---- a/src/Gui/MergeDocuments.h -+++ b/src/Gui/MergeDocuments.h -@@ -24,7 +24,7 @@ - #ifndef GUI_MERGEDOCUMENTS_H - #define GUI_MERGEDOCUMENTS_H - --#include -+#include - #include - - namespace zipios { -@@ -57,7 +57,7 @@ private: - Gui::Document* document; - std::vector objects; - std::map nameMap; -- typedef boost::signals::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectExport; - Connection connectImport; - }; -diff --git a/src/Gui/Placement.h b/src/Gui/Placement.h -index f2926fddb..f24249125 100644 ---- a/src/Gui/Placement.h -+++ b/src/Gui/Placement.h -@@ -28,7 +28,7 @@ - #include - #include - --#include -+#include - #include - - class QSignalMapper; -@@ -84,7 +84,7 @@ Q_SIGNALS: - - private: - typedef Gui::LocationInterfaceComp Ui_PlacementComp; -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - Ui_PlacementComp* ui; - QSignalMapper* signalMapper; - Connection connectAct; -diff --git a/src/Gui/PreCompiled.h b/src/Gui/PreCompiled.h -index 775a0c426..58627bae9 100644 ---- a/src/Gui/PreCompiled.h -+++ b/src/Gui/PreCompiled.h -@@ -72,7 +72,7 @@ - #include - - // Boost --#include -+#include - #include - #include - #include -diff --git a/src/Gui/ProjectView.cpp b/src/Gui/ProjectView.cpp -index 327ac4bc6..bbef326fd 100644 ---- a/src/Gui/ProjectView.cpp -+++ b/src/Gui/ProjectView.cpp -@@ -24,7 +24,6 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ --# include - # include - # include - # include -diff --git a/src/Gui/PropertyView.h b/src/Gui/PropertyView.h -index 85665134f..8839e6891 100644 ---- a/src/Gui/PropertyView.h -+++ b/src/Gui/PropertyView.h -@@ -28,7 +28,7 @@ - - #include "DockWindow.h" - #include "Selection.h" --#include -+#include - - class QPixmap; - class QTabWidget; -@@ -65,15 +65,15 @@ public: - Gui::PropertyEditor::PropertyEditor* propertyEditorView; - Gui::PropertyEditor::PropertyEditor* propertyEditorData; - --public Q_SLOTS: -- /// Stores a preference for the last tab selected -- void tabChanged(int index); -- -+public Q_SLOTS: -+ /// Stores a preference for the last tab selected -+ void tabChanged(int index); -+ - protected: - void changeEvent(QEvent *e); - - private: -- void onSelectionChanged(const SelectionChanges& msg); -+ void onSelectionChanged(const SelectionChanges& msg); - void slotChangePropertyData(const App::DocumentObject&, const App::Property&); - void slotChangePropertyView(const Gui::ViewProvider&, const App::Property&); - void slotAppendDynamicProperty(const App::Property&); -@@ -83,7 +83,7 @@ private: - private: - struct PropInfo; - struct PropFind; -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectPropData; - Connection connectPropView; - Connection connectPropAppend; -diff --git a/src/Gui/Selection.cpp b/src/Gui/Selection.cpp -index 317ad2c6c..80b7e3056 100644 ---- a/src/Gui/Selection.cpp -+++ b/src/Gui/Selection.cpp -@@ -26,7 +26,6 @@ - #ifndef _PreComp_ - # include - # include --# include - # include - # include - # include -@@ -54,7 +53,7 @@ - using namespace Gui; - using namespace std; - --SelectionObserver::SelectionObserver() -+SelectionObserver::SelectionObserver() : blocker(connectSelection, false) - { - attachSelection(); - } -@@ -68,9 +67,9 @@ bool SelectionObserver::blockConnection(bool block) - { - bool ok = connectSelection.blocked(); - if (block) -- connectSelection.block(); -+ blocker.block(); - else -- connectSelection.unblock(); -+ blocker.unblock(); - return ok; - } - -diff --git a/src/Gui/Selection.h b/src/Gui/Selection.h -index bb7939455..e1c195989 100644 ---- a/src/Gui/Selection.h -+++ b/src/Gui/Selection.h -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - #include - - #include -@@ -143,8 +144,9 @@ private: - virtual void onSelectionChanged(const SelectionChanges& msg) = 0; - - private: -- typedef boost::signals::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectSelection; -+ boost::signals2::shared_connection_block blocker; - }; - - /** -@@ -290,7 +292,7 @@ public: - }; - - /// signal on new object -- boost::signal signalSelectionChanged; -+ boost::signals2::signal signalSelectionChanged; - - /** Returns a vector of selection objects - * If no document name is given the objects of the active are returned. -diff --git a/src/Gui/TaskView/TaskAppearance.h b/src/Gui/TaskView/TaskAppearance.h -index cdcbe1faf..1e3de8a89 100644 ---- a/src/Gui/TaskView/TaskAppearance.h -+++ b/src/Gui/TaskView/TaskAppearance.h -@@ -26,7 +26,7 @@ - - #include "TaskView.h" - #include --#include -+#include - - - class Ui_TaskAppearance; -@@ -38,7 +38,7 @@ class Property; - namespace Gui { - class ViewProvider; - namespace TaskView { --typedef boost::signals::connection TaskAppearance_Connection; -+typedef boost::signals2::connection TaskAppearance_Connection; - - class TaskAppearance : public TaskBox, public Gui::SelectionSingleton::ObserverType - { -diff --git a/src/Gui/TaskView/TaskSelectLinkProperty.h b/src/Gui/TaskView/TaskSelectLinkProperty.h -index 85dbf456c..7f2e1dcad 100644 ---- a/src/Gui/TaskView/TaskSelectLinkProperty.h -+++ b/src/Gui/TaskView/TaskSelectLinkProperty.h -@@ -26,7 +26,6 @@ - - #include "TaskView.h" - #include --#include - #include - - -diff --git a/src/Gui/TaskView/TaskView.h b/src/Gui/TaskView/TaskView.h -index 621482ebf..5a368c8e3 100644 ---- a/src/Gui/TaskView/TaskView.h -+++ b/src/Gui/TaskView/TaskView.h -@@ -29,7 +29,7 @@ - #include - #include - #include --#include -+#include - #include - - #if !defined (QSINT_ACTIONPANEL) -@@ -51,7 +51,7 @@ class CombiView; - } - namespace TaskView { - --typedef boost::signals::connection Connection; -+typedef boost::signals2::connection Connection; - class TaskEditControl; - class TaskDialog; - -diff --git a/src/Gui/Tree.cpp b/src/Gui/Tree.cpp -index 3f36bbf96..34376cd2f 100644 ---- a/src/Gui/Tree.cpp -+++ b/src/Gui/Tree.cpp -@@ -24,7 +24,6 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ --# include - # include - # include - # include -diff --git a/src/Gui/Tree.h b/src/Gui/Tree.h -index 913fa49dd..19847b532 100644 ---- a/src/Gui/Tree.h -+++ b/src/Gui/Tree.h -@@ -184,7 +184,7 @@ private: - const Gui::Document* pDocument; - std::map ObjectMap; - -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectNewObject; - Connection connectDelObject; - Connection connectChgObject; -@@ -222,7 +222,7 @@ protected: - void slotChangeStatusTip(const QString&); - - private: -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - int previousStatus; - Gui::ViewProviderDocumentObject* viewObject; - Connection connectIcon; -diff --git a/src/Gui/ViewProvider.h b/src/Gui/ViewProvider.h -index 815516ecd..73334f9f3 100644 ---- a/src/Gui/ViewProvider.h -+++ b/src/Gui/ViewProvider.h -@@ -29,7 +29,7 @@ - #include - #include - #include --#include -+#include - - #include - #include -@@ -199,11 +199,11 @@ public: - /** @name Signals of the view provider */ - //@{ - /// signal on icon change -- boost::signal signalChangeIcon; -+ boost::signals2::signal signalChangeIcon; - /// signal on tooltip change -- boost::signal signalChangeToolTip; -+ boost::signals2::signal signalChangeToolTip; - /// signal on status tip change -- boost::signal signalChangeStatusTip; -+ boost::signals2::signal signalChangeStatusTip; - //@} - - /** update the content of the ViewProvider -diff --git a/src/Gui/ViewProviderOriginGroup.h b/src/Gui/ViewProviderOriginGroup.h -index 06ff7112f..31db1d6d0 100644 ---- a/src/Gui/ViewProviderOriginGroup.h -+++ b/src/Gui/ViewProviderOriginGroup.h -@@ -23,8 +23,6 @@ - #ifndef VIEWPROVIDERORIGINGROUP_H_JIXBOPA7 - #define VIEWPROVIDERORIGINGROUP_H_JIXBOPA7 - --#include -- - #include "ViewProviderGeoFeatureGroup.h" - #include "ViewProviderOriginGroupExtension.h" - -diff --git a/src/Gui/ViewProviderOriginGroupExtension.h b/src/Gui/ViewProviderOriginGroupExtension.h -index a326dca01..4804aa9d8 100644 ---- a/src/Gui/ViewProviderOriginGroupExtension.h -+++ b/src/Gui/ViewProviderOriginGroupExtension.h -@@ -56,8 +56,8 @@ private: - std::vector constructChildren ( - const std::vector &children ) const; - -- boost::signals::connection connectChangedObjectApp; -- boost::signals::connection connectChangedObjectGui; -+ boost::signals2::connection connectChangedObjectApp; -+ boost::signals2::connection connectChangedObjectGui; - }; - - typedef ViewProviderExtensionPythonT ViewProviderOriginGroupExtensionPython; -diff --git a/src/Gui/ViewProviderPythonFeature.cpp b/src/Gui/ViewProviderPythonFeature.cpp -index 2fe1c4fd1..81194b190 100644 ---- a/src/Gui/ViewProviderPythonFeature.cpp -+++ b/src/Gui/ViewProviderPythonFeature.cpp -@@ -30,7 +30,6 @@ - # include - # include - # include --# include - # include - # include - # include -diff --git a/src/Mod/Drawing/Gui/TaskOrthoViews.cpp b/src/Mod/Drawing/Gui/TaskOrthoViews.cpp -index 0ef9d47e6..dc12cf0f6 100644 ---- a/src/Mod/Drawing/Gui/TaskOrthoViews.cpp -+++ b/src/Mod/Drawing/Gui/TaskOrthoViews.cpp -@@ -641,11 +641,12 @@ void OrthoViews::del_view(int rel_x, int rel_y) // remove a view fro - - if (num > 0) - { -- connectDocumentDeletedObject.block(); -- views[num]->deleteme(); -- delete views[num]; -- views.erase(views.begin() + num); -- connectDocumentDeletedObject.unblock(); -+ { -+ boost::signals2::shared_connection_block blocker(connectDocumentDeletedObject); -+ views[num]->deleteme(); -+ delete views[num]; -+ views.erase(views.begin() + num); -+ } - - min_r_x = max_r_x = 0; - min_r_y = max_r_y = 0; -@@ -667,14 +668,13 @@ void OrthoViews::del_view(int rel_x, int rel_y) // remove a view fro - - void OrthoViews::del_all() - { -- connectDocumentDeletedObject.block(); -+ boost::signals2::shared_connection_block blocker(connectDocumentDeletedObject); - for (int i = views.size() - 1; i >= 0; i--) // count downwards to delete from back - { - views[i]->deleteme(); - delete views[i]; - views.pop_back(); - } -- connectDocumentDeletedObject.unblock(); - } - - int OrthoViews::is_Ortho(int rel_x, int rel_y) // is the view at r_x, r_y an ortho or axo one? -diff --git a/src/Mod/Drawing/Gui/TaskOrthoViews.h b/src/Mod/Drawing/Gui/TaskOrthoViews.h -index a00b449b4..dfeae41f7 100644 ---- a/src/Mod/Drawing/Gui/TaskOrthoViews.h -+++ b/src/Mod/Drawing/Gui/TaskOrthoViews.h -@@ -30,9 +30,9 @@ - - #include - #include --#include -+#include - --#include -+#include - - - -@@ -148,8 +148,8 @@ private: - - bool hidden, smooth; - bool autodims; -- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection connectDocumentDeletedObject; -- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection connectApplicationDeletedDocument; -+ boost::signals2::scoped_connection connectDocumentDeletedObject; -+ boost::signals2::scoped_connection connectApplicationDeletedDocument; - }; - - -diff --git a/src/Mod/Fem/Gui/TaskPostBoxes.h b/src/Mod/Fem/Gui/TaskPostBoxes.h -index 3dc24a180..dca2526dc 100644 ---- a/src/Mod/Fem/Gui/TaskPostBoxes.h -+++ b/src/Mod/Fem/Gui/TaskPostBoxes.h -@@ -30,7 +30,6 @@ - #include - #include - #include "ViewProviderFemPostFunction.h" --#include - - class QComboBox; - class Ui_TaskPostDisplay; -@@ -139,15 +138,15 @@ public: - ~TaskPostBox(); - - virtual void applyPythonCode() = 0; -- virtual bool isGuiTaskOnly() {return false;}; //return true if only gui properties are manipulated -+ virtual bool isGuiTaskOnly() {return false;} //return true if only gui properties are manipulated - - protected: -- App::DocumentObject* getObject() {return m_object;}; -+ App::DocumentObject* getObject() {return m_object;} - template -- T* getTypedObject() {return static_cast(m_object);}; -- Gui::ViewProviderDocumentObject* getView() {return m_view;}; -+ T* getTypedObject() {return static_cast(m_object);} -+ Gui::ViewProviderDocumentObject* getView() {return m_view;} - template -- T* getTypedView() {return static_cast(m_view);}; -+ T* getTypedView() {return static_cast(m_view);} - - bool autoApply(); - void recompute(); -@@ -203,7 +202,7 @@ public: - ~TaskPostDisplay(); - - virtual void applyPythonCode(); -- virtual bool isGuiTaskOnly() {return true;}; -+ virtual bool isGuiTaskOnly() {return true;} - - private Q_SLOTS: - void on_Representation_activated(int i); -diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h b/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h -index 55fb8d0bd..3197fea46 100644 ---- a/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h -+++ b/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h -@@ -28,28 +28,7 @@ - #include - #include - #include -- -- --#if defined(signals) && defined(QOBJECTDEFS_H) && \ -- !defined(QT_MOC_CPP) --# undef signals --# define signals signals --#endif -- --#include --namespace boost --{ -- namespace signalslib = signals; --} -- --#if defined(signals) && defined(QOBJECTDEFS_H) && \ -- !defined(QT_MOC_CPP) --# undef signals --// Restore the macro definition of "signals", as it was --// defined by Qt's . --# define signals protected --#endif -- -+#include - - class SoScale; - class SoSurroundScale; -@@ -70,19 +49,19 @@ class FemGuiExport FunctionWidget : public QWidget { - - Q_OBJECT - public: -- FunctionWidget() {}; -- virtual ~FunctionWidget() {}; -+ FunctionWidget() {} -+ virtual ~FunctionWidget() {} - - virtual void applyPythonCode() = 0; - virtual void setViewProvider(ViewProviderFemPostFunction* view); - void onObjectsChanged(const App::DocumentObject& obj, const App::Property&); - - protected: -- ViewProviderFemPostFunction* getView() {return m_view;}; -- Fem::FemPostFunction* getObject(){return m_object;}; -+ ViewProviderFemPostFunction* getView() {return m_view;} -+ Fem::FemPostFunction* getObject(){return m_object;} - -- bool blockObjectUpdates() {return m_block;}; -- void setBlockObjectUpdates(bool val) {m_block = val;}; -+ bool blockObjectUpdates() {return m_block;} -+ void setBlockObjectUpdates(bool val) {m_block = val;} - - virtual void onChange(const App::Property& p) = 0; - -@@ -90,7 +69,7 @@ private: - bool m_block; - ViewProviderFemPostFunction* m_view; - Fem::FemPostFunction* m_object; -- boost::signalslib::scoped_connection m_connection; -+ boost::signals2::scoped_connection m_connection; - }; - - class FemGuiExport ViewProviderFemPostFunctionProvider : public Gui::ViewProviderDocumentObject -diff --git a/src/Mod/Inspection/App/InspectionFeature.cpp b/src/Mod/Inspection/App/InspectionFeature.cpp -index 18e789f1f..d53facd3c 100644 ---- a/src/Mod/Inspection/App/InspectionFeature.cpp -+++ b/src/Mod/Inspection/App/InspectionFeature.cpp -@@ -35,7 +35,6 @@ - #include - #include - --#include - #include - - #include -diff --git a/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp b/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp -index 1ba8063f5..3e38ecdbd 100644 ---- a/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp -+++ b/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp -@@ -31,7 +31,6 @@ - #include "ui_DlgEvaluateMesh.h" - #include "DlgEvaluateSettings.h" - --#include - #include - - #include -diff --git a/src/Mod/Mesh/Gui/MeshEditor.h b/src/Mod/Mesh/Gui/MeshEditor.h -index 43be6e979..9d5b248ff 100644 ---- a/src/Mod/Mesh/Gui/MeshEditor.h -+++ b/src/Mod/Mesh/Gui/MeshEditor.h -@@ -25,7 +25,7 @@ - - #include - #include --#include -+#include - - class SoCoordinate3; - class SoFaceSet; -@@ -139,7 +139,7 @@ private Q_SLOTS: - - private: - typedef std::vector TBoundary; -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - - static void fileHoleCallback(void * ud, SoEventCallback * n); - void createPolygons(); -diff --git a/src/Mod/Part/App/PreCompiled.h b/src/Mod/Part/App/PreCompiled.h -index ad0c3508f..9d21862fa 100644 ---- a/src/Mod/Part/App/PreCompiled.h -+++ b/src/Mod/Part/App/PreCompiled.h -@@ -63,7 +63,7 @@ - #include - - // Boost --#include -+#include - #include - - #include -@@ -73,10 +73,10 @@ - #include - //namespace po = boost::program_options; - --#include --#include --#include -- -+#include -+#include -+#include -+ - #include "OpenCascadeAll.h" - - #elif defined(FC_OS_WIN32) -diff --git a/src/Mod/Part/Gui/DlgBooleanOperation.h b/src/Mod/Part/Gui/DlgBooleanOperation.h -index dedc9015a..03e8d1cbf 100644 ---- a/src/Mod/Part/Gui/DlgBooleanOperation.h -+++ b/src/Mod/Part/Gui/DlgBooleanOperation.h -@@ -25,7 +25,7 @@ - - #include - #include --#include -+#include - - class QTreeWidgetItem; - -@@ -35,7 +35,7 @@ class Property; - } - namespace PartGui { - --typedef boost::signals::connection Connection; -+typedef boost::signals2::connection Connection; - class Ui_DlgBooleanOperation; - class DlgBooleanOperation : public QWidget - { -diff --git a/src/Mod/Part/Gui/DlgFilletEdges.cpp b/src/Mod/Part/Gui/DlgFilletEdges.cpp -index 5513470ae..a3c4a2444 100644 ---- a/src/Mod/Part/Gui/DlgFilletEdges.cpp -+++ b/src/Mod/Part/Gui/DlgFilletEdges.cpp -@@ -43,7 +43,7 @@ - # include - # include - # include --# include -+# include - # include - # include - # include -@@ -206,7 +206,7 @@ namespace PartGui { - std::vector edge_ids; - TopTools_IndexedMapOfShape all_edges; - TopTools_IndexedMapOfShape all_faces; -- typedef boost::signals::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectApplicationDeletedObject; - Connection connectApplicationDeletedDocument; - -diff --git a/src/Mod/Part/Gui/TaskAttacher.h b/src/Mod/Part/Gui/TaskAttacher.h -index 7cac9e647..703eb1a45 100644 ---- a/src/Mod/Part/Gui/TaskAttacher.h -+++ b/src/Mod/Part/Gui/TaskAttacher.h -@@ -131,7 +131,7 @@ private: - Attacher::SuggestResult lastSuggestResult; - bool completed; - -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectDelObject; - }; - -diff --git a/src/Mod/Part/Gui/TaskFaceColors.cpp b/src/Mod/Part/Gui/TaskFaceColors.cpp -index a09a33be0..833b7e267 100644 ---- a/src/Mod/Part/Gui/TaskFaceColors.cpp -+++ b/src/Mod/Part/Gui/TaskFaceColors.cpp -@@ -43,7 +43,7 @@ - # include - #endif - --#include -+#include - #include - - #include "ui_TaskFaceColors.h" -@@ -92,7 +92,7 @@ namespace PartGui { - class FaceColors::Private - { - public: -- typedef boost::signals::connection Connection; -+ typedef boost::signals2::connection Connection; - Ui_TaskFaceColors* ui; - Gui::View3DInventorViewer* view; - ViewProviderPartExt* vp; -diff --git a/src/Mod/PartDesign/App/Body.h b/src/Mod/PartDesign/App/Body.h -index b91148b45..6d5e4032c 100644 ---- a/src/Mod/PartDesign/App/Body.h -+++ b/src/Mod/PartDesign/App/Body.h -@@ -27,7 +27,7 @@ - #include - #include - --#include -+#include - - namespace App { - class Origin; -@@ -145,7 +145,7 @@ protected: - virtual void unsetupObject () override; - - private: -- boost::signals::scoped_connection connection; -+ boost::signals2::scoped_connection connection; - }; - - } //namespace PartDesign -diff --git a/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp b/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp -index 5ce247fa5..8be9d8307 100644 ---- a/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp -@@ -49,7 +49,6 @@ TaskFeatureParameters::TaskFeatureParameters(PartDesignGui::ViewProvider *vp, QW - { - Gui::Document* doc = vp->getDocument(); - this->attachDocument(doc); -- this->enableNotifications(DocumentObserver::Delete); - } - - void TaskFeatureParameters::slotDeletedObject(const Gui::ViewProviderDocumentObject& Obj) -diff --git a/src/Mod/PartDesign/Gui/TaskHoleParameters.h b/src/Mod/PartDesign/Gui/TaskHoleParameters.h -index a0b988422..7a00c9fd6 100644 ---- a/src/Mod/PartDesign/Gui/TaskHoleParameters.h -+++ b/src/Mod/PartDesign/Gui/TaskHoleParameters.h -@@ -121,7 +121,7 @@ private: - - private: - -- typedef boost::BOOST_SIGNALS_NAMESPACE::scoped_connection Connection; -+ typedef boost::signals2::scoped_connection Connection; - Connection connectPropChanged; - - std::unique_ptr observer; -diff --git a/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp b/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp -index 1017c48ac..7f03d43fe 100644 ---- a/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp -@@ -183,7 +183,6 @@ TaskBoxPrimitives::TaskBoxPrimitives(ViewProviderPrimitive* vp, QWidget* parent) - - Gui::Document* doc = vp->getDocument(); - this->attachDocument(doc); -- this->enableNotifications(DocumentObserver::Delete); - - //show the parts coordinate system axis for selection - PartDesign::Body * body = PartDesign::Body::findBodyOf(vp->getObject()); -diff --git a/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.h b/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.h -index 073a4d445..1dcb2cf90 100644 ---- a/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.h -+++ b/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.h -@@ -48,8 +48,6 @@ class ViewProvider; - - namespace PartDesignGui { - --namespace s = boost::signals; -- - class TaskBoxPrimitives : public Gui::TaskView::TaskBox, - public Gui::DocumentObserver - { -diff --git a/src/Mod/PartDesign/Gui/TaskTransformedMessages.h b/src/Mod/PartDesign/Gui/TaskTransformedMessages.h -index f0075c630..e95aa9f73 100644 ---- a/src/Mod/PartDesign/Gui/TaskTransformedMessages.h -+++ b/src/Mod/PartDesign/Gui/TaskTransformedMessages.h -@@ -25,10 +25,10 @@ - #define GUI_TASKVIEW_TaskTransformedMessages_H - - #include --#include -+#include - - class Ui_TaskTransformedMessages; --typedef boost::signals::connection Connection; -+typedef boost::signals2::connection Connection; - - namespace App { - class Property; -diff --git a/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp b/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp -index bf4750260..16b408f8f 100644 ---- a/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp -@@ -76,7 +76,6 @@ TaskTransformedParameters::TaskTransformedParameters(ViewProviderTransformed *Tr - if (TransformedView) { - Gui::Document* doc = TransformedView->getDocument(); - this->attachDocument(doc); -- this->enableNotifications(DocumentObserver::Delete); - } - } - -diff --git a/src/Mod/PartDesign/Gui/ViewProviderBody.h b/src/Mod/PartDesign/Gui/ViewProviderBody.h -index 41e53c0ef..dffab56d4 100644 ---- a/src/Mod/PartDesign/Gui/ViewProviderBody.h -+++ b/src/Mod/PartDesign/Gui/ViewProviderBody.h -@@ -96,8 +96,8 @@ protected: - private: - static const char* BodyModeEnum[]; - -- boost::signals::connection connectChangedObjectApp; -- boost::signals::connection connectChangedObjectGui; -+ boost::signals2::connection connectChangedObjectApp; -+ boost::signals2::connection connectChangedObjectGui; - }; - - -diff --git a/src/Mod/PartDesign/Gui/ViewProviderTransformed.h b/src/Mod/PartDesign/Gui/ViewProviderTransformed.h -index 3ca5242c1..db8ee4316 100644 ---- a/src/Mod/PartDesign/Gui/ViewProviderTransformed.h -+++ b/src/Mod/PartDesign/Gui/ViewProviderTransformed.h -@@ -47,7 +47,7 @@ public: - virtual bool onDelete(const std::vector &); - - /// signals if the transformation contains errors -- boost::signal signalDiagnosis; -+ boost::signals2::signal signalDiagnosis; - - // The feature name of the subclass - std::string featureName; -diff --git a/src/Mod/PartDesign/Gui/WorkflowManager.h b/src/Mod/PartDesign/Gui/WorkflowManager.h -index b55088815..91e7e8a31 100644 ---- a/src/Mod/PartDesign/Gui/WorkflowManager.h -+++ b/src/Mod/PartDesign/Gui/WorkflowManager.h -@@ -23,7 +23,7 @@ - #ifndef WORKFLOWMANAGER_H_PB7A5GCM - #define WORKFLOWMANAGER_H_PB7A5GCM - --#include -+#include - #include - - namespace App { -@@ -98,9 +98,9 @@ private: - private: - std::map dwMap; - -- boost::signals::connection connectNewDocument; -- boost::signals::connection connectFinishRestoreDocument; -- boost::signals::connection connectDeleteDocument; -+ boost::signals2::connection connectNewDocument; -+ boost::signals2::connection connectFinishRestoreDocument; -+ boost::signals2::connection connectDeleteDocument; - - static WorkflowManager* _instance; - }; -diff --git a/src/Mod/Sandbox/App/DocumentProtector.h b/src/Mod/Sandbox/App/DocumentProtector.h -index 3c051a72d..603b92932 100644 ---- a/src/Mod/Sandbox/App/DocumentProtector.h -+++ b/src/Mod/Sandbox/App/DocumentProtector.h -@@ -25,7 +25,6 @@ - #define SANDBOX_DOCUMENTPROTECTOR_H - - #include --#include - #include - #include - -@@ -49,9 +48,9 @@ public: - void recompute(); - - private: -- /** Checks if the given document is about to be closed */ -- void slotDeletedDocument(const App::Document& Doc); -- void validate(); -+ /** Checks if the given document is about to be closed */ -+ void slotDeletedDocument(const App::Document& Doc); -+ void validate(); - }; - - class AbstractCallable -@@ -80,8 +79,8 @@ public: - - virtual void operator()() const - { -- T* v = static_cast(obj); -- (v->*method)(); -+ T* v = static_cast(obj); -+ (v->*method)(); - } - - private: -@@ -101,8 +100,8 @@ public: - - virtual void operator()() const - { -- T* v = static_cast(obj); -- (v->*method)(arg); -+ T* v = static_cast(obj); -+ (v->*method)(arg); - } - - private: -@@ -122,7 +121,7 @@ public: - void purgeTouched(); - - private: -- void validate(); -+ void validate(); - - private: - App::DocumentObject* obj; -diff --git a/src/Mod/Sketcher/App/PropertyConstraintList.h b/src/Mod/Sketcher/App/PropertyConstraintList.h -index e8f580208..b35e469ab 100644 ---- a/src/Mod/Sketcher/App/PropertyConstraintList.h -+++ b/src/Mod/Sketcher/App/PropertyConstraintList.h -@@ -32,7 +32,7 @@ - #include - #include - #include "Constraint.h" --#include -+#include - #include - - namespace Base { -@@ -129,8 +129,8 @@ public: - - typedef std::pair ConstraintInfo ; - -- boost::signal &)> signalConstraintsRenamed; -- boost::signal &)> signalConstraintsRemoved; -+ boost::signals2::signal &)> signalConstraintsRenamed; -+ boost::signals2::signal &)> signalConstraintsRemoved; - - static std::string getConstraintName(const std::string &name, int i); - -diff --git a/src/Mod/Sketcher/App/SketchObject.h b/src/Mod/Sketcher/App/SketchObject.h -index f9a51aa76..eac8dcfec 100644 ---- a/src/Mod/Sketcher/App/SketchObject.h -+++ b/src/Mod/Sketcher/App/SketchObject.h -@@ -23,7 +23,7 @@ - #ifndef SKETCHER_SKETCHOBJECT_H - #define SKETCHER_SKETCHOBJECT_H - --#include -+#include - #include - #include - #include -@@ -397,8 +397,8 @@ private: - std::vector lastConflicting; - std::vector lastRedundant; - -- boost::signals::scoped_connection constraintsRenamedConn; -- boost::signals::scoped_connection constraintsRemovedConn; -+ boost::signals2::scoped_connection constraintsRenamedConn; -+ boost::signals2::scoped_connection constraintsRemovedConn; - - bool AutoLockTangencyAndPerpty(Constraint* cstr, bool bForce = false, bool bLock = true); - }; -diff --git a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h -index 8a9de4f7b..9417ec383 100644 ---- a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h -+++ b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h -@@ -32,9 +32,9 @@ - #include "TaskSketcherGeneral.h" - #include "TaskSketcherMessages.h" - #include "TaskSketcherSolverAdvanced.h" --#include -+#include - --typedef boost::signals::connection Connection; -+typedef boost::signals2::connection Connection; - - namespace SketcherGui { - -diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h -index aa079c9ac..ca6800227 100644 ---- a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h -+++ b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h -@@ -26,7 +26,7 @@ - - #include - #include --#include -+#include - #include - - namespace App { -@@ -91,7 +91,7 @@ public Q_SLOTS: - protected: - void changeEvent(QEvent *e); - ViewProviderSketch *sketchView; -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectionConstraintsChanged; - - private: -diff --git a/src/Mod/Sketcher/Gui/TaskSketcherElements.h b/src/Mod/Sketcher/Gui/TaskSketcherElements.h -index 0bd94f741..526654c1b 100644 ---- a/src/Mod/Sketcher/Gui/TaskSketcherElements.h -+++ b/src/Mod/Sketcher/Gui/TaskSketcherElements.h -@@ -26,7 +26,7 @@ - - #include - #include --#include -+#include - #include - - namespace App { -@@ -115,7 +115,7 @@ protected: - void changeEvent(QEvent *e); - void leaveEvent ( QEvent * event ); - ViewProviderSketch *sketchView; -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectionElementsChanged; - - private: -diff --git a/src/Mod/Sketcher/Gui/TaskSketcherMessages.h b/src/Mod/Sketcher/Gui/TaskSketcherMessages.h -index 86873c46a..8089e3e51 100644 ---- a/src/Mod/Sketcher/Gui/TaskSketcherMessages.h -+++ b/src/Mod/Sketcher/Gui/TaskSketcherMessages.h -@@ -26,10 +26,10 @@ - - #include - #include --#include -+#include - - class Ui_TaskSketcherMessages; --typedef boost::signals::connection Connection; -+typedef boost::signals2::connection Connection; - - namespace App { - class Property; -diff --git a/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h b/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h -index 92b1423bc..69ca70d30 100644 ---- a/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h -+++ b/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h -@@ -26,7 +26,6 @@ - - #include - #include --#include - - class Ui_TaskSketcherSolverAdvanced; - -diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.h b/src/Mod/Sketcher/Gui/ViewProviderSketch.h -index acba0c210..2ffbc8964 100644 ---- a/src/Mod/Sketcher/Gui/ViewProviderSketch.h -+++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.h -@@ -33,11 +33,10 @@ - #include - #include - #include --#include -+#include - #include - #include - --#include - - class TopoDS_Shape; - class TopoDS_Face; -@@ -234,13 +233,13 @@ public: - friend struct ::EditData; - - /// signals if the constraints list has changed -- boost::signal signalConstraintsChanged; -+ boost::signals2::signal signalConstraintsChanged; - /// signals if the sketch has been set up -- boost::signal signalSetUp; -+ boost::signals2::signal signalSetUp; - /// signals if the sketch has been solved -- boost::signal signalSolved; -+ boost::signals2::signal signalSolved; - /// signals if the elements list has changed -- boost::signal signalElementsChanged; -+ boost::signals2::signal signalElementsChanged; - - protected: - virtual bool setEdit(int ModNum); -@@ -269,8 +268,8 @@ protected: - void slotRedoDocument(const Gui::Document&); - - protected: -- boost::signals::connection connectUndoDocument; -- boost::signals::connection connectRedoDocument; -+ boost::signals2::connection connectUndoDocument; -+ boost::signals2::connection connectRedoDocument; - - - /** @name Protected helpers for drawing constraint icons*/ -diff --git a/src/Mod/Spreadsheet/App/Sheet.h b/src/Mod/Spreadsheet/App/Sheet.h -index 59becc770..1f2e88ea4 100644 ---- a/src/Mod/Spreadsheet/App/Sheet.h -+++ b/src/Mod/Spreadsheet/App/Sheet.h -@@ -170,13 +170,13 @@ public: - - // Signals - -- boost::signal cellUpdated; -+ boost::signals2::signal cellUpdated; - -- boost::signal cellSpanChanged; -+ boost::signals2::signal cellSpanChanged; - -- boost::signal columnWidthChanged; -+ boost::signals2::signal columnWidthChanged; - -- boost::signal rowHeightChanged; -+ boost::signals2::signal rowHeightChanged; - - /** @name Access properties */ - //@{ -@@ -296,8 +296,8 @@ protected: - typedef std::map ObserverMap; - ObserverMap observers; - -- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection onRelabledDocumentConnection; -- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection onRenamedDocumentConnection; -+ boost::signals2::scoped_connection onRelabledDocumentConnection; -+ boost::signals2::scoped_connection onRenamedDocumentConnection; - - friend class SheetObserver; - -diff --git a/src/Mod/Spreadsheet/Gui/SheetModel.h b/src/Mod/Spreadsheet/Gui/SheetModel.h -index 44a599359..6d54a0778 100644 ---- a/src/Mod/Spreadsheet/Gui/SheetModel.h -+++ b/src/Mod/Spreadsheet/Gui/SheetModel.h -@@ -24,7 +24,7 @@ - #define SHEETMODEL_H - - #include --#include -+#include - #include - #include - -@@ -52,7 +52,7 @@ public: - private: - void cellUpdated(App::CellAddress address); - -- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection cellUpdatedConnection; -+ boost::signals2::scoped_connection cellUpdatedConnection; - Spreadsheet::Sheet * sheet; - QColor aliasBgColor; - QColor textFgColor; -diff --git a/src/Mod/Spreadsheet/Gui/SheetTableView.h b/src/Mod/Spreadsheet/Gui/SheetTableView.h -index 871c463c5..e5eca9602 100644 ---- a/src/Mod/Spreadsheet/Gui/SheetTableView.h -+++ b/src/Mod/Spreadsheet/Gui/SheetTableView.h -@@ -26,7 +26,7 @@ - #include - #include - #include --#include -+#include - #include - #include - -@@ -74,7 +74,7 @@ protected: - QModelIndex currentEditIndex; - Spreadsheet::Sheet * sheet; - -- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection cellSpanChangedConnection; -+ boost::signals2::scoped_connection cellSpanChangedConnection; - }; - - } -diff --git a/src/Mod/Spreadsheet/Gui/SpreadsheetView.h b/src/Mod/Spreadsheet/Gui/SpreadsheetView.h -index cadb4350b..011c64211 100644 ---- a/src/Mod/Spreadsheet/Gui/SpreadsheetView.h -+++ b/src/Mod/Spreadsheet/Gui/SpreadsheetView.h -@@ -98,9 +98,9 @@ protected: - Spreadsheet::Sheet * sheet; - SpreadsheetDelegate * delegate; - SheetModel * model; -- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection columnWidthChangedConnection; -- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection rowHeightChangedConnection; -- boost::BOOST_SIGNALS_NAMESPACE::scoped_connection positionChangedConnection; -+ boost::signals2::scoped_connection columnWidthChangedConnection; -+ boost::signals2::scoped_connection rowHeightChangedConnection; -+ boost::signals2::scoped_connection positionChangedConnection; - - QMap newColumnSizes; - QMap newRowSizes; -diff --git a/src/Mod/TechDraw/Gui/MDIViewPage.cpp b/src/Mod/TechDraw/Gui/MDIViewPage.cpp -index bb25407f3..ee9092e6a 100644 ---- a/src/Mod/TechDraw/Gui/MDIViewPage.cpp -+++ b/src/Mod/TechDraw/Gui/MDIViewPage.cpp -@@ -38,7 +38,7 @@ - #include - #include - #include -- #include -+ #include - #include - - #endif // #ifndef _PreComp_ -diff --git a/src/Mod/TechDraw/Gui/MDIViewPage.h b/src/Mod/TechDraw/Gui/MDIViewPage.h -index 512161538..b548f72b5 100644 ---- a/src/Mod/TechDraw/Gui/MDIViewPage.h -+++ b/src/Mod/TechDraw/Gui/MDIViewPage.h -@@ -118,7 +118,7 @@ protected: - - void onDeleteObject(const App::DocumentObject& obj); - -- typedef boost::BOOST_SIGNALS_NAMESPACE::connection Connection; -+ typedef boost::signals2::connection Connection; - Connection connectDeletedObject; - - private: --- -2.21.0 - diff --git a/0003-fix-blocking-of-SelectionObserver.patch b/0003-fix-blocking-of-SelectionObserver.patch deleted file mode 100644 index 47c7bca..0000000 --- a/0003-fix-blocking-of-SelectionObserver.patch +++ /dev/null @@ -1,61 +0,0 @@ -From aa280edbde0e4cce207844f97eac3782fe2d3e1a Mon Sep 17 00:00:00 2001 -From: wmayer -Date: Sun, 4 Nov 2018 11:54:40 +0100 -Subject: [PATCH 3/3] fix blocking of SelectionObserver - ---- - src/Gui/Selection.cpp | 10 +++++----- - src/Gui/Selection.h | 2 +- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/Gui/Selection.cpp b/src/Gui/Selection.cpp -index 80b7e3056..52976e6a0 100644 ---- a/src/Gui/Selection.cpp -+++ b/src/Gui/Selection.cpp -@@ -53,7 +53,7 @@ - using namespace Gui; - using namespace std; - --SelectionObserver::SelectionObserver() : blocker(connectSelection, false) -+SelectionObserver::SelectionObserver() : blockSelection(false) - { - attachSelection(); - } -@@ -65,17 +65,17 @@ SelectionObserver::~SelectionObserver() - - bool SelectionObserver::blockConnection(bool block) - { -- bool ok = connectSelection.blocked(); -+ bool ok = blockSelection; - if (block) -- blocker.block(); -+ blockSelection = true; - else -- blocker.unblock(); -+ blockSelection = false; - return ok; - } - - bool SelectionObserver::isConnectionBlocked() const - { -- return connectSelection.blocked(); -+ return blockSelection; - } - - void SelectionObserver::attachSelection() -diff --git a/src/Gui/Selection.h b/src/Gui/Selection.h -index e1c195989..5e3144e16 100644 ---- a/src/Gui/Selection.h -+++ b/src/Gui/Selection.h -@@ -146,7 +146,7 @@ private: - private: - typedef boost::signals2::connection Connection; - Connection connectSelection; -- boost::signals2::shared_connection_block blocker; -+ bool blockSelection; - }; - - /** --- -2.21.0 - diff --git a/FreeCAD-0.17.1545162057.e1db7bff8.obscpio b/FreeCAD-0.17.1545162057.e1db7bff8.obscpio deleted file mode 100644 index 07f21a3..0000000 --- a/FreeCAD-0.17.1545162057.e1db7bff8.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75cc39c6441ad3c0d1a8dfe58910ec6a3f80c5076d4bbf624c2090d341f07f71 -size 385254927 diff --git a/FreeCAD-0.18.obscpio b/FreeCAD-0.18.obscpio new file mode 100644 index 0000000..a128e1c --- /dev/null +++ b/FreeCAD-0.18.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de0af8fa4742e56696534eeb177ee1c0b0eb9961f87bdd3ab8b7109cf3158dfb +size 427591182 diff --git a/FreeCAD-test.spec b/FreeCAD-test.spec index d3643f6..c9574ef 100644 --- a/FreeCAD-test.spec +++ b/FreeCAD-test.spec @@ -17,7 +17,7 @@ Name: FreeCAD-test -Version: 0.17.1545162057.e1db7bff8 +Version: 0.18 Release: 0 Summary: Meta source package that runs the FreeCAD testsuite when built License: LGPL-2.0-or-later AND GPL-2.0-or-later @@ -33,6 +33,7 @@ This is just executing the test suite at build time. %build export LC_ALL="C.utf-8" +#FreeCAD --console --write-log --log-file=/tmp/FreeCAD.log --run-test 0 || exit 1 FreeCAD --console --run-test 0 || exit 1 %changelog diff --git a/FreeCAD.changes b/FreeCAD.changes index 63ada6c..00a2cbf 100644 --- a/FreeCAD.changes +++ b/FreeCAD.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Mon Mar 25 08:01:35 UTC 2019 - Adrian Schröter + +- add missing requires to six and vtk python modules (found via test suite) + +------------------------------------------------------------------- +Mon Mar 18 12:34:53 UTC 2019 - Adrian Schröter + +- Update to release 0.18 + * NetGen FEM enabled + * 0001-find-openmpi2-include-files.patch added for openmpi2 support +- Obsolete patches: + * 0001-Convert-deprecated-boost-signal-to-signals2.patch + * 0001-Use-GL_RGB32F-instead-of-GL_RGB32F_ARB.patch + * 0002-move-from-deprecated-boost.signals-to-boost.signals2.patch + * 0003-fix-blocking-of-SelectionObserver.patch + * fix-build-with-Qt5_11.diff + * fix-build.diff + * fix-draft-module-with-python3.patch + * fix-gcc8-build-failure.patch + * get-rid-of-private-function-_PyImport_FixupBuiltin-for-FreeCAD-and-FreeCADGui-modules.patch + * get-rid-of-private-function-_PyImport_FixupBuiltin-for-__FreeCADBase__-module.patch + + ------------------------------------------------------------------- Thu Mar 14 03:36:03 UTC 2019 - Stefan Brüns diff --git a/FreeCAD.obsinfo b/FreeCAD.obsinfo index 807a2ed..80bf734 100644 --- a/FreeCAD.obsinfo +++ b/FreeCAD.obsinfo @@ -1,5 +1,5 @@ name: FreeCAD -version: 0.17.1545162057.e1db7bff8 -mtime: 1545162057 -commit: e1db7bff8ff36439373eb9a426567d8afe289c4d +version: 0.18 +mtime: 1552397887 +commit: 690774c0effe4fd7b8d2b5e2fb2b8c8d145e21ce diff --git a/FreeCAD.spec b/FreeCAD.spec index bb6bff6..ab1a09c 100644 --- a/FreeCAD.spec +++ b/FreeCAD.spec @@ -16,6 +16,8 @@ # +%define build_tar_ball 1 + %define x_prefix %{_libdir}/%{name} %if 0%{?suse_version} > 1500 @@ -25,45 +27,23 @@ %endif Name: FreeCAD -Version: 0.17.1545162057.e1db7bff8 +Version: 0.18 Release: 0 Summary: General Purpose 3D CAD Modeler License: LGPL-2.0-or-later AND GPL-2.0-or-later Group: Productivity/Graphics/CAD Url: https://www.freecadweb.org/ +%if %{build_tar_ball} Source0: %{name}-%version.tar.xz +%endif Source1: FreeCAD.sh Source2: FreeCADCmd.sh Source3: FreeCAD_shared_mimeinfo -# python3 and generic compile fixes -Patch1: fix-build.diff -# runtime fix, submitted upstream -Patch3: fix-draft-module-with-python3.patch -# PATCH-FIX-UPSTREAM -- fix-build-with-Qt5_11.diff -Patch4: fix-build-with-Qt5_11.diff -# PATCH-FIX-UPSTREAM -- https://github.com/FreeCAD/FreeCAD/commit/8c08635d3 -Patch5: get-rid-of-private-function-_PyImport_FixupBuiltin-for-__FreeCADBase__-module.patch -# PATCH-FIX-UPSTREAM -- https://github.com/FreeCAD/FreeCAD/commit/b79e1bfee -Patch6: get-rid-of-private-function-_PyImport_FixupBuiltin-for-FreeCAD-and-FreeCADGui-modules.patch -# PATCH-FIX-OPENSUSE - fix building on ARM with GLES Qt5 -Patch7: 0001-Use-GL_RGB32F-instead-of-GL_RGB32F_ARB.patch -# PATCH-FIX-UPSTREAM -- https://github.com/FreeCAD/FreeCAD/commit/5ff383b46.patch -Patch8: fix-gcc8-build-failure.patch -%if %{with boost_signals2} -# PATCH-FIX-UPSTREAM -- https://github.com/FreeCAD/FreeCAD/commit/26d7d747257f.patch -Patch9: 0001-Convert-deprecated-boost-signal-to-signals2.patch -# PATCH-FIX-UPSTREAM -- https://github.com/FreeCAD/FreeCAD/commit/f898eafd64f8.patch -Patch10: 0002-move-from-deprecated-boost.signals-to-boost.signals2.patch -# PATCH-FIX-UPSTREAM -- https://github.com/FreeCAD/FreeCAD/commit/c3014fc65f86.patch -Patch11: 0003-fix-blocking-of-SelectionObserver.patch -%endif +Patch2: 0001-find-openmpi2-include-files.patch # Test suite fails on 32bit and I don't want to debug that anymore ExcludeArch: %ix86 %arm ppc s390 s390x -BuildRequires: Coin-devel -#BuildRequires: SoQt-devel - %if 0%{?suse_version} >= 1330 BuildRequires: libboost_filesystem-devel >= 1.55 BuildRequires: libboost_graph-devel >= 1.55 @@ -89,19 +69,26 @@ BuildRequires: fdupes BuildRequires: freeglut-devel BuildRequires: gcc-fortran BuildRequires: git -BuildRequires: hdf5-devel +BuildRequires: glew-devel +BuildRequires: hdf5-openmpi-devel +# We use the internal smesh version with fixes atm #BuildRequires: smesh-devel BuildRequires: libXerces-c-devel BuildRequires: libmed-devel +BuildRequires: netgen-devel + BuildRequires: libspnav-devel BuildRequires: make -# we use upstream OpenCASCADE instead of oce atm +# we use upstream OpenCASCADE instead of oce-devel atm +BuildRequires: Coin-devel +BuildRequires: libXi-devel BuildRequires: occt-devel BuildRequires: opencv-devel BuildRequires: pkg-config %if 0%{?suse_version} >= 1330 # Qt5 & python3 +BuildRequires: openmpi2-devel BuildRequires: python3-devel BuildRequires: python3-matplotlib BuildRequires: python3-pyside2-devel @@ -115,11 +102,15 @@ BuildRequires: pkgconfig(Qt5Svg) BuildRequires: pkgconfig(Qt5UiTools) BuildRequires: pkgconfig(Qt5WebKit) BuildRequires: pkgconfig(Qt5WebKitWidgets) +BuildRequires: pkgconfig(Qt5X11Extras) Requires: python3-numpy Requires: python3-pyside2 +Requires: python3-vtk # For Arch & Draft workbench Requires: python3-pivy -# core dump if PySide is installed +# For FEM workbench +Requires: python3-six +# core dump if PySide (version 1) is installed Conflicts: python3-pyside Conflicts: python-pyside # reported to break FreeCAD here @@ -172,7 +163,13 @@ Requires: %{name} = %{version} This package contains the files needed for development with FreeCAD. %prep -%autosetup -p1 +%if %{build_tar_ball} +%setup -q +%else +mv %_sourcedir/%name-%version %_builddir/%name-%version +%setup -q -D -T 0 +%endif +%patch2 -p1 # fix env-script-interpreter sed -i '1c#!%{__python2}' \ @@ -195,7 +192,6 @@ mkdir build && cd build # cmake macro would set standard libdir # it needs an older specific zipios version -DFREECAD_USE_EXTERNAL_ZIPIOS=TRUE -# -fpermissive should become $RPM_OPT_FLAGS , but bugs ... printenv cmake \ -DCMAKE_INSTALL_PREFIX=%{_libdir}/%{name} \ @@ -206,15 +202,12 @@ cmake \ -DOCC_INCLUDE_DIR=%{_includedir}/opencascade \ -DRESOURCEDIR=%{_datadir}/%{name} \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_FLAGS="-fpermissive -fno-strict-aliasing" \ + -DCMAKE_CXX_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \ %if 0%{?suse_version} >= 1330 -DPYTHON_EXECUTABLE=/usr/bin/python3 \ -DSHIBOKEN_INCLUDE_DIR=/usr/include/shiboken2/ \ -DPYSIDE_INCLUDE_DIR=/usr/include/PySide2/ \ -DBUILD_QT5=ON \ -%else - -DPYCXX_INCLUDE_DIR:PATH=%{_includedir}/python2.7 \ - -DPYCXX_SOURCE_DIR:PATH=%{_datadir}/python2.7/CXX \ %endif -DFREECAD_USE_EXTERNAL_PIVY:BOOL=TRUE \ -DBUILD_MESH_PART:BOOL=ON \ @@ -264,9 +257,6 @@ chmod 755 %{buildroot}%{x_prefix}/Mod/Robot/MovieTool.py \ mkdir -p %{buildroot}%{_datadir}/pixmaps mv %{buildroot}%{_datadir}/%{name}/freecad.xpm %{buildroot}%{_datadir}/pixmaps/freecad.xpm -# Install additional documentation files -#install -pm 0644 ChangeLog.txt copying.lib %%{buildroot}%%{_docdir}/%%{name}/ - %suse_update_desktop_file -c %{name} "%{name}" "3D CAD Modeler" %{name} "freecad" Education Engineering # Install mime type @@ -312,7 +302,7 @@ ln -s -t %{buildroot}/usr/bin %{x_prefix}/bin/FreeCADCmd %mime_database_postun %files -%license COPYING +%license LICENSE %doc ChangeLog.txt README.md %{_bindir}/FreeCAD* %doc %{_docdir}/%{name}/ diff --git a/_service b/_service index 2d4036d..c4881ec 100644 --- a/_service +++ b/_service @@ -2,8 +2,8 @@ https://github.com/FreeCAD/FreeCAD.git git - releases/FreeCAD-0-17 - 0.17 + releases/FreeCAD-0-18 + 0.18 diff --git a/fix-build-with-Qt5_11.diff b/fix-build-with-Qt5_11.diff deleted file mode 100644 index 5eab715..0000000 --- a/fix-build-with-Qt5_11.diff +++ /dev/null @@ -1,286 +0,0 @@ -commit 018b41032a5af616fb861538695f8be14ad120ce -Author: sL1pKn07 -Date: Sat Apr 7 02:17:49 2018 +0200 - - [For v018] Fix build with Qt5 beta - - Seems need add some headers for build with incoming Qt 5.11 (Tested with 5.11.0beta2) - -diff --git a/src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp b/src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp -index c3992f9d8..cd9b64a94 100644 ---- a/src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp -+++ b/src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp -@@ -28,6 +28,7 @@ - # include - # include - # include -+# include - # include - # include - # include -diff --git a/src/Mod/Fem/Gui/TaskFemConstraintContact.cpp b/src/Mod/Fem/Gui/TaskFemConstraintContact.cpp -index c445ca1c8..6fe9898e1 100644 ---- a/src/Mod/Fem/Gui/TaskFemConstraintContact.cpp -+++ b/src/Mod/Fem/Gui/TaskFemConstraintContact.cpp -@@ -32,6 +32,7 @@ - # include - # include - # include -+# include - # include - # include - # include -diff --git a/src/Mod/Fem/Gui/TaskFemConstraintDisplacement.cpp b/src/Mod/Fem/Gui/TaskFemConstraintDisplacement.cpp -index 0a83e737b..cfb16d9d8 100644 ---- a/src/Mod/Fem/Gui/TaskFemConstraintDisplacement.cpp -+++ b/src/Mod/Fem/Gui/TaskFemConstraintDisplacement.cpp -@@ -32,6 +32,7 @@ - # include - # include - # include -+# include - # include - # include - # include -diff --git a/src/Mod/Fem/Gui/TaskFemConstraintFixed.cpp b/src/Mod/Fem/Gui/TaskFemConstraintFixed.cpp -index 0d864e47e..183719432 100644 ---- a/src/Mod/Fem/Gui/TaskFemConstraintFixed.cpp -+++ b/src/Mod/Fem/Gui/TaskFemConstraintFixed.cpp -@@ -29,6 +29,7 @@ - # include - # include - # include -+# include - # include - # include - # include -diff --git a/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp b/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp -index c9964403b..8aaacdcf4 100644 ---- a/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp -+++ b/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp -@@ -29,6 +29,7 @@ - # include - # include - # include -+# include - # include - # include - # include -diff --git a/src/Mod/Fem/Gui/TaskFemConstraintForce.cpp b/src/Mod/Fem/Gui/TaskFemConstraintForce.cpp -index 33deb1b00..94fa4209a 100644 ---- a/src/Mod/Fem/Gui/TaskFemConstraintForce.cpp -+++ b/src/Mod/Fem/Gui/TaskFemConstraintForce.cpp -@@ -28,6 +28,7 @@ - # include - # include - # include -+# include - # include - # include - # include -diff --git a/src/Mod/Fem/Gui/TaskFemConstraintHeatflux.cpp b/src/Mod/Fem/Gui/TaskFemConstraintHeatflux.cpp -index 344b8d32b..20a636215 100644 ---- a/src/Mod/Fem/Gui/TaskFemConstraintHeatflux.cpp -+++ b/src/Mod/Fem/Gui/TaskFemConstraintHeatflux.cpp -@@ -32,6 +32,7 @@ - # include - # include - # include -+# include - # include - # include - # include -diff --git a/src/Mod/Fem/Gui/TaskFemConstraintPlaneRotation.cpp b/src/Mod/Fem/Gui/TaskFemConstraintPlaneRotation.cpp -index b4c3cb03b..29d90c334 100644 ---- a/src/Mod/Fem/Gui/TaskFemConstraintPlaneRotation.cpp -+++ b/src/Mod/Fem/Gui/TaskFemConstraintPlaneRotation.cpp -@@ -30,6 +30,7 @@ - # include - # include - # include -+# include - # include - # include - # include -diff --git a/src/Mod/Fem/Gui/TaskFemConstraintPressure.cpp b/src/Mod/Fem/Gui/TaskFemConstraintPressure.cpp -index 2da2b11cb..a85289183 100644 ---- a/src/Mod/Fem/Gui/TaskFemConstraintPressure.cpp -+++ b/src/Mod/Fem/Gui/TaskFemConstraintPressure.cpp -@@ -30,6 +30,7 @@ - # include - # include - # include -+# include - # include - # include - # include -diff --git a/src/Mod/Fem/Gui/TaskFemConstraintTemperature.cpp b/src/Mod/Fem/Gui/TaskFemConstraintTemperature.cpp -index 42c0d8f2e..88e9029fd 100644 ---- a/src/Mod/Fem/Gui/TaskFemConstraintTemperature.cpp -+++ b/src/Mod/Fem/Gui/TaskFemConstraintTemperature.cpp -@@ -32,6 +32,7 @@ - # include - # include - # include -+# include - # include - # include - # include -diff --git a/src/Mod/Fem/Gui/TaskFemConstraintTransform.cpp b/src/Mod/Fem/Gui/TaskFemConstraintTransform.cpp -index 35a1fcf5b..e3afeb785 100644 ---- a/src/Mod/Fem/Gui/TaskFemConstraintTransform.cpp -+++ b/src/Mod/Fem/Gui/TaskFemConstraintTransform.cpp -@@ -33,6 +33,7 @@ - # include - # include - # include -+# include - # include - # include - # include -diff --git a/src/Mod/MeshPart/Gui/Tessellation.cpp b/src/Mod/MeshPart/Gui/Tessellation.cpp -index e392d470b..7636ad2fb 100644 ---- a/src/Mod/MeshPart/Gui/Tessellation.cpp -+++ b/src/Mod/MeshPart/Gui/Tessellation.cpp -@@ -25,6 +25,7 @@ - #ifndef _PreComp_ - # include - # include -+# include - #endif - - #include "Tessellation.h" -diff --git a/src/Mod/Part/Gui/DlgSettingsGeneral.cpp b/src/Mod/Part/Gui/DlgSettingsGeneral.cpp -index d0cf0f94e..b44eac6ff 100644 ---- a/src/Mod/Part/Gui/DlgSettingsGeneral.cpp -+++ b/src/Mod/Part/Gui/DlgSettingsGeneral.cpp -@@ -22,6 +22,9 @@ - - - #include "PreCompiled.h" -+#ifndef _PreComp_ -+# include -+#endif - - #include - -diff --git a/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp b/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp -index 785705448..7e3280065 100644 ---- a/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp -@@ -25,6 +25,7 @@ - - #ifndef _PreComp_ - # include -+# include - #endif - - #include "ui_TaskBooleanParameters.h" -diff --git a/src/Mod/PartDesign/Gui/TaskChamferParameters.cpp b/src/Mod/PartDesign/Gui/TaskChamferParameters.cpp -index 330d58535..4600cc25b 100644 ---- a/src/Mod/PartDesign/Gui/TaskChamferParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskChamferParameters.cpp -@@ -24,6 +24,7 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ -+# include - #endif - - #include "ui_TaskChamferParameters.h" -diff --git a/src/Mod/PartDesign/Gui/TaskDraftParameters.cpp b/src/Mod/PartDesign/Gui/TaskDraftParameters.cpp -index 556fc92ae..020148001 100644 ---- a/src/Mod/PartDesign/Gui/TaskDraftParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskDraftParameters.cpp -@@ -25,6 +25,7 @@ - - #ifndef _PreComp_ - # include -+# include - #endif - - #include "ui_TaskDraftParameters.h" -diff --git a/src/Mod/PartDesign/Gui/TaskFilletParameters.cpp b/src/Mod/PartDesign/Gui/TaskFilletParameters.cpp -index 3c4025574..5e0c31ec6 100644 ---- a/src/Mod/PartDesign/Gui/TaskFilletParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskFilletParameters.cpp -@@ -24,6 +24,7 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ -+# include - #endif - - #include "ui_TaskFilletParameters.h" -diff --git a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp -index 532936310..1970db7ef 100644 ---- a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp -@@ -25,6 +25,7 @@ - - #ifndef _PreComp_ - # include -+# include - # include - #endif - -diff --git a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp -index 084ab353c..f8e96fd6c 100644 ---- a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp -@@ -25,6 +25,7 @@ - - #ifndef _PreComp_ - # include -+# include - #endif - - #include -diff --git a/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp b/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp -index 1fe452a59..d5a5317ae 100644 ---- a/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp -@@ -25,6 +25,7 @@ - - #ifndef _PreComp_ - # include -+# include - #endif - - #include "ui_TaskMultiTransformParameters.h" -diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp -index 874273f63..79c564d09 100644 ---- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp -@@ -25,6 +25,7 @@ - - #ifndef _PreComp_ - # include -+# include - # include - #endif - -diff --git a/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp b/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp -index 593664c9b..acaacce6e 100644 ---- a/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp -@@ -25,6 +25,7 @@ - - #ifndef _PreComp_ - # include -+# include - #endif - - #include "ui_TaskScaledParameters.h" -diff --git a/src/Mod/PartDesign/Gui/TaskThicknessParameters.cpp b/src/Mod/PartDesign/Gui/TaskThicknessParameters.cpp -index b3f17f299..5b907304f 100644 ---- a/src/Mod/PartDesign/Gui/TaskThicknessParameters.cpp -+++ b/src/Mod/PartDesign/Gui/TaskThicknessParameters.cpp -@@ -24,6 +24,7 @@ - #include "PreCompiled.h" - - #ifndef _PreComp_ -+# include - #endif - - #include "ui_TaskThicknessParameters.h" diff --git a/fix-build.diff b/fix-build.diff deleted file mode 100644 index f9a25dc..0000000 --- a/fix-build.diff +++ /dev/null @@ -1,62 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3ecfe23a6..246bb15a8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -445,7 +445,6 @@ if(NOT FREECAD_LIBPACK_USE OR FREECAD_LIBPACK_CHECKFILE_CLBUNDLER) - - # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=677598 - # Acceptable versions of Python --set(Python_ADDITIONAL_VERSIONS "2.7") - - # For building on OS X - if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") -diff --git a/src/3rdParty/salomesmesh/CMakeLists.txt b/src/3rdParty/salomesmesh/CMakeLists.txt -index 303ae6e0a..9c10046e6 100644 ---- a/src/3rdParty/salomesmesh/CMakeLists.txt -+++ b/src/3rdParty/salomesmesh/CMakeLists.txt -@@ -379,6 +379,7 @@ if (BUILD_FEM_NETGEN) - FILE(GLOB NETGENPlugin_source_files src/NETGENPlugin/*.cpp inc/NETGENPlugin_*.h* ) - ADD_LIBRARY(NETGENPlugin SHARED ${NETGENPlugin_source_files}) - TARGET_LINK_LIBRARIES(NETGENPlugin SMDS SMESHDS SMESH StdMeshers ${SMESH_LIBS} ) -+set_property(TARGET NETGENPlugin PROPERTY CXX_STANDARD 14) - - SET_BIN_DIR(NETGENPlugin NETGENPlugin) - if(WIN32) -diff --git a/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp b/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp -index 3b66ec663..3d4bc8afd 100644 ---- a/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp -+++ b/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/src/Mod/Test/TestApp.py b/src/Mod/Test/TestApp.py -index e4b5c8d44..211a4c95a 100644 ---- a/src/Mod/Test/TestApp.py -+++ b/src/Mod/Test/TestApp.py -@@ -66,8 +66,7 @@ def All(): - "Menu" ] - - # add the module tests -- tests += [ "TestFem", -- "MeshTestsApp", -+ tests += [ "MeshTestsApp", - "TestSketcherApp", - "TestPartApp", - "TestPartDesignApp", -diff --git a/src/Mod/Test/TestGui.py b/src/Mod/Test/TestGui.py -index ae5712bfc..7fbc2760c 100644 ---- a/src/Mod/Test/TestGui.py -+++ b/src/Mod/Test/TestGui.py -@@ -47,7 +47,6 @@ class TestCmd: - QtUnitGui.addTest("Document") - QtUnitGui.addTest("UnicodeTests") - QtUnitGui.addTest("MeshTestsApp") -- QtUnitGui.addTest("TestFem") - QtUnitGui.addTest("TestSketcherApp") - QtUnitGui.addTest("TestPartApp") - QtUnitGui.addTest("TestPartDesignApp") diff --git a/fix-draft-module-with-python3.patch b/fix-draft-module-with-python3.patch deleted file mode 100644 index fb89470..0000000 --- a/fix-draft-module-with-python3.patch +++ /dev/null @@ -1,48 +0,0 @@ -commit 338630b951abab1e44b01c80fbe2d07aba415daf -Author: Adrian Schröter -Date: Tue Apr 17 08:39:39 2018 +0200 - - fix runtime error creating a wire from string with python3 - - Tested against version 0.17 - -diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py -index 4c27018c4..da8db2895 100644 ---- a/src/Mod/Draft/Draft.py -+++ b/src/Mod/Draft/Draft.py -@@ -6133,8 +6133,10 @@ class _ShapeString(_DraftObject): - ff8 = obj.FontFile.encode('utf8') # 1947 accents in filepath - # TODO: change for Py3?? bytes? - # Part.makeWireString uses FontFile as char* string --# CharList = Part.makeWireString(obj.String,obj.FontFile,obj.Size,obj.Tracking) -- CharList = Part.makeWireString(obj.String,ff8,obj.Size,obj.Tracking) -+ if sys.version_info.major < 3: -+ CharList = Part.makeWireString(obj.String,ff8,obj.Size,obj.Tracking) -+ else: -+ CharList = Part.makeWireString(obj.String,obj.FontFile,obj.Size,obj.Tracking) - if len(CharList) == 0: - msg(translate("draft","ShapeString: string has no wires\n"), 'warning') - return -@@ -6142,8 +6144,7 @@ class _ShapeString(_DraftObject): - - # test a simple letter to know if we have a sticky font or not - sticky = False --# testWire = Part.makeWireString("L",obj.FontFile,obj.Size,obj.Tracking)[0][0] -- testWire = Part.makeWireString("L",ff8,obj.Size,obj.Tracking)[0][0] -+ testWire = Part.makeWireString("L",obj.FontFile,obj.Size,obj.Tracking)[0][0] - if testWire.isClosed: - try: - testFace = Part.Face(testWire) -diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py -index a007d03e6..1de205bbf 100644 ---- a/src/Mod/Draft/DraftTools.py -+++ b/src/Mod/Draft/DraftTools.py -@@ -2204,7 +2204,7 @@ class ShapeString(Creator): - #print("debug: D_T ShapeString.createObject type(self.SString): " str(type(self.SString))) - - dquote = '"' -- if type(self.SString) == unicode: # Python3: no more unicode -+ if sys.version_info.major < 3: # Python3: no more unicode - String = 'u' + dquote + self.SString.encode('unicode_escape') + dquote - else: - String = dquote + self.SString + dquote diff --git a/fix-gcc8-build-failure.patch b/fix-gcc8-build-failure.patch deleted file mode 100644 index f6a791c..0000000 --- a/fix-gcc8-build-failure.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 5ff383b46ccb0645e890573e783f467068d2488d Mon Sep 17 00:00:00 2001 -From: wmayer -Date: Fri, 2 Nov 2018 18:57:43 +0100 -Subject: [PATCH] fix gcc8 build failure - ---- - src/3rdParty/salomesmesh/inc/StdMeshers_ProjectionUtils.hxx | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/3rdParty/salomesmesh/inc/StdMeshers_ProjectionUtils.hxx b/src/3rdParty/salomesmesh/inc/StdMeshers_ProjectionUtils.hxx -index d31e72147cd..f7f9d323149 100644 ---- a/src/3rdParty/salomesmesh/inc/StdMeshers_ProjectionUtils.hxx -+++ b/src/3rdParty/salomesmesh/inc/StdMeshers_ProjectionUtils.hxx -@@ -30,7 +30,7 @@ - - #include "SMESH_StdMeshers.hxx" - --#include "SMDS_MeshElement.hxx" -+#include "SMDS_MeshNode.hxx" - - #include - #include diff --git a/get-rid-of-private-function-_PyImport_FixupBuiltin-for-FreeCAD-and-FreeCADGui-modules.patch b/get-rid-of-private-function-_PyImport_FixupBuiltin-for-FreeCAD-and-FreeCADGui-modules.patch deleted file mode 100644 index d0b95ee..0000000 --- a/get-rid-of-private-function-_PyImport_FixupBuiltin-for-FreeCAD-and-FreeCADGui-modules.patch +++ /dev/null @@ -1,121 +0,0 @@ -From b79e1bfee45d003e5ba646d828faca5d673f3e9b Mon Sep 17 00:00:00 2001 -From: wmayer -Date: Sat, 1 Sep 2018 19:57:15 +0200 -Subject: [PATCH] get rid of private function _PyImport_FixupBuiltin for - FreeCAD and FreeCADGui modules - ---- - src/App/Application.cpp | 38 ++++++++++++++++++++++++++++++-------- - src/Gui/Application.cpp | 6 ++++-- - src/Main/MainPy.cpp | 4 +++- - 3 files changed, 37 insertions(+), 11 deletions(-) - -diff --git a/src/App/Application.cpp b/src/App/Application.cpp -index 82270e3eea0..0895a8c83ac 100644 ---- a/src/App/Application.cpp -+++ b/src/App/Application.cpp -@@ -226,6 +226,21 @@ init_freecad_base_module(void) - }; - return PyModule_Create(&BaseModuleDef); - } -+ -+// Set in inside Application -+static PyMethodDef* __AppMethods = nullptr; -+ -+PyMODINIT_FUNC -+init_freecad_module(void) -+{ -+ static struct PyModuleDef FreeCADModuleDef = { -+ PyModuleDef_HEAD_INIT, -+ "FreeCAD", FreeCAD_doc, -1, -+ __AppMethods, -+ NULL, NULL, NULL, NULL -+ }; -+ return PyModule_Create(&FreeCADModuleDef); -+} - #endif - - Application::Application(std::map &mConfig) -@@ -239,14 +254,15 @@ Application::Application(std::map &mConfig) - // setting up Python binding - Base::PyGILStateLocker lock; - #if PY_MAJOR_VERSION >= 3 -- static struct PyModuleDef FreeCADModuleDef = { -- PyModuleDef_HEAD_INIT, -- "FreeCAD", FreeCAD_doc, -1, -- Application::Methods, -- NULL, NULL, NULL, NULL -- }; -- PyObject* pAppModule = PyModule_Create(&FreeCADModuleDef); -- _PyImport_FixupBuiltin(pAppModule, "FreeCAD"); -+ PyObject* modules = PyImport_GetModuleDict(); -+ -+ __AppMethods = Application::Methods; -+ PyObject* pAppModule = PyImport_ImportModule ("FreeCAD"); -+ if (!pAppModule) { -+ PyErr_Clear(); -+ pAppModule = init_freecad_module(); -+ PyDict_SetItemString(modules, "FreeCAD", pAppModule); -+ } - #else - PyObject* pAppModule = Py_InitModule3("FreeCAD", Application::Methods, FreeCAD_doc); - #endif -@@ -282,6 +298,11 @@ Application::Application(std::map &mConfig) - - #if PY_MAJOR_VERSION >= 3 - PyObject* pBaseModule = PyImport_ImportModule ("__FreeCADBase__"); -+ if (!pBaseModule) { -+ PyErr_Clear(); -+ pBaseModule = init_freecad_base_module(); -+ PyDict_SetItemString(modules, "__FreeCADBase__", pBaseModule); -+ } - #else - PyObject* pBaseModule = Py_InitModule3("__FreeCADBase__", NULL, Base_doc); - #endif -@@ -1427,6 +1448,7 @@ void Application::initConfig(int argc, char ** argv) - - // init python - #if PY_MAJOR_VERSION >= 3 -+ PyImport_AppendInittab ("FreeCAD", init_freecad_module); - PyImport_AppendInittab ("__FreeCADBase__", init_freecad_base_module); - #endif - mConfig["PythonSearchPath"] = Interpreter().init(argc,argv); -diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp -index 33ddde2b4c6..8715c8d6e52 100644 ---- a/src/Gui/Application.cpp -+++ b/src/Gui/Application.cpp -@@ -345,7 +345,8 @@ Application::Application(bool GUIenabled) - #if PY_MAJOR_VERSION >= 3 - // if this returns a valid pointer then the 'FreeCADGui' Python module was loaded, - // otherwise the executable was launched -- PyObject *module = PyImport_AddModule("FreeCADGui"); -+ PyObject* modules = PyImport_GetModuleDict(); -+ PyObject* module = PyDict_GetItemString(modules, "FreeCADGui"); - if (!module) { - static struct PyModuleDef FreeCADGuiModuleDef = { - PyModuleDef_HEAD_INIT, -@@ -354,7 +355,8 @@ Application::Application(bool GUIenabled) - NULL, NULL, NULL, NULL - }; - module = PyModule_Create(&FreeCADGuiModuleDef); -- _PyImport_FixupBuiltin(module, "FreeCADGui"); -+ -+ PyDict_SetItemString(modules, "FreeCADGui", module); - } - else { - // extend the method list -diff --git a/src/Main/MainPy.cpp b/src/Main/MainPy.cpp -index 061740903c0..58b86fa7991 100644 ---- a/src/Main/MainPy.cpp -+++ b/src/Main/MainPy.cpp -@@ -225,7 +225,9 @@ PyMOD_INIT_FUNC(FreeCAD) - free(argv); - - #if PY_MAJOR_VERSION >= 3 -- PyObject* module = _PyImport_FindBuiltin("FreeCAD"); -+ //PyObject* module = _PyImport_FindBuiltin("FreeCAD"); -+ PyObject* modules = PyImport_GetModuleDict(); -+ PyObject* module = PyDict_GetItemString(modules, "FreeCAD"); - if (!module) { - PyErr_SetString(PyExc_ImportError, "Failed to load FreeCAD module!"); - } diff --git a/get-rid-of-private-function-_PyImport_FixupBuiltin-for-__FreeCADBase__-module.patch b/get-rid-of-private-function-_PyImport_FixupBuiltin-for-__FreeCADBase__-module.patch deleted file mode 100644 index 0e005fa..0000000 --- a/get-rid-of-private-function-_PyImport_FixupBuiltin-for-__FreeCADBase__-module.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 8c08635d301c3418810e5c8984bdb9f2c17cb9dc Mon Sep 17 00:00:00 2001 -From: wmayer -Date: Sat, 1 Sep 2018 16:26:18 +0200 -Subject: [PATCH] get rid of private function _PyImport_FixupBuiltin for - __FreeCADBase__ module - ---- - src/App/Application.cpp | 27 ++++++++++++++++++++------- - 1 file changed, 20 insertions(+), 7 deletions(-) - -diff --git a/src/App/Application.cpp b/src/App/Application.cpp -index f719cd2375a..82270e3eea0 100644 ---- a/src/App/Application.cpp -+++ b/src/App/Application.cpp -@@ -212,6 +212,22 @@ PyDoc_STRVAR(Base_doc, - "like vector, matrix, bounding box, placement, rotation, axis, ...\n" - ); - -+#if PY_MAJOR_VERSION >= 3 -+// This is called via the PyImport_AppendInittab mechanism called -+// during initialization, to make the built-in __FreeCADBase__ -+// module known to Python. -+PyMODINIT_FUNC -+init_freecad_base_module(void) -+{ -+ static struct PyModuleDef BaseModuleDef = { -+ PyModuleDef_HEAD_INIT, -+ "__FreeCADBase__", Base_doc, -1, -+ NULL, NULL, NULL, NULL, NULL -+ }; -+ return PyModule_Create(&BaseModuleDef); -+} -+#endif -+ - Application::Application(std::map &mConfig) - : _mConfig(mConfig), _pActiveDoc(0) - { -@@ -265,13 +281,7 @@ Application::Application(std::map &mConfig) - // remove these types from the FreeCAD module. - - #if PY_MAJOR_VERSION >= 3 -- static struct PyModuleDef BaseModuleDef = { -- PyModuleDef_HEAD_INIT, -- "__FreeCADBase__", Base_doc, -1, -- NULL, NULL, NULL, NULL, NULL -- }; -- PyObject* pBaseModule = PyModule_Create(&BaseModuleDef); -- _PyImport_FixupBuiltin(pBaseModule, "__FreeCADBase__"); -+ PyObject* pBaseModule = PyImport_ImportModule ("__FreeCADBase__"); - #else - PyObject* pBaseModule = Py_InitModule3("__FreeCADBase__", NULL, Base_doc); - #endif -@@ -1416,6 +1426,9 @@ void Application::initConfig(int argc, char ** argv) - # endif - - // init python -+#if PY_MAJOR_VERSION >= 3 -+ PyImport_AppendInittab ("__FreeCADBase__", init_freecad_base_module); -+#endif - mConfig["PythonSearchPath"] = Interpreter().init(argc,argv); - - // Parse the options that have impact on the init process