mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
117 lines
5.6 KiB
Bash
117 lines
5.6 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
|
|
# Contributor: Martin Rodriguez Reboredo
|
|
# Contributor: Jamin Collins
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
# - remove makedepends on ospray
|
|
|
|
buildarch=8
|
|
highmem=1
|
|
|
|
pkgname=freecad
|
|
pkgver=0.21.2
|
|
pkgrel=25
|
|
pkgdesc='Feature based parametric 3D CAD modeler'
|
|
arch=(x86_64)
|
|
url='https://freecadweb.org/'
|
|
license=(LGPL)
|
|
depends=(asciidoctor boost-libs coin fmt glew jsoncpp libspnav med-openmpi
|
|
netcdf opencascade openmpi pugixml pyside6 python-gitpython
|
|
python-markdown python-matplotlib python-pip python-pivy python-ply
|
|
python-yaml qt6-svg qt6-tools qt6-webengine verdict xerces-c)
|
|
makedepends=(boost cgns cmake eigen git libharu liblas ninja nlohmann-json
|
|
openvdb openvr pdal postgresql-libs python-mpi4py shiboken6
|
|
swig utf8cpp)
|
|
optdepends=('graphviz: dependency graph support'
|
|
'openscad: OpenSCAD support')
|
|
options=(!lto)
|
|
source=("git+https://github.com/$pkgname/$pkgname#tag=$pkgver"
|
|
freecad-vtk9.3.patch
|
|
pyside6.patch
|
|
62c3836c.patch
|
|
https://github.com/FreeCAD/FreeCAD/commit/6043c904.patch
|
|
https://github.com/FreeCAD/FreeCAD/commit/ac9a88c2.patch
|
|
https://github.com/FreeCAD/FreeCAD/commit/ccaee189.patch
|
|
https://github.com/FreeCAD/FreeCAD/commit/72fc04bf.patch
|
|
desktop-icon-under-wayland.patch
|
|
fixups-with-qt6-enums.patch
|
|
boost-1.86.patch)
|
|
b2sums=('SKIP'
|
|
'f0b5a4648eb4befabb2339bae4e42044e436aa50ad1c2a25b243c965272a217b2c1c69c34d0d20bd01c573008de10f733b74857ffecac502b8558a7095e305e5'
|
|
'eceb2d1b580fafaeec35de31fb3f4ec947ad32afe96734aa86d338364c97bbe5218506627957063c35ea2f360b7f7f916c9b7a1c0ef674c35d1f7972c070210e'
|
|
'eb474708c3611293cfe3dfc287418b606f7735f6eb306f44f7394cd7e65256daddcee35984211982f25064e7ec81cc038d4eeb8d34af7399058ecfb6e8e99e9f'
|
|
'de4b98c4b488045f9810dce124c271d6f4f629922e026f2d4f1efd6c9060b92309db41f8e0f6ebe5e7a27399911ac908cc8935c2501214326dbb1c4b739d46cc'
|
|
'02284db1b17dc88d0522eb3a726076b9f1ded740fdab1a185e48534c3606c77e51a12690b02bf5e0d9d1f72d1d8389ba84a54cba274200e69b6b10a431bbfdfe'
|
|
'96eae9bf5af8c041876cf6afd09f2b0dbc12369469ceb6d5c4607fccee8914dfd9b3eef8291ccdc6aded0369a6bcf0fb159dbfb8172b0f7b95324c22310e21f5'
|
|
'96298a048569e6c4d5864504eeb908cdcbe1e22d7485969a7858bd08e66d1d9c050b5d4393e42801afdf3e31e48f56ec21bf1f1f2b1e19c02f54cc4d32d115f3'
|
|
'8af23999e48d3ac4c80a259e12ba9e25f750c3ee1da047131ddc60228ad9c73434405949acbee89e82981be55ebfac4aec8c7d00e421bbee864cde199a07267f'
|
|
'9cb72c3df3f1c8e49b4242b1e05f51c68e6df98891a0c485488433bb9eef1e814fe712761b62ef09cb37551643819a48cbf704df2121bf33401e410a05dce722'
|
|
'6aa942c0977d5e1eb0c30c7da892faabcdd0973519bdee59037eaf08db02126802cfe951b943ff04a7ba57ad082f6c3a71db6f2c879888056042adbcc6b89764')
|
|
|
|
prepare() {
|
|
patch -d freecad -Np1 -i "$srcdir"/freecad-vtk9.3.patch
|
|
patch -d freecad -Np1 -i ../62c3836c.patch # Fix Qt6 issues in addons manager
|
|
patch -d freecad -Np1 -i ../pyside6.patch # Fix PySide 6 issues
|
|
patch -d freecad -Np1 -i ../ac9a88c2.patch # Fix more pyside6 issues
|
|
patch -d freecad -Np1 -i ../6043c904.patch # Fix build with Python 3.12
|
|
patch -d freecad -Np1 -i ../ccaee189.patch # Fix NaviCube drawing and interaction with Qt6
|
|
patch -d freecad -Np1 -i ../72fc04bf.patch # Fix Python import
|
|
patch -d freecad -Np1 -i ../desktop-icon-under-wayland.patch # Install desktop file and icon with the proper name
|
|
patch -d freecad -Np1 -i ../fixups-with-qt6-enums.patch # Discard int conversions in WBs Python sources
|
|
sed -e 's|Shiboken::Module::getTypes(requiredModule)|reinterpret_cast<PyTypeObject **>(Shiboken::Module::getTypes(requiredModule))|' \
|
|
-i freecad/src/Gui/PythonWrapper.cpp # Fix build with PySide 6.7
|
|
cd freecad
|
|
git cherry-pick -n f555a25f9e67e628e8075fc8599d7c11807eaddd # Fix build with boost 1.85
|
|
patch -p1 -i ../boost-1.86.patch
|
|
}
|
|
|
|
build() {
|
|
# -D BUILD_DESIGNER_PLUGIN=ON \
|
|
cmake \
|
|
-B build \
|
|
-D BUILD_FLAT_MESH=ON \
|
|
-D BUILD_ENABLE_CXX_STD=C++17 \
|
|
-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 FREECAD_QT_VERSION=6 \
|
|
-D INSTALL_TO_SITEPACKAGES=ON \
|
|
-D PYTHON_EXECUTABLE=/usr/bin/python \
|
|
-G Ninja \
|
|
-S $pkgname \
|
|
-W no-dev
|
|
ninja -C build
|
|
}
|
|
|
|
package() {
|
|
DESTDIR="$pkgdir" ninja -C build install
|
|
|
|
# tools
|
|
install -Dm755 $pkgname/src/Tools/{$pkgname-thumbnailer,fcinfo} -t "$pkgdir/usr/bin/"
|
|
|
|
# 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"
|
|
}
|