I'm going through my MirageOS commits for what is hopefully the last time before I send the patches and I realized that a problem that I thought was isolated is a lot more widespread than I thought.
As an example look at https://github.com/mirage/mirage/ It defines functoria, functoria-runtime, mirage, and mirage-runtime. It is possible to build all 4 as one package. The opam importer seems to not be able to handle situations like this, since it defines a new package for each sub-package. How should I proceed? I definitely want to merge all redundant packages into one, but then what? How should the package description reflect this? What should the package be named when it corresponds to 4 OPAM packages at once? For now I defined a few aliases for cases like this, but I'm not sure if this is ideal. They look like this (made up but possible example): (define ocaml-mirage ocaml-mirage-runtime)