package opam-client

  1. Overview
  2. Docs

Interface with the solver, processing of full solutions through actions

val resolve : 'a OpamStateTypes.switch_state -> OpamTypes.user_action -> orphans:OpamTypes.package_set -> ?reinstall:OpamTypes.package_set -> requested:OpamTypes.name_set -> OpamTypes.atom OpamTypes.request -> (OpamSolver.solution, OpamCudf.conflict) OpamTypes.result

Resolve an user request

val apply : ?ask:bool -> OpamStateTypes.rw OpamStateTypes.switch_state -> requested:OpamPackage.Name.Set.t -> ?add_roots:OpamPackage.Name.Set.t -> ?assume_built:bool -> ?force_remove:bool -> OpamSolver.solution -> OpamStateTypes.rw OpamStateTypes.switch_state * OpamTypes.solution_result

Apply a solution returned by the solver. If ask is not specified, prompts the user whenever the solution isn't obvious from the request. add_roots defaults to the set of newly installed packages that are part of requested. If force_remove is true, modified files are not kept.

val resolve_and_apply : ?ask:bool -> OpamStateTypes.rw OpamStateTypes.switch_state -> OpamTypes.user_action -> orphans:OpamTypes.package_set -> ?reinstall:OpamTypes.package_set -> requested:OpamPackage.Name.Set.t -> ?add_roots:OpamPackage.Name.Set.t -> ?assume_built:bool -> ?force_remove:bool -> OpamTypes.atom OpamTypes.request -> OpamStateTypes.rw OpamStateTypes.switch_state * (OpamTypes.solution_result, OpamCudf.conflict) OpamTypes.result

Call the solver to get a solution and then call apply. If ask is not specified, prompts the user whenever the solution isn't obvious from the request. add_roots defaults to the set of newly installed packages that are part of requested. If force_remove is true, modified files are not kept.

val check_solution : ?quiet:bool -> 'a OpamStateTypes.switch_state -> (OpamTypes.solution_result, 'conflict) OpamTypes.result -> unit

Raise an error if no solution is found or in case of error. Unless quiet is set, print a message indicating that nothing was done on an empty solution.

val install_depexts : ?force_depext:bool -> ?confirm:bool -> OpamStateTypes.rw OpamStateTypes.switch_state -> OpamTypes.package_set -> OpamStateTypes.rw OpamStateTypes.switch_state

Atoms

val eq_atom : OpamTypes.name -> OpamTypes.version -> OpamTypes.atom

Return an atom with a strict version constraint

val atom_of_package : OpamTypes.package -> OpamTypes.atom

Return a simple atom, with no version constraint, from a package

val eq_atom_of_package : OpamTypes.package -> OpamTypes.atom

Returns an atom with a strict version constraint from a package

val atoms_of_packages : OpamTypes.package_set -> OpamTypes.atom list

Return a list of simple atoms (ie. with no version constraints) from a set of packages

val eq_atoms_of_packages : OpamTypes.package_set -> OpamTypes.atom list

Return a list of constrained atoms from a set of packages

val check_availability : ?permissive:bool -> 'a OpamStateTypes.switch_state -> OpamPackage.Set.t -> OpamTypes.atom list -> unit

Checks that the atoms can possibly be verified (individually) in a package set. Displays an error and exits otherwise. permissive just changes the error message.

val fuzzy_name : 'a OpamStateTypes.switch_state -> OpamTypes.name -> OpamTypes.name

Matches package names to their existing counterparts, up to capitalisation. If no match exists, returns the name unchanged.

val sanitize_atom_list : ?permissive:bool -> 'a OpamStateTypes.switch_state -> OpamTypes.atom list -> OpamTypes.atom list

Takes a "raw" list of atoms (from the user), and match it to existing packages. Match packages with the wrong capitalisation, and raises errors on non-existing packages, and unavailable ones unless permissive is set. Exits with a message on error.

val sum : OpamTypes.stats -> int

Stats

OCaml

Innovation. Community. Security.