summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO42
-rw-r--r--.gitignore1
-rw-r--r--PKGBUILD130
3 files changed, 82 insertions, 91 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fe870fed350f..c1740e334dd9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 36077c279ebf..c66187cc40d7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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"
}