Compare commits

...

10 commits

Author SHA1 Message Date
lod
d2457d806e rc1 build 2024-09-15 19:39:48 +02:00
Adrian Insaurralde
a0b12aade0 Add missing qt6-5compat dependency 2024-04-29 20:28:57 -04:00
Adrian Insaurralde
8667fd6a3b Build with qt6 and make pkgbuild more similar to official stable pkgbuild 2024-04-28 12:23:08 -04:00
Adrian Insaurralde
15eb519d18 Update PKGBUILD to pull submodules 2023-11-14 15:36:48 -03:00
Adrian Insaurralde
4ac518c3b0 Update dependencies and pkgver 2023-10-02 22:09:22 -03:00
Adrian Insaurralde
f8553cc7fa Add adios2 dependency (optional for vtk, but cmake configuration fails without it) 2023-03-09 00:05:01 -03:00
Adrian Insaurralde
f643cde5af remove useless PYTHON_EXECUTABLE cmake option 2023-03-08 23:59:09 -03:00
Adrian Insaurralde
cbe287b593 Add verdict as dependency (optional for vtk, but smesh build fails without it) 2023-03-08 23:58:43 -03:00
Adrian Insaurralde
9d76b840d3 Add fmt as runtime dependency 2023-03-08 23:27:24 -03:00
Adrian Insaurralde
44c45e84a1 fix CMAKE_INSTALL paths 2022-12-27 00:59:03 -03:00
2 changed files with 58 additions and 82 deletions

View file

@ -1,52 +1,47 @@
pkgbase = freecad-git pkgbase = freecad-git
pkgdesc = A general purpose 3D CAD modeler - git checkout pkgdesc = A general purpose 3D CAD modeler - git checkout
pkgver = 0.21.0.31043.g7a8a453746 pkgver = 0.22.0.36999.ged77603af9
pkgrel = 1 pkgrel = 1
url = https://www.freecad.org/ url = https://www.freecad.org/
arch = x86_64 arch = x86_64
license = LGPL license = LGPL
checkdepends = fmt
checkdepends = pugixml checkdepends = pugixml
makedepends = boost makedepends = boost
makedepends = cmake makedepends = cmake
makedepends = coin
makedepends = eigen makedepends = eigen
makedepends = git makedepends = git
makedepends = ninja makedepends = ninja
makedepends = python-shiboken2 makedepends = nlohmann-json
makedepends = shiboken2 makedepends = shiboken6
makedepends = swig makedepends = swig
depends = boost-libs depends = boost-libs
depends = coin
depends = fmt
depends = glew depends = glew
depends = jsoncpp depends = jsoncpp
depends = med depends = med
depends = netcdf depends = netcdf
depends = opencascade depends = opencascade
depends = openmpi depends = openmpi
depends = pyside2 depends = pyside6
depends = pyside2-tools depends = pyside6-tools
depends = python-yaml depends = python-yaml
depends = python-matplotlib depends = python-matplotlib
depends = python-packaging depends = python-packaging
depends = python-pivy depends = python-pivy
depends = python-ply depends = python-ply
depends = qt5-svg depends = qt6-svg
depends = qt5-tools depends = qt6-tools
depends = qt5-webengine depends = qt6-base
depends = qt5-webchannel depends = qt6-5compat
depends = qt5-x11extras
depends = qt5-xmlpatterns
depends = qt5-base
depends = shared-mime-info depends = shared-mime-info
depends = xerces-c
depends = vtk depends = vtk
optdepends = povray: ray tracing support depends = verdict
optdepends = luxcorerender: ray tracing support depends = xerces-c
depends = yaml-cpp
optdepends = libspnav: 3D mouse support optdepends = libspnav: 3D mouse support
optdepends = openscad: OpenSCAD support optdepends = openscad: OpenSCAD support
optdepends = graphviz: dependency graph 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 = python-pip: support installing python dependencies for addons
optdepends = calculix-ccx: FEM solver backend optdepends = calculix-ccx: FEM solver backend
provides = freecad provides = freecad

107
PKGBUILD
View file

