# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka # NOTE: Upstream is slowly renaming jbuilder to dune. pkgname=dune pkgver=1.0_beta18 _pkgver=${pkgver/_/+} pkgrel=0 pkgdesc="A composable build system for OCaml (formerly Jbuilder)" url="https://github.com/ocaml/dune" arch="all !x86 !armhf !s390x" # limited by ocaml abuild license="Apache-2.0" checkdepends="bash" makedepends="ocaml ocaml-findlib-dev" provides="jbuilder=$pkgver-r$pkgrel" subpackages="$pkgname-doc" source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml/$pkgname/archive/$_pkgver.tar.gz" builddir="$srcdir/$pkgname-${_pkgver/+/-}" options="!check" # FIXME requires ocaml-menhir build() { cd "$builddir" make release } check() { cd "$builddir" make test } # dune's makefile has a "make install" target. Tragically, it uses # opam-install(er) to install itself. Even more tragically, opam now requires # dune to build. Therefore as a workaround we can just manually install things # ourselves - dune is *mostly* just a binary, making this easy. package() { cd "$builddir" mkdir -p "$pkgdir"/usr/bin \ "$pkgdir"/usr/lib/ocaml/jbuilder \ "$pkgdir"/usr/share/doc/$pkgname \ "$pkgdir"/usr/share/man/man1 # The files to install are stored in _build as symlinks; # dereference them. cd _build/install/default cp -aL bin/jbuilder "$pkgdir"/usr/bin/ cp -aL lib/jbuilder/* "$pkgdir"/usr/lib/ocaml/jbuilder/ cp -aL doc/jbuilder/* "$pkgdir"/usr/share/doc/$pkgname/ cp -aL man/man1/* "$pkgdir"/usr/share/man/man1/ ln -s jbuilder "$pkgdir"/usr/bin/dune } sha512sums="71ba5aa9488f8452ca1bfcaba9432404a0fd5a743a85dc5f1f682273f605051a77e97e468f84b08fa5b4c81cc1b7bf1bca63130d80872af69a8f63e0b4c440f9 dune-1.0_beta18.tar.gz"