Using jbuilder and topkg with Mirage

During some recent Mirage maintenance work I tried to create a “best practice” guide for using jbuilder and topkg with Mirage:

Let me know what you think!

Overall I think the combination of opam (for knowing what package versions are needed), jbuilder (for building everything very quickly) and topkg (for tagging and releasing new versions) is pretty great.


The progress continues with batch building of multiple repositories working now with a single jbuilder invocation, without OPAM being required. See for more details.

1 Like

I just came across this article again, and I think it contains really valuable information on building and packaging standards for an opam package. The formatting could use a little work though, particularly the “Releasing changes” section, I find it a bit hard to follow :slight_smile: would you appreciate a contribution for it? Is it still up-to-date with the current status of Mirage dev?

It’s up to date and contributions are welcome. See for a recent update on migration as well by @mort