# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=ocaml-lambda-term
_pkgname=lambda-term
pkgver=1.12.0
pkgrel=4
pkgdesc="Terminal manipulation library for OCaml"
url="https://github.com/diml/lambda-term"
# x86, armhf, s390x: limited by ocaml aport
arch="all !x86 !armhf !s390x"
license="BSD-3-Clause"
depends="ocaml-camomile ocaml-lwt ocaml-lwt-react ocaml-zed"
makedepends="
	dune
	ocaml
	ocaml-camomile-dev
	ocaml-lwt-dev
	ocaml-lwt-react
	ocaml-findlib
	ocaml-react-dev
	ocaml-result-dev
	ocaml-zed-dev
	opam
	"
subpackages="$pkgname-dev $pkgname-doc"
source="$pkgname-$pkgver.tar.bz2::https://github.com/diml/$_pkgname/releases/download/$pkgver/$_pkgname-$pkgver.tbz"
builddir="$srcdir/$_pkgname-$pkgver"

build() {
	cd "$builddir"
	jbuilder build @install
}

check() {
	cd "$builddir"
	jbuilder runtest
}

package() {
	cd "$builddir"

	opam-installer -i \
		--prefix="$pkgdir/usr" \
		--libdir="$pkgdir/usr/lib/ocaml" \
		--docdir="$pkgdir/doc" \
		--mandir="$pkgdir/usr/share/man" \
		$_pkgname.install

	# There's just a readme and changelog.
	rm -Rf "$pkgdir"/doc

	# Remove annotation files and sources.
	cd "$pkgdir"/usr/lib/ocaml/$_pkgname
	rm -f *.cmt* *.ml
}

dev() {
	default_dev
	depends="$pkgname=$pkgver-r$pkgrel"
	local sitelib="usr/lib/ocaml/$_pkgname"

	cd "$pkgdir"/$sitelib

	mkdir -p "$subpkgdir"/$sitelib
	mv *.cmx *.cmxa *.mli "$subpkgdir"/$sitelib/
}

sha512sums="d2f49f32d2b0b260f609f0674ff1060ddb456ad5a37e87659d0f2005720b1f5f2da12ca0951d1ae959f7d4dd089bd0d7526fd1702b2a3b00164591ed8d37f8ae  ocaml-lambda-term-1.12.0.tar.bz2"
