Skip to content

Functoria release

Choose a tag to compare
@yallop yallop released this 26 Feb 15:55
· 2394 commits to main since this release

The mirage tool is now based on functoria.
See for full details.

  • Command line interface: The config file must be passed with the -f option
    (instead of being just an argument).

  • Two new generic combinators are available, generic_stack and generic_kv_ro.

  • get_mode is deprecated. You should use keys instead. And in particular and Key.is_xen.

  • add_to_ocamlfind_libraries and add_to_opam_packages are deprecated. Both
    the foreign and the register functions now accept the ~libraries and
    ~packages arguments to specify library dependencies.

  • If you were using tls without the conduit combinator, you will be
    greeted during configuration by a message like this:

    The "nocrypto" library is loaded but entropy is not enabled!
    Please enable the entropy by adding a dependency to the nocrypto device.
    You can do so by adding ~deps:[abstract nocrypto] to the arguments of Mirage.foreign.

    Data dependencies (such as entropy initialization) are now explicit.
    In order to fix this, you need to declare the dependency like so:

    open Mirage
    let my_functor =
    let deps = [abstract nocrypto] in
    foreign ~deps "My_Functor" (foo @-> bar)

    My_functor.start will now take an extra argument for each
    dependencies. In the case of nocrypto, this is ().

  • Remove from the scripts directory, to be available
    as an external script.