diff options
-rw-r--r-- | .SRCINFO | 42 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | PKGBUILD | 130 |
3 files changed, 82 insertions, 91 deletions
@@ -1,46 +1,49 @@ pkgbase = freecad-git pkgdesc = A general purpose 3D CAD modeler - git checkout - pkgver = 0.19.r421.gfafff351aa + pkgver = 0.22.0.36999.ged77603af9 pkgrel = 1 - epoch = 0 - url = https://www.freecadweb.org/ + url = https://www.freecad.org/ arch = x86_64 license = LGPL + checkdepends = pugixml makedepends = boost makedepends = cmake - makedepends = coin makedepends = eigen - makedepends = gcc-fortran - makedepends = gendesk makedepends = git makedepends = ninja - makedepends = pyside2 - 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-tools + depends = pyside6 + depends = pyside6-tools depends = python-yaml depends = python-matplotlib + depends = python-packaging depends = python-pivy depends = python-ply - depends = python-pyside2 - depends = qt5-svg - depends = qt5-tools - depends = qt5-webkit - depends = qt5-x11extras - depends = qt5-xmlpatterns + depends = qt6-svg + depends = qt6-tools + depends = qt6-base + depends = qt6-5compat depends = shared-mime-info + depends = vtk + depends = verdict depends = xerces-c - optdepends = povray: ray tracing support - optdepends = luxcorerender: ray tracing support - optdepends = libspnav: 3d mouse support + depends = yaml-cpp + optdepends = libspnav: 3D mouse support + optdepends = openscad: OpenSCAD support + optdepends = graphviz: dependency graph support + optdepends = python-pip: support installing python dependencies for addons + optdepends = calculix-ccx: FEM solver backend provides = freecad conflicts = freecad conflicts = freecad-appimage @@ -49,4 +52,3 @@ pkgbase = freecad-git md5sums = SKIP pkgname = freecad-git - diff --git a/.gitignore b/.gitignore index 101b10fbef8e..d467575513ba 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ pkg/ FreeCAD/ *.tar.xz *.tar.gz +*.tar.zst @@ -1,53 +1,59 @@ # Maintainer: Grey Christoforo <first name at last name dot net> +# Maintainer: Adrian Insaurralde <adrianinsaval at gmail dot com> pkgname=freecad-git -pkgver=0.19.r421.gfafff351aa +pkgver=0.22.0.36999.ged77603af9 pkgrel=1 -epoch=0 pkgdesc='A general purpose 3D CAD modeler - git checkout' arch=('x86_64') -url='https://www.freecadweb.org/' +url='https://www.freecad.org/' license=('LGPL') depends=( boost-libs +coin +fmt glew jsoncpp med netcdf opencascade openmpi -pyside2-tools +pyside6 +pyside6-tools python-yaml python-matplotlib +python-packaging python-pivy python-ply -python-pyside2 -qt5-svg -qt5-tools -qt5-webkit -qt5-x11extras -qt5-xmlpatterns +qt6-svg +qt6-tools +qt6-base +qt6-5compat shared-mime-info +vtk +verdict xerces-c +yaml-cpp ) makedepends=( boost cmake -coin eigen -gcc-fortran -gendesk git ninja -pyside2 -python-shiboken2 -shiboken2 +nlohmann-json +shiboken6 swig ) +checkdepends=( +pugixml +) optdepends=( -'povray: ray tracing support' -'luxcorerender: ray tracing support' -'libspnav: 3d mouse support' +'libspnav: 3D mouse support' +'openscad: OpenSCAD support' +'graphviz: dependency graph support' +'python-pip: support installing python dependencies for addons' +'calculix-ccx: FEM solver backend' ) provides=('freecad') conflicts=('freecad' 'freecad-appimage' 'freecad-appimage-git') @@ -56,73 +62,55 @@ md5sums=('SKIP') pkgver() { cd FreeCAD - git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g' + 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 revert --no-edit 663ac994a794606e56d086cac85598517bd323dc - #git checkout 927fdc9edc + git submodule update --init } build() { - cd FreeCAD - - cmake -Wno-dev \ - -D BUILD_ENABLE_CXX_STD=C++14 \ - -D BUILD_QT5=ON \ - -D BUILD_FEM=ON \ - -D BUILD_MESH=ON \ - -D CMAKE_INSTALL_PREFIX="" \ - -D CMAKE_BUILD_TYPE=None \ - -D CMAKE_C_FLAGS="${CFLAGS} -fPIC -w" \ - -D CMAKE_CXX_FLAGS="${CXXFLAGS} -fPIC -w" \ + cmake \ + -B build \ + -D BUILD_FLAT_MESH=ON \ + -D BUILD_DESIGNER_PLUGIN=ON \ + -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_OCC_VARIANT="Official Version" \ -D FREECAD_USE_QT_FILEDIALOG=ON \ - -D PYTHON_EXECUTABLE=/usr/bin/python \ + -D INSTALL_TO_SITEPACKAGES=ON \ + -D ENABLE_DEVELOPER_TESTS=OFF \ -G Ninja \ - -B build_dir \ - -S . - - cmake --build build_dir + -S FreeCAD \ + -W no-dev + ninja -C build } check() { - cd FreeCAD - DESTDIR=check cmake --build build_dir -- install - - cd build_dir/check - export LD_LIBRARY_PATH=lib:${LD_LIBRARY_PATH} - #exit - export PYTHONPATH=lib - bin/FreeCADCmd --console --run-test 0 + cd build + LD_LIBRARY_PATH=lib bin/FreeCADCmd --console --run-test 0 } package() { - cd FreeCAD - local _destdir=/usr/local/freecad # maybe this belongs in /opt/freecad-git - DESTDIR="${pkgdir}${_destdir}" cmake --build build_dir -- install - - mkdir -p "${pkgdir}"/usr/{share,bin,lib} - - # links for bin - FILES="${pkgdir}${_destdir}"/bin/* - for f in $FILES - do - ln -s ${_destdir}/bin/$(basename $f) "${pkgdir}"/usr/bin/$(basename $f) - done - - # links for lib - FILES="${pkgdir}${_destdir}"/lib/* - for f in $FILES - do - ln -s ${_destdir}/lib/$(basename $f) "${pkgdir}"/usr/lib/$(basename $f) - done - - # manage share files - mv "${pkgdir}${_destdir}"/share/{applications,doc,icons,metainfo,mime,pixmaps,thumbnailers} "${pkgdir}"/usr/share + DESTDIR="$pkgdir" ninja -C build install + + # tools + install -Dm755 FreeCAD/src/Tools/{freecad-thumbnailer,fcinfo} -t "$pkgdir/usr/bin/" - install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 "${pkgdir}${_destdir}"/share/License.txt - 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" } |