archpkgs/freecad-linkstage3-git/PKGBUILD

126 lines
3.0 KiB
Bash
Raw Normal View History

2021-01-01 22:13:29 +00:00
# Maintainer: Grey Christoforo <first name at last name dot net>
# Maintainer: Sebastiaan Lokhorst <sebastiaanlokhorst@gmail.com>
pkgname=freecad-linkstage3-git
2021-01-07 14:10:28 +00:00
pkgver=asm3.0.11.r3443.g7b21132ac0
2021-01-01 22:13:29 +00:00
pkgrel=1
epoch=0
pkgdesc='A general purpose 3D CAD modeler - git checkout'
arch=('x86_64')
url='https://www.freecadweb.org/'
license=('LGPL')
depends=(
boost-libs
glew
jsoncpp
libspnav
med
netcdf
opencascade
openmpi
pyside2-tools
python-yaml
python-matplotlib
python-pivy
python-ply
python-pyside2
qt5-svg
qt5-tools
qt5-webkit
qt5-x11extras
qt5-xmlpatterns
shared-mime-info
xerces-c
)
makedepends=(
boost
cmake
coin
eigen
gcc-fortran
gendesk
git
ninja
pyside2
python-shiboken2
shiboken2
swig
)
provides=('freecad' 'freecad-git')
2021-01-01 22:13:29 +00:00
conflicts=('freecad' 'freecad-appimage' 'freecad-appimage-git' 'freecad-git')
source=(
"git+https://github.com/realthunder/FreeCAD.git#branch=LinkStage3"
)
md5sums=('SKIP')
pkgver() {
cd FreeCAD
git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
cd FreeCAD
sed -i 's/_[0-9]/boost::placeholders::\0/g' src/Mod/PartDesign/Gui/Command*.cpp
# patch out a build error
#curl -L "https://github.com/FreeCAD/FreeCAD/pull/2842/commits/095984fce44931a4c8e2ace269d45a62640fbfb4.patch" | patch -p1
}
build() {
cd FreeCAD
cmake -Wno-dev .. \
-D BUILD_ENABLE_CXX_STD=C++14 \
-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_DATADIR="/usr/share/freecad" \
-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 \
-G Ninja -B "${srcdir}/build" -S .
ninja -C "${srcdir}/build"
}
check() {
cd FreeCAD
# "${srcdir}/build/bin/FreeCAD" --console --run-test 0
}
package() {
cd FreeCAD
DESTDIR="${pkgdir}" ninja -C "${srcdir}/build" install
# Create desktop shortcut
gendesk -f -n --pkgname "${pkgname}" --pkgdesc "${pkgdesc}" --name FreeCAD \
--mimetypes='application/x-extension-fcstd' --startupnotify=true
# Package desktop shortcut
install -Dm644 freecad-linkstage3.desktop \
"${pkgdir}/usr/share/applications/freecad.desktop"
# Package MIME info
#install -Dm644 freecad.xml "$pkgdir/usr/share/mime/packages/freecad.xml"
cd src/Gui/Icons
# Package icons
for i in 16 32 48 64; do
install -Dm644 "freecad-icon-$i.png" \
"${pkgdir}/usr/share/icons/hicolor/${i}x$i/apps/freecad.png"
done
install -Dm644 freecad.svg \
"${pkgdir}/usr/share/icons/hicolor/scalable/apps/freecad.svg"
# Package 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"
}