freecad: update to 0.18.1

closes #10598
This commit is contained in:
yopito 2019-03-15 22:03:38 +01:00 committed by maxice8
parent 169612c49a
commit d661eeee51
No known key found for this signature in database
GPG key ID: 543B9D4F4299F06B
9 changed files with 46 additions and 2195 deletions

View file

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- stolen from http://pkgs.fedoraproject.org/cgit/rpms/freecad.git/plain/freecad.appdata.xml -->
<application>
<id type="desktop">freecad.desktop</id>
<licence>CC0</licence>
<name>FreeCAD</name>
<summary>An open source parametric 3D CAD modeler</summary>
<description>
<p>FreeCAD is a parametric 3D modeler. Parametric modeling
allows you to easily modify your design by going back into
your model history and changing its parameters. FreeCAD is
open source (LGPL license) and completely modular, allowing
for very advanced extension and customization.</p>
<p>FreeCAD is multiplatfom, and reads and writes many open
file formats such as STEP, IGES, STL and others.</p>
</description>
<screenshots>
<screenshot type="default" width="1024" height="603">http://www.freecadweb.org/wiki/images/2/2d/FreeCAD011.png</screenshot>
</screenshots>
<url type="homepage">http://www.freecadweb.org</url>
<updatecontact>XXX</updatecontact>
</application>

View file

@ -1,18 +0,0 @@
# stolen from http://pkgs.fedoraproject.org/cgit/rpms/freecad.git/plain/freecad.desktop
[Desktop Entry]
Version=1.0
Name=FreeCAD
Name[de]=FreeCAD
Comment=Feature based Parametric Modeler
Comment[de]=Feature-basierter parametrischer Modellierer
GenericName=CAD Application
GenericName[de]=CAD-Anwendung
Exec=@_inst_prefix@/bin/FreeCAD %F
Path=@_inst_prefix@
Terminal=false
Type=Application
Icon=freecad
Categories=Graphics;Science;Education;Engineering;
StartupNotify=true
GenericName[de_DE]=Feature-basierter parametrischer Modellierer
MimeType=application/x-extension-fcstd;

View file

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- stolen from http://pkgs.fedoraproject.org/cgit/rpms/freecad.git/plain/freecad.sharedmimeinfo -->
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/x-extension-fcstd">
<!-- <sub-class-of type="application/zip"/> -->
<comment>FreeCAD document files</comment>
<glob pattern="*.fcstd"/>
</mime-type>
</mime-info>

View file

@ -1,30 +1,30 @@
--- src/App/Application.cpp 2018-04-06 10:48:37.000000000 +0200
+++ src/App/Application.cpp 2018-04-22 15:04:11.876136151 +0200
@@ -1063,7 +1063,9 @@
#endif
#if defined(FC_OS_LINUX)
+#ifdef __GLIBC__
#include <execinfo.h>
+#endif
#include <dlfcn.h>
#include <cxxabi.h>
@@ -1075,6 +1077,7 @@
// This function produces a stack backtrace with demangled function & method names.
void printBacktrace(size_t skip=0)
{
+#ifdef __GLIBC__
void *callstack[128];
size_t nMaxFrames = sizeof(callstack) / sizeof(callstack[0]);
size_t nFrames = backtrace(callstack, nMaxFrames);
@@ -1105,6 +1108,9 @@
}
free(symbols);
+#else
+ std::cerr << "sorry, no backtrace on musl libc";
+#endif
}
#endif
--- src/App/Application.cpp.orig 2019-03-08 18:56:16.000000000 +0100
+++ src/App/Application.cpp 2019-03-13 21:36:38.873587534 +0100
@@ -1163,7 +1163,9 @@
#endif
#if defined(FC_OS_LINUX)
+#ifdef __GLIBC__
#include <execinfo.h>
+#endif
#include <dlfcn.h>
#include <cxxabi.h>
@@ -1175,6 +1177,7 @@
// This function produces a stack backtrace with demangled function & method names.
void printBacktrace(size_t skip=0)
{
+#ifdef __GLIBC__
void *callstack[128];
size_t nMaxFrames = sizeof(callstack) / sizeof(callstack[0]);
size_t nFrames = backtrace(callstack, nMaxFrames);
@@ -1205,6 +1208,9 @@
}
free(symbols);
+#else
+ std::cerr << "sorry, no backtrace on musl libc";
+#endif
}
#endif

View file

