# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
# TODO: Build csv-lwt (?).
pkgname=ocaml-csv
_pkgname=csv
pkgver=2.0
pkgrel=2
pkgdesc="OCaml library for reading and writing CSV files"
url="https://github.com/Chris00/ocaml-csv"
arch="all !x86 !armhf !s390x"  # limited by ocaml abuild
license="LGPL-2.1-or-later"
depends="ocaml-runtime"
depends_dev="$pkgname=$pkgver-r$pkgrel"
makedepends="dune ocaml ocaml-findlib opam"
subpackages="$pkgname-dev csvtool"
source="$pkgname-$pkgver.tar.bz2::https://github.com/Chris00/$pkgname/releases/download/$pkgver/csv-$pkgver.tbz"
builddir="$srcdir/$_pkgname-$pkgver"
options="textrels !check"  # FIXME check requires package lwt

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

package() {
	cd "$builddir"

	mkdir -p "$pkgdir"/usr/lib/ocaml
	jbuilder install \
		--destdir="$pkgdir"/usr \
		--libdir="$pkgdir"/usr/lib/ocaml \
		csv

	cd "$pkgdir"

	# Remove annotation files, some generated code (?) and sources.
	find usr/lib/ocaml \
		-name '*.cmt' -delete \
		-o -name '*.cmti' -delete \
		-o -name '*.ml-gen' -delete \
		-o -name '*.ml' -delete

	# Contains just a readme and changelog.
	rm -Rf usr/doc
}

dev() {
	local sitelib="usr/lib/ocaml/$_pkgname"

	default_dev

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

csvtool() {
	pkgdesc="A command line tool for handling CSV files"
	depends=""

	mkdir -p "$subpkgdir"/usr
	mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}

sha512sums="00d01e333cbaf9abfc45b3c5e028c33d7631a5de1d594881f1cb3eef0314f115830a3a5b30ee1489ff987f26f716adc3fe17566ecfe285820d81e91985cf00f8  ocaml-csv-2.0.tar.bz2"
