diff --git a/.SRCINFO b/.SRCINFO index b22b680..c1740e3 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,52 +1,47 @@ pkgbase = freecad-git pkgdesc = A general purpose 3D CAD modeler - git checkout - pkgver = 0.21.0.31043.g7a8a453746 + pkgver = 0.22.0.36999.ged77603af9 pkgrel = 1 url = https://www.freecad.org/ arch = x86_64 license = LGPL - checkdepends = fmt checkdepends = pugixml makedepends = boost makedepends = cmake - makedepends = coin makedepends = eigen makedepends = git makedepends = ninja - makedepends = python-shiboken2 - makedepends = shiboken2 + makedepends = nlohmann-json + makedepends = shiboken6 makedepends = swig depends = boost-libs + depends = coin + depends = fmt depends = glew depends = jsoncpp depends = med depends = netcdf depends = opencascade depends = openmpi - depends = pyside2 - depends = pyside2-tools + depends = pyside6 + depends = pyside6-tools depends = python-yaml depends = python-matplotlib depends = python-packaging depends = python-pivy depends = python-ply - depends = qt5-svg - depends = qt5-tools - depends = qt5-webengine - depends = qt5-webchannel - depends = qt5-x11extras - depends = qt5-xmlpatterns - depends = qt5-base + depends = qt6-svg + depends = qt6-tools + depends = qt6-base + depends = qt6-5compat depends = shared-mime-info - depends = xerces-c depends = vtk - optdepends = povray: ray tracing support - optdepends = luxcorerender: ray tracing support + depends = verdict + depends = xerces-c + depends = yaml-cpp optdepends = libspnav: 3D mouse support optdepends = openscad: OpenSCAD support optdepends = graphviz: dependency graph support - optdepends = python-markdown: markdown support in addon manager - optdepends = python-gitpython: support downloading addons with git optdepends = python-pip: support installing python dependencies for addons optdepends = calculix-ccx: FEM solver backend provides = freecad diff --git a/PKGBUILD b/PKGBUILD index 0972d0f..dc4850c 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer: Adrian Insaurralde pkgname=freecad-git -pkgver=0.21.0.31043.g7a8a453746 +pkgver=1.0rc1 pkgrel=1 pkgdesc='A general purpose 3D CAD modeler - git checkout' arch=('x86_64') @@ -10,118 +10,99 @@ url='https://www.freecad.org/' license=('LGPL') depends=( boost-libs +coin +fmt glew jsoncpp med netcdf opencascade openmpi -pyside2 -pyside2-tools +pyside6 +pyside6-tools python-yaml python-matplotlib python-packaging python-pivy python-ply -qt5-svg -qt5-tools -qt5-webengine -qt5-webchannel -qt5-x11extras -qt5-xmlpatterns -qt5-base +qt6-svg +qt6-tools +qt6-base +qt6-5compat shared-mime-info -xerces-c vtk +verdict +xerces-c +yaml-cpp ) makedepends=( boost cmake -coin eigen git ninja -python-shiboken2 -shiboken2 +nlohmann-json +shiboken6 swig ) checkdepends=( -fmt pugixml ) optdepends=( -'povray: ray tracing support' -'luxcorerender: ray tracing support' 'libspnav: 3D mouse support' 'openscad: OpenSCAD support' 'graphviz: dependency graph support' -'python-markdown: markdown support in addon manager' -'python-gitpython: support downloading addons with git' 'python-pip: support installing python dependencies for addons' 'calculix-ccx: FEM solver backend' ) provides=('freecad') conflicts=('freecad' 'freecad-appimage' 'freecad-appimage-git') -source=("git+https://github.com/FreeCAD/FreeCAD.git") +source=("git+https://github.com/FreeCAD/FreeCAD.git#tag=$pkgver") md5sums=('SKIP') -pkgver() { - cd FreeCAD - read -d$'/n' -r major minor patch < <(grep -Po "set\(PACKAGE_VERSION_(MAJOR|MINOR|PATCH) \"\K[0-9]*" CMakeLists.txt) || true - count=$((24266 + $(git rev-list --count d29fd7d..HEAD) )) - hash=$(git rev-parse --short HEAD) - printf "%d.%d.%d.%d.g%s" "$major" "$minor" "$patch" "$count" "$hash" -} - prepare() { cd FreeCAD + git submodule update --init } build() { - cd FreeCAD - - cmake -Wno-dev -G Ninja -B build -S . \ - -D BUILD_ENABLE_CXX_STD=C++17 \ - -D BUILD_FEM=ON \ - -D BUILD_MESH=ON \ + cmake \ + -B build \ -D BUILD_FLAT_MESH=ON \ - -D BUILD_MESH_PART=ON \ - -D BUILD_SHIP=ON \ -D BUILD_DESIGNER_PLUGIN=ON \ - -D CMAKE_BUILD_TYPE=None \ - -D CMAKE_C_FLAGS="${CFLAGS} -fPIC -w" \ - -D CMAKE_CXX_FLAGS="${CXXFLAGS} -fPIC -w" \ + -D FREECAD_QT_VERSION=6 \ + -D CMAKE_BUILD_TYPE=Release \ + -D CMAKE_C_FLAGS="$CFLAGS -ffat-lto-objects -fPIC -w" \ + -D CMAKE_CXX_FLAGS="$CXXFLAGS -ffat-lto-objects -fPIC -w" \ + -D CMAKE_INSTALL_DATADIR=/usr/share/freecad \ + -D CMAKE_INSTALL_DATAROOTDIR=/usr/share \ + -D CMAKE_INSTALL_DOCDIR=/usr/share/freecad/doc \ + -D CMAKE_INSTALL_PREFIX=/usr/lib/freecad \ -D FREECAD_USE_EXTERNAL_PIVY=ON \ -D FREECAD_USE_QT_FILEDIALOG=ON \ - -D PYTHON_EXECUTABLE=/usr/bin/python \ -D INSTALL_TO_SITEPACKAGES=ON \ - -D CMAKE_INSTALL_PREFIX='/usr/lib/freecad' \ - -D CMAKE_INSTALL_DATADIR='../../share/freecad' \ - -D CMAKE_INSTALL_DATAROOTDIR='../../share' \ - -D CMAKE_INSTALL_DOCDIR='../../doc/freecad' - - cmake --build build + -D ENABLE_DEVELOPER_TESTS=OFF \ + -G Ninja \ + -S FreeCAD \ + -W no-dev + ninja -C build } -check() { - cd FreeCAD/build - LD_LIBRARY_PATH=lib bin/FreeCADCmd --console --run-test 0 -} +# check() { +# cd build +# LD_LIBRARY_PATH=lib bin/FreeCADCmd --console --run-test 0 +# } package() { - cd FreeCAD - DESTDIR="${pkgdir}" cmake --install build + DESTDIR="$pkgdir" ninja -C build install - # package thumbnailer - install src/Tools/freecad-thumbnailer "${pkgdir}/usr/lib/freecad/bin/freecad-thumbnailer" - - # links for bin - mkdir -p "${pkgdir}"/usr/bin - FILES="${pkgdir}"/usr/lib/freecad/bin/* - for f in $FILES - do - ln -s '../lib/freecad/bin/'$(basename $f) "${pkgdir}"/usr/bin/$(basename $f) - done + # tools + install -Dm755 FreeCAD/src/Tools/{freecad-thumbnailer,fcinfo} -t "$pkgdir/usr/bin/" - install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 LICENSE + # symlinks + install -d "$pkgdir/usr/bin" + ln -sf /usr/lib/freecad/bin/FreeCAD "$pkgdir/usr/bin/freecad" + ln -sf /usr/lib/freecad/bin/FreeCAD "$pkgdir/usr/bin/FreeCAD" + ln -sf /usr/lib/freecad/bin/FreeCADCmd "$pkgdir/usr/bin/freecadcmd" + ln -sf /usr/lib/freecad/bin/FreeCADCmd "$pkgdir/usr/bin/FreeCADCmd" }