@ -1,39 +0,0 @@
From 3c9e6b038ed544e446c61695dab62f83e781a28a Mon Sep 17 00:00:00 2001
From: wmayer <wmayer@users.sourceforge.net>
Date: Sat, 21 Apr 2018 11:12:45 +0200
Subject: [PATCH] fix requesting boost python component for version >= 1.67.0
---
src/Mod/Path/libarea/CMakeLists.txt | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git src/Mod/Path/libarea/CMakeLists.txt src/Mod/Path/libarea/CMakeLists.txt
index ef95c29d37d..dd03a39a797 100644
--- src/Mod/Path/libarea/CMakeLists.txt
+++ src/Mod/Path/libarea/CMakeLists.txt
@@ -16,13 +16,19 @@ OPTION(USE_BOOST_PYTHON "use BOOST_PYTHON, otherwise use PYBIND11" ON)
if(USE_BOOST_PYTHON)
if(NOT FREECAD_LIBPACK_USE OR FREECAD_LIBPACK_CHECKFILE_CLBUNDLER)
- if(NOT PYTHON_VERSION_MAJOR LESS 3)
- find_package( Boost COMPONENTS python3)
- if (NOT Boost_PYTHON3_FOUND)
- find_package( Boost COMPONENTS python REQUIRED)
- endif()
+ # for boost >= 1.67 we must add the Python version suffix to
+ # the component name
+ if (Boost_VERSION VERSION_GREATER 106699)
+ find_package(Boost COMPONENTS python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} REQUIRED) # find BOOST and boost-python
else()
- find_package( Boost COMPONENTS python REQUIRED) # find BOOST and boost-python
+ if(NOT PYTHON_VERSION_MAJOR LESS 3)
+ find_package( Boost COMPONENTS python3)
+ if (NOT Boost_PYTHON3_FOUND)
+ find_package( Boost COMPONENTS python REQUIRED)
+ endif()
+ else()
+ find_package( Boost COMPONENTS python REQUIRED) # find BOOST and boost-python
+ endif()
endif()
if(Boost_FOUND)

View file

