package opam-state

  1. Overview
  2. Docs

Resolution and handling of opam variables + filters

val global_variable_names : (string * string) list

Lists of available switch-global variables and their description

val package_variable_names : (string * string) list

Lists of predefined package variables and their description

val predefined_depends_variables : OpamTypes.full_variable list

Variables that are pre-defined in the dependency filtered-formula scope, and which resolution is delayed to after the universe is computed (these are the only ones allowed in the universe, and resolved by OpamFilter.filter_deps)

Resolves globally available variables only

Resolves global variables within the context of a switch. If a package is specified, "name" and "version" as taken to exclusively resolve to the current package name and version.

Resolves filter variables, including global, switch and package variables ; a map of locally defined variables can be supplied, as well as the opam file of origin, which is used to resolve self-references (implicit "%{bin}%" or explicit "%{_:bin}%"

Like resolve_switch, but takes more specific parameters so that it can be used before the switch state is fully loaded

val is_dev_package : 'a OpamStateTypes.switch_state -> OpamFile.OPAM.t -> bool
val filter_depends_formula : ?build:bool -> ?post:bool -> ?test:bool -> ?doc:bool -> ?dev:bool -> ?default:bool -> env:OpamFilter.env -> OpamTypes.filtered_formula -> OpamTypes.formula

The defaults are true for build, false for dev and post, and defined by OpamStateConfig for test and bool.

val all_depends : ?build:bool -> ?post:bool -> ?test:bool -> ?doc:bool -> ?dev:bool -> ?filter_default:bool -> ?depopts:bool -> 'a OpamStateTypes.switch_state -> OpamFile.OPAM.t -> OpamTypes.formula

Assumes filter_default=false by default, i.e. dependencies with undefined filters are discarded.