package opam-lib
Install
Dune Dependency
Authors
-
TThomas Gazagnaire <thomas@gazagnaire.org>
-
AAnil Madhavapeddy <anil@recoil.org>
-
FFabrice Le Fessant <Fabrice.Le_fessant@inria.fr>
-
FFrederic Tuong <tuong@users.gforge.inria.fr>
-
LLouis Gesbert <louis.gesbert@ocamlpro.com>
-
GGuillem Rieu <guillem.rieu@ocamlpro.com>
-
VVincent Bernardoff <vb@luminar.eu.org>
-
RRoberto Di Cosmo <roberto@dicosmo.org>
Maintainers
Sources
sha256=625767c3465219cc8799aad1449c74279b31686db0821300cfdb92fbff17e9fd
md5=e0688c0cf9a55f93ee93f62d07cf6b74
doc/opam-lib.solver/OpamSolver/index.html
Module OpamSolver
SAT-solver for package dependencies and conflicts
module Action : OpamActionGraph.ACTION with type package = OpamTypes.package
module ActionGraph : OpamActionGraph.SIG with type package = OpamTypes.package
val empty_universe : OpamTypes.universe
Solver
val string_of_request : OpamTypes.atom OpamTypes.request -> string
Convert a request to a string
val stats : solution -> OpamTypes.stats
Compute statistics about a solution
val new_packages : solution -> OpamTypes.package_set
Return the new packages in the solution
val string_of_stats : OpamTypes.stats -> string
Pretty-printing of statistics
val solution_is_empty : solution -> bool
Is the solution empty ?
val print_solution :
messages:(OpamTypes.package -> string list) ->
rewrite:(OpamTypes.package -> OpamTypes.package) ->
requested:OpamTypes.name_set ->
solution ->
unit
Display a solution
val cudf_versions_map :
OpamTypes.universe ->
OpamTypes.package_set ->
int OpamPackage.Map.t
Computes an opam->cudf version map from a set of package
val load_cudf_universe :
?depopts:bool ->
build:bool ->
OpamTypes.universe ->
?version_map:int OpamTypes.package_map ->
OpamTypes.package_set ->
Cudf.universe
Creates a CUDF universe from an OPAM universe, including the given packages
val resolve :
?verbose:bool ->
OpamTypes.universe ->
orphans:OpamTypes.package_set ->
OpamTypes.atom OpamTypes.request ->
(solution, OpamCudf.conflict) OpamTypes.result
Given a description of packages, return a solution preserving the consistency of the initial description.
val get_atomic_action_graph : solution -> ActionGraph.t
Returns the graph of atomic actions (rm, inst) from a solution
val installable : OpamTypes.universe -> OpamTypes.package_set
Keep only the packages that are installable.
val dependencies :
depopts:bool ->
build:bool ->
installed:bool ->
?unavailable:bool ->
OpamTypes.universe ->
OpamTypes.package_set ->
OpamTypes.package list
Return the topological sort of the transitive dependency closures of a collection of packages.
val reverse_dependencies :
depopts:bool ->
build:bool ->
installed:bool ->
?unavailable:bool ->
OpamTypes.universe ->
OpamTypes.package_set ->
OpamTypes.package list
Same as dependencies
but for reverse dependencies
val check_for_conflicts : OpamTypes.universe -> OpamCudf.conflict option
Check the current set of installed packages in a universe for inconsistencies
val dump_universe : OpamTypes.universe -> out_channel -> unit
Dumps a cudf file containing all available packages in the given universe, plus version bindings (as '#v2v' comments) for the other ones.
val filter_solution : (OpamTypes.package -> bool) -> solution -> solution
Filters actions in a solution. Dependents of a removed actions are removed to keep consistency