Accepting request 785389 from science
- Fix runtime errors with Python 3.8: * 0001-fem-use-time.process_time-instead-of-removed-time.cl.patch - Fix last python2 she-bang remainders, fix imports: * fix_unittestgui_tkinter_py3.patch - Remove unnecessary opencv build dependency - update to current 0.18 branch: * Fem: fix segmentation fault when opening contraint transform panel. Fix Python code * Part: the number of domains returned by TopoShape::getDomains must match with number of faces * apply fixes from master when building with occt 7.4 + Drop 0002-fix-compile.patch - Fix build with Python 3.8: Add update-swigpyrunin-for-python-3.8.patch - Spec file cleanup * Drop xpm FreeCAD icon * Install PNGs/SVG icons in correct paths * Remove obsolete update_mime_database calls in %post * Remove obsolete conditionals for Leap 42.x OBS-URL: https://build.opensuse.org/request/show/785389 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/FreeCAD?expand=0&rev=20
This commit is contained in:
commit
947ba0e843
@ -0,0 +1,86 @@
|
|||||||
|
From 96af5fea1fab074e93011078974fd24fff1068f8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: looooo <sppedflyer@gmail.com>
|
||||||
|
Date: Tue, 14 Jan 2020 13:45:35 +0100
|
||||||
|
Subject: [PATCH] fem: use time.process_time instead of removed time.clock()
|
||||||
|
|
||||||
|
[rebased on 0.18.4 branch]
|
||||||
|
---
|
||||||
|
src/Mod/Fem/femmesh/femmesh2mesh.py | 4 ++--
|
||||||
|
src/Mod/Fem/femsolver/calculix/writer.py | 9 +++++++--
|
||||||
|
src/Mod/Fem/femsolver/z88/writer.py | 8 ++++++--
|
||||||
|
3 files changed, 15 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/Mod/Fem/femmesh/femmesh2mesh.py b/src/Mod/Fem/femmesh/femmesh2mesh.py
|
||||||
|
index 9c0b4f1b9..e6159f2c7 100644
|
||||||
|
--- a/src/Mod/Fem/femmesh/femmesh2mesh.py
|
||||||
|
+++ b/src/Mod/Fem/femmesh/femmesh2mesh.py
|
||||||
|
@@ -90,7 +90,7 @@ def femmesh_2_mesh(myFemMesh, myResults=None):
|
||||||
|
# This code generates a dict and a faceCode for each face of all elements
|
||||||
|
# All faceCodes are than sorted.
|
||||||
|
|
||||||
|
- start_time = time.clock()
|
||||||
|
+ start_time = time.process_time()
|
||||||
|
faceCodeList = []
|
||||||
|
faceCodeDict = {}
|
||||||
|
|
||||||
|
@@ -194,6 +194,6 @@ def femmesh_2_mesh(myFemMesh, myResults=None):
|
||||||
|
output_mesh.extend(triangle)
|
||||||
|
# print('my 2. triangle: ', triangle)
|
||||||
|
|
||||||
|
- end_time = time.clock()
|
||||||
|
+ end_time = time.process_time()
|
||||||
|
print('Mesh by surface search method: ', end_time - start_time)
|
||||||
|
return output_mesh
|
||||||
|
diff --git a/src/Mod/Fem/femsolver/calculix/writer.py b/src/Mod/Fem/femsolver/calculix/writer.py
|
||||||
|
index e9d9e9bae..33302cefa 100644
|
||||||
|
--- a/src/Mod/Fem/femsolver/calculix/writer.py
|
||||||
|
+++ b/src/Mod/Fem/femsolver/calculix/writer.py
|
||||||
|
@@ -69,12 +69,17 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter):
|
||||||
|
FreeCAD.Console.PrintMessage('FemInputWriterCcx --> self.file_name --> ' + self.file_name + '\n')
|
||||||
|
|
||||||
|
def write_calculix_input_file(self):
|
||||||
|
- timestart = time.clock()
|
||||||
|
+ timestart = time.process_time()
|
||||||
|
+ FreeCAD.Console.PrintMessage("Start writing CalculiX input file\n")
|
||||||
|
+ FreeCAD.Console.PrintMessage("Write ccx input file to: {}\n".format(self.file_name))
|
||||||
|
if self.solver_obj.SplitInputWriter is True:
|
||||||
|
self.write_calculix_splitted_input_file()
|
||||||
|
else:
|
||||||
|
self.write_calculix_one_input_file()
|
||||||
|
- writing_time_string = "Writing time input file: " + str(round((time.clock() - timestart), 2)) + " seconds"
|
||||||
|
+ writing_time_string = (
|
||||||
|
+ "Writing time CalculiX input file: {} seconds"
|
||||||
|
+ .format(round((time.process_time() - timestart), 2))
|
||||||
|
+ )
|
||||||
|
if self.femelement_count_test is True:
|
||||||
|
FreeCAD.Console.PrintMessage(writing_time_string + ' \n\n')
|
||||||
|
return self.file_name
|
||||||
|
diff --git a/src/Mod/Fem/femsolver/z88/writer.py b/src/Mod/Fem/femsolver/z88/writer.py
|
||||||
|
index e141ab9f0..cdcaff63b 100644
|
||||||
|
--- a/src/Mod/Fem/femsolver/z88/writer.py
|
||||||
|
+++ b/src/Mod/Fem/femsolver/z88/writer.py
|
||||||
|
@@ -61,7 +61,7 @@ class FemInputWriterZ88(FemInputWriter.FemInputWriter):
|
||||||
|
FreeCAD.Console.PrintMessage('FemInputWriterZ88 --> self.file_name --> ' + self.file_name + '\n')
|
||||||
|
|
||||||
|
def write_z88_input(self):
|
||||||
|
- timestart = time.clock()
|
||||||
|
+ timestart = time.process_time()
|
||||||
|
if not self.femnodes_mesh:
|
||||||
|
self.femnodes_mesh = self.femmesh.Nodes
|
||||||
|
if not self.femelement_table:
|
||||||
|
@@ -76,7 +76,11 @@ class FemInputWriterZ88(FemInputWriter.FemInputWriter):
|
||||||
|
self.write_z88_integration_properties()
|
||||||
|
self.write_z88_memory_parameter()
|
||||||
|
self.write_z88_solver_parameter()
|
||||||
|
- FreeCAD.Console.PrintMessage("Writing time input file: " + str(time.clock() - timestart) + ' \n\n')
|
||||||
|
+ writing_time_string = (
|
||||||
|
+ "Writing time input file: {} seconds"
|
||||||
|
+ .format(round((time.process_time() - timestart), 2))
|
||||||
|
+ )
|
||||||
|
+ FreeCAD.Console.PrintMessage(writing_time_string + " \n\n")
|
||||||
|
return self.dir_name
|
||||||
|
|
||||||
|
def set_z88_elparam(self):
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
@ -1,278 +0,0 @@
|
|||||||
diff --git a/src/3rdParty/salomesmesh/inc/Rn.h b/src/3rdParty/salomesmesh/inc/Rn.h
|
|
||||||
index 6ec871d93..e92d2275a 100644
|
|
||||||
--- a/src/3rdParty/salomesmesh/inc/Rn.h
|
|
||||||
+++ b/src/3rdParty/salomesmesh/inc/Rn.h
|
|
||||||
@@ -180,12 +180,12 @@ class R4: public R3
|
|
||||||
{
|
|
||||||
friend std::ostream& operator <<(std::ostream& f, const R4 & P )
|
|
||||||
{ f << P.x << ' ' << P.y << ' ' << P.z << ' ' << P.omega; return f; }
|
|
||||||
- friend istream& operator >>(istream& f, R4 & P)
|
|
||||||
+ friend std::istream& operator >>(std::istream& f, R4 & P)
|
|
||||||
{ f >> P.x >> P.y >> P.z >> P.omega ; return f; }
|
|
||||||
|
|
||||||
friend std::ostream& operator <<(std::ostream& f, const R4 * P )
|
|
||||||
{ f << P->x << ' ' << P->y << ' ' << P->z << ' ' << P->omega; return f; }
|
|
||||||
- friend istream& operator >>(istream& f, R4 * P)
|
|
||||||
+ friend std::istream& operator >>(std::istream& f, R4 * P)
|
|
||||||
{ f >> P->x >> P->y >> P->z >> P->omega ; return f; }
|
|
||||||
|
|
||||||
public:
|
|
||||||
diff --git a/src/Mod/Drawing/App/DrawingExport.cpp b/src/Mod/Drawing/App/DrawingExport.cpp
|
|
||||||
index 0c3c23231..550b12c25 100644
|
|
||||||
--- a/src/Mod/Drawing/App/DrawingExport.cpp
|
|
||||||
+++ b/src/Mod/Drawing/App/DrawingExport.cpp
|
|
||||||
@@ -81,6 +81,7 @@
|
|
||||||
#include <Base/Vector3D.h>
|
|
||||||
|
|
||||||
using namespace Drawing;
|
|
||||||
+using namespace std;
|
|
||||||
|
|
||||||
TopoDS_Edge DrawingOutput::asCircle(const BRepAdaptor_Curve& c) const
|
|
||||||
{
|
|
||||||
diff --git a/src/Mod/Part/App/Geometry.cpp b/src/Mod/Part/App/Geometry.cpp
|
|
||||||
index c206bfb63..8403ff29f 100644
|
|
||||||
--- a/src/Mod/Part/App/Geometry.cpp
|
|
||||||
+++ b/src/Mod/Part/App/Geometry.cpp
|
|
||||||
@@ -203,7 +203,7 @@ unsigned int Geometry::getMemSize (void) const
|
|
||||||
void Geometry::Save(Base::Writer &writer) const
|
|
||||||
{
|
|
||||||
const char c = Construction?'1':'0';
|
|
||||||
- writer.Stream() << writer.ind() << "<Construction value=\"" << c << "\"/>" << endl;
|
|
||||||
+ writer.Stream() << writer.ind() << "<Construction value=\"" << c << "\"/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Geometry::Restore(Base::XMLReader &reader)
|
|
||||||
@@ -323,7 +323,7 @@ void GeomPoint::Save(Base::Writer &writer) const
|
|
||||||
<< "X=\"" << Point.x <<
|
|
||||||
"\" Y=\"" << Point.y <<
|
|
||||||
"\" Z=\"" << Point.z <<
|
|
||||||
- "\"/>" << endl;
|
|
||||||
+ "\"/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeomPoint::Restore(Base::XMLReader &reader)
|
|
||||||
@@ -793,7 +793,7 @@ void GeomBezierCurve::Save(Base::Writer& writer) const
|
|
||||||
<< writer.ind()
|
|
||||||
<< "<BezierCurve "
|
|
||||||
<< "PolesCount=\"" << poles.size() <<
|
|
||||||
- "\">" << endl;
|
|
||||||
+ "\">" << std::endl;
|
|
||||||
|
|
||||||
writer.incInd();
|
|
||||||
|
|
||||||
@@ -808,11 +808,11 @@ void GeomBezierCurve::Save(Base::Writer& writer) const
|
|
||||||
"\" Y=\"" << (*itp).y <<
|
|
||||||
"\" Z=\"" << (*itp).z <<
|
|
||||||
"\" Weight=\"" << (*itw) <<
|
|
||||||
- "\"/>" << endl;
|
|
||||||
+ "\"/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.decInd();
|
|
||||||
- writer.Stream() << writer.ind() << "</BezierCurve>" << endl ;
|
|
||||||
+ writer.Stream() << writer.ind() << "</BezierCurve>" << std::endl ;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeomBezierCurve::Restore(Base::XMLReader& reader)
|
|
||||||
@@ -1270,7 +1270,7 @@ void GeomBSplineCurve::Save(Base::Writer& writer) const
|
|
||||||
"\" KnotsCount=\"" << knots.size() <<
|
|
||||||
"\" Degree=\"" << degree <<
|
|
||||||
"\" IsPeriodic=\"" << (int) isperiodic <<
|
|
||||||
- "\">" << endl;
|
|
||||||
+ "\">" << std::endl;
|
|
||||||
|
|
||||||
writer.incInd();
|
|
||||||
|
|
||||||
@@ -1285,7 +1285,7 @@ void GeomBSplineCurve::Save(Base::Writer& writer) const
|
|
||||||
"\" Y=\"" << (*itp).y <<
|
|
||||||
"\" Z=\"" << (*itp).z <<
|
|
||||||
"\" Weight=\"" << (*itw) <<
|
|
||||||
- "\"/>" << endl;
|
|
||||||
+ "\"/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::vector<double>::const_iterator itk;
|
|
||||||
@@ -1297,11 +1297,11 @@ void GeomBSplineCurve::Save(Base::Writer& writer) const
|
|
||||||
<< "<Knot "
|
|
||||||
<< "Value=\"" << (*itk)
|
|
||||||
<< "\" Mult=\"" << (*itm) <<
|
|
||||||
- "\"/>" << endl;
|
|
||||||
+ "\"/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.decInd();
|
|
||||||
- writer.Stream() << writer.ind() << "</BSplineCurve>" << endl ;
|
|
||||||
+ writer.Stream() << writer.ind() << "</BSplineCurve>" << std::endl ;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeomBSplineCurve::Restore(Base::XMLReader& reader)
|
|
||||||
@@ -1903,7 +1903,7 @@ void GeomCircle::Save(Base::Writer& writer) const
|
|
||||||
"\" NormalZ=\"" << normal.Z() <<
|
|
||||||
"\" AngleXU=\"" << AngleXU <<
|
|
||||||
"\" Radius=\"" << this->myCurve->Radius() <<
|
|
||||||
- "\"/>" << endl;
|
|
||||||
+ "\"/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeomCircle::Restore(Base::XMLReader& reader)
|
|
||||||
@@ -2132,7 +2132,7 @@ void GeomArcOfCircle::Save(Base::Writer &writer) const
|
|
||||||
"\" Radius=\"" << circle->Radius() <<
|
|
||||||
"\" StartAngle=\"" << this->myCurve->FirstParameter() <<
|
|
||||||
"\" EndAngle=\"" << this->myCurve->LastParameter() <<
|
|
||||||
- "\"/>" << endl;
|
|
||||||
+ "\"/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeomArcOfCircle::Restore(Base::XMLReader &reader)
|
|
||||||
@@ -2383,7 +2383,7 @@ void GeomEllipse::Save(Base::Writer& writer) const
|
|
||||||
<< "MajorRadius=\"" << this->myCurve->MajorRadius() << "\" "
|
|
||||||
<< "MinorRadius=\"" << this->myCurve->MinorRadius() << "\" "
|
|
||||||
<< "AngleXU=\"" << AngleXU << "\" "
|
|
||||||
- << "/>" << endl;
|
|
||||||
+ << "/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeomEllipse::Restore(Base::XMLReader& reader)
|
|
||||||
@@ -2653,7 +2653,7 @@ void GeomArcOfEllipse::Save(Base::Writer &writer) const
|
|
||||||
<< "AngleXU=\"" << AngleXU << "\" "
|
|
||||||
<< "StartAngle=\"" << this->myCurve->FirstParameter() << "\" "
|
|
||||||
<< "EndAngle=\"" << this->myCurve->LastParameter() << "\" "
|
|
||||||
- << "/>" << endl;
|
|
||||||
+ << "/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeomArcOfEllipse::Restore(Base::XMLReader &reader)
|
|
||||||
@@ -2826,7 +2826,7 @@ void GeomHyperbola::Save(Base::Writer& writer) const
|
|
||||||
<< "MajorRadius=\"" << this->myCurve->MajorRadius() << "\" "
|
|
||||||
<< "MinorRadius=\"" << this->myCurve->MinorRadius() << "\" "
|
|
||||||
<< "AngleXU=\"" << AngleXU << "\" "
|
|
||||||
- << "/>" << endl;
|
|
||||||
+ << "/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeomHyperbola::Restore(Base::XMLReader& reader)
|
|
||||||
@@ -3083,7 +3083,7 @@ void GeomArcOfHyperbola::Save(Base::Writer &writer) const
|
|
||||||
<< "AngleXU=\"" << AngleXU << "\" "
|
|
||||||
<< "StartAngle=\"" << this->myCurve->FirstParameter() << "\" "
|
|
||||||
<< "EndAngle=\"" << this->myCurve->LastParameter() << "\" "
|
|
||||||
- << "/>" << endl;
|
|
||||||
+ << "/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeomArcOfHyperbola::Restore(Base::XMLReader &reader)
|
|
||||||
@@ -3236,7 +3236,7 @@ void GeomParabola::Save(Base::Writer& writer) const
|
|
||||||
<< "NormalZ=\"" << normal.Z() << "\" "
|
|
||||||
<< "Focal=\"" << this->myCurve->Focal() << "\" "
|
|
||||||
<< "AngleXU=\"" << AngleXU << "\" "
|
|
||||||
- << "/>" << endl;
|
|
||||||
+ << "/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeomParabola::Restore(Base::XMLReader& reader)
|
|
||||||
@@ -3436,7 +3436,7 @@ void GeomArcOfParabola::Save(Base::Writer &writer) const
|
|
||||||
<< "AngleXU=\"" << AngleXU << "\" "
|
|
||||||
<< "StartAngle=\"" << this->myCurve->FirstParameter() << "\" "
|
|
||||||
<< "EndAngle=\"" << this->myCurve->LastParameter() << "\" "
|
|
||||||
- << "/>" << endl;
|
|
||||||
+ << "/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeomArcOfParabola::Restore(Base::XMLReader &reader)
|
|
||||||
@@ -3581,7 +3581,7 @@ void GeomLine::Save(Base::Writer &writer) const
|
|
||||||
"\" DirX=\"" << Dir.x <<
|
|
||||||
"\" DirY=\"" << Dir.y <<
|
|
||||||
"\" DirZ=\"" << Dir.z <<
|
|
||||||
- "\"/>" << endl;
|
|
||||||
+ "\"/>" << std::endl;
|
|
||||||
}
|
|
||||||
void GeomLine::Restore(Base::XMLReader &reader)
|
|
||||||
{
|
|
||||||
@@ -3722,7 +3722,7 @@ void GeomLineSegment::Save (Base::Writer &writer) const
|
|
||||||
"\" EndX=\"" << End.x <<
|
|
||||||
"\" EndY=\"" << End.y <<
|
|
||||||
"\" EndZ=\"" << End.z <<
|
|
||||||
- "\"/>" << endl;
|
|
||||||
+ "\"/>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GeomLineSegment::Restore (Base::XMLReader &reader)
|
|
||||||
diff --git a/src/Mod/Part/App/Geometry2d.cpp b/src/Mod/Part/App/Geometry2d.cpp
|
|
||||||
index fb1de909c..979465533 100644
|
|
||||||
--- a/src/Mod/Part/App/Geometry2d.cpp
|
|
||||||
+++ b/src/Mod/Part/App/Geometry2d.cpp
|
|
||||||
@@ -83,6 +83,7 @@
|
|
||||||
#include <Mod/Part/App/Geom2d/OffsetCurve2dPy.h>
|
|
||||||
|
|
||||||
using namespace Part;
|
|
||||||
+using namespace std;
|
|
||||||
|
|
||||||
extern const char* gce_ErrorStatusText(gce_ErrorType et);
|
|
||||||
|
|
||||||
diff --git a/src/Mod/Part/App/PropertyTopoShape.cpp b/src/Mod/Part/App/PropertyTopoShape.cpp
|
|
||||||
index d590a8553..892e568d4 100644
|
|
||||||
--- a/src/Mod/Part/App/PropertyTopoShape.cpp
|
|
||||||
+++ b/src/Mod/Part/App/PropertyTopoShape.cpp
|
|
||||||
@@ -281,11 +281,11 @@ static void BRepTools_Write(const TopoDS_Shape& Sh, Standard_OStream& S) {
|
|
||||||
static Standard_Boolean BRepTools_Write(const TopoDS_Shape& Sh,
|
|
||||||
const Standard_CString File)
|
|
||||||
{
|
|
||||||
- ofstream os;
|
|
||||||
+ std::ofstream os;
|
|
||||||
#if OCC_VERSION_HEX >= 0x060800
|
|
||||||
- OSD_OpenStream(os, File, ios::out);
|
|
||||||
+ OSD_OpenStream(os, File, std::ios::out);
|
|
||||||
#else
|
|
||||||
- os.open(File, ios::out);
|
|
||||||
+ os.open(File, std::ios::out);
|
|
||||||
#endif
|
|
||||||
if (!os.rdbuf()->is_open()) return Standard_False;
|
|
||||||
|
|
||||||
diff --git a/src/Mod/Raytracing/App/AppRaytracingPy.cpp b/src/Mod/Raytracing/App/AppRaytracingPy.cpp
|
|
||||||
index d48c51c97..1bb2b1b01 100644
|
|
||||||
--- a/src/Mod/Raytracing/App/AppRaytracingPy.cpp
|
|
||||||
+++ b/src/Mod/Raytracing/App/AppRaytracingPy.cpp
|
|
||||||
@@ -40,6 +40,8 @@
|
|
||||||
#include <Mod/Part/App/TopoShapePy.h>
|
|
||||||
#include <App/Application.h>
|
|
||||||
|
|
||||||
+using namespace std;
|
|
||||||
+
|
|
||||||
|
|
||||||
namespace Raytracing {
|
|
||||||
class Module : public Py::ExtensionModule<Module>
|
|
||||||
diff --git a/src/Mod/Raytracing/App/LuxFeature.cpp b/src/Mod/Raytracing/App/LuxFeature.cpp
|
|
||||||
index 930fe12b7..d1e0a0089 100644
|
|
||||||
--- a/src/Mod/Raytracing/App/LuxFeature.cpp
|
|
||||||
+++ b/src/Mod/Raytracing/App/LuxFeature.cpp
|
|
||||||
@@ -38,6 +38,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
using namespace Raytracing;
|
|
||||||
+using namespace std;
|
|
||||||
|
|
||||||
PROPERTY_SOURCE(Raytracing::LuxFeature, Raytracing::RaySegment)
|
|
||||||
|
|
||||||
diff --git a/src/Mod/Raytracing/App/RayFeature.cpp b/src/Mod/Raytracing/App/RayFeature.cpp
|
|
||||||
index cdd2cb6dc..235a98685 100644
|
|
||||||
--- a/src/Mod/Raytracing/App/RayFeature.cpp
|
|
||||||
+++ b/src/Mod/Raytracing/App/RayFeature.cpp
|
|
||||||
@@ -36,6 +36,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
using namespace Raytracing;
|
|
||||||
+using namespace std;
|
|
||||||
|
|
||||||
PROPERTY_SOURCE(Raytracing::RayFeature, Raytracing::RaySegment)
|
|
||||||
|
|
||||||
diff --git a/src/Mod/TechDraw/App/Geometry.cpp b/src/Mod/TechDraw/App/Geometry.cpp
|
|
||||||
index 123be7979..16e7487ee 100644
|
|
||||||
--- a/src/Mod/TechDraw/App/Geometry.cpp
|
|
||||||
+++ b/src/Mod/TechDraw/App/Geometry.cpp
|
|
||||||
@@ -75,6 +75,7 @@
|
|
||||||
|
|
||||||
using namespace TechDrawGeometry;
|
|
||||||
using namespace TechDraw;
|
|
||||||
+using namespace std;
|
|
||||||
|
|
||||||
// Collection of Geometric Features
|
|
||||||
Wire::Wire()
|
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:ed50e632f9cc25ad508e8d89372e8f2e88dfb684d88212237314db440c2c5192
|
oid sha256:6d5e0772aaca0a5aeb6b9e7fef35420011bcf312c7853904c1399e388f648728
|
||||||
size 427463182
|
size 427464206
|
||||||
|
@ -1,3 +1,30 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Mar 15 18:13:15 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||||
|
|
||||||
|
- Fix runtime errors with Python 3.8:
|
||||||
|
* 0001-fem-use-time.process_time-instead-of-removed-time.cl.patch
|
||||||
|
- Fix last python2 she-bang remainders, fix imports:
|
||||||
|
* fix_unittestgui_tkinter_py3.patch
|
||||||
|
- Remove unnecessary opencv build dependency
|
||||||
|
- update to current 0.18 branch:
|
||||||
|
* Fem: fix segmentation fault when opening contraint transform
|
||||||
|
panel. Fix Python code
|
||||||
|
* Part: the number of domains returned by TopoShape::getDomains
|
||||||
|
must match with number of faces
|
||||||
|
* apply fixes from master when building with occt 7.4
|
||||||
|
+ Drop 0002-fix-compile.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Mar 14 15:12:29 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||||
|
|
||||||
|
- Fix build with Python 3.8:
|
||||||
|
Add update-swigpyrunin-for-python-3.8.patch
|
||||||
|
- Spec file cleanup
|
||||||
|
* Drop xpm FreeCAD icon
|
||||||
|
* Install PNGs/SVG icons in correct paths
|
||||||
|
* Remove obsolete update_mime_database calls in %post
|
||||||
|
* Remove obsolete conditionals for Leap 42.x
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Jan 25 11:03:06 UTC 2020 - Hans-Peter Jansen <hpj@urpla.net>
|
Sat Jan 25 11:03:06 UTC 2020 - Hans-Peter Jansen <hpj@urpla.net>
|
||||||
|
|
||||||
@ -8,18 +35,22 @@ Sat Jan 25 11:03:06 UTC 2020 - Hans-Peter Jansen <hpj@urpla.net>
|
|||||||
Fri Jan 24 09:02:08 UTC 2020 - Adrian Schröter <adrian@suse.de>
|
Fri Jan 24 09:02:08 UTC 2020 - Adrian Schröter <adrian@suse.de>
|
||||||
|
|
||||||
- update to current 0.18 branch:
|
- update to current 0.18 branch:
|
||||||
* fixes #0004182: Segfault when clicking constraints from a different viewport [skip ci]
|
* fixes #0004182: Segfault when clicking constraints from a
|
||||||
* See discussion https://forum.freecadweb.org/viewtopic.php?f=3&t=41879
|
different viewport [skip ci]
|
||||||
* fixes #0004233: Access violation and file corruption on undo duplicate sketch
|
* [Draft] ImportDXF 0.18 Bug upgrading from 0.16. See discussion
|
||||||
|
https://forum.freecadweb.org/viewtopic.php?f=3&t=41879
|
||||||
|
* fixes #0004233: Access violation and file corruption on undo
|
||||||
|
duplicate sketch
|
||||||
* FEM: py3 fix in selection widget
|
* FEM: py3 fix in selection widget
|
||||||
* FEM: selection widgets, add some error prints
|
* FEM: selection widgets, add some error prints
|
||||||
* FEM: equations, fix reset edit mode
|
* FEM: equations, fix reset edit mode
|
||||||
* [AddonManager] 0.18 Improve Non GitPython Error..
|
* [AddonManager] 0.18 Improve Non GitPython Error Handling.
|
||||||
* ...Handling. Previous output when clicking Macros tab caused errors in Report View with no Macros loaded at all.
|
Previous output when clicking Macros tab caused errors in
|
||||||
* fix encoding problem when clicking a link on StartPage if application is installed into a directory with non-ASCII characters
|
Report View with no Macros loaded at all.
|
||||||
|
* fix encoding problem when clicking a link on StartPage if
|
||||||
|
application is installed into a directory with non-ASCII characters
|
||||||
* [Arch] ArchMaterial 0.18 Fix Crash
|
* [Arch] ArchMaterial 0.18 Fix Crash
|
||||||
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jan 23 16:41:29 UTC 2020 - Adrian Schröter <adrian@suse.de>
|
Thu Jan 23 16:41:29 UTC 2020 - Adrian Schröter <adrian@suse.de>
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name: FreeCAD
|
name: FreeCAD
|
||||||
version: 0.18.4
|
version: 0.18.4
|
||||||
mtime: 1578760669
|
mtime: 1582676121
|
||||||
commit: 9ae129705652eec6be426211e5eaaa16c847b7c5
|
commit: 783e1346c7a078f5265c3f0c6a927d09a8c1fe70
|
||||||
|
|
||||||
|
55
FreeCAD.spec
55
FreeCAD.spec
@ -41,16 +41,19 @@ Source2: FreeCADCmd.sh
|
|||||||
Source3: FreeCAD_shared_mimeinfo
|
Source3: FreeCAD_shared_mimeinfo
|
||||||
# PATCH-FIX-UPSTREAM 0001-Fix-build-with-pyside2-shiboken2-5.12.1.patch -- Fix build with shiboken2/pyside2 >= 5.12.1
|
# PATCH-FIX-UPSTREAM 0001-Fix-build-with-pyside2-shiboken2-5.12.1.patch -- Fix build with shiboken2/pyside2 >= 5.12.1
|
||||||
Patch1: 0001-Fix-build-with-pyside2-shiboken2-5.12.1.patch
|
Patch1: 0001-Fix-build-with-pyside2-shiboken2-5.12.1.patch
|
||||||
# PATCH-FIX-UPSTREAM 0002-fix-compile.patch
|
|
||||||
Patch2: 0002-fix-compile.patch
|
|
||||||
# PATCH-FIX-OPENSUSE qt-5.14.patch
|
# PATCH-FIX-OPENSUSE qt-5.14.patch
|
||||||
Patch3: 0003-qt-5.14.patch
|
Patch3: 0003-qt-5.14.patch
|
||||||
|
# PATCH-FIX-UPSTREAM https://github.com/FreeCAD/FreeCAD/commit/6eacb17b3e03d200.patch
|
||||||
|
Patch4: update-swigpyrunin-for-python-3.8.patch
|
||||||
|
# PATCH-FIX-UPSTREAM https://github.com/FreeCAD/FreeCAD/pull/2899
|
||||||
|
Patch5: 0001-fem-use-time.process_time-instead-of-removed-time.cl.patch
|
||||||
|
# PATCH-FIX-OPENSUSE Use correct import for Python 3 tkinter
|
||||||
|
Patch6: fix_unittestgui_tkinter_py3.patch
|
||||||
|
|
||||||
# Test suite fails on 32bit and I don't want to debug that anymore
|
# Test suite fails on 32bit and I don't want to debug that anymore
|
||||||
ExcludeArch: %ix86 %arm ppc s390 s390x
|
ExcludeArch: %ix86 %arm ppc s390 s390x
|
||||||
|
|
||||||
BuildRequires: Coin-devel
|
BuildRequires: Coin-devel
|
||||||
%if 0%{?suse_version} >= 1330
|
|
||||||
BuildRequires: libboost_filesystem-devel >= 1.55
|
BuildRequires: libboost_filesystem-devel >= 1.55
|
||||||
BuildRequires: libboost_graph-devel >= 1.55
|
BuildRequires: libboost_graph-devel >= 1.55
|
||||||
BuildRequires: libboost_program_options-devel >= 1.55
|
BuildRequires: libboost_program_options-devel >= 1.55
|
||||||
@ -61,9 +64,6 @@ BuildRequires: libboost_signals-devel >= 1.55
|
|||||||
%endif
|
%endif
|
||||||
BuildRequires: libboost_system-devel >= 1.55
|
BuildRequires: libboost_system-devel >= 1.55
|
||||||
BuildRequires: libboost_thread-devel >= 1.55
|
BuildRequires: libboost_thread-devel >= 1.55
|
||||||
%else
|
|
||||||
BuildRequires: boost-devel >= 1.55
|
|
||||||
%endif
|
|
||||||
|
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: dos2unix
|
BuildRequires: dos2unix
|
||||||
@ -78,6 +78,7 @@ BuildRequires: git
|
|||||||
BuildRequires: glew-devel
|
BuildRequires: glew-devel
|
||||||
BuildRequires: graphviz
|
BuildRequires: graphviz
|
||||||
BuildRequires: hdf5-devel
|
BuildRequires: hdf5-devel
|
||||||
|
BuildRequires: hicolor-icon-theme
|
||||||
# We use the internal smesh version with fixes atm
|
# We use the internal smesh version with fixes atm
|
||||||
#BuildRequires: smesh-devel
|
#BuildRequires: smesh-devel
|
||||||
BuildRequires: libXerces-c-devel
|
BuildRequires: libXerces-c-devel
|
||||||
@ -88,10 +89,9 @@ BuildRequires: make
|
|||||||
BuildRequires: netgen-devel
|
BuildRequires: netgen-devel
|
||||||
# we use upstream OpenCASCADE instead of oce-devel atm
|
# we use upstream OpenCASCADE instead of oce-devel atm
|
||||||
BuildRequires: occt-devel
|
BuildRequires: occt-devel
|
||||||
BuildRequires: opencv-devel
|
|
||||||
BuildRequires: pkg-config
|
BuildRequires: pkg-config
|
||||||
|
|
||||||
%if 0%{?suse_version} >= 1330
|
%if 0%{?suse_version}
|
||||||
# Qt5 & python3
|
# Qt5 & python3
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
BuildRequires: python3-matplotlib
|
BuildRequires: python3-matplotlib
|
||||||
@ -120,7 +120,8 @@ Conflicts: python-pyside
|
|||||||
# reported to break FreeCAD here
|
# reported to break FreeCAD here
|
||||||
# https://forum.freecadweb.org/viewtopic.php?t=24610
|
# https://forum.freecadweb.org/viewtopic.php?t=24610
|
||||||
Conflicts: python-pivy
|
Conflicts: python-pivy
|
||||||
%else
|
%endif
|
||||||
|
%if 0%{?fedora} > 18
|
||||||
BuildRequires: libshiboken-devel
|
BuildRequires: libshiboken-devel
|
||||||
BuildRequires: python-CXX-devel
|
BuildRequires: python-CXX-devel
|
||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
@ -130,13 +131,6 @@ BuildRequires: python-pyside-tools
|
|||||||
BuildRequires: pkgconfig(QtWebKit)
|
BuildRequires: pkgconfig(QtWebKit)
|
||||||
Requires: python-numpy
|
Requires: python-numpy
|
||||||
Requires: python-pyside
|
Requires: python-pyside
|
||||||
%if 0%{?suse_version} > 0
|
|
||||||
# Qt4 & python2
|
|
||||||
BuildRequires: libqt4-devel
|
|
||||||
BuildRequires: python-xml
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
%if 0%{?fedora} > 18
|
|
||||||
BuildRequires: qt5-qtbase-devel
|
BuildRequires: qt5-qtbase-devel
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -176,9 +170,9 @@ mv %_sourcedir/%name-%version %_builddir/%name-%version
|
|||||||
%autopatch -p1
|
%autopatch -p1
|
||||||
|
|
||||||
# fix env-script-interpreter
|
# fix env-script-interpreter
|
||||||
sed -i '1c#!%{__python2}' \
|
sed -i '1c#!%{__python3}' \
|
||||||
src/Mod/Test/testmakeWireString.py \
|
src/Mod/Test/testmakeWireString.py \
|
||||||
src/Mod/Test/unittestgui.py
|
src/Mod/Robot/MovieTool.py
|
||||||
|
|
||||||
# Fix "wrong-file-end-of-line-encoding" rpmlint warning
|
# Fix "wrong-file-end-of-line-encoding" rpmlint warning
|
||||||
sed -i 's/\r$//' ChangeLog.txt
|
sed -i 's/\r$//' ChangeLog.txt
|
||||||
@ -194,7 +188,7 @@ rm src/3rdparty/Pivy-0.5 -fr
|
|||||||
%build
|
%build
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
# cmake macro would set standard libdir
|
# cmake macro would set standard libdir
|
||||||
# it needs an older specific zipios version -DFREECAD_USE_EXTERNAL_ZIPIOS=TRUE
|
# it needs an older specific zipios version -DFREECAD_USE_EXTERNAL_ZIPIOS=TRUE
|
||||||
|
|
||||||
printenv
|
printenv
|
||||||
cmake \
|
cmake \
|
||||||
@ -207,12 +201,10 @@ cmake \
|
|||||||
-DRESOURCEDIR=%{_datadir}/%{name} \
|
-DRESOURCEDIR=%{_datadir}/%{name} \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_CXX_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \
|
-DCMAKE_CXX_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \
|
||||||
%if 0%{?suse_version} >= 1330
|
|
||||||
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
|
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
|
||||||
-DSHIBOKEN_INCLUDE_DIR=/usr/include/shiboken2/ \
|
-DSHIBOKEN_INCLUDE_DIR=/usr/include/shiboken2/ \
|
||||||
-DPYSIDE_INCLUDE_DIR=/usr/include/PySide2/ \
|
-DPYSIDE_INCLUDE_DIR=/usr/include/PySide2/ \
|
||||||
-DBUILD_QT5=ON \
|
-DBUILD_QT5=ON \
|
||||||
%endif
|
|
||||||
-DFREECAD_USE_EXTERNAL_PIVY:BOOL=TRUE \
|
-DFREECAD_USE_EXTERNAL_PIVY:BOOL=TRUE \
|
||||||
-DBUILD_MESH_PART:BOOL=ON \
|
-DBUILD_MESH_PART:BOOL=ON \
|
||||||
-DBUILD_OPENSCAD:BOOL=ON \
|
-DBUILD_OPENSCAD:BOOL=ON \
|
||||||
@ -258,8 +250,15 @@ chmod 755 %{buildroot}%{x_prefix}/Mod/Robot/MovieTool.py \
|
|||||||
%{buildroot}%{x_prefix}/Mod/Test/unittestgui.py
|
%{buildroot}%{x_prefix}/Mod/Test/unittestgui.py
|
||||||
|
|
||||||
# Move desktop icon in the correct location
|
# Move desktop icon in the correct location
|
||||||
mkdir -p %{buildroot}%{_datadir}/pixmaps
|
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable
|
||||||
mv %{buildroot}%{_datadir}/%{name}/freecad.xpm %{buildroot}%{_datadir}/pixmaps/freecad.xpm
|
for size in 64 48 32 16; do
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/
|
||||||
|
mv %{buildroot}%{_datadir}/%{name}/freecad-icon-${size}.png \
|
||||||
|
%{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/freecad.png
|
||||||
|
done
|
||||||
|
mv %{buildroot}%{_datadir}/%{name}/freecad.svg %{buildroot}%{_datadir}/icons/hicolor/scalable
|
||||||
|
mv %{buildroot}%{_datadir}/%{name}/freecad-doc.png %{buildroot}%{_datadir}/icons/hicolor/64x64/
|
||||||
|
rm %{buildroot}%{_datadir}/%{name}/freecad.xpm
|
||||||
|
|
||||||
%suse_update_desktop_file -c %{name} "%{name}" "3D CAD Modeler" %{name} "freecad" Education Engineering
|
%suse_update_desktop_file -c %{name} "%{name}" "3D CAD Modeler" %{name} "freecad" Education Engineering
|
||||||
|
|
||||||
@ -297,13 +296,9 @@ ln -s -t %{buildroot}/usr/bin %{x_prefix}/bin/FreeCADCmd
|
|||||||
|
|
||||||
%fdupes -s %{buildroot}
|
%fdupes -s %{buildroot}
|
||||||
|
|
||||||
%post
|
%post -p /sbin/ldconfig
|
||||||
/sbin/ldconfig
|
|
||||||
%mime_database_post
|
|
||||||
|
|
||||||
%postun
|
%postun -p /sbin/ldconfig
|
||||||
/sbin/ldconfig
|
|
||||||
%mime_database_postun
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
@ -313,7 +308,7 @@ ln -s -t %{buildroot}/usr/bin %{x_prefix}/bin/FreeCADCmd
|
|||||||
%{_libdir}/%{name}
|
%{_libdir}/%{name}
|
||||||
%{_datadir}/%{name}/
|
%{_datadir}/%{name}/
|
||||||
%{_datadir}/mime/packages/%{name}.xml
|
%{_datadir}/mime/packages/%{name}.xml
|
||||||
%{_datadir}/pixmaps/freecad.xpm
|
|
||||||
%{_datadir}/applications/%{name}.desktop
|
%{_datadir}/applications/%{name}.desktop
|
||||||
|
%{_datadir}/icons/hicolor/*/freecad*.{png,svg}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
29
fix_unittestgui_tkinter_py3.patch
Normal file
29
fix_unittestgui_tkinter_py3.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
diff --git a/src/Mod/Test/unittestgui.py b/src/Mod/Test/unittestgui.py
|
||||||
|
index 6e93079b8..e6125a694 100755
|
||||||
|
--- a/src/Mod/Test/unittestgui.py
|
||||||
|
+++ b/src/Mod/Test/unittestgui.py
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#!/usr/bin/env python
|
||||||
|
+#!/usr/bin/python3
|
||||||
|
"""
|
||||||
|
GUI framework and application for use with Python unit testing framework.
|
||||||
|
Execute tests written using the framework provided by the 'unittest' module.
|
||||||
|
@@ -29,12 +29,15 @@ __version__ = "$Revision: 2.0 $"[11:-2]
|
||||||
|
|
||||||
|
import unittest
|
||||||
|
import sys
|
||||||
|
-import Tkinter
|
||||||
|
-import tkMessageBox
|
||||||
|
+if sys.version_info.major >= 3:
|
||||||
|
+ import tkinter as tk
|
||||||
|
+ from tkinter import messagebox as tkMessageBox
|
||||||
|
+else:
|
||||||
|
+ import Tkinter as tk
|
||||||
|
+ import tkMessageBox
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
import string
|
||||||
|
-tk = Tkinter # Alternative to the messy 'from Tkinter import *' often seen
|
||||||
|
|
||||||
|
|
||||||
|
##############################################################################
|
27
update-swigpyrunin-for-python-3.8.patch
Normal file
27
update-swigpyrunin-for-python-3.8.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
From 6eacb17b3e03d20039b85c9daebab9e44386d6bf Mon Sep 17 00:00:00 2001
|
||||||
|
From: Richard <hobbes1069@gmail.com>
|
||||||
|
Date: Thu, 17 Oct 2019 11:20:10 -0500
|
||||||
|
Subject: [PATCH] Update swigpyrun.in for Python 3.8
|
||||||
|
|
||||||
|
In Python 3.8 some functions related to thread state were intentionally made private.
|
||||||
|
|
||||||
|
This fix (specific to FreeCAD) was suggested here:
|
||||||
|
|
||||||
|
https://bugs.python.org/issue35886
|
||||||
|
---
|
||||||
|
src/Base/swigpyrun.inl | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/Base/swigpyrun.inl b/src/Base/swigpyrun.inl
|
||||||
|
index 0eedaaa87a9..65bba62db3c 100644
|
||||||
|
--- a/src/Base/swigpyrun.inl
|
||||||
|
+++ b/src/Base/swigpyrun.inl
|
||||||
|
@@ -72,7 +72,7 @@ void cleanupSWIG_T(const char* TypeName)
|
||||||
|
|
||||||
|
PyObject *module, *dict;
|
||||||
|
PyInterpreterState *interp = PyThreadState_GET()->interp;
|
||||||
|
- PyObject *modules = interp->modules;
|
||||||
|
+ PyObject *modules = PyImport_GetModuleDict();
|
||||||
|
module = PyDict_GetItemString(modules, "__builtin__");
|
||||||
|
if (module != NULL && PyModule_Check(module)) {
|
||||||
|
dict = PyModule_GetDict(module);
|
Loading…
x
Reference in New Issue
Block a user