PKGBUILDs/community/freecad/PKGBUILD
2022-08-13 00:08:19 +00:00

79 lines
2.8 KiB
Bash

# Maintainer: Alexander F. Rødseth <xyproto@archlinux.org>
# Contributor: loqs <bugs-archlinux@entropy-collector.net>
# Contributor: Gabriel Souza Franco <gabrielfrancosouza@gmail.com>
# Contributor: Florian Pritz
# Contributor: Jonas Heinrich <onny@project-insanity.org>
# Contributor: Jordi De Groof <jordi.degroof@gmail.com>
# Contributor: mickele
# Contributor: manwithgrenade
# Contributor: bricem13
# Contributor: gborzi
# Contributor: Adrian Insaurralde
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - remove makedepends on ospray
buildarch=8
highmem=1
pkgname=freecad
pkgver=0.20.1
pkgrel=2
pkgdesc='Feature based parametric 3D CAD modeler'
arch=(x86_64)
url='https://freecadweb.org/'
license=(LGPL)
depends=(boost-libs glew jsoncpp libspnav med-openmpi netcdf opencascade
openmpi pyside2 pyside2-tools python-gitpython python-matplotlib
python-pivy python-ply pugixml qt5-svg qt5-tools qt5-webkit
qt5-x11extras qt5-xmlpatterns xerces-c)
makedepends=(boost cgns cli11 cmake coin eigen fmt gcc-fortran git jdk-openjdk
libharu liblas ninja openmpi openvdb openvr pdal
postgresql-libs python-mpi4py python-shiboken2 shiboken2 swig
utf8cpp)
optdepends=('fmt: for the FEM workbench'
'graphviz: dependency graph support'
'openscad: OpenSCAD support'
'python-markdown: Markdown support in addon manager'
'python-gitpython: support downloading addons with git')
source=("git+https://github.com/$pkgname/$pkgname#commit=7f23e793eb136def6aee0f0ce8131bbbb6cd21e6") # tag: 0.20.1
b2sums=('SKIP')
build() {
cmake \
-B build \
-D BUILD_ENABLE_CXX_STD=C++17 \
-D BUILD_FLAT_MESH=ON \
-D BUILD_QT5=ON \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_C_FLAGS="$CFLAGS -fPIC -w" \
-D CMAKE_CXX_FLAGS="$CXXFLAGS -fPIC -w" \
-D CMAKE_INSTALL_BINDIR=/usr/lib/freecad/bin \
-D CMAKE_INSTALL_DATADIR=/usr/share/freecad \
-D CMAKE_INSTALL_DATAROOTDIR=/usr/share \
-D CMAKE_INSTALL_DOCDIR=/usr/share/freecad/doc \
-D CMAKE_INSTALL_LIBDIR=/usr/lib/freecad/lib \
-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 \
-G Ninja \
-S $pkgname
ninja -C build
}
package() {
DESTDIR="$pkgdir" ninja -C build install
# Thumbnailer
install -Dm755 $pkgname/src/Tools/$pkgname-thumbnailer -t "$pkgdir/usr/bin/"
# Symlinks in /usr/bin
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"
}