# Maintainer: Grey Christoforo # Maintainer: Sebastiaan Lokhorst pkgname=freecad-linkstage3-git pkgver=asm3.0.11.r3425.gb599891b9b 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') 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" }