OpamSolverSourceEntry point to the solver, conversion of opam package universes to Cudf, dependencies computation. Front-end to Dose.
Convert a request to a string
Compute statistics about a solution
Return the new packages in the solution
Return all packages appearing in the solution
Pretty-printing of statistics
val print_solution :
messages:(OpamTypes.package -> string list) ->
append:(OpamTypes.package -> string) ->
requested:OpamTypes.name_set ->
reinstall:OpamTypes.package_set ->
solution ->
unitDisplay a solution
Computes an opam->cudf version map from a set of package
val load_cudf_universe :
OpamTypes.universe ->
?version_map:int OpamTypes.package_map ->
OpamTypes.package_set ->
?depopts:bool ->
build:bool ->
post:bool ->
unit ->
Cudf.universeCreates a CUDF universe from an OPAM universe, including the given packages. Evaluation of the first 3 arguments is staged. Warning: when depopts is true, the optional dependencies may become strong dependencies.
val request :
?criteria:OpamTypes.solver_criteria ->
?install:OpamTypes.atom list ->
?upgrade:OpamTypes.atom list ->
?remove:OpamTypes.atom list ->
unit ->
OpamTypes.atom OpamTypes.requestBuild a request
val resolve :
OpamTypes.universe ->
orphans:OpamTypes.package_set ->
OpamTypes.atom OpamTypes.request ->
(solution, OpamCudf.conflict) OpamTypes.resultGiven a description of packages, return a solution preserving the consistency of the initial description.
Returns the graph of atomic actions (rm, inst) from a solution
Keep only the packages that are installable.
Like installable, but within a subset and potentially much faster
val dependencies :
depopts:bool ->
build:bool ->
post:bool ->
installed:bool ->
?unavailable:bool ->
OpamTypes.universe ->
OpamTypes.package_set ->
OpamTypes.package listReturn the topological sort of the transitive dependency closures of a collection of packages.
val reverse_dependencies :
depopts:bool ->
build:bool ->
post:bool ->
installed:bool ->
?unavailable:bool ->
OpamTypes.universe ->
OpamTypes.package_set ->
OpamTypes.package listSame as dependencies but for reverse dependencies
Check the current set of installed packages in a universe for inconsistencies
val coinstallability_check :
OpamTypes.universe ->
OpamTypes.package_set ->
OpamCudf.conflict optionChecks the given package set for complete installability ; returns None if they can all be installed together
Checks if the given atoms can be honored at the same time in the given universe
Dumps a cudf file containing all available packages in the given universe, plus version bindings (as '#v2v' comments) for the other ones.
Filters actions in a solution. Dependents of a removed actions are removed to keep consistency