dune (1655B)
1 {%- set pkg_version="3.20.2" -%} 2 {% extends "genlinks" %} 3 {%- do import_functions.add("check_dynamic") %} 4 {% block package_deps -%} 5 #+{{pkg_install_name("busybox-diffutils")}} 6 #+{{pkg_install_name("musl-cross-make")}} 7 #+{{pkg_install_name("ocaml:dynlink")}} 8 #@untar:-z:sha256:579c738f8ca191ba0a9b22dbe78f1377542442c9827cf4939f8964f09f9edb28:. 9 {% endblock package_deps %} 10 {%- block prepare %} 11 {{ super() }} 12 # This allows 'dune --version' to output the correct version instead of "n/a" 13 sed -i "/^(name dune)/a (version {{pkg_version}})" dune-project 14 # This enables dune-configurator to use the vendored csexp module 15 sed -i 's/stdune.csexp/dune-configurator.csexp/' vendor/csexp/src/dune 16 17 {% endblock prepare %} 18 {%- block configure %} 19 export DUNE_CACHE=disabled 20 ./configure \ 21 --prefix="$prefix" \ 22 --libdir="$prefix/library.ocaml" \ 23 --bindir="$prefix/command" \ 24 --sbindir="$prefix/command" \ 25 --etcdir="$prefix/config/etc" \ 26 --mandir="$prefix/man" \ 27 --docdir="$prefix/doc/{{shortname}}" \ 28 --datadir="$prefix/data" 29 30 {% endblock configure %} 31 {%- block build %} 32 ocaml boot/bootstrap.ml --verbose 33 ./dune.exe build \ 34 -p dune,dune-configurator \ 35 --profile dune-bootstrap --verbose 36 37 {% endblock build %} 38 {% block install -%} 39 {# ./dune.exe runtest --verbose --root=. || true -#} 40 ./dune.exe install --root=. \ 41 --destdir="$pthbs_destdir" \ 42 dune dune-configurator 43 44 rm -vrf _build 45 ls -lhA . 46 {% endblock install %} 47 {% block check -%} 48 check_dynamic command/dune 49 50 {% endblock check%} 51 {% block genlinks_begin %} 52 x["./command/dune"]=1 53 {% endblock genlinks_begin %} 54 {% block genlinks_rules %} 55 $2 == "library.ocaml" { link($0); next } 56 {% endblock genlinks_rules -%}