diff --git a/common/shlibs b/common/shlibs index f4123ba00af740..fc5395d1afe244 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3395,6 +3395,7 @@ libvtkFiltersHyperTree-9.5.so.1 vtk-9.5.0_1 libvtkIOExportPDF-9.5.so.1 vtk-9.5.0_1 libvtkImagingGeneral-9.5.so.1 vtk-9.5.0_1 libvtkIOXML-9.5.so.1 vtk-9.5.0_1 +libvtkWrappingPythonCore3.14-9.5.so.1 vtk-python3-9.5.0_1 libvtkIOChemistry-9.5.so.1 vtk-9.5.0_1 libvtkInteractionStyle-9.5.so.1 vtk-9.5.0_1 libvtkFiltersAMR-9.5.so.1 vtk-9.5.0_1 diff --git a/srcpkgs/freecad/patches/boost-1.89.patch b/srcpkgs/freecad/patches/boost-1.89.patch deleted file mode 100644 index bf20709aa22fc4..00000000000000 --- a/srcpkgs/freecad/patches/boost-1.89.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/cMake/FreeCAD_Helpers/SetupBoost.cmake -+++ b/cMake/FreeCAD_Helpers/SetupBoost.cmake -@@ -3,7 +3,7 @@ macro(SetupBoost) - - set(_boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS}) - -- set (BOOST_COMPONENTS filesystem program_options regex system thread date_time) -+ set (BOOST_COMPONENTS filesystem program_options thread) - find_package(Boost ${BOOST_MIN_VERSION} - COMPONENTS ${BOOST_COMPONENTS} REQUIRED) - diff --git a/srcpkgs/freecad/patches/includes.patch b/srcpkgs/freecad/patches/includes.patch index 86287a33355e52..c0d0d384754b5f 100644 --- a/srcpkgs/freecad/patches/includes.patch +++ b/srcpkgs/freecad/patches/includes.patch @@ -1,20 +1,7 @@ ---- a/src/Base/Builder3D.h -+++ b/src/Base/Builder3D.h -@@ -26,6 +26,7 @@ - - // Std. configurations - -+#include - #include +--- a/src/Base/UnlimitedUnsigned.h ++++ b/src/Base/UnlimitedUnsigned.h +@@ -31,6 +31,7 @@ #include - #include ---- a/src/Base/FileInfo.cpp -+++ b/src/Base/FileInfo.cpp -@@ -22,6 +22,7 @@ - ***************************************************************************/ - - -+#include - #include "PreCompiled.h" - - #ifndef _PreComp_ + #include + #include ++#include diff --git a/srcpkgs/freecad/patches/lrelease-cross-compile.patch b/srcpkgs/freecad/patches/lrelease-cross-compile.patch new file mode 100644 index 00000000000000..6b19cb28ee5806 --- /dev/null +++ b/srcpkgs/freecad/patches/lrelease-cross-compile.patch @@ -0,0 +1,18 @@ +CI runners don't have binfmt_misc so use the host's lrelease + +--- a/cMake/FreeCAD_Helpers/SetupQt.cmake ++++ b/cMake/FreeCAD_Helpers/SetupQt.cmake +@@ -35,6 +35,13 @@ foreach(COMPONENT IN LISTS FREECAD_QT_COMPONENTS) + set(Qt${COMPONENT}_VERSION ${Qt${FREECAD_QT_MAJOR_VERSION}${COMPONENT}_VERSION}) + endforeach() + ++# when cross-compiling, use host's lrelease instead of cross one ++if(CMAKE_CROSSCOMPILING AND TARGET Qt6::lrelease) ++ set_target_properties(Qt6::lrelease PROPERTIES ++ IMPORTED_LOCATION "/usr/lib64/qt6/bin/lrelease" ++ IMPORTED_LOCATION_NONE "/usr/lib64/qt6/bin/lrelease") ++endif() ++ + set(CMAKE_AUTOMOC TRUE) + set(CMAKE_AUTOUIC TRUE) + set(QtCore_MOC_EXECUTABLE ${Qt${FREECAD_QT_MAJOR_VERSION}Core_MOC_EXECUTABLE}) diff --git a/srcpkgs/freecad/patches/occ790.patch b/srcpkgs/freecad/patches/occ790.patch deleted file mode 100644 index da7fe1e17229ee..00000000000000 --- a/srcpkgs/freecad/patches/occ790.patch +++ /dev/null @@ -1,13 +0,0 @@ -https://forum.freecad.org/viewtopic.php?t=94771 -diff --git a/cMake/FindOCC.cmake b/cMake/FindOCC.cmake -index c72066f43e..56d1593634 100644 ---- a/cMake/FindOCC.cmake -+++ b/cMake/FindOCC.cmake -@@ -139,6 +139,7 @@ if(OCC_FOUND) - TKPrim - TKHLR - TKFeat -+ TKExpress - ) - set(OCC_OCAF_LIBRARIES - TKBin diff --git a/srcpkgs/freecad/patches/pyregex.patch b/srcpkgs/freecad/patches/pyregex.patch index 0c9484d4fcc8d0..5ed6c9251ac949 100644 --- a/srcpkgs/freecad/patches/pyregex.patch +++ b/srcpkgs/freecad/patches/pyregex.patch @@ -1,42 +1,6 @@ ---- a/src/Mod/BIM/importers/importIFClegacy.py -+++ b/src/Mod/BIM/importers/importIFClegacy.py -@@ -1433,9 +1433,9 @@ - entity = {} - raw_entity_str = m.groups()[0] - -- entity["name"] = re.search("(.*?)[;|\s]", raw_entity_str).groups()[0].upper() -+ entity["name"] = re.search(r"(.*?)[;|\s]", raw_entity_str).groups()[0].upper() - -- subtypeofmatch = re.search(".*SUBTYPE OF \((.*?)\);", raw_entity_str) -+ subtypeofmatch = re.search(r".*SUBTYPE OF \((.*?)\);", raw_entity_str) - entity["supertype"] = subtypeofmatch.groups()[0].upper() if subtypeofmatch else None - - # find the shortest string matched from the end of the entity type header to the ---- a/src/Mod/CAM/CAMTests/TestPathPost.py -+++ b/src/Mod/CAM/CAMTests/TestPathPost.py -@@ -40,7 +40,7 @@ - - - class TestFileNameGenerator(unittest.TestCase): -- """ -+ r""" - String substitution allows the following: - %D ... directory of the active document - %d ... name of the active document (with extension) ---- a/src/Mod/CAM/Path/Post/scripts/gcode_pre.py -+++ b/src/Mod/CAM/Path/Post/scripts/gcode_pre.py -@@ -191,7 +191,7 @@ - p = re.compile(r"[mM]+?\s?0?6\s?T\d*\s") - - # split the gcode on tool changes -- paths = re.split("([mM]+?\s?0?6\s?T\d*\s)", gcode) -+ paths = re.split(r"([mM]+?\s?0?6\s?T\d*\s)", gcode) - - # iterate the gcode sections and add customs for each - toolnumber = 0 --- a/src/Mod/Robot/KukaExporter.py +++ b/src/Mod/Robot/KukaExporter.py -@@ -21,7 +21,7 @@ +@@ -20,7 +20,7 @@ DECL LDAT LCPDAT1={VEL 2.0,ACC 100.0,APO_DIST 100.0,APO_FAC 50.0,ORI_TYP #VAR} """ diff --git a/srcpkgs/freecad/template b/srcpkgs/freecad/template index 4176445a091977..57419bcd7da973 100644 --- a/srcpkgs/freecad/template +++ b/srcpkgs/freecad/template @@ -1,43 +1,43 @@ # Template file for 'freecad' pkgname=freecad -version=1.0.2 -revision=10 -_pycxx_ver=7.1.8 -_ondsel_ver=09d6175a2ba69e7016fcecc4f384946a2f84f92d +version=1.1.1 +revision=1 +_ondsel_ver=30e9b64e8bf881d438d4b88834f9ba3674865418 +_addonmgr_ver=937b6877239dc78ef59eeefe8099e5f14243eda1 build_style=cmake +build_helper=qemu pycompile_dirs="usr/lib/${pkgname}/Mod" _inst_prefix=/usr/lib/${pkgname} configure_args="-DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_GUI=ON -DFREECAD_QT_VERSION=6 -DBUILD_FEM_NETGEN=OFF -DBUILD_FLAT_MESH=ON - -DENABLE_DEVELOPER_TESTS=OFF -DBUILD_TEST=OFF - -DFREECAD_USE_EXTERNAL_PIVY=ON -DCMAKE_INSTALL_PREFIX=${_inst_prefix} - -DCMAKE_INSTALL_DATAROOTDIR=/usr/share -DCMAKE_INSTALL_DATADIR=/usr/share/${pkgname} - -DMEDFILE_INCLUDE_DIRS=/usr/include/med -DCOIN3D_INCLUDE_DIRS=/usr/include/Coin3" + -DENABLE_DEVELOPER_TESTS=OFF -DBUILD_TEST=OFF -DFREECAD_USE_EXTERNAL_PIVY=ON + -DCMAKE_INSTALL_PREFIX=${_inst_prefix} -DCMAKE_INSTALL_DATAROOTDIR=/usr/share + -DCMAKE_INSTALL_DATADIR=/usr/share/${pkgname}" hostmakedepends="pkg-config swig doxygen graphviz python3-setuptools - python3-matplotlib python3-pivy" + python3-matplotlib python3-pivy python3-pybind11 qt6-base qt6-tools" makedepends="boost-devel-minimal boost-python3 libboost_filesystem - libboost_thread libboost_program_options - libxerces-c-devel zlib-devel occt-devel vtk-devel - hdf5-devel libgomp-devel libmed-devel eigen double-conversion-devel - coin3-devel libspnav-devel liblz4-devel netcdf-devel jsoncpp-devel - glew-devel python3-devel yaml-cpp-devel guidelines-support-library - qt6-base-devel qt6-svg-devel qt6-tools-devel libpyside6-devel" + libboost_thread libboost_program_options libxerces-c-devel zlib-devel occt-devel + vtk-devel hdf5-devel libgomp-devel libmed-devel eigen double-conversion-devel + coin3-devel libspnav-devel liblz4-devel netcdf-devel jsoncpp-devel glew-devel + python3-devel yaml-cpp-devel guidelines-support-library qt6-base-devel + qt6-svg-devel qt6-tools-devel libpyside6-devel python3-pybind11" depends="python3-matplotlib python3-pivy python3-GitPython python3-Markdown python3-pyside6-gui python3-pyside6-network python3-pyside6-printsupport - python3-pyside6-ui-tools python3-pyside6-widgets" + python3-pyside6-ui-tools python3-pyside6-widgets vtk-python3 + python3-pyside6-svg python3-yaml" short_desc="General purpose 3D CAD modeler" maintainer="Orphaned " license="LGPL-2.0-or-later" -homepage="https://freecadweb.org/" +homepage="https://www.freecad.org/" distfiles="https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz - ${SOURCEFORGE_SITE}/cxx/pycxx-${_pycxx_ver}.tar.gz - https://github.com/FreeCAD/OndselSolver/archive/${_ondsel_ver}.tar.gz>OndselSolver-${_ondsel_ver}.tar.gz" -checksum="228ee52f00627c7d8fa61998179deb01865ece69390829feb1300228d24f7e9e - 4b91e1e1141c23fbd5039df635c4bb6e75632168548f56b83ce177193c0c98c6 - 890fb6ddeb1b42face95854689ff7b96c926c368b7d616d9e31e4b35f79ddde8" + https://github.com/FreeCAD/OndselSolver/archive/${_ondsel_ver}.tar.gz>OndselSolver-${_ondsel_ver}.tar.gz + https://github.com/FreeCAD/AddonManager/archive/${_addonmgr_ver}.tar.gz>AddonManager-${_addonmgr_ver}.tar.gz" +checksum="873702bb6564e0d393fe1a0db1ee38e11a14e54780237f9ba6041fe9cd5d1170 + 77646ca7d8cbc6dc4e8304439be2ff2b9aecf397e6349e63b3b06e65dfed79c3 + 70b2fa7f3c58c0ea5be830de90d33369670ee6658f13aeb7684f1ea478528178" python_version=3 -skip_extraction="pycxx-${_pycxx_ver}.tar.gz - OndselSolver-${_ondsel_ver}.tar.gz" +skip_extraction="OndselSolver-${_ondsel_ver}.tar.gz + AddonManager-${_addonmgr_ver}.tar.gz" if [ "$XBPS_TARGET_LIBC" = musl ]; then makedepends+=" libexecinfo-devel" @@ -48,9 +48,7 @@ CXXFLAGS="-DPYCXX_PYTHON_2TO3" post_extract() { vsrcextract -C src/3rdParty/OndselSolver "OndselSolver-${_ondsel_ver}.tar.gz" - vsrcextract -C pycxx "pycxx-${_pycxx_ver}.tar.gz" - rm -r src/CXX - ln -Tsr ./pycxx/CXX src/CXX + vsrcextract -C src/Mod/AddonManager "AddonManager-${_addonmgr_ver}.tar.gz" } post_patch() { @@ -68,8 +66,16 @@ post_patch() { } pre_configure() { - configure_args+=" -DPYCXX_INCLUDE_DIR=${wrksrc}/pycxx - -DPYCXX_SOURCE_DIR=${wrksrc}/pycxx/Src" + configure_args+=" -DPYCXX_INCLUDE_DIR=${wrksrc}/src/3rdParty/PyCXX + -DPYCXX_SOURCE_DIR=${wrksrc}/src/3rdParty/PyCXX/CXX" + + if [ -n "$CROSS_BUILD" ]; then + configure_args+=" -DMEDFILE_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include/med" + configure_args+=" -DCOIN3D_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include/Coin3" + else + configure_args+=" -DMEDFILE_INCLUDE_DIRS=/usr/include/med" + configure_args+=" -DCOIN3D_INCLUDE_DIRS=/usr/include/Coin3" + fi } post_install() {