# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka pkgname=ocaml-migrate-parsetree pkgver=1.0.7 pkgrel=3 pkgdesc="Convert OCaml parsetrees between different major versions" url="https://github.com/ocaml-ppx/ocaml-migrate-parsetree" arch="all !x86 !armhf !s390x" # limited by ocaml license="LGPL-2.1-only-WITH-linking-exception" depends="ocaml-result ocaml-runtime" makedepends="dune ocaml ocaml-compiler-libs ocaml-findlib ocaml-result-dev ocaml-ocamlbuild-dev opam" options="textrels" # ppc64le (?!) subpackages="$pkgname-dev $pkgname-doc $pkgname-ocamlbuild" source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml-ppx/$pkgname/archive/v$pkgver.tar.gz" builddir="$srcdir/$pkgname-$pkgver" build() { cd "$builddir" jbuilder build @install } check() { cd "$builddir" jbuilder runtest } package() { cd "$builddir" mkdir -p "$pkgdir"/usr/lib/ocaml jbuilder install \ --destdir="$pkgdir/usr" \ --libdir="$pkgdir/usr/lib/ocaml" cd "$pkgdir" find usr/lib/ocaml -name '*.cmxs' -exec chmod 0755 {} \; # Remove annotation files, sources and some generated code (?). find usr/lib/ocaml \ -name '*.cmt' -delete \ -o -name '*.cmti' -delete \ -o -name '*.ml' -delete \ -o -name '*.ml-gen' -delete # Move docs to proper location and remove redundant docs dir. mkdir -p usr/share/doc mv usr/doc/$pkgname usr/share/doc/$pkgname rm -Rf usr/doc/$pkgname-ocamlbuild rmdir usr/doc } ocamlbuild() { pkgdesc="$pkgdesc (ocamlbuild plugin)" depends="$pkgname=$pkgver-r$pkgrel ocaml-ocamlbuild" mkdir -p "$subpkgdir"/usr/lib/ocaml mv "$pkgdir"/usr/lib/ocaml/$pkgname-ocamlbuild "$subpkgdir"/usr/lib/ocaml/ } dev() { default_dev depends="$pkgname=$pkgver-r$pkgrel $pkgname-ocamlbuild=$pkgver-r$pkgrel" local sitelib="usr/lib/ocaml/$pkgname" cd "$pkgdir" local path; for path in $(find $sitelib*/ \ -name '*.cmx' \ -o -name '*.cmxa' \ -o -name '*.mli') do mkdir -p "${path%/*}" mv "$path" "$subpkgdir"/${path%/*}/ rmdir "$path" 2>/dev/null || true done } sha512sums="3ba1bfe4840b2664b5053068b3659eb6a2ca216f29ece3f4522d1e7c5d87cb643bfb59ebe0563264cafdc31b9aa572007b4261fd3df8b27607fad47ff6168892 ocaml-migrate-parsetree-1.0.7.tar.gz"