mfetch is a simple programme that allows you to download the source code for
the dependencies listed in an _mfetch file, based on the version available
under the current OPAM switch. You can ‘lock’ dependencies and ensure the
reproducibility of your programme using orb. mfetch is a lighter
version of opam-monorepo and leaves dependency resolution
(which also involves version constraints) to OPAM.
This project forms part of the new workflow for developing unikernels and enables the vendoring of dependencies containing C files that must be compiled with the Solo5 toolchain.
Let's take the immuable project as an example, a simple HTTP
server implemented as a unikernel.
$ git clone https://github.com/dinosaure/immuable
$ cd immuable
$ unic . > _mfetch
$ mfetch
$ mfetch lock
$ orb build