Functoria release
The mirage tool is now based on functoria.
See https://mirage.io/blog/introducing-functoria 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_modeis deprecated. You should use keys instead. And in particular
Key.targetandKey.is_xen. -
add_to_ocamlfind_librariesandadd_to_opam_packagesare deprecated. Both
theforeignand theregisterfunctions now accept the~librariesand
~packagesarguments to specify library dependencies. -
If you were using
tlswithout 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.startwill now take an extra argument for each
dependencies. In the case of nocrypto, this is(). -
Remove
nat-script.shfrom the scripts directory, to be available
as an external script.