# Maintainer: Konstantin Gizdov <arch at kge dot pw>
# Contributor: Baptiste Jonglez <baptiste--aur at jonglez dot org>

_pkgname=lablgtk
pkgname="${_pkgname}3"
pkgver=3.1.5
pkgrel=1
pkgdesc="An Objective Caml interface to gtk3"
arch=('x86_64')
license=('LGPL')
url="http://lablgtk.forge.ocamlcore.org/"
depends=('gtk3' 'gtksourceview3' 'gtkspell3' 'ocaml-cairo')
makedepends=('ocaml-compiler-libs' 'ocaml-findlib' 'dune' 'camlp-streams')
optdepends=('ocaml: for using the tools')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/garrigue/lablgtk/archive/refs/tags/${pkgver}.tar.gz")
b2sums=('5f677d2ac1a39f23e5c3b66f6239540e369ec6916eb87f980543a7ea6c723b5126882fd4f9673f8a76171d0e83de236b98ae9068956f86a0a37cb836c353b9e5')

_dune_release_pkgs=('lablgtk3' 'lablgtk3-gtkspell3' 'lablgtk3-sourceview3')

dune_release_pkgs_comma() {
  # dune build needs a comma separated list of packages
  local dune_release_pkgs='dummy'
  for _pkg in "${_dune_release_pkgs[@]}"; do
    dune_release_pkgs+=",${_pkg}"
  done
  dune_release_pkgs="${dune_release_pkgs#dummy,}"
  echo "${dune_release_pkgs}"
}

build() {
  cd "${srcdir}/${_pkgname}-${pkgver}"
  # gcc-10 workaround
  export OCAMLPATH="$(ocamlfind printconf destdir)"
  LABLGTK_EXTRA_FLAGS=-fcommon dune build -p $(dune_release_pkgs_comma)
}

package() {
  cd "${srcdir}/${_pkgname}-${pkgver}"
  # we need to install packages one by one
    for _pkg in "${_dune_release_pkgs[@]}"; do
      dune install "${_pkg}" --destdir="${pkgdir}" --prefix="/usr" --libdir="$(ocamlfind printconf destdir)" 
    done

  install -dm755 "${pkgdir}/usr/share/"
  mv "${pkgdir}/usr/doc" "${pkgdir}/usr/share/"
}
