package opam-client

  1. Overview
  2. Docs

Interface with the solver, processing of full solutions through actions

val apply : ?ask:bool -> OpamStateTypes.rw OpamStateTypes.switch_state -> requested:OpamTypes.package_set -> ?print_requested:OpamPackage.Name.Set.t -> ?add_roots:OpamPackage.Name.Set.t -> ?skip:OpamTypes.package OpamPackage.Map.t -> ?assume_built:bool -> ?download_only: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. skip will ignore the actions on the supplied map keys, replacing them with the map values when printing. print_requested is the set of initially requested packages, used for printing actions reasons.

val resolve_and_apply : ?ask:bool -> OpamStateTypes.rw OpamStateTypes.switch_state -> OpamTypes.user_action -> ?reinstall:OpamTypes.package_set -> requested:OpamTypes.package_set -> ?print_requested:OpamPackage.Name.Set.t -> ?add_roots:OpamPackage.Name.Set.t -> ?assume_built:bool -> ?download_only: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. print_requested is the set of initially requested packages, used for printing actions reasons.

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.

Simulate the new switch_state after applying the solution without actually performing the action(s) on disk.

Atoms

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.

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

val sanitize_atom_list : ?permissive:bool -> ?installed: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. installed additionally accepts installed, but unavailable packages. Exits with a message on error.

val sum : OpamTypes.stats -> int

Stats

OCaml

Innovation. Community. Security.