Model.Makeinclude Zeroinstall_solver.S.SOLVER_INPUT
with type rejection = Context.rejectionmodule Role : sig ... endtype dep_info = {dep_role : Role.t;dep_importance : [ `Essential | `Recommended | `Restricts ];dep_required_commands : command_name list;}val requires : Role.t -> impl -> dependency list * command_name listval dep_info : dependency -> dep_infoval command_requires : Role.t -> command -> dependency list * command_name listval get_command : impl -> command_name -> command optionval pp_impl : Stdlib.Format.formatter -> impl -> unitval pp_command : Stdlib.Format.formatter -> command -> unitval implementations : Role.t -> role_informationval restrictions : dependency -> restriction listval meets_restriction : impl -> restriction -> boolval machine_group : impl -> machine_group optionval conflict_class : impl -> conflict_class listtype rejection = Context.rejectionval pp_version : Stdlib.Format.formatter -> impl -> unitval user_restrictions : Role.t -> restriction optionval pp_impl_long : Stdlib.Format.formatter -> impl -> unitval format_machine : impl -> stringval string_of_restriction : restriction -> stringval dummy_impl : implval version : impl -> OpamPackage.t optionversion impl is the Opam package for impl, if any. Virtual and dummy implementations return None.
virtual_role impls is a virtual package name with candidates impls. This is used if the user requests multiple packages on the command line (the single impl will also be virtual).
virtual_impl ~context ~depends () is a virtual package which just depends on depends. This is used if the user requests multiple packages on the command line - each requested package becomes a dependency of the virtual implementation.
val package_name : Role.t -> OpamPackage.Name.t optionpackage_name role is the Opam package name for role, if any. Return None on virtual roles.
val formula :
restriction ->
[ `Ensure | `Prevent ] * OpamFormula.version_formulaformula restriction returns the version formula represented by this restriction along with its negation status: (`Prevent, formula) roughly means not formula.