# Maintainer: Dringsim # Contributor: Felix Golatofski # Contributor: Sean Anderson pkgname=('ocaml-atd' 'ocaml-atdgen' 'ocaml-atdgen-runtime' 'ocaml-atdgen-codec-runtime' 'ocaml-atdj' 'ocaml-atdpy' 'ocaml-atds' 'ocaml-atdts') _oname=atd pkgver=2.15.0 pkgrel=1 arch=('x86_64') url="https://github.com/ahrefs/atd" license=('BSD') depends=('ocaml>=4.08' 'ocaml-menhir' 'ocaml-easy-format' 'ocaml-biniou' 'ocaml-yojson' 'ocaml-re' 'ocaml-cmdliner') makedepends=('ocaml-findlib' 'dune>=2' 'opam' 'scala') checkdepends=('flake8' 'java-environment' 'mypy' 'nodejs' 'ocaml-alcotest' 'python-pytest' 'scala') options=(!strip) source=("https://github.com/ahrefs/${_oname}/archive/${pkgver}.tar.gz") sha256sums=('A0335917E816F67ED431651540603815C270507BA6C40E12FAC3AE3DBEC75C0E') _dune="dune $(getopt "j::" $MAKEOPTS 2>/dev/null | sed 's/--/\n/g' | head -n 1)" prepare() { cd $srcdir/$_oname-$pkgver truncate -s 0 atds/test/run_test.sh echo "#!/bin/sh" >> atds/test/run_test.sh } build() { cd $srcdir/$_oname-$pkgver $_dune build --profile=release -p atd,atdgen,atdgen-runtime,atdgen-codec-runtime,atdj,atdpy,atds,atdts } check() { cd $srcdir/$_oname-$pkgver $_dune runtest -p atd,atdgen,atdgen-runtime,atdgen-codec-runtime,atdj,atdpy,atds,atdts } _do_package() { cd $srcdir/$_oname-$pkgver opam-installer --prefix=$pkgdir/usr \ --libdir $pkgdir$(ocamlfind printconf destdir) \ --docdir $pkgdir/usr/share/doc $1.install mv $pkgdir/usr/share/doc/$1 $pkgdir/usr/share/doc/$pkgname mkdir -p $pkgdir/usr/share/licenses/$pkgname/ mv $pkgdir/usr/share/doc/$pkgname/LICENSE.md $pkgdir/usr/share/licenses/$pkgname/ } package_ocaml-atd() { # options and directives that can be overridden pkgdesc="Adaptable type definitions for OCaml" _do_package atd } package_ocaml-atdgen() { # options and directives overrides pkgdesc="Efficient JSON serializer, deserializer and validator generator for OCaml" depends=('ocaml-atd' 'ocaml-atdgen-runtime' 'ocaml-atdgen-codec-runtime' 'bash') _do_package atdgen } package_ocaml-atdgen-runtime() { pkgdesc="Runtime for atdgen generated bucklescript converters" _do_package atdgen-runtime } package_ocaml-atdgen-codec-runtime() { pkgdesc="Runtime library for code generated by atdgen" _do_package atdgen-codec-runtime } package_ocaml-atdj() { pkgdesc="Java code generation for ATD" depends=('ocaml-atd') _do_package atdj } package_ocaml-atdpy() { pkgdesc="Python/mypy code generation for ATD APIs" depends=('ocaml-atd') _do_package atdpy } package_ocaml-atds() { pkgdesc="ATD Code generator for Scala" depends=('ocaml-atd') _do_package atds } package_ocaml-atdts() { pkgdesc="TypeScript code generation for ATD APIs" depends=('ocaml-atd') _do_package atdts }