This module maps between the opam and 0install concepts. Roughly:
An opam package name is a 0install role.
An opam package is a 0install implementation.
An opam version formula is a 0install restriction.
For dependencies:
depends become "essential" dependencies
depopts are ignored (the opam solver ignores them too; they don't have constraints)
conflicts become "restricts" (with the test reversed)
Dependencies on alternatives (e.g. "ocaml-base-compiler | ocaml-variants") become a dependency on a virtual package which has each choice as an implementation.