diff --git a/org.freecad.FreeCAD.yaml b/org.freecad.FreeCAD.yaml index cfa2d3d..b817c1a 100644 --- a/org.freecad.FreeCAD.yaml +++ b/org.freecad.FreeCAD.yaml @@ -1,8 +1,7 @@ app-id: org.freecad.FreeCAD -app-id: org.freecad.FreeCAD default-branch: beta runtime: org.kde.Platform -runtime-version: '6.7' +runtime-version: '6.10' sdk: org.kde.Sdk command: FreeCAD desktop-file-name-prefix: "(beta) " @@ -21,7 +20,7 @@ finish-args: - --env=TMPDIR=/var/tmp - --env=SPNAV_SOCKET=/run/spnav.sock sdk-extensions: - - org.freedesktop.Sdk.Extension.llvm15 + - org.freedesktop.Sdk.Extension.llvm21 cleanup: - /include - /share/aclocal @@ -30,9 +29,10 @@ cleanup: - /share/man - '*.a' - '*.la' + build-options: - append-path: /usr/lib/sdk/llvm15/bin - append-ld-library-path: /usr/lib/sdk/llvm15/lib + append-path: /usr/lib/sdk/llvm21/bin + append-ld-library-path: /usr/lib/sdk/llvm21/lib modules: - shared-modules/glu/glu-9.json @@ -41,8 +41,7 @@ modules: buildsystem: cmake-ninja builddir: true build-options: - cxxflags: -I/run/build/pyside/sources/shiboken6/libshiboken/signature -I/usr/include/python3.11 - cflags: -I/usr/include/python3.11 + cflags: -I/usr/include/python3.13 config-opts: - -DCMAKE_BUILD_TYPE=Release - -DBUILD_TESTS=OFF @@ -52,11 +51,23 @@ modules: - /bin sources: - type: archive - url: https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-6.7.2-src/pyside-setup-everywhere-src-6.7.2.tar.xz - sha256: 3a2b0d0d6e78c9aa5ddc7f06ca4b6f11a3fe14560baeb148eea53b5d98e368c7 + url: https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-6.10.1-src/pyside-setup-everywhere-src-6.10.1.tar.xz + sha256: fd54f40853d61dfd845dbb40d4f89fbd63df5ed341b3d9a2c77bb5c947a0a838 + # patch from https://build.opensuse.org/package/show/KDE:Qt6/python3-pyside6 + - type: patch + path: patches/0001-Always-link-to-python-libraries.patch + - type: patch + path: patches/0001-Revert-Modify-headers-installation-for-CMake-builds.patch + - type: patch + path: patches/0001-Fix-installation.patch - type: shell commands: - cp -R /usr/include/Qt* sources/pyside6/PySide6/ + post-install: + # Manually fix path in cmake config file https://qt-project.atlassian.net/browse/PYSIDE-3210 + # Fixes adopt from https://build.opensuse.org/projects/openSUSE:Factory/packages/python3-pyside6/files/python3-pyside6.spec + - sed -i 's|${PACKAGE_PREFIX_DIR}/typesystems|/app/share/PySide6/typesystems|g' /app/lib/cmake/PySide6/PySide6Config*.cmake + - sed -i 's|${PACKAGE_PREFIX_DIR}/glue|/app/share/PySide6/glue|g' /app/lib/cmake/PySide6/PySide6Config*.cmake modules: # needed as the cmake super project doesn't find the shiboken python module - name: shiboken @@ -68,8 +79,8 @@ modules: - -DFORCE_LIMITED_API=OFF sources: - type: archive - url: https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-6.7.2-src/pyside-setup-everywhere-src-6.7.2.tar.xz - sha256: 3a2b0d0d6e78c9aa5ddc7f06ca4b6f11a3fe14560baeb148eea53b5d98e368c7 + url: https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-6.10.0-src/pyside-setup-everywhere-src-6.10.0.tar.xz + sha256: f6e18dc880f59fb6c5c37f9f408971d65642dfc7510a15d794b4a3a8e15fcecc - name: swig config-opts: @@ -92,50 +103,17 @@ modules: - name: eigen buildsystem: cmake-ninja builddir: true - cleanup: - - '*' - sources: - - type: archive - url: https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.bz2 - sha256: 685adf14bd8e9c015b78097c1dc22f2f01343756f196acdc76a678e1ae352e11 - - - name: tcl - subdir: unix - build-options: - no-debuginfo: true - cleanup: - - /bin - - /man - post-install: - # Needed for graphviz - - ln -s tclsh8.6 /app/bin/tclsh - sources: - - type: archive - url: https://downloads.sourceforge.net/project/tcl/Tcl/8.6.8/tcl8.6.8-src.tar.gz - sha256: c43cb0c1518ce42b00e7c8f6eaddd5195c53a98f94adc717234a65cbcfd3f96a - - - name: tk - subdir: unix - build-options: - no-debuginfo: true - make-install-args: - - install-private-headers - cleanup: - - /bin - - /man sources: - type: archive - url: https://downloads.sourceforge.net/project/tcl/Tcl/8.6.8/tk8.6.8-src.tar.gz - sha256: 49e7bca08dde95195a27f594f7c850b088be357a7c7096e44e1158c7a5fd7b33 + url: https://gitlab.com/libeigen/eigen/-/archive/3.4.1/eigen-3.4.1.tar.bz2 + sha256: 8bb7280b7551bf06418d11a9671fdf998cb927830cf21589b394382d26779821 - name: graphviz sources: - - type: archive - url: https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/9.0.0/graphviz-9.0.0.tar.gz - sha256: 3547d90dc80f0ac4cd900ec1a824c319a479c1e8f43883451de1aff293d7a07b - - type: shell - commands: - - sed -i '/LIBPOSTFIX="64"/s/64//' configure.ac + - type: git + url: https://gitlab.com/graphviz/graphviz + tag: 14.0.2 + commit: 8fe0778817801d0d88406c28e22c4b170cdbd517 - name: xerces-c buildsystem: cmake-ninja @@ -147,8 +125,10 @@ modules: - /share/doc sources: - type: archive - url: https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-3.2.2.tar.xz - sha256: 6daca3b23364d8d883dc77a73f681242f69389e3564543287ed3d073007e0a8e + url: https://downloads.apache.org/xerces/c/3/sources/xerces-c-3.3.0.tar.gz + sha256: 9555f1d06f82987fbb4658862705515740414fd34b4db6ad2ed76a2dc08d3bde + - type: patch + path: patches/xerces-c-cxx17.patch - name: openmpi cleanup: @@ -188,18 +168,33 @@ modules: - type: archive url: https://github.com/chennes/med/archive/refs/tags/v5.0.0.tar.gz sha256: 8701f142087b87e8b74958fd0432498eadf28011b20ad05cf56bf911be081888 + # Patch from https://build.opensuse.org/package/show/science/med-tools + - type: patch + path: patches/fix-cmakefiles.patch + - type: patch + path: patches/0003-Avoid-format-warnings-on-64-bit.patch + - type: patch + path: patches/Fix-no_return_in_nonvoid_function.patch + - type: patch + path: patches/0001-Fix-AppendOutput-signature-for-Swig-4.3.patch + - type: patch + path: patches/med-tools-hdf1_14.patch + - type: patch + path: patches/med-tools-python3_13.patch + - type: patch + path: patches/med-tools-gcc15.patch - name: libspnav sources: - type: archive - url: https://github.com/FreeSpacenav/libspnav/releases/download/v1.1/libspnav-1.1.tar.gz - sha256: 04b297f68a10db4fa40edf68d7f823ba7b9d0442f2b665181889abe2cea42759 + url: https://github.com/FreeSpacenav/libspnav/releases/download/v1.2/libspnav-1.2.tar.gz + sha256: 093747e7e03b232e08ff77f1ad7f48552c06ac5236316a5012db4269951c39db - name: boost buildsystem: simple build-commands: - ./bootstrap.sh --prefix=/app --with-libraries=filesystem,program_options,regex,system,thread,python,date_time,chrono,atomic - - ./b2 install -j $FLATPAK_BUILDER_N_JOBS cxxflags="-I/usr/include/python3.11" + - ./b2 install -j $FLATPAK_BUILDER_N_JOBS sources: - type: archive url: https://archives.boost.io/release/1.84.0/source/boost_1_84_0.tar.bz2 @@ -214,8 +209,8 @@ modules: - /bin sources: - type: archive - url: https://github.com/coin3d/coin/releases/download/v4.0.3/coin-4.0.3-src.tar.gz - sha256: 66e3f381401f98d789154eb00b2996984da95bc401ee69cc77d2a72ed86dfda8 + url: https://github.com/coin3d/coin/releases/download/v4.0.6/coin-4.0.6-src.tar.gz + sha256: e04a600809593feb2acbec4282803d1673926ddfa1d9fcd402f35ec26fc52e7e - name: soqt buildsystem: cmake-ninja @@ -226,7 +221,8 @@ modules: sources: - type: git url: https://github.com/coin3d/soqt.git - commit: 17364833049d3855f5e9e0f7908eb5ba08209318 # tag v1.6.2 + tag: v1.6.4 + commit: cfc4fee34d003aa454aa55159828081fc7cbbe38 - name: pivy buildsystem: cmake-ninja @@ -234,171 +230,45 @@ modules: - -DPIVY_USE_QT6=ON sources: - type: archive - url: https://github.com/coin3d/pivy/archive/refs/tags/0.6.9.tar.gz - sha256: c207f5ed73089b2281356da4a504c38faaab90900b95639c80772d9d25ba0bbc - - type: shell - commands: - - sed -i 's|${Python_SITEARCH}|/app/lib/python3.11/site-packages/|g' {*/,./}CMakeLists.txt - - - name: Cython - buildsystem: simple - build-commands: - - python3 setup.py install --prefix=/app --root=/ - sources: - - type: archive - url: https://files.pythonhosted.org/packages/2a/97/8cc3fe7c6de4796921236a64d00ca8a95565772e57f0d3caae68d880b592/Cython-0.29.37.tar.gz - sha256: f813d4a6dd94adee5d4ff266191d1d95bf6d4164a4facc535422c021b2504cfb - - - name: numpy - buildsystem: simple - build-commands: - - python3 setup.py build -j 1 install --prefix=/app - cleanup: - - /bin - - /lib/python3.*/site-packages/numpy/tests - - /lib/python3.*/site-packages/numpy/*/tests - sources: - - type: archive - url: https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz - sha256: 80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463 - - - name: certifi - buildsystem: simple - build-commands: - - python3 setup.py install --prefix=/app --root=/ - sources: - - type: archive - url: https://files.pythonhosted.org/packages/40/a7/ded59fa294b85ca206082306bba75469a38ea1c7d44ea7e1d64f5443d67a/certifi-2020.6.20.tar.gz - sha256: 5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3 - - - name: cppy - buildsystem: simple - build-commands: - - python3 setup.py install --prefix=/app --root=/ - sources: - - type: archive - url: https://files.pythonhosted.org/packages/36/64/be592e84c443a70ea5dcfb1c30bfe6f10ba7d8eb05c2264c7ceca8498548/cppy-1.1.0.tar.gz - sha256: 4eda6f1952054a270f32dc11df7c5e24b259a09fddf7bfaa5f33df9fb4a29642 - - - name: kiwisolver - buildsystem: simple - build-commands: - - python3 setup.py install --prefix=/app --root=/ - sources: - - type: archive - url: https://files.pythonhosted.org/packages/62/b8/db619d97819afb52a3ff5ff6ad3f7de408cc83a8ec2dfb31a1731c0a97c2/kiwisolver-1.2.0.tar.gz - sha256: 247800260cd38160c362d211dcaf4ed0f7816afb5efe56544748b21d6ad6d17f - - - name: pybind11 - buildsystem: cmake-ninja - builddir: true - config-opts: - - -DCMAKE_BUILD_TYPE=RelWithDebInfo - sources: - - type: archive - url: https://github.com/pybind/pybind11/archive/refs/tags/v2.13.6.tar.gz - sha256: e08cb87f4773da97fa7b5f035de8763abc656d87d5773e62f6da0587d1f0ec20 + url: https://github.com/coin3d/pivy/archive/refs/tags/0.6.10.tar.gz + sha256: 7b409816c9fad84cf94f93659281f9dd2501d285eb2fc609e9401a3d004ce723 - type: shell commands: - - python3 setup.py install --prefix=/app --root=/ + - | + sitepackagesDir=$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["platlib"].replace("/usr","/app"))') + sed -i "s|\${Python_SITEARCH}|$sitepackagesDir|" {*/,./}CMakeLists.txt - - name: contourpy - buildsystem: simple - build-commands: - - python3 setup.py install --prefix=/app --root=/ - sources: - - type: archive - url: https://files.pythonhosted.org/packages/b4/9b/6edb9d3e334a70a212f66a844188fcb57ddbd528cbc3b1fe7abfc317ddd7/contourpy-1.0.7.tar.gz - sha256: d8165a088d31798b59e91117d1f5fc3df8168d8b48c4acc10fc0df0d0bdbcc5e + # python3 flatpak-pip-generator flit-core tomli packaging pybind11 setuptools_scm_git_archive setuptools_scm setuptools meson-python numpy contourpy cycler fonttools cppy kiwisolver pillow six pyparsing backports_functools_lru_cache python-dateutil pycollada ply requests pyyaml scikit_build_core lark pysolar pip -o python_deps - - name: python3-Pillow - buildsystem: simple - build-commands: - - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "Pillow" --no-build-isolation - sources: - - type: file - url: https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz - sha256: 166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06 + # requests required by BIM wokrbench https://github.com/FreeCAD/FreeCAD/issues/17560 + # scikit_build_core build dependency for opencamlib + # pip For add-on manager + # pyyaml For the FEM workbench. + # pysolar For the BIM workbench to generate Solar diagrams. https://github.com/flathub/org.freecadweb.FreeCAD/issues/114 + - python_deps.json - name: matplotlib buildsystem: simple build-commands: - - python3 setup.py install --prefix=/app --root=/ + - mkdir -p subprojects/packagecache/ + - cp qhull-8.0.2.tgz freetype-2.6.1.tar.gz subprojects/packagecache/ #Copy qhull and freetype to correct dir so matplotlib will not try to download it + - python3 -mpip install . --no-index --find-links=file://${PWD} --prefix=${FLATPAK_DEST} + --no-build-isolation sources: - - type: archive - dest: build/freetype-2.6.1 - url: https://downloads.sourceforge.net/project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz + - type: file + url: https://download.savannah.gnu.org/releases/freetype/freetype-old/freetype-2.6.1.tar.gz sha256: 0a3c7dfbda6da1e8fce29232e8e96d987ababbbf71ebc8c75659e4132c367014 + dest-filename: freetype-2.6.1.tar.gz + - type: file + dest-filename: qhull-8.0.2.tgz + url: https://github.com/qhull/qhull/archive/v8.0.2/qhull-8.0.2.tar.gz + sha256: 8774e9a12c70b0180b95d6b0b563c5aa4bea8d5960c15e18ae3b6d2521d64f8b - type: archive - dest: build/qhull-2020.2 - url: http://www.qhull.org/download/qhull-2020-src-8.0.2.tgz - sha256: b5c2d7eb833278881b952c8a52d20179eab87766b00b865000469a45c1838b7e - - type: archive - url: https://files.pythonhosted.org/packages/b6/f0/3836719cc3982fbba3b840d18a59db1d0ee9ac7986f24e8c0a092851b67b/matplotlib-3.7.5.tar.gz - sha256: 1e5c971558ebc811aa07f54c7b7c677d78aa518ef4c390e14673a09e0860184a - - - name: six - buildsystem: simple - build-commands: - - python3 setup.py install --prefix=/app --root=/ - sources: - - type: archive - url: https://files.pythonhosted.org/packages/6b/34/415834bfdafca3c5f451532e8a8d9ba89a21c9743a0c59fbd0205c7f9426/six-1.15.0.tar.gz - sha256: 30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259 - - - name: pyparsing - buildsystem: simple - build-commands: - - python3 setup.py install --prefix=/app --root=/ - sources: - - type: archive - url: https://files.pythonhosted.org/packages/c1/47/dfc9c342c9842bbe0036c7f763d2d6686bcf5eb1808ba3e170afdb282210/pyparsing-2.4.7.tar.gz - sha256: c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1 - - - name: setuptools_scm - buildsystem: simple - build-commands: - - python3 setup.py install --prefix=/app --root=/ - sources: - - type: archive - url: https://files.pythonhosted.org/packages/cd/66/fa77e809b7cb1c2e14b48c7fc8a8cd657a27f4f9abb848df0c967b6e4e11/setuptools_scm-4.1.2.tar.gz - sha256: a8994582e716ec690f33fec70cca0f85bd23ec974e3f783233e4879090a7faa8 - - - name: backports_functools_lru_cache - buildsystem: simple - build-commands: - - python3 setup.py install --prefix=/app --root=/ - sources: - - type: archive - url: https://files.pythonhosted.org/packages/ad/2e/aa84668861c3de458c5bcbfb9813f0e26434e2232d3e294469e96efac884/backports.functools_lru_cache-1.6.1.tar.gz - sha256: 8fde5f188da2d593bd5bc0be98d9abc46c95bb8a9dde93429570192ee6cc2d4a - - - name: cycler - buildsystem: simple - build-commands: - - python3 setup.py install --prefix=/app --root=/ - sources: - - type: archive - url: https://files.pythonhosted.org/packages/c2/4b/137dea450d6e1e3d474e1d873cd1d4f7d3beed7e0dc973b06e8e10d32488/cycler-0.10.0.tar.gz - sha256: cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8 - - - name: python-dateutil - buildsystem: simple - build-commands: - - python3 setup.py install --prefix=/app --root=/ - sources: - - type: archive - url: https://files.pythonhosted.org/packages/be/ed/5bbc91f03fa4c839c4c7360375da77f9659af5f7086b7a7bdda65771c8e0/python-dateutil-2.8.1.tar.gz - sha256: 73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c - - - name: pycollada - buildsystem: simple - build-commands: - - python3 setup.py install --prefix=/app --root=/ - sources: - - type: archive - url: https://files.pythonhosted.org/packages/c1/7e/91cb2540947f0e8bcdee83e61a7b278784ac2d25f2864091344590a2619f/pycollada-0.7.2.tar.gz - sha256: 70a2630ed499bdab718c0e61a3e6ae3698130d7e4654e89cdecde51bfdaea56f + url: https://files.pythonhosted.org/packages/ae/e2/d2d5295be2f44c678ebaf3544ba32d20c1f9ef08c49fe47f496180e1db15/matplotlib-3.10.7.tar.gz + sha256: a06ba7e2a2ef9131c79c49e63dad355d2d878413a0376c1727c8b9335ff731c7 + x-checker-data: + type: pypi + name: matplotlib - name: git make-args: @@ -411,8 +281,8 @@ modules: - find . -type f -name perllocal.pod -delete sources: - type: archive - url: https://www.kernel.org/pub/software/scm/git/git-2.28.0.tar.gz - sha256: f914c60a874d466c1e18467c864a910dd4ea22281ba6d4d58077cb0c3f115170 + url: https://www.kernel.org/pub/software/scm/git/git-2.49.0.tar.gz + sha256: f8047f572f665bebeb637fd5f14678f31b3ca5d2ff9a18f20bd925bd48f75d3c - name: geos buildsystem: cmake-ninja @@ -423,8 +293,8 @@ modules: - /bin sources: - type: archive - url: https://download.osgeo.org/geos/geos-3.7.0.tar.bz2 - sha256: 4fbf41a792fd74293ab59e0a980e8654cd411a9d45416d66eaa12d53d1393fd7 + url: https://download.osgeo.org/geos/geos-3.14.1.tar.bz2 + sha256: 3c20919cda9a505db07b5216baa980bacdaa0702da715b43f176fb07eff7e716 - name: netcdf buildsystem: cmake-ninja @@ -442,6 +312,7 @@ modules: buildsystem: simple build-options: cxxflags: -std=c++14 + cflags: -Wno-error=implicit-function-declaration arch: aarch64: # See https://sourceforge.net/p/freeimage/bugs/325/ @@ -467,15 +338,15 @@ modules: builddir: true config-opts: - -DCMAKE_BUILD_TYPE=Release + - -DVTK_BUILD_TESTING=OFF + - -DVTK_MODULE_ENABLE_VTK_TestingCore=NO cleanup: - /bin - /share/doc sources: - type: archive - url: https://www.vtk.org/files/release/9.2/VTK-9.2.6.tar.gz - sha256: 06fc8d49c4e56f498c40fcb38a563ed8d4ec31358d0101e8988f0bb4d539dd12 - - type: patch - path: patches/vtk-cstdint.patch + url: https://vtk.org/files/release/9.5/VTK-9.5.2.tar.gz + sha256: cee64b98d270ff7302daf1ef13458dff5d5ac1ecb45d47723835f7f7d562c989 - name: rapidjson buildsystem: cmake-ninja @@ -490,9 +361,35 @@ modules: - /lib/pkgconfig - /share/doc sources: - - type: archive - url: https://github.com/Tencent/rapidjson/archive/refs/tags/v1.1.0.tar.gz - sha256: bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e + # rapidjson is famously known for not tagging new release, previous tagged version was 2016. + # Latest tagged version does not build anymore, switch to latest commit. + # https://github.com/Tencent/rapidjson/issues/2321 + - type: git + url: https://github.com/Tencent/rapidjson.git + commit: 24b5e7a8b27f42fa16b96fc70aade9106cf7102f + + - name: tcl + buildsystem: autotools + subdir: unix + config-opts: + - --enable-threads + - --enable-shared + post-install: + - chmod 755 /app/lib/libtcl*.so + sources: + - type: archive + url: https://prdownloads.sourceforge.net/tcl/tcl8.6.15-src.tar.gz + sha256: 861e159753f2e2fbd6ec1484103715b0be56be3357522b858d3cbb5f893ffef1 + - name: tk + buildsystem: autotools + subdir: unix + post-install: + - chmod +w ${FLATPAK_DEST}/lib/libtk*.so + - ln -sf /app/bin/wish8.6 /app/bin/wish + sources: + - type: archive + url: https://prdownloads.sourceforge.net/tcl/tk8.6.15-src.tar.gz + sha256: 550969f35379f952b3020f3ab7b9dd5bfd11c1ef7c9b7c6a75f5c49aca793fec - name: opencascade buildsystem: cmake-ninja @@ -504,27 +401,18 @@ modules: - -DUSE_RAPIDJSON=ON - -DBUILD_RELEASE_DISABLE_EXCEPTIONS=OFF - -DBUILD_DOC_Overview=OFF - - -D3RDPARTY_VTK_INCLUDE_DIR=/app/include/vtk-9.2/ + - -D3RDPARTY_VTK_INCLUDE_DIR=/app/include/vtk-9.5/ + - -DCMAKE_POLICY_VERSION_MINIMUM=3.5 cleanup: - /bin sources: - type: git url: https://github.com/FreeCAD/OCCT.git commit: 8db1faa32e326889fc770b4389629d686ccb52d5 # tag patched/V7_8_1 + - type: patch # upstream patch, included in occt 7.9 release + path: patches/occt-freetype-fix-compilation.patch - # new deps for IfcOpenShell - - name: mpfr - sources: - - type: archive - url: https://ftp.gnu.org/gnu/mpfr/mpfr-3.1.5.tar.xz - sha256: 015fde82b3979fbe5f83501986d328331ba8ddf008c1ff3da3c238f49ca062bc - - name: gmp - config-opts: - - --enable-fat - sources: - - type: archive - url: https://gmplib.org/download/gmp/gmp-6.2.1.tar.bz2 - sha256: eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c + #Update from 5.3.1 because of this issue: https://github.com/CGAL/cgal/issues/8313 - name: cgal cleanup: - /include @@ -533,19 +421,18 @@ modules: - /bin buildsystem: cmake-ninja config-opts: - - -DCMAKE_BUILD_TYPE=RelWithDebInfo - -DCGAL_HEADER_ONLY=ON sources: - type: archive - url: https://github.com/CGAL/cgal/releases/download/v5.3.1/CGAL-5.3.1.tar.xz - sha256: ab76633b023d72ea3ca9ad22e2fa39ed3b5c8fb4e2c091a78035fabb5eb3fccf + url: https://github.com/CGAL/cgal/releases/download/v6.1/CGAL-6.1.tar.xz + sha256: 618da8a8b3f5be46b4f0a47a1efb3c9e6c03d6aab0f5531d56d355d32701d79f + - name: nlohmann-json buildsystem: cmake-ninja sources: - type: archive url: https://github.com/nlohmann/json/archive/refs/tags/v3.11.3.tar.gz sha256: 0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406 - - python3-lark.json - name: IfcOpenShell buildsystem: cmake-ninja @@ -560,8 +447,6 @@ modules: - -DCGAL_INCLUDE_DIR=/app/include - -DOCC_INCLUDE_DIR=/app/include/opencascade - -DOCC_LIBRARY_DIR=/app/lib - - -DGMP_LIBRARY_DIR=/app/lib - - -DMPFR_LIBRARY_DIR=/app/lib - -DHDF5_INCLUDE_DIR=/app/include - -DHDF5_LIBRARY_DIR=/app/lib - -DEIGEN_DIR=/app/include/eigen3 @@ -574,53 +459,67 @@ modules: x86_64: config-opts: - -DLIBXML2_LIBRARIES=/usr/lib/x86_64-linux-gnu/libxml2.so + - -DGMP_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu #look for gmp and mpfr that come with sdk + - -DMPFR_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu aarch64: config-opts: - -DLIBXML2_LIBRARIES=/usr/lib/aarch64-linux-gnu/libxml2.so + - -DGMP_LIBRARY_DIR=/usr/lib/aarch64-linux-gnu + - -DMPFR_LIBRARY_DIR=/usr/lib/aarch64-linux-gnu build-commands: - sed -i 's|/usr|/app|g' ifcwrap/cmake_install.cmake - sed -i 's|/usr|/app|g' ifcwrap/cmake_install.cmake sources: - type: git url: https://github.com/IfcOpenShell/IfcOpenShell.git - tag: ifcopenshell-python-0.8.0 - commit: e072870fd38139a8fb9050fc21727fad580e459c + tag: ifcopenshell-python-0.8.3 + commit: 6d8e513f97bf88506f61fb8143c460a27695edb2 - type: patch paths: - patches/IfcOpenShell-hdf5.patch - # TODO: remove this patch once we update to >=0.8.1 - # see https://github.com/FreeCAD/FreeCAD/pull/17327#issuecomment-2424863106 - - patches/IfcOpenShell-fix-export.patch - - name: lapack - buildsystem: cmake-ninja - builddir: true - config-opts: - - -DCMAKE_BUILD_TYPE=Release + - name: OpenBLAS + no-autogen: true + make-args: + - DYNAMIC_ARCH=1 + - DYNAMIC_OLDER=1 + - FC=gfortran + - TARGET=GENERIC + - USE_OPENMP=0 + make-install-args: + - PREFIX=/app + cleanup: + - /bin + - /include + - /lib/cmake + - /lib/*.a + - /lib/*.la + - /lib/pkgconfig + - /share/man sources: - type: archive - url: https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.10.1.tar.gz - sha256: cd005cd021f144d7d5f7f33c943942db9f03a28d110d6a3b80d718a295f7f714 + url: https://github.com/OpenMathLib/OpenBLAS/releases/download/v0.3.30/OpenBLAS-0.3.30.tar.gz + sha256: 27342cff518646afb4c2b976d809102e368957974c250a25ccc965e53063c95d - name: arpack buildsystem: cmake-ninja builddir: true config-opts: - - -DCMAKE_BUILD_TYPE=Release + - -DBUILD_SHARED_LIBS=OFF #calculix-ccx look for libarpack.a build-options: env: FFLAGS: -fallow-argument-mismatch FCFLAGS: -fallow-argument-mismatch sources: - type: archive - url: https://github.com/opencollab/arpack-ng/archive/refs/tags/3.7.0.tar.gz - sha256: 972e3fc3cd0b9d6b5a737c9bf6fd07515c0d6549319d4ffb06970e64fa3cc2d6 + url: https://github.com/opencollab/arpack-ng/archive/refs/tags/3.9.1.tar.gz + sha256: f6641deb07fa69165b7815de9008af3ea47eb39b2bb97521fbf74c97aba6e844 - name: spooles buildsystem: simple build-commands: - - make lib - - make -C MT/src + - make CC=gcc lib + - make -C MT/src CC=gcc - install -Dt /app/lib *.a MT/src/*.a - for f in $(find -name '*.h'); do install -Dt "/app/include/$(dirname "$f")" "$f"; done sources: @@ -631,17 +530,7 @@ modules: mirror-urls: - http://www.netlib.org/linalg/spooles/spooles.2.2.tgz # can be slow - type: patch - path: patches/spooles-gcc.patch - - - name: OpenBLAS - buildsystem: cmake-ninja - builddir: true - config-opts: - - -DCMAKE_BUILD_TYPE=Release - sources: - - type: archive - url: https://github.com/OpenMathLib/OpenBLAS/archive/refs/tags/v0.3.28.tar.gz - sha256: f1003466ad074e9b0c8d421a204121100b0751c96fc6fcf3d1456bd12f8a00a1 + path: patches/spooles-fix-compilation.patch - name: calculix-ccx buildsystem: simple @@ -659,68 +548,12 @@ modules: - name: gmsh buildsystem: cmake-ninja builddir: true - config-opts: - - -DCMAKE_BUILD_TYPE=RelWithDebInfo cleanup: - /share/doc sources: - type: archive - url: https://gmsh.info/src/gmsh-4.12.2-source.tgz - sha256: 13e09d9ca8102e5c40171d6ee150c668742b98c3a6ca57f837f7b64e1e2af48f - - - name: python3-ply - buildsystem: simple - build-commands: - - pip3 install --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} ply==3.11 --no-build-isolation - sources: - - type: file - url: https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl - sha256: 096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce - - # For Path WB - - name: python3-packaging - buildsystem: simple - build-commands: - - pip3 install --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} packaging --no-build-isolation - sources: - - type: file - url: https://files.pythonhosted.org/packages/08/aa/cc0199a5f0ad350994d660967a8efb233fe0416e4639146c089643407ce6/packaging-24.1-py3-none-any.whl - sha256: 5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124 - - # For the FEM workbench. - - name: python3-pyyaml - buildsystem: simple - build-commands: - - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "pyyaml" --no-build-isolation - sources: - - type: file - url: https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz - sha256: d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e - - # For the BIM workbench to generate Solar diagrams. - # https://github.com/flathub/org.freecadweb.FreeCAD/issues/114 - - name: python3-pysolar - buildsystem: simple - build-commands: - - pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "pysolar" --no-build-isolation - sources: - - type: file - url: https://files.pythonhosted.org/packages/5e/74/c78d4ff1c8b9d1f718f57d58afa7125f1610b09005298afb1047081e952d/pysolar-0.10-py3-none-any.whl - sha256: 99aa506d4eba41a83308a6772779ffcafcbe8afa595e80b8eafb1ed85b561446 - - # required by BIM wokrbench https://github.com/FreeCAD/FreeCAD/issues/17560 - - python3-requests.json - - # For add-on manager - - name: python3-pip - buildsystem: simple - build-commands: - # ignore installed because it's in the SDK - - pip3 install --exists-action=i --ignore-installed --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST} "pip" --no-build-isolation - sources: - - type: file - url: https://files.pythonhosted.org/packages/1f/2c/d9626f045e7b49a6225c6b09257861f24da78f4e5f23af2ddbdf852c99b8/pip-22.2.2-py3-none-any.whl - sha256: b61a374b5bc40a6e982426aede40c9b5a08ff20e640f5b56977f4f91fed1e39a + url: https://gmsh.info/src/gmsh-4.15.0-source.tgz + sha256: abb2632715bd7d0130ded7144fd6263635cd7dea883b8df61ba4da58ce6a1dfe - name: fmt buildsystem: cmake-ninja @@ -734,13 +567,19 @@ modules: - name: yaml-cpp buildsystem: cmake-ninja config-opts: + - -DCMAKE_POSITION_INDEPENDENT_CODE=ON - -DBUILD_SHARED_LIBS=ON + - -DYAML_BUILD_SHARED_LIBS=ON + - -DYAML_CPP_BUILD_TOOLS=OFF + - -DYAML_CPP_BUILD_TESTS=OFF + - -DYAML_CPP_BUILD_CONTRIB=OFF + - -DCMAKE_POLICY_VERSION_MINIMUM=3.5 sources: - - type: git - url: https://github.com/jbeder/yaml-cpp - commit: f7320141120f720aecc4c32be25586e7da9eb978 # tag 0.8.0 - - - python3-scikit_build_core.json + - type: archive + url: https://github.com/jbeder/yaml-cpp/archive/refs/tags/0.8.0.tar.gz + sha256: fbe74bbdcee21d656715688706da3c8becfd946d92cd44705cc6098bb23b3a16 + - type: patch + path: patches/yaml-cpp-gcc15.patch - name: opencamlib buildsystem: simple @@ -756,6 +595,22 @@ modules: - type: patch path: patches/opencamlib-boost-shared-no-git-version-command.patch + - name: pybind11 + buildsystem: cmake-ninja + builddir: true + config-opts: + - -DPYBIND11_INSTALL:BOOL=ON + - -DPYBIND11_TEST:BOOL=OFF + - -DPYTHON_INCLUDE_DIRS=/usr/include/python3.13 + sources: + - type: git + url: https://github.com/pybind/pybind11 + tag: v3.0.1 + commit: f5fbe867d2d26e4a0a9177a51f6e568868ad3dc8 + x-checker-data: + type: git + tag-pattern: ^v?([\d.]+)$ + - name: FreeCAD buildsystem: cmake-ninja builddir: true @@ -768,8 +623,8 @@ modules: # While redundant (this triggers a warning with the linter) removing this # cause CMake to stop finding dependencies. - -DCMAKE_PREFIX_PATH=/app - - -DSHIBOKEN_INCLUDE_DIR=/app/include/shiboken6 - - -DPYSIDE_INCLUDE_DIR=/app/include/PySide6 + - -DSHIBOKEN_INCLUDE_DIR=/app/lib/python3.13/site-packages/shiboken6_generator/include + - -DPYSIDE_INCLUDE_DIR=/app/lib/python3.13/site-packages/PySide6/include - -DINSTALL_TO_SITEPACKAGES=ON - -DFREECAD_USE_PYBIND11=ON post-install: @@ -778,12 +633,17 @@ modules: - ln -s /app/freecad/bin/FreeCADCmd /app/bin/freecadcmd - ln -s /app/freecad/bin/FreeCAD /app/bin/FreeCAD - ln -s /app/freecad/bin/FreeCAD /app/bin/freecad + # The BaseApp has the .so in the python path. Link them to not have to set LD_LIBRARY_PATH. + - ln -s /app/lib/python3.13/site-packages/shiboken6/libshiboken6.abi3.so.6.10 -t /app/lib + - ln -s /app/lib/python3.13/site-packages/PySide6/libpyside6.abi3.so.6.10 -t /app/lib sources: - type: git url: https://github.com/FreeCAD/FreeCAD.git - commit: 04d2bcbf45ab96f3895ac3d0e8b5ae9becbaf5cd - - type: patch - path: patches/OpenSCAD_transfermechanism.patch + tag: weekly-2025.11.26 + commit: de230cfaa75433441366ad09a4d5fda828e7bfdb + # OpenSCADUtils.py have since been change and the patch is not applicable, need testing. + # - type: patch + # path: patches/OpenSCAD_transfermechanism.patch - type: file path: openscad.sh - type: shell @@ -792,11 +652,10 @@ modules: # to obtain the revcount for a given gitRef (commit hash, branch or tag) run # echo $(($(curl -s 'https://api.github.com/repos/FreeCAD/FreeCAD/compare/120ca87015...'"$gitRef"'' | grep '"ahead_by":' | sed -s 's/ //g;s/"ahead_by"://;s/,//')+1)) - | - revcount=40267 + revcount=44355 sed -i 's|${PACKAGE_WCREF}|'"$revcount"' (Git)|' src/Build/Version.h.cmake - sed -i 's|@PACKAGE_VERSION@|@PACKAGE_VERSION@.'"$revcount"'|' src/XDGData/org.freecad.FreeCAD.metainfo.xml.in sed -i 's|${PACKAGE_WCURL}|https://github.com/FreeCAD/FreeCAD.git|' src/Build/Version.h.cmake - | # fix paths for flatpak environment sed -i 's|/usr|/app|g' cMake/FindOCC.cmake src/Gui/GraphvizView.cpp - sitepackagesDir=$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["platlib"])' | sed 's|/usr|/app|') - sed -i 's|${python_libs}|'"$sitepackagesDir"'|' src/Ext/freecad/CMakeLists.txt + sitepackagesDir=$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["platlib"].replace("/usr","/app"))') + sed -i "s|\${python_libs}|$sitepackagesDir|" src/Ext/freecad/CMakeLists.txt diff --git a/patches/0001-Always-link-to-python-libraries.patch b/patches/0001-Always-link-to-python-libraries.patch new file mode 100644 index 0000000..fe4ca40 --- /dev/null +++ b/patches/0001-Always-link-to-python-libraries.patch @@ -0,0 +1,34 @@ +From e9591e27db4ae3412d4504a69a8afebee9a1b83e Mon Sep 17 00:00:00 2001 +From: Christophe Giboudeaux +Date: Tue, 27 Jul 2021 14:54:00 +0200 +Subject: [PATCH] Always link to python libraries. + +Change-Id: I687191431adaff55927de353db8f81dfa30ba1b1 +--- + sources/shiboken6/cmake/ShibokenHelpers.cmake | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +diff --git a/sources/shiboken6/cmake/ShibokenHelpers.cmake b/sources/shiboken6/cmake/ShibokenHelpers.cmake +index 27ee333..4be2ad1 100644 +--- a/sources/shiboken6/cmake/ShibokenHelpers.cmake ++++ b/sources/shiboken6/cmake/ShibokenHelpers.cmake +@@ -425,13 +425,9 @@ macro(shiboken_compute_python_libraries) + "SHIBOKEN_COMPUTE_LIBS" "shiboken_compute_python_libraries" + "IS_CALLED_FROM_EXPORT" "" "" ${ARGN}) + +- if (NOT SHIBOKEN_PYTHON_LIBRARIES) +- set(SHIBOKEN_PYTHON_LIBRARIES "") +- endif() +- +- if(WIN32 AND NOT SHIBOKEN_PYTHON_LIBRARIES) +- set(SHIBOKEN_PYTHON_LIBRARIES ${Python_LIBRARIES}) +- endif() ++ # Always link to python libraries. ++ message(STATUS "Linking shiboken to ${Python_LIBRARIES}") ++ set(SHIBOKEN_PYTHON_LIBRARIES ${Python_LIBRARIES}) + + # If the resulting variable + # contains a "debug;X;optimized;Y" list like described in shiboken_check_if_limited_api, +-- +2.46.1 + diff --git a/patches/0001-Fix-AppendOutput-signature-for-Swig-4.3.patch b/patches/0001-Fix-AppendOutput-signature-for-Swig-4.3.patch new file mode 100644 index 0000000..c031713 --- /dev/null +++ b/patches/0001-Fix-AppendOutput-signature-for-Swig-4.3.patch @@ -0,0 +1,121 @@ +From 879ed9d8cf54fc46939da1af987d7b5515ecdf98 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Fri, 7 Mar 2025 17:34:06 +0100 +Subject: [PATCH] Fix AppendOutput signature for Swig 4.3 + +Also fix the med_err return value mapping. Older Swig version discarded +the first "None" value from the resultobj if there were additional +output parameters. Now, the result has to be discarded (it is handled +by the %exception specification), and if there is no OUTPUT parameter +the resultobj has to be initialized with Py_None. + +See https://github.com/swig/swig/issues/3084 +--- + python/med_array_typemap.i | 4 ++-- + python/med_bool_typemap.i | 2 +- + python/med_common.i | 15 ++++++++++----- + python/med_enum_typemap.i | 2 +- + python/med_enumtest_typemap.i | 2 +- + 5 files changed, 15 insertions(+), 10 deletions(-) + +diff --git a/python/med_array_typemap.i b/python/med_array_typemap.i +index 6712b35..23e784b 100644 +--- a/python/med_array_typemap.i ++++ b/python/med_array_typemap.i +@@ -181,7 +181,7 @@ Type.__repr__= lambda self: #Type +"("+str([x for x in self])+")" + // TypeMed * const ParamName : OUT 2/4 (l'allocation Type est faite ds Python) + %typemap(freearg) TypeMed * const ParamName { + Py_INCREF(o$argnum); +- $result=SWIG_Python_AppendOutput($result, o$argnum); ++ $result=SWIG_AppendOutput($result, o$argnum); + } + // TypeMed * const (OUT) 3/4 + // pour ne pas activer un out du TypeMed * const (par sécurité) +@@ -290,7 +290,7 @@ Type.__repr__= lambda self: #Type +"("+str([x for x in self])+")" + // unsigned char * const : OUT 2/4 (l'allocation Type est faite ds Python) + %typemap(freearg) unsigned char * const { + Py_INCREF(o$argnum); +- $result=SWIG_Python_AppendOutput($result, o$argnum); ++ $result=SWIG_AppendOutput($result, o$argnum); + } + // unsigned char * const (OUT) 3/4 + // pour ne pas activer un out du unsigned char * const (par sécurité) +diff --git a/python/med_bool_typemap.i b/python/med_bool_typemap.i +index 73c3660..26bce34 100644 +--- a/python/med_bool_typemap.i ++++ b/python/med_bool_typemap.i +@@ -22,7 +22,7 @@ + /* Py_DECREF(o2); */ + /* Py_DECREF(o3); */ + /* } */ +- $result=SWIG_Python_AppendOutput($result, o); ++ $result=SWIG_AppendOutput($result, o); + } + + %typemap(in,numinputs=0) med_bool *(med_bool temp) { +diff --git a/python/med_common.i b/python/med_common.i +index f48a8b0..c458b14 100644 +--- a/python/med_common.i ++++ b/python/med_common.i +@@ -11,13 +11,11 @@ + $action + if ( result < 0 ) { + /* fprintf(stderr,"Code erreur MED : %2d\n",result); */ +- /* SWIG_exception(SWIG_RuntimeError,"Error returned from MEDfichier API (funcname)."); */ + PyObject* exobj = PyTuple_New(2); + PyTuple_SetItem(exobj,0,PyString_FromString("Error returned from MEDfichier API (funcname).")); + PyTuple_SetItem(exobj,1,PyInt_FromLong((long) result)); + SWIG_Python_SetErrorObj(PyExc_RuntimeError,exobj); +- /* PyErr_SetString(PyExc_Exception, str(result)); */ +- return NULL; ++ SWIG_fail; + } + } + %enddef +@@ -101,8 +99,15 @@ MEDINT64=None + //Désactive toutes les sorties d'erreur + //les erreurs sont gérées par les exceptions + %typemap(out) med_err { +- Py_INCREF(Py_None); +- $result=Py_None; ++ // Suppress MyErr output, error codes already handled by %expection ++} ++%typemap(ret) med_err { ++ // In case the wrapped function has not OUTPUT parameters result ++ // is a nullptr, push the requite None object ++ if (!$result) { ++ $result = Py_None; ++ Py_INCREF($result); ++ } + } + + //Ajoute la fonctionnalité de passage d'arguments par mot clés +diff --git a/python/med_enum_typemap.i b/python/med_enum_typemap.i +index 9c14ac5..b5ff5ee 100644 +--- a/python/med_enum_typemap.i ++++ b/python/med_enum_typemap.i +@@ -111,7 +111,7 @@ Type.__repr__= lambda self: #Type +"("+str(self.val)+")" + pargs = Py_BuildValue("(i)",*$1); + pinst = PyEval_CallObject(pclass, pargs); + if (pinst == NULL) printf("%s\n","Can't instanciate class $1_basetype"); +- $result=SWIG_Python_AppendOutput($result, pinst); ++ $result=SWIG_AppendOutput($result, pinst); + } + + %typemap(in,numinputs=0) TypeEnum * (TypeEnum temp) { +diff --git a/python/med_enumtest_typemap.i b/python/med_enumtest_typemap.i +index 604b700..0c96a8a 100644 +--- a/python/med_enumtest_typemap.i ++++ b/python/med_enumtest_typemap.i +@@ -130,7 +130,7 @@ public: + pargs = Py_BuildValue("(i)",*$1); + pinst = PyEval_CallObject(pclass, pargs); + if (pinst == NULL) printf("%s\n","Can't instanciate class $1_basetype"); +- $result=SWIG_Python_AppendOutput($result, pinst); ++ $result=SWIG_AppendOutput($result, pinst); + } + + %typemap(in,numinputs=0) TypeEnum * (TypeEnum temp) { +-- +2.48.1 + diff --git a/patches/0001-Fix-installation.patch b/patches/0001-Fix-installation.patch new file mode 100644 index 0000000..8a1b595 --- /dev/null +++ b/patches/0001-Fix-installation.patch @@ -0,0 +1,57 @@ +From c069622d35a00485742b125caf9439b31b1b972f Mon Sep 17 00:00:00 2001 +From: Christophe Marin +Date: Tue, 7 Oct 2025 15:54:32 +0200 +Subject: [PATCH] Fix installation + +Upstream decided to install files in non-standard locations. +--- + sources/pyside6/CMakeLists.txt | 2 +- + sources/shiboken6/generator/CMakeLists.txt | 4 ++-- + sources/shiboken6/libshiboken/CMakeLists.txt | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/sources/pyside6/CMakeLists.txt b/sources/pyside6/CMakeLists.txt +index 6b73d70..74aaba5 100644 +--- a/sources/pyside6/CMakeLists.txt ++++ b/sources/pyside6/CMakeLists.txt +@@ -40,7 +40,7 @@ install(EXPORT PySide6Targets + if(NOT is_pyside6_superproject_build) + install(EXPORT PySide6WheelTargets + NAMESPACE PySide6:: +- DESTINATION "${LIB_INSTALL_DIR}/wheels/cmake/PySide6" ++ DESTINATION "${LIB_INSTALL_DIR}/cmake/PySide6" + FILE PySide6Targets.cmake) + endif() + +diff --git a/sources/shiboken6/generator/CMakeLists.txt b/sources/shiboken6/generator/CMakeLists.txt +index 997468f..d0948d9 100644 +--- a/sources/shiboken6/generator/CMakeLists.txt ++++ b/sources/shiboken6/generator/CMakeLists.txt +@@ -73,11 +73,11 @@ install(EXPORT "${package_name}Targets" + if(NOT is_pyside6_superproject_build) + install(TARGETS shiboken6 + EXPORT "${package_name}WheelTargets" +- DESTINATION "shiboken6_generator") ++ DESTINATION "${BIN_INSTALL_DIR}") + + install(EXPORT "${package_name}WheelTargets" + NAMESPACE "Shiboken6::" +- DESTINATION "${LIB_INSTALL_DIR}/wheels/cmake/${package_name}" ++ DESTINATION "${LIB_INSTALL_DIR}/cmake/${package_name}" + FILE "${package_name}Targets.cmake") + endif() + +diff --git a/sources/shiboken6/libshiboken/CMakeLists.txt b/sources/shiboken6/libshiboken/CMakeLists.txt +index 973d14b..c4235f8 100644 +--- a/sources/shiboken6/libshiboken/CMakeLists.txt ++++ b/sources/shiboken6/libshiboken/CMakeLists.txt +@@ -217,6 +217,6 @@ if(NOT is_pyside6_superproject_build) + + install(EXPORT Shiboken6WheelTargets + NAMESPACE Shiboken6:: +- DESTINATION "${LIB_INSTALL_DIR}/wheels/cmake/Shiboken6" ++ DESTINATION "${LIB_INSTALL_DIR}/cmake/Shiboken6" + FILE Shiboken6Targets.cmake) + endif() +-- +2.51.0 diff --git a/patches/0001-Fixup-spooles-include-dir.patch b/patches/0001-Fixup-spooles-include-dir.patch new file mode 100644 index 0000000..77444b4 --- /dev/null +++ b/patches/0001-Fixup-spooles-include-dir.patch @@ -0,0 +1,50 @@ +From e551c655e45c8aa84b60a2540a35eecfd4d9cc5f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Thu, 12 Nov 2020 03:59:31 +0100 +Subject: [PATCH] Fixup spooles include dir + +--- + src/cascade.c | 6 +++--- + src/spooles.h | 8 ++++---- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/cascade.c b/src/cascade.c +index 796d5cf..c996f12 100644 +--- a/src/cascade.c ++++ b/src/cascade.c +@@ -21,9 +21,9 @@ + #include + + #ifdef SPOOLES +-#include +-#include +-#include ++#include ++#include ++#include + #endif + + #include "CalculiX.h" +diff --git a/src/spooles.h b/src/spooles.h +index 388f1ff..6966215 100755 +--- a/src/spooles.h ++++ b/src/spooles.h +@@ -23,11 +23,11 @@ + */ + + #include +-#include +-#include +-#include ++#include ++#include ++#include + #if USE_MT +-#include ++#include + #endif + + /* increase this for debugging */ +-- +2.30.1 + diff --git a/patches/0001-Revert-Modify-headers-installation-for-CMake-builds.patch b/patches/0001-Revert-Modify-headers-installation-for-CMake-builds.patch new file mode 100644 index 0000000..78c20fa --- /dev/null +++ b/patches/0001-Revert-Modify-headers-installation-for-CMake-builds.patch @@ -0,0 +1,231 @@ +From 80632681335d0dbc4b801a513a78ed921bd5377c Mon Sep 17 00:00:00 2001 +From: Christophe Marin +Date: Tue, 7 Oct 2025 14:14:43 +0200 +Subject: [PATCH] Revert "Modify headers installation for CMake builds" + +/usr/include/ is the correct location for include headers. + +--- + build_scripts/platforms/unix.py | 4 ++-- + build_scripts/platforms/windows_desktop.py | 7 ++++--- + sources/pyside6/PySide6/CMakeLists.txt | 2 +- + sources/pyside6/PySide6/QtCore/CMakeLists.txt | 2 +- + sources/pyside6/PySide6/QtDBus/CMakeLists.txt | 2 +- + sources/pyside6/PySide6/QtDataVisualization/CMakeLists.txt | 2 +- + sources/pyside6/PySide6/QtDesigner/CMakeLists.txt | 2 +- + sources/pyside6/PySide6/QtGraphs/CMakeLists.txt | 2 +- + sources/pyside6/PySide6/QtGui/CMakeLists.txt | 2 +- + sources/pyside6/cmake/Macros/PySideModules.cmake | 2 +- + sources/pyside6/libpyside/CMakeLists.txt | 4 ++-- + sources/pyside6/libpysideqml/CMakeLists.txt | 2 +- + sources/pyside6/libpysideremoteobjects/CMakeLists.txt | 2 +- + sources/shiboken6/data/shiboken6.pc.in | 2 +- + sources/shiboken6/libshiboken/CMakeLists.txt | 4 ++-- + 15 files changed, 21 insertions(+), 20 deletions(-) + +diff --git a/build_scripts/platforms/unix.py b/build_scripts/platforms/unix.py +index 59c63fd..03b814e 100644 +--- a/build_scripts/platforms/unix.py ++++ b/build_scripts/platforms/unix.py +@@ -108,8 +108,8 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False): + "{st_build_dir}/{st_package_name}/scripts/shiboken_tool.py", + force=False, _vars=_vars) + +- if config.is_internal_shiboken_module_build() or config.is_internal_pyside_build(): +- # /{cmake_package_name}/include/* -> /{st_package_name}/include ++ if config.is_internal_shiboken_generator_build() or config.is_internal_pyside_build(): ++ # /include/* -> /{st_package_name}/include + copydir( + "{install_dir}/{cmake_package_name}/include", + destination_dir / "include", +diff --git a/build_scripts/platforms/windows_desktop.py b/build_scripts/platforms/windows_desktop.py +index e023ff0..83f06c3 100644 +--- a/build_scripts/platforms/windows_desktop.py ++++ b/build_scripts/platforms/windows_desktop.py +@@ -94,10 +94,11 @@ def prepare_packages_win32(pyside_build, _vars): + _filter=pdbs, + recursive=False, _vars=_vars) + +- if config.is_internal_shiboken_module_build() or config.is_internal_pyside_build(): +- # /{cmake_package_name}/include/* -> /{st_package_name}/include ++ if config.is_internal_shiboken_generator_build() or config.is_internal_pyside_build(): ++ # /include/* -> /{st_package_name}/include ++ + copydir( +- "{install_dir}/{cmake_package_name}/include", ++ "{install_dir}/include/{cmake_package_name}", + destination_dir / "include", + _vars=_vars) + +diff --git a/sources/pyside6/PySide6/CMakeLists.txt b/sources/pyside6/PySide6/CMakeLists.txt +index c1934d9..ccfa843 100644 +--- a/sources/pyside6/PySide6/CMakeLists.txt ++++ b/sources/pyside6/PySide6/CMakeLists.txt +@@ -119,7 +119,7 @@ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/templates/widgets_common.xml + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/templates/datavisualization_common.xml + DESTINATION share/PySide6${pyside_SUFFIX}/typesystems) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pyside6_global.h +- DESTINATION ${BINDING_NAME}${pyside6_SUFFIX}/include) ++ DESTINATION include/${BINDING_NAME}${pyside6_SUFFIX}) + + install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/QtAsyncio" + DESTINATION "${PYTHON_SITE_PACKAGES}/${BINDING_NAME}${pyside6_SUFFIX}") +diff --git a/sources/pyside6/PySide6/QtCore/CMakeLists.txt b/sources/pyside6/PySide6/QtCore/CMakeLists.txt +index 2f49b61..6359ff4 100644 +--- a/sources/pyside6/PySide6/QtCore/CMakeLists.txt ++++ b/sources/pyside6/PySide6/QtCore/CMakeLists.txt +@@ -306,4 +306,4 @@ if (APPLE) + endif() + + install(FILES ${pyside6_SOURCE_DIR}/qtcorehelper.h ${pyside6_SOURCE_DIR}/qiopipe.h +- DESTINATION PySide6/include/QtCore/) ++ DESTINATION include/PySide6/QtCore/) +diff --git a/sources/pyside6/PySide6/QtDBus/CMakeLists.txt b/sources/pyside6/PySide6/QtDBus/CMakeLists.txt +index 49e86d1..5ee8dc6 100644 +--- a/sources/pyside6/PySide6/QtDBus/CMakeLists.txt ++++ b/sources/pyside6/PySide6/QtDBus/CMakeLists.txt +@@ -51,4 +51,4 @@ create_pyside_module(NAME QtDBus + TYPESYSTEM_PATH QtDBus_SOURCE_DIR + SOURCES QtDBus_SRC) + +-install(FILES ${pyside6_SOURCE_DIR}/qtdbushelper.h DESTINATION PySide6/include/QtDBus) ++install(FILES ${pyside6_SOURCE_DIR}/qtdbushelper.h DESTINATION include/PySide6/QtDBus) +diff --git a/sources/pyside6/PySide6/QtDataVisualization/CMakeLists.txt b/sources/pyside6/PySide6/QtDataVisualization/CMakeLists.txt +index 424799b..1276b42 100644 +--- a/sources/pyside6/PySide6/QtDataVisualization/CMakeLists.txt ++++ b/sources/pyside6/PySide6/QtDataVisualization/CMakeLists.txt +@@ -68,4 +68,4 @@ create_pyside_module(NAME QtDataVisualization + STATIC_SOURCES QtDataVisualization_src) + + install(FILES ${pyside6_SOURCE_DIR}/qtdatavisualization_helper.h +- DESTINATION PySide6/include/QtDataVisualization) ++ DESTINATION include/PySide6/QtDataVisualization) +diff --git a/sources/pyside6/PySide6/QtDesigner/CMakeLists.txt b/sources/pyside6/PySide6/QtDesigner/CMakeLists.txt +index 570ed0f..e91532b 100644 +--- a/sources/pyside6/PySide6/QtDesigner/CMakeLists.txt ++++ b/sources/pyside6/PySide6/QtDesigner/CMakeLists.txt +@@ -67,4 +67,4 @@ create_pyside_module(NAME QtDesigner + STATIC_SOURCES QtDesigner_static_src + TYPESYSTEM_NAME ${QtDesigner_BINARY_DIR}/typesystem_designer.xml) + +-install(FILES ${pyside6_SOURCE_DIR}/qpydesignerextensions.h DESTINATION PySide6/include/QtDesigner) ++install(FILES ${pyside6_SOURCE_DIR}/qpydesignerextensions.h DESTINATION include/PySide6/QtDesigner) +diff --git a/sources/pyside6/PySide6/QtGraphs/CMakeLists.txt b/sources/pyside6/PySide6/QtGraphs/CMakeLists.txt +index f416078..29a7b25 100644 +--- a/sources/pyside6/PySide6/QtGraphs/CMakeLists.txt ++++ b/sources/pyside6/PySide6/QtGraphs/CMakeLists.txt +@@ -96,4 +96,4 @@ create_pyside_module(NAME QtGraphs + DROPPED_ENTRIES QtGraphs_DROPPED_ENTRIES) + + install(FILES ${pyside6_SOURCE_DIR}/qtgraphs_helper.h +- DESTINATION PySide6/include/QtGraphs) ++ DESTINATION include/PySide6/QtGraphs) +diff --git a/sources/pyside6/PySide6/QtGui/CMakeLists.txt b/sources/pyside6/PySide6/QtGui/CMakeLists.txt +index b9e8429..1d2d411 100644 +--- a/sources/pyside6/PySide6/QtGui/CMakeLists.txt ++++ b/sources/pyside6/PySide6/QtGui/CMakeLists.txt +@@ -366,4 +366,4 @@ create_pyside_module(NAME QtGui + + install(FILES ${pyside6_SOURCE_DIR}/qpytextobject.h + ${pyside6_SOURCE_DIR}/qtguihelper.h +- DESTINATION PySide6/include/QtGui/) ++ DESTINATION include/PySide6/QtGui/) +diff --git a/sources/pyside6/cmake/Macros/PySideModules.cmake b/sources/pyside6/cmake/Macros/PySideModules.cmake +index 86791f4..7bb7714 100644 +--- a/sources/pyside6/cmake/Macros/PySideModules.cmake ++++ b/sources/pyside6/cmake/Macros/PySideModules.cmake +@@ -378,7 +378,7 @@ macro(create_pyside_module) + + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide6/${module_NAME}/pyside6_${lower_module_name}_python.h +- DESTINATION PySide6${pyside6_SUFFIX}/include/${module_NAME}/) ++ DESTINATION include/PySide6${pyside6_SUFFIX}/${module_NAME}/) + file(GLOB typesystem_files ${CMAKE_CURRENT_SOURCE_DIR}/typesystem_*.xml ${typesystem_path}) + + # Copy typesystem files and remove module names from the element +diff --git a/sources/pyside6/libpyside/CMakeLists.txt b/sources/pyside6/libpyside/CMakeLists.txt +index 75c2328..f8b25a4 100644 +--- a/sources/pyside6/libpyside/CMakeLists.txt ++++ b/sources/pyside6/libpyside/CMakeLists.txt +@@ -101,7 +101,7 @@ append_size_optimization_flags(pyside6) + + target_include_directories(pyside6 PUBLIC + $ +- $ ++ $ + ) + + target_compile_definitions(pyside6 PRIVATE -DQT_LEAN_HEADERS=1 -DQT_NO_KEYWORDS=1) +@@ -177,7 +177,7 @@ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/PySide6ConfigVersion.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/PySide6ConfigVersion.cmake" @ONLY) + + install(FILES ${libpyside_HEADERS} +- DESTINATION ${BINDING_NAME}${pyside6_SUFFIX}/include) ++ DESTINATION include/${BINDING_NAME}${pyside6_SUFFIX}) + + # build-time installation + install(TARGETS pyside6 EXPORT PySide6Targets +diff --git a/sources/pyside6/libpysideqml/CMakeLists.txt b/sources/pyside6/libpysideqml/CMakeLists.txt +index 1430334..dac3cdd 100644 +--- a/sources/pyside6/libpysideqml/CMakeLists.txt ++++ b/sources/pyside6/libpysideqml/CMakeLists.txt +@@ -84,7 +84,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D QT_NO_CAST_FROM_ASCII -D QT_NO_CAST_T + qfp_strip_library("pyside6qml") + + install(FILES ${libpysideqml_HEADERS} +- DESTINATION ${BINDING_NAME}${pyside6qml_SUFFIX}/include) ++ DESTINATION include/${BINDING_NAME}${pyside6qml_SUFFIX}) + + #built-time installation + install(TARGETS pyside6qml EXPORT PySide6Targets +diff --git a/sources/pyside6/libpysideremoteobjects/CMakeLists.txt b/sources/pyside6/libpysideremoteobjects/CMakeLists.txt +index caaadc2..4669fb6 100644 +--- a/sources/pyside6/libpysideremoteobjects/CMakeLists.txt ++++ b/sources/pyside6/libpysideremoteobjects/CMakeLists.txt +@@ -80,7 +80,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D QT_NO_CAST_FROM_ASCII -D QT_NO_CAST_T + # + + install(FILES ${libpysideremoteobjects_HEADERS} +- DESTINATION ${BINDING_NAME}${pyside6remoteobjects_SUFFIX}/include) ++ DESTINATION include/${BINDING_NAME}${pyside6remoteobjects_SUFFIX}) + + install(TARGETS pyside6remoteobjects EXPORT PySide6RemoteObjectsTargets + LIBRARY DESTINATION "${LIB_INSTALL_DIR}" +diff --git a/sources/shiboken6/data/shiboken6.pc.in b/sources/shiboken6/data/shiboken6.pc.in +index 917b706..a82d231 100644 +--- a/sources/shiboken6/data/shiboken6.pc.in ++++ b/sources/shiboken6/data/shiboken6.pc.in +@@ -1,7 +1,7 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=@CMAKE_INSTALL_PREFIX@ + libdir=@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@ +-includedir=@CMAKE_INSTALL_PREFIX@/shiboken6/include ++includedir=@CMAKE_INSTALL_PREFIX@/include/shiboken6 + python_interpreter=@Python_EXECUTABLE@ + python_include_dir=@Python_INCLUDE_DIRS@ + +diff --git a/sources/shiboken6/libshiboken/CMakeLists.txt b/sources/shiboken6/libshiboken/CMakeLists.txt +index 6136632..973d14b 100644 +--- a/sources/shiboken6/libshiboken/CMakeLists.txt ++++ b/sources/shiboken6/libshiboken/CMakeLists.txt +@@ -111,7 +111,7 @@ add_library(Shiboken6::libshiboken ALIAS libshiboken) + target_include_directories(libshiboken PUBLIC + $ + $ +- $ ++ $ + ) + + if (NOT "${NUMPY_INCLUDE_DIR}" STREQUAL "") +@@ -196,7 +196,7 @@ install(FILES + signature.h + signature_p.h + +- DESTINATION shiboken6${shiboken6_SUFFIX}/include) ++ DESTINATION include/shiboken6${shiboken6_SUFFIX}) + install(TARGETS libshiboken EXPORT Shiboken6Targets + LIBRARY DESTINATION "${LIB_INSTALL_DIR}" + ARCHIVE DESTINATION "${LIB_INSTALL_DIR}" +-- +2.51.0 + diff --git a/patches/0003-Avoid-format-warnings-on-64-bit.patch b/patches/0003-Avoid-format-warnings-on-64-bit.patch new file mode 100644 index 0000000..dbcc9b4 --- /dev/null +++ b/patches/0003-Avoid-format-warnings-on-64-bit.patch @@ -0,0 +1,32 @@ +diff -auNr med-4.1.0/include/2.3.6/med_utils.h.in med-4.1.0-new/include/2.3.6/med_utils.h.in +--- med-4.1.0/include/2.3.6/med_utils.h.in 2020-03-11 17:36:33.000000000 +0800 ++++ med-4.1.0-new/include/2.3.6/med_utils.h.in 2021-01-04 14:30:43.727414400 +0800 +@@ -235,7 +235,11 @@ + fprintf(stderr,"%s = %llu\n",#entier,entier) ;\ + fflush(stderr) ;\ + } +-# define ISCRUTE_id(entier) ISCRUTE_long(entier) ++# define ISCRUTE_id(entier) {\ ++ ICI ;\ ++ fprintf(stderr,"%s = %"PRId64"\n",#entier,entier) ;\ ++ fflush(stderr) ;\ ++ } + # define RSCRUTE(reel) {\ + ICI ;\ + fprintf(stderr,"%s = %f\n",#reel,reel) ;\ +diff -auNr med-4.1.0/include/med_utils.h.in med-4.1.0-new/include/med_utils.h.in +--- med-4.1.0/include/med_utils.h.in 2020-03-11 17:36:32.000000000 +0800 ++++ med-4.1.0-new/include/med_utils.h.in 2021-01-04 14:29:40.759652392 +0800 +@@ -258,7 +258,11 @@ + fprintf(stderr,"%s = %llu\n",#entier,entier) ;\ + fflush(stderr) ;\ + } +-# define ISCRUTE_id(entier) ISCRUTE_long(entier) ++# define ISCRUTE_id(entier) {\ ++ ICI ;\ ++ fprintf(stderr,"%s = %"PRId64"\n",#entier,entier) ;\ ++ fflush(stderr) ;\ ++ } + # define RSCRUTE(reel) {\ + ICI ;\ + fprintf(stderr,"%s = %f\n",#reel,reel) ;\ diff --git a/patches/Fix-no_return_in_nonvoid_function.patch b/patches/Fix-no_return_in_nonvoid_function.patch new file mode 100644 index 0000000..b927b4d --- /dev/null +++ b/patches/Fix-no_return_in_nonvoid_function.patch @@ -0,0 +1,58 @@ +diff -auNr med-4.1.0/src/MEDiterators.c med-4.1.0-new/src/MEDiterators.c +--- med-4.1.0/src/MEDiterators.c 2020-03-11 17:36:37.000000000 +0800 ++++ med-4.1.0-new/src/MEDiterators.c 2021-01-06 11:58:43.969522119 +0800 +@@ -203,6 +203,7 @@ + case MED_NODE_ELEMENT : return 5; break; + case MED_STRUCT_ELEMENT : return 6; break; + /* case MED_UNDEF_ENTITY_TYPE : return 7; break; */ ++ default : return 0; break; + } + }; + +@@ -235,6 +236,7 @@ + case MED_POLYGON2 : return 23; break; + case MED_POLYHEDRON : return 24; break; + /* case MED_NO_GEOTYPE : return 25; break; */ ++ default : return 0; break; + } + }; + +@@ -251,6 +253,7 @@ + case MED_POLYGON : return 7; break; + case MED_POLYGON2 : return 8; break; + /* case MED_NO_GEOTYPE : return 9; break; */ ++ default : return 0; break; + } + }; + +@@ -260,12 +263,14 @@ + case MED_SEG2 : return 1; break; + case MED_SEG3 : return 2; break; + case MED_SEG4 : return 3; break; ++ default : return 0; break; // MED_NO_GEOTYPE + } + }; + + int MEDgetNodeGeometryTypeIt(med_geometry_type geotype) { + switch( geotype ) { + case MED_NO_GEOTYPE : return 1; break; ++ default : return 1; break; // MED_NO_GEOTYPE + } + }; + +@@ -278,6 +283,7 @@ + case MED_NODE : return MEDgetNodeGeometryTypeIt(geotype); break; + case MED_NODE_ELEMENT : return MEDgetCellGeometryTypeIt(geotype); break; + case MED_STRUCT_ELEMENT : return geotype%MED_STRUCT_GEO_INTERNAL ; break; ++ default : return 0; break; // MED_UNDEF_ENTITY_TYPE + } + }; + +@@ -290,6 +296,7 @@ + case MED_NODE : return "MED_NODE" ; break; + case MED_NODE_ELEMENT : return "MED_NODE_ELEMENT" ; break; + case MED_STRUCT_ELEMENT : return "MED_STRUCT_ELEMENT" ; break; ++ default : return "MED_UNDEF_ENTITY_TYPE"; break; // MED_UNDEF_ENTITY_TYPE + } + } + diff --git a/patches/OpenSCAD_transfermechanism.patch b/patches/OpenSCAD_transfermechanism.patch index cf437fd..9876d76 100644 --- a/patches/OpenSCAD_transfermechanism.patch +++ b/patches/OpenSCAD_transfermechanism.patch @@ -3,13 +3,13 @@ index 9493cd8d7e7..eac87dd2c9d 100644 --- a/src/Mod/OpenSCAD/Init.py +++ b/src/Mod/OpenSCAD/Init.py @@ -30,7 +30,7 @@ FreeCAD.addImportType("OpenSCAD CSG Format (*.csg *.CSG)", "importCSG") - + param = FreeCAD.ParamGet(\ "User parameter:BaseApp/Preferences/Mod/OpenSCAD") -openscadfilename = param.GetString('openscadexecutable') +openscadfilename = param.GetString('openscadexecutable','/app/bin/openscad') openscadbin = openscadfilename and os.path.isfile(openscadfilename) - + if openscadbin: diff --git a/src/Mod/OpenSCAD/InitGui.py b/src/Mod/OpenSCAD/InitGui.py index 396227c1e85..237018d7d35 100644 @@ -18,7 +18,7 @@ index 396227c1e85..237018d7d35 100644 @@ -118,7 +118,7 @@ class OpenSCADWorkbench(Workbench): else: FreeCAD.Console.PrintWarning("OpenSCAD executable not found\n") - + - transferMechanism = param.GetInt("transfermechanism", 0) + transferMechanism = param.GetInt("transfermechanism", 2) if openscadfilename and transferMechanism == 0: @@ -29,7 +29,7 @@ index 1db444ec80f..562aa78fe56 100644 --- a/src/Mod/OpenSCAD/OpenSCADTest/app/test_importCSG.py +++ b/src/Mod/OpenSCAD/OpenSCADTest/app/test_importCSG.py @@ -277,7 +277,7 @@ polyhedron( - + def test_import_import_stl(self): preferences = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/OpenSCAD") - transfer_mechanism = preferences.GetInt('transfermechanism',0) @@ -38,7 +38,7 @@ index 1db444ec80f..562aa78fe56 100644 print ("Cannot test STL import, communication with OpenSCAD is via pipes") print ("If either OpenSCAD or FreeCAD are installed as sandboxed packages,") @@ -335,7 +335,7 @@ resize(newsize = [0,0,10], auto = [0,0,0]) { - + def test_import_surface(self): preferences = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/OpenSCAD") - transfer_mechanism = preferences.GetInt('transfermechanism',0) @@ -70,7 +70,7 @@ index 36bf78a220d..468344f0c12 100644 stdout = subprocess.PIPE,stderr=subprocess.PIPE, universal_newlines=True) as p: @@ -159,8 +159,8 @@ def callopenscad(inputfilename,outputfilename=None, outputext='csg', keepname=Fa return stdoutd - + preferences = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/OpenSCAD") - osfilename = preferences.GetString('openscadexecutable') - transferMechanism = preferences.GetInt('transfermechanism',0) diff --git a/patches/calculix-cxx-paths.patch b/patches/calculix-cxx-paths.patch index 4b9423e..cc462ed 100644 --- a/patches/calculix-cxx-paths.patch +++ b/patches/calculix-cxx-paths.patch @@ -2,11 +2,11 @@ diff -ur CalculiX/ccx_2.22/src/Makefile_MT CalculiX_new/ccx_2.22/src/Makefile_MT --- CalculiX/ccx_2.22/src/Makefile_MT 2020-07-23 21:41:38.507761972 +0200 +++ CalculiX_new/ccx_2.22/src/Makefile_MT 2020-10-12 04:00:16.010748092 +0200 @@ -1,6 +1,6 @@ - + -CFLAGS = -Wall -O2 -fopenmp -I ../SPOOLES.2.2 -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DUSE_MT=1 -FFLAGS = -Wall -O2 -fopenmp -+CFLAGS = -Wall -O2 -fopenmp -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DUSE_MT=1 -+FFLAGS = -Wall -O2 -fopenmp -fallow-argument-mismatch ++CFLAGS = -Wall -O2 -fopenmp -Wno-error=return-mismatch -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DUSE_MT=1 ++FFLAGS = -Wall -O2 -fopenmp -Wno-error=return-mismatch -fallow-argument-mismatch CC=cc FC=gfortran diff --git a/patches/fix-cmakefiles.patch b/patches/fix-cmakefiles.patch new file mode 100644 index 0000000..9a5883e --- /dev/null +++ b/patches/fix-cmakefiles.patch @@ -0,0 +1,11 @@ +--- med-4.1.0/python/CMakeLists.txt 2020-01-31 00:03:53.000000000 +0800 ++++ med-4.1.0-new/python/CMakeLists.txt 2021-01-04 14:37:17.305927211 +0800 +@@ -36,7 +36,7 @@ + ${PYTHON_LIBRARIES} + ) + +-SET(_install_dir lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/med) ++SET(_install_dir lib${LIB_SUFFIX}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/med) + + # Ensure we will be able to run the Python tests from the build tree by outputing + # files into the package folder: diff --git a/patches/gmp-gcc-15.patch b/patches/gmp-gcc-15.patch new file mode 100644 index 0000000..2434da5 --- /dev/null +++ b/patches/gmp-gcc-15.patch @@ -0,0 +1,21 @@ + +# HG changeset patch +# User Marc Glisse +# Date 1738186682 -3600 +# Node ID 8e7bb4ae7a18b1405ea7f9cbcda450b7d920a901 +# Parent e84c5c785bbe8ed8c3620194e50b65adfc2f5d83 +Complete function prototype in acinclude.m4 for C23 compatibility + +diff -r e84c5c785bbe -r 8e7bb4ae7a18 acinclude.m4 +--- a/acinclude.m4 Wed Dec 04 18:26:27 2024 +0100 ++++ b/acinclude.m4 Wed Jan 29 22:38:02 2025 +0100 +@@ -609,7 +609,7 @@ + + #if defined (__GNUC__) && ! defined (__cplusplus) + typedef unsigned long long t1;typedef t1*t2; +-void g(){} ++void g(int,t1 const*,t1,t2,t1 const*,int){} + void h(){} + static __inline__ t1 e(t2 rp,t2 up,int n,t1 v0) + {t1 c,x,r;int i;if(v0){c=1;for(i=1;i= 1.12.1 are supported.") + ENDIF() + ## +diff -rupN --no-dereference med-5.0.0/src/ci/MEDfileCompatibility.c med-5.0.0-new/src/ci/MEDfileCompatibility.c +--- med-5.0.0/src/ci/MEDfileCompatibility.c 2023-06-05 14:14:44.000000000 +0200 ++++ med-5.0.0-new/src/ci/MEDfileCompatibility.c 2025-01-24 00:28:04.858068408 +0100 +@@ -116,7 +116,7 @@ MEDfileCompatibility(const char* const f + #if MED_NUM_MAJEUR != 5 + #error "Don't forget to update the test version here when you change the major version of the library !" + #endif +-#if H5_VERS_MINOR > 12 ++#if H5_VERS_MINOR > 14 + #error "Don't forget to check the compatibility version of the library, depending on the internal hdf model choice !" + #error "Cf. _MEDfileCreate ..." + #endif +diff -rupN --no-dereference med-5.0.0/src/hdfi/_MEDfileCreate.c med-5.0.0-new/src/hdfi/_MEDfileCreate.c +--- med-5.0.0/src/hdfi/_MEDfileCreate.c 2023-06-05 14:14:45.000000000 +0200 ++++ med-5.0.0-new/src/hdfi/_MEDfileCreate.c 2025-01-24 00:28:04.858334666 +0100 +@@ -189,7 +189,7 @@ med_idt _MEDfileCreate(const char * cons + * Cette ligne est censée obliger HDF à ne pas utiliser un modèle interne différent de 1.10.z + * Un test autoconf permet de fixer un intervalle de version HDF à MED. + */ +-#if H5_VERS_MINOR > 12 ++#if H5_VERS_MINOR > 14 + #error "Don't forget to change the compatibility version of the library !" + #endif + +diff -rupN --no-dereference med-5.0.0/src/hdfi/_MEDfileOpen.c med-5.0.0-new/src/hdfi/_MEDfileOpen.c +--- med-5.0.0/src/hdfi/_MEDfileOpen.c 2023-06-05 14:14:45.000000000 +0200 ++++ med-5.0.0-new/src/hdfi/_MEDfileOpen.c 2025-01-24 00:28:04.858574380 +0100 +@@ -113,7 +113,7 @@ med_idt _MEDfileOpen(const char * const + has been set in the group creation property list (see H5Pset_link_creation_order). + */ + +-#if H5_VERS_MINOR > 12 ++#if H5_VERS_MINOR > 14 + #error "Don't forget to change the compatibility version of the library !" + #endif + /* L'avantage de bloquer le modèle interne HDF5 +diff -rupN --no-dereference med-5.0.0/src/hdfi/_MEDfileOpenForImport.c med-5.0.0-new/src/hdfi/_MEDfileOpenForImport.c +--- med-5.0.0/src/hdfi/_MEDfileOpenForImport.c 2023-06-05 14:14:45.000000000 +0200 ++++ med-5.0.0-new/src/hdfi/_MEDfileOpenForImport.c 2025-01-24 00:28:04.858834390 +0100 +@@ -53,7 +53,7 @@ med_idt _MEDfileOpenForImport(const cha + } + + +-#if H5_VERS_MINOR > 12 ++#if H5_VERS_MINOR > 14 + #error "Don't forget to change the compatibility version of the library !" + #endif + /* L'avantage de bloquer le modèle interne HDF5 +diff -rupN --no-dereference med-5.0.0/src/hdfi/_MEDmemFileOpen.c med-5.0.0-new/src/hdfi/_MEDmemFileOpen.c +--- med-5.0.0/src/hdfi/_MEDmemFileOpen.c 2023-06-05 14:14:45.000000000 +0200 ++++ med-5.0.0-new/src/hdfi/_MEDmemFileOpen.c 2025-01-24 00:28:04.859128966 +0100 +@@ -439,7 +439,7 @@ med_idt _MEDmemFileOpen(const char * con + goto ERROR; + } + +-#if H5_VERS_MINOR > 12 ++#if H5_VERS_MINOR > 14 + #error "Don't forget to change the compatibility version of the library !" + #endif + if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_V112, H5F_LIBVER_V112 ) ) { +@@ -506,7 +506,7 @@ med_idt _MEDmemFileOpen(const char * con + goto ERROR; + } + _fversionMM = 100*_fmajor+10*_fminor; +-#if H5_VERS_MINOR > 12 ++#if H5_VERS_MINOR > 14 + #error "Don't forget to change the compatibility version of the library !" + #endif + if ( _fversionMM < 500 ) { /*100*MED_NUM_MAJEUR+10*MED_NUM_MINEUR*/ +diff -rupN --no-dereference med-5.0.0/src/hdfi/_MEDparFileCreate.c med-5.0.0-new/src/hdfi/_MEDparFileCreate.c +--- med-5.0.0/src/hdfi/_MEDparFileCreate.c 2023-06-05 14:14:45.000000000 +0200 ++++ med-5.0.0-new/src/hdfi/_MEDparFileCreate.c 2025-01-24 00:28:04.859422685 +0100 +@@ -64,7 +64,7 @@ med_idt _MEDparFileCreate(const char * c + * En HDF5-1.10.0p1 cela n'a aucun effet ! + * Un test autoconf permet de fixer un intervalle de version HDF à MED. + */ +-#if H5_VERS_MINOR > 12 ++#if H5_VERS_MINOR > 14 + #error "Don't forget to change the compatibility version of the library !" + #endif + +diff -rupN --no-dereference med-5.0.0/src/hdfi/_MEDparFileOpen.c med-5.0.0-new/src/hdfi/_MEDparFileOpen.c +--- med-5.0.0/src/hdfi/_MEDparFileOpen.c 2023-06-05 14:14:45.000000000 +0200 ++++ med-5.0.0-new/src/hdfi/_MEDparFileOpen.c 2025-01-24 00:28:04.859632596 +0100 +@@ -86,7 +86,7 @@ med_idt _MEDparFileOpen(const char * con + } + _fversionMM = 100*_fmajor+10*_fminor; + +-#if H5_VERS_MINOR > 12 ++#if H5_VERS_MINOR > 14 + #error "Don't forget to change the compatibility version of the library !" + #endif + if ( _fversionMM < 500 ) { /*100*MED_NUM_MAJEUR+10*MED_NUM_MINEUR*/ +diff -rupN --no-dereference med-5.0.0/src/misc/MEDversionedApi3C.c med-5.0.0-new/src/misc/MEDversionedApi3C.c +--- med-5.0.0/src/misc/MEDversionedApi3C.c 2023-06-05 14:14:45.000000000 +0200 ++++ med-5.0.0-new/src/misc/MEDversionedApi3C.c 2025-01-24 00:28:04.859890990 +0100 +@@ -114,7 +114,7 @@ MedFuncType _MEDversionedApi3( const cha + /* (_fversionMM <= (100*MED_NUM_MAJEUR+10*MED_NUM_MINEUR) ) */ + /* ) { */ + +-#if H5_VERS_MINOR > 12 ++#if H5_VERS_MINOR > 14 + #error "Don't forget to change the compatibility version of the library !" + #endif + diff --git a/patches/med-tools-python3_13.patch b/patches/med-tools-python3_13.patch new file mode 100644 index 0000000..2fb631e --- /dev/null +++ b/patches/med-tools-python3_13.patch @@ -0,0 +1,27 @@ +Index: med-5.0.0/python/med_enumtest_typemap.i +=================================================================== +--- med-5.0.0.orig/python/med_enumtest_typemap.i ++++ med-5.0.0/python/med_enumtest_typemap.i +@@ -128,7 +128,7 @@ public: + if (pclass == NULL) printf("%s\n","Can't get class $1_basetype"); + Py_DECREF(pmod); + pargs = Py_BuildValue("(i)",*$1); +- pinst = PyEval_CallObject(pclass, pargs); ++ pinst = PyObject_CallObject(pclass, pargs); + if (pinst == NULL) printf("%s\n","Can't instanciate class $1_basetype"); + $result=SWIG_AppendOutput($result, pinst); + } +Index: med-5.0.0/python/med_enum_typemap.i +=================================================================== +--- med-5.0.0.orig/python/med_enum_typemap.i ++++ med-5.0.0/python/med_enum_typemap.i +@@ -109,7 +109,7 @@ Type.__repr__= lambda self: #Type +"("+s + if (pclass == NULL) printf("%s\n","Can't get class $1_basetype"); + Py_DECREF(pmod); + pargs = Py_BuildValue("(i)",*$1); +- pinst = PyEval_CallObject(pclass, pargs); ++ pinst = PyObject_CallObject(pclass, pargs); + if (pinst == NULL) printf("%s\n","Can't instanciate class $1_basetype"); + $result=SWIG_AppendOutput($result, pinst); + } + diff --git a/patches/occt-freetype-fix-compilation.patch b/patches/occt-freetype-fix-compilation.patch new file mode 100644 index 0000000..0adb053 --- /dev/null +++ b/patches/occt-freetype-fix-compilation.patch @@ -0,0 +1,25 @@ +# https://github.com/Open-Cascade-SAS/OCCT/commit/7236e83dcc1e7284e66dc61e612154617ef715d6 +From 7236e83dcc1e7284e66dc61e612154617ef715d6 Mon Sep 17 00:00:00 2001 +From: dpasukhi +Date: Tue, 27 Aug 2024 11:33:29 +0100 +Subject: [PATCH] 0033808: Coding - FreeType Use unsigned point and contour + indexing in `FT_Outline` + +Changes to auto instead of specific type +--- + src/StdPrs/StdPrs_BRepFont.cxx | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/StdPrs/StdPrs_BRepFont.cxx b/src/StdPrs/StdPrs_BRepFont.cxx +index ab2d9b3c9f..cd701879b1 100644 +--- a/src/StdPrs/StdPrs_BRepFont.cxx ++++ b/src/StdPrs/StdPrs_BRepFont.cxx +@@ -457,7 +457,7 @@ Standard_Boolean StdPrs_BRepFont::renderGlyph (const Standard_Utf32Char theChar, + for (short aContour = 0, aStartIndex = 0; aContour < anOutline->n_contours; ++aContour) + { + const FT_Vector* aPntList = &anOutline->points[aStartIndex]; +- const char* aTags = &anOutline->tags[aStartIndex]; ++ const auto* aTags = &anOutline->tags[aStartIndex]; + const short anEndIndex = anOutline->contours[aContour]; + const short aPntsNb = (anEndIndex - aStartIndex) + 1; + aStartIndex = anEndIndex + 1; diff --git a/patches/spooles-fix-compilation.patch b/patches/spooles-fix-compilation.patch new file mode 100644 index 0000000..ae7367c --- /dev/null +++ b/patches/spooles-fix-compilation.patch @@ -0,0 +1,38 @@ +# https://github.com/conda-forge/spooles-feedstock/blob/9c9bac0ec750da8b9914bb48335ffef54b8462f0/recipe/patches/osx.patch +commit 32466b7e010aa17caa1597b7cfb42c4251c68140 +Author: looooo +Date: Mon Jul 22 17:28:13 2024 +0200 + + osx.patch + +diff --git a/ETree/src/transform.c b/ETree/src/transform.c +index 1e36981..dbdfc70 100644 +--- a/ETree/src/transform.c ++++ b/ETree/src/transform.c +@@ -291,7 +291,7 @@ etree2 = ETree_compress(etree, mapIV) ; + remap the nzeros[] vector + ------------------------- + */ +-temp = IVinit(nfront, NULL) ; ++temp = IVinit(nfront, 0) ; + IVcopy(nfront, temp, nzeros) ; + IV_setSize(nzerosIV, nnew) ; + nzeros = IV_entries(nzerosIV) ; +@@ -453,7 +453,7 @@ etree2 = ETree_compress(etree, mapIV) ; + remap the nzeros[] vector + ------------------------- + */ +-temp = IVinit(nfront, NULL) ; ++temp = IVinit(nfront, 0) ; + IVcopy(nfront, temp, nzeros) ; + IV_setSize(nzerosIV, nnew) ; + nzeros = IV_entries(nzerosIV) ; +@@ -614,7 +614,7 @@ etree2 = ETree_compress(etree, mapIV) ; + remap the nzeros[] vector + ------------------------- + */ +-temp = IVinit(nfront, NULL) ; ++temp = IVinit(nfront, 0) ; + IVcopy(nfront, temp, nzeros) ; + IV_setSize(nzerosIV, nnew) ; + nzeros = IV_entries(nzerosIV) ; diff --git a/patches/spooles-gcc.patch b/patches/spooles-gcc.patch deleted file mode 100644 index faccf3b..0000000 --- a/patches/spooles-gcc.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Naur spooles.2.2.orig/Make.inc spooles.2.2/Make.inc ---- spooles.2.2.orig/Make.inc 2018-12-11 11:30:21.108177000 +0000 -+++ spooles.2.2/Make.inc 2018-12-11 11:30:41.001019332 +0000 -@@ -11,8 +11,8 @@ - # - # for solaris - # --# CC = gcc -- CC = /usr/lang-4.0/bin/cc -+ CC = gcc -+# CC = /usr/lang-4.0/bin/cc - # - # for sgi - # diff --git a/patches/xerces-c-cxx17.patch b/patches/xerces-c-cxx17.patch new file mode 100644 index 0000000..fc2f499 --- /dev/null +++ b/patches/xerces-c-cxx17.patch @@ -0,0 +1,25 @@ +# patch from https://bugs.gentoo.org/931105 +From de3ae3ded7a07de5afe63cb472ef423fac6225a4 Mon Sep 17 00:00:00 2001 +From: Kostadin Shishmanov +Date: Thu, 2 May 2024 21:20:41 +0300 +Subject: [PATCH] c++17 + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 33bc40f..133468f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,7 +23,7 @@ cmake_minimum_required(VERSION 3.12.0) + + # Try C++14, then fall back to C++11 and C++98. Used for feature tests + # for optional features. +-set(CMAKE_CXX_STANDARD 14) ++set(CMAKE_CXX_STANDARD 17) + + # Use folders (for IDE project grouping) + set_property(GLOBAL PROPERTY USE_FOLDERS ON) +-- +2.43.2 \ No newline at end of file diff --git a/patches/yaml-cpp-gcc15.patch b/patches/yaml-cpp-gcc15.patch new file mode 100644 index 0000000..c7f897d --- /dev/null +++ b/patches/yaml-cpp-gcc15.patch @@ -0,0 +1,39 @@ +From 7b469b4220f96fb3d036cf68cd7bd30bd39e61d2 Mon Sep 17 00:00:00 2001 +From: Christopher Fore +Date: Wed, 14 Aug 2024 21:02:32 -0400 +Subject: [PATCH] emitterutils: Explicitly include + +GCC 15 will no longer include it by default, resulting in build +failures in projects that do not explicitly include it. + +Error: +src/emitterutils.cpp:221:11: error: 'uint16_t' was not declared in this scope + 221 | std::pair EncodeUTF16SurrogatePair(int codePoint) { + | ^~~~~~~~ +src/emitterutils.cpp:13:1: note: 'uint16_t' is defined in header ''; +this is probably fixable by adding '#include ' + 12 | #include "yaml-cpp/null.h" + +++ |+#include + 13 | #include "yaml-cpp/ostream_wrapper.h" + +Tests pass. + +Closes: #1307 +See-also: https://gcc.gnu.org/pipermail/gcc-cvs/2024-August/407124.html +See-also: https://bugs.gentoo.org/937412 +Signed-off-by: Christopher Fore +--- + src/emitterutils.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/emitterutils.cpp b/src/emitterutils.cpp +index fc41011a5..f801b1d0c 100644 +--- a/src/emitterutils.cpp ++++ b/src/emitterutils.cpp +@@ -1,4 +1,5 @@ + #include ++#include + #include + #include + + diff --git a/python3-lark.json b/python3-lark.json deleted file mode 100644 index 41b53fa..0000000 --- a/python3-lark.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "python3-lark", - "buildsystem": "simple", - "build-commands": [ - "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"lark\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/2d/00/d90b10b962b4277f5e64a78b6609968859ff86889f5b898c1a778c06ec00/lark-1.2.2-py3-none-any.whl", - "sha256": "c2276486b02f0f1b90be155f2c8ba4a8e194d42775786db622faccd652d8e80c" - } - ] -} \ No newline at end of file diff --git a/python3-requests.json b/python3-requests.json deleted file mode 100644 index ea3d779..0000000 --- a/python3-requests.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "python3-requests", - "buildsystem": "simple", - "build-commands": [ - "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"requests\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl", - "sha256": "922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/f2/4f/e1808dc01273379acc506d18f1504eb2d299bd4131743b9fc54d7be4df1e/charset_normalizer-3.4.0.tar.gz", - "sha256": "223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", - "sha256": "946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", - "sha256": "70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", - "sha256": "ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac" - } - ] -} \ No newline at end of file diff --git a/python3-scikit_build_core.json b/python3-scikit_build_core.json deleted file mode 100644 index 396fd27..0000000 --- a/python3-scikit_build_core.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "python3-scikit_build_core", - "buildsystem": "simple", - "build-commands": [ - "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"scikit_build_core\" --no-build-isolation" - ], - "sources": [ - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", - "sha256": "a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08" - }, - { - "type": "file", - "url": "https://files.pythonhosted.org/packages/88/fe/90476c4f6a1b2f922efa00d26e876dd40c7279e28ec18f08f0851ad21ba6/scikit_build_core-0.10.7-py3-none-any.whl", - "sha256": "5e13ab7ca7c3c6dd019607c3a6f53cba67dade8757c4c4f75b459e2f90e4dbc3" - } - ], - "cleanup": [ - "*" - ] -} \ No newline at end of file diff --git a/python_deps.json b/python_deps.json new file mode 100644 index 0000000..b398174 --- /dev/null +++ b/python_deps.json @@ -0,0 +1,403 @@ +{ + "name": "python_deps", + "buildsystem": "simple", + "build-commands": [], + "modules": [ + { + "name": "python3-flit-core", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"flit-core\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/f2/65/b6ba90634c984a4fcc02c7e3afe523fef500c4980fec67cc27536ee50acf/flit_core-3.12.0-py3-none-any.whl", + "sha256": "e7a0304069ea895172e3c7bb703292e992c5d1555dd1233ab7b5621b5b69e62c" + } + ] + }, + { + "name": "python3-tomli", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"tomli\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/52/ed/3f73f72945444548f33eba9a87fc7a6e969915e7b1acc8260b30e1f76a2f/tomli-2.3.0.tar.gz", + "sha256": "64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549" + } + ] + }, + { + "name": "python3-pybind11", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pybind11\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/cd/8a/37362fc2b949d5f733a8b0f2ff51ba423914cabefe69f1d1b6aab710f5fe/pybind11-3.0.1-py3-none-any.whl", + "sha256": "aa8f0aa6e0a94d3b64adfc38f560f33f15e589be2175e103c0a33c6bce55ee89" + } + ] + }, + { + "name": "python3-setuptools_scm_git_archive", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"setuptools_scm_git_archive\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/38/b3/529d516b25ec768b8ebc2df35785a50c90e481c80e2c0d6ce68c81d60afa/setuptools_scm_git_archive-1.4.1-py2.py3-none-any.whl", + "sha256": "4a0b90286f469df220769a66ed1e910a11f524c61f3caa2cd4fad95750ac3b4f" + } + ] + }, + { + "name": "python3-setuptools_scm", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"setuptools_scm\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/3d/ea/ac2bf868899d0d2e82ef72d350d97a846110c709bacf2d968431576ca915/setuptools_scm-9.2.2-py3-none-any.whl", + "sha256": "30e8f84d2ab1ba7cb0e653429b179395d0c33775d54807fc5f1dd6671801aef7" + } + ] + }, + { + "name": "python3-meson-python", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"meson-python\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/28/58/66db620a8a7ccb32633de9f403fe49f1b63c68ca94e5c340ec5cceeb9821/meson_python-0.18.0-py3-none-any.whl", + "sha256": "3b0fe051551cc238f5febb873247c0949cd60ded556efa130aa57021804868e2" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/c0/57/e69a1de45ec7a99a707e9f1a5defa035a48de0cae2d8582451c72d2db456/pyproject_metadata-0.10.0-py3-none-any.whl", + "sha256": "b1e439a9f7560f9792ee5975dcf5e89d2510b1fc84a922d7e5d665aa9102d966" + } + ] + }, + { + "name": "python3-numpy", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"numpy\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/76/65/21b3bc86aac7b8f2862db1e808f1ea22b028e30a225a34a5ede9bf8678f2/numpy-2.3.5.tar.gz", + "sha256": "784db1dcdab56bf0517743e746dfb0f885fc68d948aba86eeec2cba234bdf1c0" + } + ] + }, + { + "name": "python3-contourpy", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"contourpy\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", + "sha256": "083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/76/65/21b3bc86aac7b8f2862db1e808f1ea22b028e30a225a34a5ede9bf8678f2/numpy-2.3.5.tar.gz", + "sha256": "784db1dcdab56bf0517743e746dfb0f885fc68d948aba86eeec2cba234bdf1c0" + } + ] + }, + { + "name": "python3-cycler", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"cycler\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", + "sha256": "85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30" + } + ] + }, + { + "name": "python3-fonttools", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"fonttools\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/33/f9/0e84d593c0e12244150280a630999835a64f2852276161b62a0f98318de0/fonttools-4.61.0.tar.gz", + "sha256": "ec520a1f0c7758d7a858a00f090c1745f6cde6a7c5e76fb70ea4044a15f712e7" + } + ] + }, + { + "name": "python3-cppy", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"cppy\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/8b/3c/823fda3f226d84f983e48005527a6dd2dc365220ac4f098b770779d9f4a1/cppy-1.3.1-py3-none-any.whl", + "sha256": "7ca132b6ef6187384738804bd3a453d4eab7e3274df6dcd35e5d92aae3404717" + } + ] + }, + { + "name": "python3-kiwisolver", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"kiwisolver\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/5c/3c/85844f1b0feb11ee581ac23fe5fce65cd049a200c1446708cc1b7f922875/kiwisolver-1.4.9.tar.gz", + "sha256": "c3b22c26c6fd6811b0ae8363b95ca8ce4ea3c202d3d0975b2914310ceb1bcc4d" + } + ] + }, + { + "name": "python3-pillow", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pillow\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/5a/b0/cace85a1b0c9775a9f8f5d5423c8261c858760e2466c79b2dd184638b056/pillow-12.0.0.tar.gz", + "sha256": "87d4f8125c9988bfbed67af47dd7a953e2fc7b0cc1e7800ec6d2080d490bb353" + } + ] + }, + { + "name": "python3-six", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"six\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", + "sha256": "4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274" + } + ] + }, + { + "name": "python3-pyparsing", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pyparsing\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/10/5e/1aa9a93198c6b64513c9d7752de7422c06402de6600a8767da1524f9570b/pyparsing-3.2.5-py3-none-any.whl", + "sha256": "e38a4f02064cf41fe6593d328d0512495ad1f3d8a91c4f73fc401b3079a59a5e" + } + ] + }, + { + "name": "python3-backports_functools_lru_cache", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"backports_functools_lru_cache\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/c6/c6/4761a2ccb03d650ca803b11a7cdd69ff0696926d3fea218c8ca22c808448/backports.functools_lru_cache-2.0.0-py2.py3-none-any.whl", + "sha256": "0a754323a46847735a112677fb8807b45f6d824d02a5795a50905218ac56a0d6" + } + ] + }, + { + "name": "python3-python-dateutil", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"python-dateutil\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", + "sha256": "a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", + "sha256": "4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274" + } + ] + }, + { + "name": "python3-pycollada", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pycollada\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/76/65/21b3bc86aac7b8f2862db1e808f1ea22b028e30a225a34a5ede9bf8678f2/numpy-2.3.5.tar.gz", + "sha256": "784db1dcdab56bf0517743e746dfb0f885fc68d948aba86eeec2cba234bdf1c0" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/d1/75/04e83be415fc67fa29d2447eb3248ea3bb79c2243be3f2fdfcca3699ce8b/pycollada-0.9.2-py3-none-any.whl", + "sha256": "12fbeef6461688b6b3775c50196a2bb5f8813c0d39923a5a49681a75eb4622c9" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", + "sha256": "a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", + "sha256": "4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274" + } + ] + }, + { + "name": "python3-ply", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"ply\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl", + "sha256": "096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce" + } + ] + }, + { + "name": "python3-requests", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"requests\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl", + "sha256": "97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", + "sha256": "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", + "sha256": "771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", + "sha256": "2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/56/1a/9ffe814d317c5224166b23e7c47f606d6e473712a2fad0f704ea9b99f246/urllib3-2.6.0-py3-none-any.whl", + "sha256": "c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f" + } + ] + }, + { + "name": "python3-pyyaml", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pyyaml\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", + "sha256": "d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f" + } + ] + }, + { + "name": "python3-scikit_build_core", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"scikit_build_core\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", + "sha256": "a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/43/49/ec16b3db6893db788ae35f98506ff5a9c25dca7eb18cc38ada8a4c1dc944/scikit_build_core-0.11.6-py3-none-any.whl", + "sha256": "ce6d8fe64e6b4c759ea0fb95d2f8a68f60d2df31c2989838633b8ec930736360" + } + ] + }, + { + "name": "python3-lark", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"lark\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/82/3d/14ce75ef66813643812f3093ab17e46d3a206942ce7376d31ec2d36229e7/lark-1.3.1-py3-none-any.whl", + "sha256": "c629b661023a014c37da873b4ff58a817398d12635d3bbb2c5a03be7fe5d1e12" + } + ] + }, + { + "name": "python3-pysolar", + "buildsystem": "simple", + "build-commands": [ + "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pysolar\" --no-build-isolation" + ], + "sources": [ + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/76/65/21b3bc86aac7b8f2862db1e808f1ea22b028e30a225a34a5ede9bf8678f2/numpy-2.3.5.tar.gz", + "sha256": "784db1dcdab56bf0517743e746dfb0f885fc68d948aba86eeec2cba234bdf1c0" + }, + { + "type": "file", + "url": "https://files.pythonhosted.org/packages/71/d4/d9440ff5da6547ac2587f93a9af7e779be0aed78e1f0734dede94e440f6b/pysolar-0.13-py3-none-any.whl", + "sha256": "9019323af1a4db0b1cd5df5570b34a22b290f5ee817497aacfd63475779da004" + } + ] + } + ] +}