freecad: update to 0.17
- vtk is a mandatory dependency - libmed is a mandatory dependency - occt is not mandatory, but recommended by freecad devs, and replaces oce - SMDS patch is not needed anymore - freecad's transition to python3 is not complete, maybe in 0.18 - in order to use qt5, Void needs pyside2 etc. first, which is not officially released yet. Closes #13404. Signed-off-by: Enno Boland <gottox@voidlinux.eu>
This commit is contained in:
parent
1b4cc7c8d4
commit
27413d5b09
3 changed files with 35 additions and 83 deletions
11
srcpkgs/freecad/patches/001-python3.patch
Normal file
11
srcpkgs/freecad/patches/001-python3.patch
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- CMakeLists.txt
|
||||||
|
+++ CMakeLists.txt
|
||||||
|
@@ -445,7 +445,7 @@
|
||||||
|
|
||||||
|
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=677598
|
||||||
|
# Acceptable versions of Python
|
||||||
|
-set(Python_ADDITIONAL_VERSIONS "2.7")
|
||||||
|
+set(Python_ADDITIONAL_VERSIONS "2.7 3.6")
|
||||||
|
|
||||||
|
# For building on OS X
|
||||||
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|
@ -1,55 +0,0 @@
|
||||||
Build and install missing binary SMDS_MemoryLimit
|
|
||||||
Patch with the help of http://forum.freecadweb.org/viewtopic.php?t=4316&start=10#p47658 , change #3
|
|
||||||
|
|
||||||
--- src/3rdParty/salomesmesh/CMakeLists.txt.ORI 2016-04-07 03:39:34.000000000 +0200
|
|
||||||
+++ src/3rdParty/salomesmesh/CMakeLists.txt 2016-05-31 10:20:54.115079806 +0200
|
|
||||||
@@ -158,6 +158,33 @@
|
|
||||||
endif(WIN32)
|
|
||||||
|
|
||||||
|
|
||||||
+############################
|
|
||||||
+# SMDS_MemoryLimit Utility #
|
|
||||||
+############################
|
|
||||||
+
|
|
||||||
+SET(SMDS_MemoryLimit_SRCS
|
|
||||||
+ src/SMDS/SMDS_MemoryLimit.cpp
|
|
||||||
+ )
|
|
||||||
+add_executable(SMDS_MemoryLimit ${SMDS_MemoryLimit_SRCS})
|
|
||||||
+
|
|
||||||
+# Note this is IDE specific, not necessarily platform specific
|
|
||||||
+if(MSVC)
|
|
||||||
+ set_target_properties(SMDS_MemoryLimit PROPERTIES OUTPUT_NAME "SMDS_MemoryLimit")
|
|
||||||
+ set_target_properties(SMDS_MemoryLimit PROPERTIES DEBUG_OUTPUT_NAME "SMDS_MemoryLimit")
|
|
||||||
+ # dirty hack to avoid Debug/Release subdirectory
|
|
||||||
+ set_target_properties(FreeCADMainCmd PROPERTIES PREFIX "../")
|
|
||||||
+ set_target_properties(FreeCADMainCmd PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
||||||
+elseif(MINGW)
|
|
||||||
+ set_target_properties(SMDS_MemoryLimit PROPERTIES OUTPUT_NAME "SMDS_MemoryLimit")
|
|
||||||
+ set_target_properties(SMDS_MemoryLimit PROPERTIES DEBUG_OUTPUT_NAME "SMDS_MemoryLimit")
|
|
||||||
+ set_target_properties(FreeCADMainCmd PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
||||||
+else(MSVC)
|
|
||||||
+ set_target_properties(SMDS_MemoryLimit PROPERTIES OUTPUT_NAME "SMDS_MemoryLimit")
|
|
||||||
+ set_target_properties(SMDS_MemoryLimit PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
||||||
+ #set_target_properties(SMDS_MemoryLimit PROPERTIES INSTALL_RPATH ${INSTALL_RPATH})
|
|
||||||
+endif(MSVC)
|
|
||||||
+
|
|
||||||
+
|
|
||||||
##########
|
|
||||||
# Driver #
|
|
||||||
##########
|
|
||||||
@@ -380,12 +407,13 @@
|
|
||||||
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
- INSTALL(TARGETS SMDS Driver DriverSTL DriverDAT DriverUNV SMESHDS SMESH MEFISTO2 StdMeshers
|
|
||||||
+ INSTALL(TARGETS SMDS SMDS_MemoryLimit Driver DriverSTL DriverDAT DriverUNV SMESHDS SMESH MEFISTO2 StdMeshers
|
|
||||||
RUNTIME DESTINATION bin
|
|
||||||
LIBRARY DESTINATION lib
|
|
||||||
)
|
|
||||||
else(WIN32)
|
|
||||||
- INSTALL(TARGETS SMDS Driver DriverSTL DriverDAT DriverUNV SMESHDS SMESH MEFISTO2 StdMeshers
|
|
||||||
+ INSTALL(TARGETS SMDS SMDS_MemoryLimit Driver DriverSTL DriverDAT DriverUNV SMESHDS SMESH MEFISTO2 StdMeshers
|
|
||||||
+ RUNTIME DESTINATION bin
|
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
)
|
|
||||||
endif(WIN32)
|
|
|
@ -1,26 +1,27 @@
|
||||||
# Template file for 'freecad'
|
# 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
|
pkgname=freecad
|
||||||
version=0.16.6712
|
version=0.17
|
||||||
revision=2
|
revision=1
|
||||||
wrksrc="FreeCAD-${version}"
|
wrksrc="FreeCAD-${version}"
|
||||||
build_style=cmake
|
build_style=cmake
|
||||||
|
|
||||||
_inst_prefix=usr/lib/${pkgname}
|
_inst_prefix=/usr/lib/${pkgname}
|
||||||
|
|
||||||
# set CMAKE_INSTALL_LIBDIR to {CMAKE_INSTALL_PREFIX}/lib" or patch LibDir in src/App/FreeCADInit.py
|
# CMAKE_INSTALL_LIBDIR by default doesn't use PREFIX, so we set it manually
|
||||||
configure_args="
|
configure_args="
|
||||||
-DCMAKE_INSTALL_PREFIX=/${_inst_prefix}
|
-DBUILD_QT5=OFF
|
||||||
-DCMAKE_INSTALL_DATADIR=/${_inst_prefix}/data
|
-DCMAKE_INSTALL_PREFIX=${_inst_prefix}
|
||||||
-DCMAKE_INSTALL_DOCDIR=/${_inst_prefix}/doc
|
-DCMAKE_INSTALL_LIBDIR=${_inst_prefix}/lib"
|
||||||
-DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${pkgname}
|
hostmakedepends="pkg-config swig doxygen graphviz"
|
||||||
-DCMAKE_INSTALL_LIBDIR=/${_inst_prefix}/lib"
|
makedepends="python-devel boost-devel boost-python libxerces-c-devel
|
||||||
|
zlib-devel occt-devel vtk-devel hdf5-devel openmpi-devel libmed-devel eigen
|
||||||
hostmakedepends="python swig pkg-config doxygen graphviz"
|
coin3-devel libshiboken-python-devel libspnav-devel pyside-tools lz4-devel
|
||||||
|
libpyside-python-devel python-matplotlib netcdf-devel jsoncpp-devel
|
||||||
makedepends="python-devel oce-devel qt-devel qt-webkit-devel coin3-devel eigen
|
qt-devel qt-webkit-devel coin3-doc"
|
||||||
libxerces-c-devel libspnav-devel libshiboken-python-devel libpyside-python-devel
|
|
||||||
pyside-tools python-matplotlib boost-python coin3-doc"
|
|
||||||
|
|
||||||
# qt-devel-tools, qt-plugin-sqlite: Help uses qt/assistant, its data in SQLite format
|
# qt-devel-tools, qt-plugin-sqlite: Help uses qt/assistant, its data in SQLite format
|
||||||
depends="python-matplotlib python-pyside qt-devel-tools qt-plugin-sqlite python-pivy"
|
depends="python-matplotlib python-pyside qt-devel-tools qt-plugin-sqlite python-pivy"
|
||||||
|
|
||||||
|
@ -29,27 +30,22 @@ pycompile_dirs="usr/lib/${pkgname}/Mod usr/lib/${pkgname}/data/Mod"
|
||||||
short_desc="A general purpose 3D CAD modeler"
|
short_desc="A general purpose 3D CAD modeler"
|
||||||
maintainer="yopito <pierre.bourgin@free.fr>"
|
maintainer="yopito <pierre.bourgin@free.fr>"
|
||||||
license="LGPL-2.1"
|
license="LGPL-2.1"
|
||||||
homepage="http://freecadweb.org/"
|
homepage="https://freecadweb.org/"
|
||||||
distfiles="https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz"
|
distfiles="https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz"
|
||||||
checksum=97aa130addeb0f3c0bf79e4828fbd242b76cc92603771d6b7aeb9dbd9f111a92
|
checksum=ae017393476b6dc7f1192bcaf91ceedc2f9b791f2495307ce7c45efadb5266fb
|
||||||
|
|
||||||
case "${XBPS_TARGET_MACHINE}" in
|
|
||||||
aarch64*) broken="https://build.voidlinux.eu/builders/aarch64-musl_builder/builds/1402";;
|
|
||||||
esac
|
|
||||||
|
|
||||||
post_install() {
|
post_install() {
|
||||||
|
|
||||||
# AppHomePath is computed with binary's realpath:
|
# AppHomePath is computed with binary's realpath:
|
||||||
# do not move binaries but symlink them instead.
|
# do not move binaries but symlink them instead.
|
||||||
vmkdir usr/bin
|
vmkdir usr/bin
|
||||||
for f in FreeCAD FreeCADCmd; do
|
for f in FreeCAD FreeCADCmd; do
|
||||||
ln -s /${_inst_prefix}/bin/${f} ${DESTDIR}/usr/bin/${f}
|
ln -s ${_inst_prefix}/bin/${f} ${DESTDIR}/usr/bin/${f}
|
||||||
done
|
done
|
||||||
|
|
||||||
# desktop integration
|
# desktop integration
|
||||||
vmkdir usr/share/applications
|
vmkdir usr/share/applications
|
||||||
vcopy ${FILESDIR}/freecad.desktop usr/share/applications
|
vcopy ${FILESDIR}/freecad.desktop usr/share/applications
|
||||||
sed -i -e "s,@_inst_prefix@,/${_inst_prefix}," ${DESTDIR}/usr/share/applications/freecad.desktop
|
sed -i -e "s,@_inst_prefix@,${_inst_prefix}," ${DESTDIR}/usr/share/applications/freecad.desktop
|
||||||
vmkdir usr/share/appdata
|
vmkdir usr/share/appdata
|
||||||
vcopy ${FILESDIR}/freecad.appdata.xml usr/share/appdata
|
vcopy ${FILESDIR}/freecad.appdata.xml usr/share/appdata
|
||||||
vmkdir usr/share/mime/packages
|
vmkdir usr/share/mime/packages
|
||||||
|
@ -57,9 +53,9 @@ post_install() {
|
||||||
for s in 16 32 48 64; do
|
for s in 16 32 48 64; do
|
||||||
_dest_icon=usr/share/icons/hicolor/${s}x${s}/apps
|
_dest_icon=usr/share/icons/hicolor/${s}x${s}/apps
|
||||||
vmkdir ${_dest_icon}
|
vmkdir ${_dest_icon}
|
||||||
ln -s /${_inst_prefix}/data/freecad-icon-${s}.png ${DESTDIR}/${_dest_icon}/freecad.png
|
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
|
ln -s ${_inst_prefix}/data/freecad.xpm ${DESTDIR}/${_dest_icon}/freecad.xpm
|
||||||
done
|
done
|
||||||
vmkdir usr/share/icons/scalable/apps
|
vmkdir usr/share/icons/scalable/apps
|
||||||
ln -s /${_inst_prefix}/data/freecad.svg ${DESTDIR}/usr/share/icons/scalable/apps/freecad.svg
|
ln -s ${_inst_prefix}/data/freecad.svg ${DESTDIR}/usr/share/icons/scalable/apps/freecad.svg
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue