diff --git a/extra/freecad/.SRCINFO b/extra/freecad/.SRCINFO index 6f81c9e62..25634225e 100644 --- a/extra/freecad/.SRCINFO +++ b/extra/freecad/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = freecad pkgdesc = Feature based parametric 3D CAD modeler pkgver = 0.21.2 - pkgrel = 20 + pkgrel = 21 url = https://freecadweb.org/ arch = x86_64 license = LGPL @@ -23,6 +23,7 @@ pkgbase = freecad makedepends = swig makedepends = utf8cpp makedepends = nlohmann-json + depends = asciidoctor depends = boost-libs depends = coin depends = fmt @@ -49,12 +50,14 @@ pkgbase = freecad depends = verdict optdepends = graphviz: dependency graph support optdepends = openscad: OpenSCAD support + options = !lto source = git+https://github.com/freecad/freecad#tag=0.21.2 source = freecad-vtk9.3.patch source = pyside6.patch source = 62c3836c.patch source = https://github.com/FreeCAD/FreeCAD/commit/6043c904.patch source = https://github.com/FreeCAD/FreeCAD/commit/ac9a88c2.patch + source = desktop-icon-under-wayland.patch source = fixups-with-qt6-enums.patch b2sums = b20da85de907a41b14581583f9d69cab8fe79b1bdd50c24fc299c649ef0bfd7723c0b23aebc68ca5bbdee2da22c959004c7b595e19b542b1ec06a7275c0f5ea7 b2sums = f0b5a4648eb4befabb2339bae4e42044e436aa50ad1c2a25b243c965272a217b2c1c69c34d0d20bd01c573008de10f733b74857ffecac502b8558a7095e305e5 @@ -62,6 +65,7 @@ pkgbase = freecad b2sums = eb474708c3611293cfe3dfc287418b606f7735f6eb306f44f7394cd7e65256daddcee35984211982f25064e7ec81cc038d4eeb8d34af7399058ecfb6e8e99e9f b2sums = de4b98c4b488045f9810dce124c271d6f4f629922e026f2d4f1efd6c9060b92309db41f8e0f6ebe5e7a27399911ac908cc8935c2501214326dbb1c4b739d46cc b2sums = 02284db1b17dc88d0522eb3a726076b9f1ded740fdab1a185e48534c3606c77e51a12690b02bf5e0d9d1f72d1d8389ba84a54cba274200e69b6b10a431bbfdfe + b2sums = 6ef009021e507b9291f60c9479148a9697f1da4d9965e26575d74c612162431a0fc61de2e3856d8ed51ca10d9b7f6c9d25a24ad86e9acadd30c0176646c682a3 b2sums = 9cb72c3df3f1c8e49b4242b1e05f51c68e6df98891a0c485488433bb9eef1e814fe712761b62ef09cb37551643819a48cbf704df2121bf33401e410a05dce722 pkgname = freecad diff --git a/extra/freecad/PKGBUILD b/extra/freecad/PKGBUILD index fc00aff41..4ebb38e20 100644 --- a/extra/freecad/PKGBUILD +++ b/extra/freecad/PKGBUILD @@ -18,12 +18,12 @@ highmem=1 pkgname=freecad pkgver=0.21.2 -pkgrel=20 +pkgrel=21 pkgdesc='Feature based parametric 3D CAD modeler' arch=(x86_64) url='https://freecadweb.org/' license=(LGPL) -depends=(boost-libs coin fmt glew jsoncpp libspnav med-openmpi netcdf +depends=(asciidoctor boost-libs coin fmt glew jsoncpp libspnav med-openmpi netcdf opencascade openmpi pugixml pyside6 python-gitpython python-markdown python-matplotlib python-pip python-pivy python-ply python-yaml qt6-svg qt6-tools qt6-webengine @@ -33,12 +33,14 @@ makedepends=(boost cgns cmake eigen git libharu liblas ninja openvdb openvr shiboken6 swig utf8cpp nlohmann-json) optdepends=('graphviz: dependency graph support' 'openscad: OpenSCAD support') +options=(!lto) source=("git+https://github.com/$pkgname/$pkgname#tag=$pkgver" freecad-vtk9.3.patch pyside6.patch 62c3836c.patch https://github.com/FreeCAD/FreeCAD/commit/6043c904.patch https://github.com/FreeCAD/FreeCAD/commit/ac9a88c2.patch + desktop-icon-under-wayland.patch fixups-with-qt6-enums.patch) b2sums=('b20da85de907a41b14581583f9d69cab8fe79b1bdd50c24fc299c649ef0bfd7723c0b23aebc68ca5bbdee2da22c959004c7b595e19b542b1ec06a7275c0f5ea7' 'f0b5a4648eb4befabb2339bae4e42044e436aa50ad1c2a25b243c965272a217b2c1c69c34d0d20bd01c573008de10f733b74857ffecac502b8558a7095e305e5' @@ -46,6 +48,7 @@ b2sums=('b20da85de907a41b14581583f9d69cab8fe79b1bdd50c24fc299c649ef0bfd7723c0b23 'eb474708c3611293cfe3dfc287418b606f7735f6eb306f44f7394cd7e65256daddcee35984211982f25064e7ec81cc038d4eeb8d34af7399058ecfb6e8e99e9f' 'de4b98c4b488045f9810dce124c271d6f4f629922e026f2d4f1efd6c9060b92309db41f8e0f6ebe5e7a27399911ac908cc8935c2501214326dbb1c4b739d46cc' '02284db1b17dc88d0522eb3a726076b9f1ded740fdab1a185e48534c3606c77e51a12690b02bf5e0d9d1f72d1d8389ba84a54cba274200e69b6b10a431bbfdfe' + '6ef009021e507b9291f60c9479148a9697f1da4d9965e26575d74c612162431a0fc61de2e3856d8ed51ca10d9b7f6c9d25a24ad86e9acadd30c0176646c682a3' '9cb72c3df3f1c8e49b4242b1e05f51c68e6df98891a0c485488433bb9eef1e814fe712761b62ef09cb37551643819a48cbf704df2121bf33401e410a05dce722') prepare() { @@ -54,17 +57,18 @@ prepare() { patch -d freecad -Np1 -i ../pyside6.patch patch -d freecad -Np1 -i ../ac9a88c2.patch # Fix more pyside6 issues patch -d freecad -Np1 -i ../6043c904.patch # Fix build with Python 3.12 + patch -d freecad -Np1 -i ../desktop-icon-under-wayland.patch # Install desktop file and icon with the proper name patch -d freecad -Np1 -i ../fixups-with-qt6-enums.patch # Discard int conversions in WBs Python sources sed -e 's|Shiboken::Module::getTypes(requiredModule)|reinterpret_cast(Shiboken::Module::getTypes(requiredModule))|' \ -i freecad/src/Gui/PythonWrapper.cpp # Fix build with PySide 6.7 } build() { + # -D BUILD_DESIGNER_PLUGIN=ON \ cmake \ -B build \ - -D BUILD_ENABLE_CXX_STD=C++17 \ -D BUILD_FLAT_MESH=ON \ - -D FREECAD_QT_VERSION=6 \ + -D BUILD_ENABLE_CXX_STD=C++17 \ -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_C_FLAGS="$CFLAGS -fPIC -w" \ -D CMAKE_CXX_FLAGS="$CXXFLAGS -fPIC -w" \ @@ -77,8 +81,9 @@ build() { -D FREECAD_USE_EXTERNAL_PIVY=ON \ -D FREECAD_USE_OCC_VARIANT='Official Version' \ -D FREECAD_USE_QT_FILEDIALOG=ON \ - -D PYTHON_EXECUTABLE=/usr/bin/python \ + -D FREECAD_QT_VERSION=6 \ -D INSTALL_TO_SITEPACKAGES=ON \ + -D PYTHON_EXECUTABLE=/usr/bin/python \ -G Ninja \ -S $pkgname \ -W no-dev diff --git a/extra/freecad/desktop-icon-under-wayland.patch b/extra/freecad/desktop-icon-under-wayland.patch new file mode 100644 index 000000000..cb7055c13 --- /dev/null +++ b/extra/freecad/desktop-icon-under-wayland.patch @@ -0,0 +1,40 @@ +diff --git a/src/Main/MainGui.cpp b/src/Main/MainGui.cpp +index dd032c367b..89e2d2e1a7 100644 +--- a/src/Main/MainGui.cpp ++++ b/src/Main/MainGui.cpp +@@ -164,7 +164,7 @@ int main( int argc, char ** argv ) + App::Application::Config()["SplashInfoColor" ] = "#8aadf4"; // light blue + App::Application::Config()["SplashInfoPosition" ] = "6,75"; + +- QGuiApplication::setDesktopFileName(QStringLiteral("org.freecad.FreeCAD.desktop")); ++ QGuiApplication::setDesktopFileName(QStringLiteral("org.freecad.FreeCAD")); + + try { + // Init phase =========================================================== +diff --git a/src/XDGData/CMakeLists.txt b/src/XDGData/CMakeLists.txt +index 9c70207f59..8c4cb7c74e 100644 +--- a/src/XDGData/CMakeLists.txt ++++ b/src/XDGData/CMakeLists.txt +@@ -25,12 +25,12 @@ install( + ) + + install( +- FILES org.freecadweb.FreeCAD.desktop ++ FILES org.freecad.FreeCAD.desktop + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications + ) + + install( +- FILES org.freecadweb.FreeCAD.svg ++ FILES org.freecad.FreeCAD.svg + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps + ) + +diff --git a/src/XDGData/org.freecadweb.FreeCAD.desktop b/src/XDGData/org.freecad.FreeCAD.desktop +similarity index 100% +rename from src/XDGData/org.freecadweb.FreeCAD.desktop +rename to src/XDGData/org.freecad.FreeCAD.desktop +diff --git a/src/XDGData/org.freecadweb.FreeCAD.svg b/src/XDGData/org.freecad.FreeCAD.svg +similarity index 100% +rename from src/XDGData/org.freecadweb.FreeCAD.svg +rename to src/XDGData/org.freecad.FreeCAD.svg