freecad: libexecinfo usage, rebuild with coin3 4.0.0

libexecinfo's usage is incomplete: 002-execinfo.patch still needed

[ci skip]
This commit is contained in:
yopito 2020-11-23 00:54:55 +01:00 committed by Piraty
parent 00dbc37f39
commit 2a5d702940
4 changed files with 91 additions and 31 deletions

View File

@ -1,30 +0,0 @@
--- src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp
+++ src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp
@@ -29,7 +29,9 @@
#ifndef WIN32
#include <unistd.h>
#include <sys/stat.h>
+#ifdef __GLIBC__
#include <execinfo.h>
+#endif
#endif
@@ -109,6 +111,7 @@
#ifndef WIN32
void print_traceback()
{
+#ifdef __GLIBC__
void *array[50];
size_t size;
char **strings;
@@ -123,6 +126,9 @@
}
free (strings);
+#else
+ std::cerr << "sorry, no backtrace on musl libc";
+#endif
}
#else
#if (_MSC_VER >= 1400) // Visual Studio 2005

View File

@ -0,0 +1,50 @@
From 04833a5f1cbc07f8f6ae94453c4535e13789aa05 Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Mon, 6 Jul 2020 06:54:07 +0200
Subject: [PATCH] build: fix Coin 3d documentation discovering
* coin3d 4.0.0 default location is /usr/share/doc/Coin/html/
* misuses of find_files() if several candidates for filename
* export variable COIN3D_DOC_FOUND that is used by cMake/FreeCAD_Helpers/PrintFinalReport.cmake
---
cMake/FindCoin3DDoc.cmake | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git cMake/FindCoin3DDoc.cmake cMake/FindCoin3DDoc.cmake
index 883368445..c6c92f260 100644
--- cMake/FindCoin3DDoc.cmake
+++ cMake/FindCoin3DDoc.cmake
@@ -23,18 +23,19 @@ IF (COIN3D_FOUND)
find_path(COIN3D_DOC_PATH index.html
/usr/share/doc/libcoin80-doc/html
/usr/share/doc/coin/html
+ /usr/share/doc/Coin/html
)
IF( EXISTS ${COIN3D_DOC_PATH})
message(STATUS "Coin3D doc is installed")
- find_file(COIN3D_DOC_TAGFILE coin.tag Coin.tag
- ${COIN3D_DOC_PATH}
+ find_file(COIN3D_DOC_TAGFILE NAMES coin.tag Coin.tag
+ PATHS ${COIN3D_DOC_PATH}
)
IF( EXISTS ${COIN3D_DOC_TAGFILE})
SET( COIN3D_DOC_FOUND "YES"
)
ELSE( EXISTS ${COIN3D_DOC_TAGFILE})
- find_file(COIN3D_DOC_TAGFILE_GZ coin.tag.gz Coin.tag.gz
- ${COIN3D_DOC_PATH}
+ find_file(COIN3D_DOC_TAGFILE_GZ NAMES coin.tag.gz Coin.tag.gz
+ PATHS ${COIN3D_DOC_PATH}
)
IF( EXISTS ${COIN3D_DOC_TAGFILE_GZ})
message(STATUS " Found ${COIN3D_DOC_TAGFILE_GZ}")
@@ -85,4 +86,5 @@ if(COIN3D_DOC_FOUND)
message(STATUS " Location: ${COIN3D_DOC_PATH}")
endif(COIN3D_DOC_FOUND)
-
+# export for others
+SET( COIN3D_DOC_FOUND "${COIN3D_DOC_FOUND}" CACHE BOOL "Coin3d documentation available")
--
2.27.0

View File

@ -0,0 +1,39 @@
diff --git src/Mod/Fem/feminout/importFenicsMesh.py src/Mod/Fem/feminout/importFenicsMesh.py
index 1bb40de..a0b5484 100644
--- src/Mod/Fem/feminout/importFenicsMesh.py
+++ src/Mod/Fem/feminout/importFenicsMesh.py
@@ -154,7 +154,7 @@ def export(objectslist, fileString):
FreeCAD.Console.PrintWarning("Tri6 -> Tri3, Tet10 -> Tet4, etc.\n")
writeFenicsXML.write_fenics_mesh_xml(obj, fileString)
elif fileExtension.lower() == '.xdmf':
- if importToolsFem.get_FemMeshObjectMeshGroups(obj) is not ():
+ if importToolsFem.get_FemMeshObjectMeshGroups(obj):
# if there are groups found, make task panel available
panel = WriteXDMFTaskPanel(obj, fileString)
FreeCADGui.Control.showDialog(panel)
diff --git src/Mod/Fem/feminout/writeFenicsXDMF.py src/Mod/Fem/feminout/writeFenicsXDMF.py
index 9e7f01b..5a93823 100644
--- src/Mod/Fem/feminout/writeFenicsXDMF.py
+++ src/Mod/Fem/feminout/writeFenicsXDMF.py
@@ -258,7 +258,7 @@ def write_fenics_mesh_xdmf(fem_mesh_obj, outputfile, group_values_dict={}, encod
fem_mesh = fem_mesh_obj.FemMesh
gmshgroups = get_FemMeshObjectMeshGroups(fem_mesh_obj)
- if gmshgroups is not ():
+ if gmshgroups:
print('found mesh groups')
for g in gmshgroups:
diff --git src/Mod/PartDesign/WizardShaft/Shaft.py src/Mod/PartDesign/WizardShaft/Shaft.py
index c519b97..8c20eb4 100644
--- src/Mod/PartDesign/WizardShaft/Shaft.py
+++ src/Mod/PartDesign/WizardShaft/Shaft.py
@@ -88,7 +88,7 @@ class Shaft:
# We don't call equilibrium() here because the new segment has no constraints defined yet
# Fix face reference of fixed segment if it is the last one
for i in range(1, len(self.segments)):
- if self.segments[i].constraintType is not "Fixed":
+ if self.segments[i].constraintType != "Fixed":
continue
if i == len(self.segments) - 1:
self.segments[index].constraint.References = [( self.feature.feature, "Face%u" % (2 * (index+1) + 1) )]

View File

@ -1,7 +1,7 @@
# Template file for 'freecad'
pkgname=freecad
version=0.18.4
revision=9
revision=10
wrksrc="FreeCAD-${version}"
build_style=cmake
@ -38,6 +38,7 @@ checksum=4e0cce447b31b8989a00cf68c49ae012ce8e5546a56c6e0874fbd8f7ddedffd2
if [ "$XBPS_TARGET_LIBC" = musl ]; then
makedepends+=" libexecinfo-devel"
LDFLAGS="-lexecinfo"
fi
post_extract() {