# Maintainer: Antonio Rojas <arojas@archlinux.org>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - export --max-old-space-size option to fix 32-bit FTBFS

pkgname=jupyterlab
_pipname=jupyterlab
pkgver=4.1.5
pkgrel=1
pkgdesc='JupyterLab computational environment'
arch=(any)
url='https://github.com/jupyterlab/jupyterlab'
license=(LicenseRef-JupyterLab)
depends=(jupyter-notebook-shim
         jupyter-server
         python
         python-async-lru
         python-httpx
         python-importlib-metadata
         python-ipykernel
         python-jupyter-core
         python-jupyterlab-server
         python-packaging
         python-tornado
         python-traitlets)
makedepends=(python-build
             python-hatch-jupyter-builder
             python-installer)
optdepends=('jupyter-collaboration: collaborative mode'
            'jupyterlab-widgets: ipywidgets support'
            'npm: to install extensions')
checkdepends=(npm
              python-jupyter-server-terminals
              python-pytest-jupyter
              python-pytest-tornasync)
source=(https://pypi.io/packages/source/${_pipname:0:1}/$_pipname/$_pipname-$pkgver.tar.gz)
sha256sums=('c9ad75290cb10bfaff3624bf3fbb852319b4cce4c456613f8ebbaa98d03524db')

build() {
  cd $pkgname-$pkgver
  export NODE_OPTIONS=--max-old-space-size=1024
  python -m build --wheel --no-isolation
}

check() {
  cd $pkgname-$pkgver
  python -m venv --system-site-packages test-env
  test-env/bin/python -m installer dist/*.whl
  test-env/bin/python -m pytest -v
}

package() {
  cd $pkgname-$pkgver
  python -m installer --destdir="$pkgdir" dist/*.whl
  mv "$pkgdir"/usr/etc "$pkgdir"

  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}