diff --git a/srcpkgs/freecad/patches/001-python3.patch b/srcpkgs/freecad/patches/001-python3.patch new file mode 100644 index 0000000000..b49978adcf --- /dev/null +++ b/srcpkgs/freecad/patches/001-python3.patch @@ -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") diff --git a/srcpkgs/freecad/patches/add-smds_memory_limit-utility.patch b/srcpkgs/freecad/patches/add-smds_memory_limit-utility.patch deleted file mode 100644 index 46d24ef188..0000000000 --- a/srcpkgs/freecad/patches/add-smds_memory_limit-utility.patch +++ /dev/null @@ -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) diff --git a/srcpkgs/freecad/template b/srcpkgs/freecad/template index 33d811523e..e0785ce840 100644 --- a/srcpkgs/freecad/template +++ b/srcpkgs/freecad/template @@ -1,26 +1,27 @@ # 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.16.6712 -revision=2 +version=0.17 +revision=1 wrksrc="FreeCAD-${version}" 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=" - -DCMAKE_INSTALL_PREFIX=/${_inst_prefix} - -DCMAKE_INSTALL_DATADIR=/${_inst_prefix}/data - -DCMAKE_INSTALL_DOCDIR=/${_inst_prefix}/doc - -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${pkgname} - -DCMAKE_INSTALL_LIBDIR=/${_inst_prefix}/lib" - -hostmakedepends="python swig pkg-config doxygen graphviz" - -makedepends="python-devel oce-devel qt-devel qt-webkit-devel coin3-devel eigen - libxerces-c-devel libspnav-devel libshiboken-python-devel libpyside-python-devel - pyside-tools python-matplotlib boost-python coin3-doc" - + -DBUILD_QT5=OFF + -DCMAKE_INSTALL_PREFIX=${_inst_prefix} + -DCMAKE_INSTALL_LIBDIR=${_inst_prefix}/lib" +hostmakedepends="pkg-config swig doxygen graphviz" +makedepends="python-devel boost-devel boost-python libxerces-c-devel + zlib-devel occt-devel vtk-devel hdf5-devel openmpi-devel libmed-devel eigen + coin3-devel libshiboken-python-devel libspnav-devel pyside-tools lz4-devel + libpyside-python-devel python-matplotlib netcdf-devel jsoncpp-devel + qt-devel qt-webkit-devel coin3-doc" # 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" @@ -29,27 +30,22 @@ pycompile_dirs="usr/lib/${pkgname}/Mod usr/lib/${pkgname}/data/Mod" short_desc="A general purpose 3D CAD modeler" maintainer="yopito " license="LGPL-2.1" -homepage="http://freecadweb.org/" +homepage="https://freecadweb.org/" distfiles="https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz" -checksum=97aa130addeb0f3c0bf79e4828fbd242b76cc92603771d6b7aeb9dbd9f111a92 - -case "${XBPS_TARGET_MACHINE}" in - aarch64*) broken="https://build.voidlinux.eu/builders/aarch64-musl_builder/builds/1402";; -esac +checksum=ae017393476b6dc7f1192bcaf91ceedc2f9b791f2495307ce7c45efadb5266fb post_install() { - # AppHomePath is computed with binary's realpath: # do not move binaries but symlink them instead. vmkdir usr/bin 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 # 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 + 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 @@ -57,9 +53,9 @@ post_install() { 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 + 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 + ln -s ${_inst_prefix}/data/freecad.svg ${DESTDIR}/usr/share/icons/scalable/apps/freecad.svg }