pkgname=julia-git-ijulia-src
pkgver=1.34.4
_commit=8e17d35ec29c89a7b51b75fd649021a94c647c3c
pkgrel=1
pkgdesc="IJulia.jl"
url="https://github.com/JuliaLang/IJulia.jl.git"
arch=('any')
license=('MIT')
makedepends=(git julia-pkg-scripts julia-git-conda-src)
depends=(julia-git jupyter-notebook jq)
source=("git+https://github.com/JuliaLang/IJulia.jl.git#commit=$_commit")
sha256sums=('7dc70e7dd08d53553c8748acdddc320cb1816c163777070eabbe6372d88a84e6')

prepare() {
  cd IJulia.jl

  sed -i -e 's/copy_config(joinpath(ijulia_dir/copy_config(joinpath(dirname(@__DIR__)/' deps/kspec.jl
}

build() {
  cd IJulia.jl

  rm -rf "${srcdir}/"{jupyter,.julia}
  mkdir -p "${srcdir}/"{jupyter,.julia}

  stdlib_dir=$(julia --startup-file=no -e "print(Sys.STDLIB)")

  cd deps/

  HOME="${srcdir}/jupyter" \
      JULIA_DEPOT_PATH="${srcdir}/.julia" \
      JUPYTER=/usr/bin/jupyter \
      IJULIA_DIR="${stdlib_dir}/IJulia" \
      julia --startup-file=no build.jl

  for kern_dir in "$srcdir/jupyter/.local/share/jupyter/kernels"/*/; do
    kern_dir="${kern_dir%/}"
    thread_kern_dir="${kern_dir}-thread"
    cp -a "${kern_dir}" "${thread_kern_dir}"
    jq \
      '.env.JULIA_NUM_THREADS="auto" | .display_name = .display_name + " (auto thread)"' \
      "${kern_dir}"/kernel.json > "${thread_kern_dir}"/kernel.json
  done
}

package() {
  cd IJulia.jl

  JULIA_INSTALL_FORCE_VERSION_DEP=1 \
    JULIA_INSTALL_SRCPKG=1 \
    . /usr/lib/julia/julia-install-pkg.sh IJulia "${pkgdir}" "${pkgname}" julia-git

  # Install Jupyter kernel

  kernels_dir="${pkgdir}/usr/share/jupyter"
  install -dm755 "$kernels_dir"
  cp -a "$srcdir/jupyter/.local/share/jupyter/kernels" "$kernels_dir"
}