@ -2,7 +2,7 @@
# Maintainer: Adrian Insaurralde <adrianinsaval at gmail dot com> # Maintainer: Adrian Insaurralde <adrianinsaval at gmail dot com>
pkgname=freecad-git pkgname=freecad-git
pkgver=0.21.0.31043.g7a8a453746 pkgver=1.0rc1
pkgrel=1 pkgrel=1
pkgdesc='A general purpose 3D CAD modeler - git checkout' pkgdesc='A general purpose 3D CAD modeler - git checkout'
arch=('x86_64') arch=('x86_64')
@ -10,118 +10,99 @@ url='https://www.freecad.org/'
license=('LGPL') license=('LGPL')
depends=( depends=(
boost-libs boost-libs
coin
fmt
glew glew
jsoncpp jsoncpp
med med
netcdf netcdf
opencascade opencascade
openmpi openmpi
pyside2 pyside6
pyside2-tools pyside6-tools
python-yaml python-yaml
python-matplotlib python-matplotlib
python-packaging python-packaging
python-pivy python-pivy
python-ply python-ply
qt5-svg qt6-svg
qt5-tools qt6-tools
qt5-webengine qt6-base
qt5-webchannel qt6-5compat
qt5-x11extras
qt5-xmlpatterns
qt5-base
shared-mime-info shared-mime-info
xerces-c
vtk vtk
verdict
xerces-c
yaml-cpp
) )
makedepends=( makedepends=(
boost boost
cmake cmake
coin
eigen eigen
git git
ninja ninja
python-shiboken2 nlohmann-json
shiboken2 shiboken6
swig swig
) )
checkdepends=( checkdepends=(
fmt
pugixml pugixml
) )
optdepends=( optdepends=(
'povray: ray tracing support'
'luxcorerender: ray tracing support'
'libspnav: 3D mouse support' 'libspnav: 3D mouse support'
'openscad: OpenSCAD support' 'openscad: OpenSCAD support'
'graphviz: dependency graph 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' 'python-pip: support installing python dependencies for addons'
'calculix-ccx: FEM solver backend' 'calculix-ccx: FEM solver backend'
) )
provides=('freecad') provides=('freecad')
conflicts=('freecad' 'freecad-appimage' 'freecad-appimage-git') 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') 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() { prepare() {
cd FreeCAD cd FreeCAD
git submodule update --init
} }
build() { build() {
cd FreeCAD cmake \
-B build \
cmake -Wno-dev -G Ninja -B build -S . \
-D BUILD_ENABLE_CXX_STD=C++17 \
-D BUILD_FEM=ON \
-D BUILD_MESH=ON \
-D BUILD_FLAT_MESH=ON \ -D BUILD_FLAT_MESH=ON \
-D BUILD_MESH_PART=ON \
-D BUILD_SHIP=ON \
-D BUILD_DESIGNER_PLUGIN=ON \ -D BUILD_DESIGNER_PLUGIN=ON \
-D CMAKE_BUILD_TYPE=None \ -D FREECAD_QT_VERSION=6 \
-D CMAKE_C_FLAGS="${CFLAGS} -fPIC -w" \ -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_CXX_FLAGS="${CXXFLAGS} -fPIC -w" \ -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_EXTERNAL_PIVY=ON \
-D FREECAD_USE_QT_FILEDIALOG=ON \ -D FREECAD_USE_QT_FILEDIALOG=ON \
-D PYTHON_EXECUTABLE=/usr/bin/python \
-D INSTALL_TO_SITEPACKAGES=ON \ -D INSTALL_TO_SITEPACKAGES=ON \
-D CMAKE_INSTALL_PREFIX='/usr/lib/freecad' \ -D ENABLE_DEVELOPER_TESTS=OFF \
-D CMAKE_INSTALL_DATADIR='../../share/freecad' \ -G Ninja \
-D CMAKE_INSTALL_DATAROOTDIR='../../share' \ -S FreeCAD \
-D CMAKE_INSTALL_DOCDIR='../../doc/freecad' -W no-dev
ninja -C build
cmake --build build
} }
check() { # check() {
cd FreeCAD/build # cd build
LD_LIBRARY_PATH=lib bin/FreeCADCmd --console --run-test 0 # LD_LIBRARY_PATH=lib bin/FreeCADCmd --console --run-test 0
} # }
package() { package() {
cd FreeCAD DESTDIR="$pkgdir" ninja -C build install
DESTDIR="${pkgdir}" cmake --install build
# package thumbnailer # tools
install src/Tools/freecad-thumbnailer "${pkgdir}/usr/lib/freecad/bin/freecad-thumbnailer" install -Dm755 FreeCAD/src/Tools/{freecad-thumbnailer,fcinfo} -t "$pkgdir/usr/bin/"
# 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
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"
} }