# Maintainer: Jelle van der Waa <jelle@archlinux.org>
# Contributor: Grey Christoforo <my first name [at] my last name [dot] net>

pkgname=cura
pkgver=4.11.0
pkgrel=1
pkgdesc="A software solution for 3D printing aimed at RepRaps and the Ultimaker."
depends=('python-pyqt5' 'qt5-svg' 'python-scipy' 'python-pyserial' 'python-numpy' 'uranium' 'python-requests'
         'curaengine' 'libsavitar' 'qt5-graphicaleffects'
         'python-certifi' 'python-pynest2d' 'python-keyring' 'python-trimesh')
makedepends=('qt5-tools' 'cmake')
optdepends=('python-zeroconf: network printing support'
            'python-trimesh: Reading AMF files'
            'python-libcharon: UFPWriter/UFPReader'
            'cura-binary-data: Binary data (firmwares and such) for cura'
            'cura-resources-materials: FDM Material database')

provides=('cura')
url="https://ultimaker.com/en/products/cura-software"
license=('LGPL')
arch=('any')
source=($pkgname-$pkgver.tar.gz::https://github.com/Ultimaker/Cura/archive/${pkgver}.tar.gz)
sha512sums=('39ca06047123a08e7e00a9c89f96fce2da2aad2e6c4a937bed8fb668602dc37c02fe8db5d0e653d180f2c84c8b2561631a3942ebfaf17deaf7f1fbe771aed164')

# Build order
# arcus -> uranium -> curaengine -> libsavitar -> pynest2d ->

prepare(){
  cd Cura-${pkgver}
  sed -i 's,/dist-packages,.${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt
}

build(){
  cd Cura-${pkgver}
  mkdir -p build
  cd build
  cmake .. \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DURANIUM_SCRIPTS_DIR=/usr/share/uranium/scripts \
    -DCURA_VERSION=$pkgver \
    -DCURA_SDK_VERSION=6.0.0 \
    -DCURA_CLOUD_API_VERSION=1 \
    -DCURA_CLOUD_API_ROOT:STRING="https://api.ultimaker.com" \
    -DCURA_CLOUD_ACCOUNT_API_ROOT:STRING="https://account.ultimaker.com"

  make
}

package(){
  cd Cura-${pkgver}/build
  make DESTDIR="${pkgdir}" install
  
  # make sure cura can find uranium plugins:
  ln -s /usr/lib/uranium/plugins/* "${pkgdir}/usr/lib/cura/plugins/."

  # don't ever send any user or print info through the internet to Ultimaker
  rm -rf "${pkgdir}/usr/lib/cura/plugins/SliceInfoPlugin"
}
