package opam-solver
Install
Dune Dependency
Authors
-
VVincent Bernardoff <vb@luminar.eu.org>
-
RRaja Boujbel <raja.boujbel@ocamlpro.com>
-
RRoberto Di Cosmo <roberto@dicosmo.org>
-
TThomas Gazagnaire <thomas@gazagnaire.org>
-
LLouis Gesbert <louis.gesbert@ocamlpro.com>
-
FFabrice Le Fessant <Fabrice.Le_fessant@inria.fr>
-
AAnil Madhavapeddy <anil@recoil.org>
-
GGuillem Rieu <guillem.rieu@ocamlpro.com>
-
RRalf Treinen <ralf.treinen@pps.jussieu.fr>
-
FFrederic Tuong <tuong@users.gforge.inria.fr>
Maintainers
Sources
md5=e84acfd52f578505c16dc9d21c99d17c
sha512=a0db42f67a41d9ee5f4015a153fa9133ca6a33201f7db6b8b5562bccdda45f8af5032dc9c863bd3eaeef74ba4a3e4a099556faa3d01e66b6e5cf8ebdd52244fe
doc/opam-solver/OpamSolver/index.html
Module OpamSolver
Source
Entry point to the solver, conversion of opam package universes to Cudf, dependencies computation. Front-end to Dose.
Solver
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 ->
unit
Display 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.universe
Creates 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.request
Build a request
val resolve :
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.
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 list
Return 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 list
Same 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 option
Checks 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