@ -1,36 +0,0 @@
From 869b5c8918674d6069652b2b688e4faf59c87ffe Mon Sep 17 00:00:00 2001
From: Jan Beich <jbeich@FreeBSD.org>
Date: Tue, 17 Apr 2018 06:46:22 +0000
Subject: [PATCH] Explicitly link against -lpthread on Unix
/usr/bin/ld.lld: error: undefined symbol: pthread_condattr_init
>>> referenced by src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp
>>> src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_Mesh.cpp.o:(boost::condition_variable::condition_variable())
/usr/bin/ld.lld: error: undefined symbol: pthread_condattr_setclock
>>> referenced by src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp
>>> src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_Mesh.cpp.o:(boost::condition_variable::condition_variable())
/usr/bin/ld.lld: error: undefined symbol: pthread_condattr_destroy
>>> referenced by src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp
>>> src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_Mesh.cpp.o:(boost::condition_variable::condition_variable())
---
CMakeLists.txt | 5 +++++
1 file changed, 5 insertions(+)
diff --git CMakeLists.txt CMakeLists.txt
index cc06f908642..7230ae70de8 100644
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -596,6 +596,11 @@ endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
find_package(Boost ${BOOST_MIN_VERSION}
COMPONENTS filesystem program_options regex signals system thread REQUIRED)
+ if(UNIX AND NOT APPLE)
+ # Boost.Thread 1.67+ headers reference pthread_condattr_*
+ list(APPEND Boost_LIBRARIES pthread)
+ endif()
+
IF(NOT Boost_FOUND)
MESSAGE(FATAL_ERROR "========================================\n"
"boost not found, install the components:\n"

View file

@ -1,29 +0,0 @@
From 45945836131998ef267c632ef9c0c04b63321f31 Mon Sep 17 00:00:00 2001
From: Gabriel Souza Franco <gabrielfrancosouza@gmail.com>
Date: Wed, 9 May 2018 01:22:59 +0200
Subject: [PATCH] Fix compilation with GCC 8
---
src/3rdParty/salomesmesh/inc/SMESH_Algo.hxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git src/3rdParty/salomesmesh/inc/SMESH_Algo.hxx src/3rdParty/salomesmesh/inc/SMESH_Algo.hxx
index a362ed290bc..7e23608f52d 100644
--- src/3rdParty/salomesmesh/inc/SMESH_Algo.hxx
+++ src/3rdParty/salomesmesh/inc/SMESH_Algo.hxx
@@ -30,6 +30,7 @@
#include "SMESH_SMESH.hxx"
+#include "SMDS_MeshNode.hxx"
#include "SMDSAbs_ElementType.hxx"
#include "SMESH_Comment.hxx"
#include "SMESH_ComputeError.hxx"
@@ -45,7 +46,6 @@
#include <map>
#include <set>
-class SMDS_MeshNode;
class SMESHDS_Mesh;
class SMESHDS_SubMesh;
class SMESH_Gen;

File diff suppressed because it is too large Load diff

View file

@ -1,31 +1,30 @@
# Template file for 'freecad'
#
# TODO
# - qt5: needs python-pyside2 (https://wiki.qt.io/PySide2)
# - python3: freecad code not yet ready for it, probably at 0.18
pkgname=freecad
version=0.17
revision=10
version=0.18.1
revision=1
wrksrc="FreeCAD-${version}"
build_style=cmake
# CMAKE_INSTALL_LIBDIR by default doesn't use PREFIX, so we set it manually
_inst_prefix=/usr/lib/${pkgname}
configure_args="
-DBUILD_QT5=OFF
-DBUILD_QT5=ON
-DCMAKE_INSTALL_PREFIX=${_inst_prefix}
-DCMAKE_INSTALL_LIBDIR=${_inst_prefix}/lib
-DCMAKE_INSTALL_DATAROOTDIR=/usr/share
-DMEDFILE_INCLUDE_DIRS=/usr/include/med"
hostmakedepends="pkg-config swig doxygen graphviz dos2unix"
makedepends="python-devel boost-devel libxerces-c-devel zlib-devel occt-devel
hostmakedepends="pkg-config swig doxygen graphviz"
makedepends="python3-devel boost-devel libxerces-c-devel zlib-devel occt-devel
vtk-devel hdf5-devel openmpi-devel libmed-devel eigen double-conversion-devel
coin3-devel libshiboken-python-devel libspnav-devel pyside-tools liblz4-devel
libpyside-python-devel python-matplotlib netcdf-devel jsoncpp-devel
qt-devel qt-webkit-devel coin3-doc"
coin3-devel libshiboken2-devel libspnav-devel pyside2-tools
liblz4-devel libpyside2-python3-devel python3-matplotlib netcdf-devel
jsoncpp-devel qt5-devel qt5-svg-devel qt5-tools-devel qt5-webkit-devel
qt5-x11extras-devel coin3-doc glew-devel"
# FreeCAD help: qt/assistant, in SQLite format
depends="python-matplotlib python-pyside qt-devel-tools qt-plugin-sqlite python-pivy"
# FreeCAD help: qt5/assistant with datas in SQLite format
depends="python3-matplotlib python3-pyside2 qt5-plugin-sqlite python3-pivy"
pycompile_version="$py3_ver"
pycompile_dirs="usr/lib/${pkgname}/Mod usr/lib/${pkgname}/data/Mod"
short_desc="General purpose 3D CAD modeler"
@ -33,10 +32,11 @@ maintainer="yopito <pierre.bourgin@free.fr>"
license="LGPL-2.0-or-later"
homepage="https://freecadweb.org/"
distfiles="https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz"
checksum=ae017393476b6dc7f1192bcaf91ceedc2f9b791f2495307ce7c45efadb5266fb
checksum=6c0171001a2cba2795122c47959dc907da2aab4acd447f3ed929ed4f90ce5551
post_extract() {
find $wrksrc -type f -exec dos2unix -q {} +
# Report exact minor version
sed -i -e "s,^\(set(PACKAGE_VERSION_MINOR\) .*,\1 \"${version#*.}\")," CMakeLists.txt
# SubWCRev.py (SCM check) reports "unknown" for these fields
sed -i -e "s,\${PACKAGE_WCREF},${revision}_voidlinux," \
@ -52,21 +52,4 @@ post_install() {
for f in FreeCAD FreeCADCmd; do
ln -s ${_inst_prefix}/bin/${f} ${DESTDIR}/usr/bin/${f}
done
# desktop integration
vmkdir usr/share/applications
vcopy ${FILESDIR}/freecad.desktop usr/share/applications
sed -i -e "s,@_inst_prefix@,${_inst_prefix}," ${DESTDIR}/usr/share/applications/freecad.desktop
vmkdir usr/share/appdata
vcopy ${FILESDIR}/freecad.appdata.xml usr/share/appdata
vmkdir usr/share/mime/packages
vcopy ${FILESDIR}/freecad.xml usr/share/mime/packages
for s in 16 32 48 64; do
_dest_icon=usr/share/icons/hicolor/${s}x${s}/apps
vmkdir ${_dest_icon}
ln -s ${_inst_prefix}/data/freecad-icon-${s}.png ${DESTDIR}/${_dest_icon}/freecad.png
ln -s ${_inst_prefix}/data/freecad.xpm ${DESTDIR}/${_dest_icon}/freecad.xpm
done
vmkdir usr/share/icons/scalable/apps
ln -s ${_inst_prefix}/data/freecad.svg ${DESTDIR}/usr/share/icons/scalable/apps/freecad.svg
}