Model.Make
include Zeroinstall_solver.S.SOLVER_INPUT
with type rejection = Context.rejection
module Role : sig ... end
type 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 list
val dep_info : dependency -> dep_info
val command_requires : Role.t -> command -> dependency list * command_name list
val get_command : impl -> command_name -> command option
val pp_impl : Stdlib.Format.formatter -> impl -> unit
val pp_command : Stdlib.Format.formatter -> command -> unit
val implementations : Role.t -> role_information
val restrictions : dependency -> restriction list
val meets_restriction : impl -> restriction -> bool
val machine_group : impl -> machine_group option
val conflict_class : impl -> conflict_class list
type rejection = Context.rejection
val pp_version : Stdlib.Format.formatter -> impl -> unit
val user_restrictions : Role.t -> restriction option
val pp_impl_long : Stdlib.Format.formatter -> impl -> unit
val format_machine : impl -> string
val string_of_restriction : restriction -> string
val dummy_impl : impl
val version : impl -> OpamPackage.t option
version 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 option
package_name role
is the Opam package name for role
, if any. Return None
on virtual roles.
val formula :
restriction ->
[ `Ensure | `Prevent ] * OpamFormula.version_formula
formula restriction
returns the version formula represented by this restriction along with its negation status: (`Prevent, formula)
roughly means not formula
.