diff --git a/freecad-linkstage3-git/.SRCINFO b/freecad-linkstage3-git/.SRCINFO new file mode 100644 index 0000000..d49a8ea --- /dev/null +++ b/freecad-linkstage3-git/.SRCINFO @@ -0,0 +1,51 @@ +pkgbase = freecad-linkstage3-git + pkgdesc = A general purpose 3D CAD modeler - git checkout + pkgver = asm3.0.11.r3425.gb599891b9b + pkgrel = 1 + epoch = 0 + url = https://www.freecadweb.org/ + arch = x86_64 + license = LGPL + makedepends = boost + makedepends = cmake + makedepends = coin + makedepends = eigen + makedepends = gcc-fortran + makedepends = gendesk + makedepends = git + makedepends = ninja + makedepends = pyside2 + makedepends = python-shiboken2 + makedepends = shiboken2 + makedepends = swig + depends = boost-libs + depends = glew + depends = jsoncpp + depends = libspnav + depends = med + depends = netcdf + depends = opencascade + depends = openmpi + depends = pyside2-tools + depends = python-yaml + depends = python-matplotlib + depends = python-pivy + depends = python-ply + depends = python-pyside2 + depends = qt5-svg + depends = qt5-tools + depends = qt5-webkit + depends = qt5-x11extras + depends = qt5-xmlpatterns + depends = shared-mime-info + depends = xerces-c + provides = freecad + conflicts = freecad + conflicts = freecad-appimage + conflicts = freecad-appimage-git + conflicts = freecad-git + source = git+https://github.com/realthunder/FreeCAD.git#branch=LinkStage3 + md5sums = SKIP + +pkgname = freecad-linkstage3-git + diff --git a/freecad-linkstage3-git/.gitignore b/freecad-linkstage3-git/.gitignore new file mode 100644 index 0000000..101b10f --- /dev/null +++ b/freecad-linkstage3-git/.gitignore @@ -0,0 +1,5 @@ +src/ +pkg/ +FreeCAD/ +*.tar.xz +*.tar.gz diff --git a/freecad-linkstage3-git/PKGBUILD b/freecad-linkstage3-git/PKGBUILD new file mode 100644 index 0000000..d3a2134 --- /dev/null +++ b/freecad-linkstage3-git/PKGBUILD @@ -0,0 +1,125 @@ +# 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" +}