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.format/OpamTypes/index.html
Module OpamTypes
Common types used by other modules
Filenames
type basename = OpamFilename.Base.t
Basenames
type dirname = OpamFilename.Dir.t
Directory names
type filename = OpamFilename.t
Filenames
type filename_set = OpamFilename.Set.t
Set of files
type 'a filename_map = 'a OpamFilename.Map.t
Map of files
Generalized file type
Packages
type package = OpamPackage.t
Packages are (name
* version
) tuple
type package_set = OpamPackage.Set.t
Set of packages
type 'a package_map = 'a OpamPackage.Map.t
Map of packages
type name = OpamPackage.Name.t
Package names
type name_set = OpamPackage.Name.Set.t
Set of package names
type 'a name_map = 'a OpamPackage.Name.Map.t
Map of package names
type version = OpamPackage.Version.t
Package versions
type version_set = OpamPackage.Version.Set.t
Set of package versions
Compilers
type compiler = OpamCompiler.t
Compiler names
type compiler_set = OpamCompiler.Set.t
Set of compiler names
type 'a compiler_map = 'a OpamCompiler.Map.t
Maps of compiler names
type compiler_version = OpamCompiler.Version.t
Compiler versions
type opam_version = OpamVersion.t
OPAM versions
type compiler_constraint = OpamCompiler.Version.constr
Compiler constraints
Variables
type variable = OpamVariable.t
Variables
type full_variable = OpamVariable.Full.t
Fully qualified variables (ie. with the name of sections/sub-sections they appear in)
Content of user-defined variables
type variable_map = OpamVariable.variable_contents OpamVariable.Map.t
A map from variables to their contents (i.e an environment)
type package_flag =
| Pkgflag_LightUninstall
(*The package doesn't require downloading to uninstall
*)| Pkgflag_AllSwitches
(*The package is pervasive on all switches
*)| Pkgflag_Verbose
(*The package's scripts output is to be displayed to the user
*)| Pkgflag_Plugin
(*The package is an opam plugin that will install a
*)opam-<name>
exec, and may be auto-installed when doingopam <name>
| Pkgflag_Unknown of string
(*Used for error reporting, otherwise ignored
*)
Opam package flags
module type GenericPackage = sig ... end
At some point we want to abstract so that the same functions can be used over CUDF and OPAM packages
Formulas
type 'a generic_formula = 'a OpamFormula.formula =
| Empty
| Atom of 'a
| Block of 'a generic_formula
| And of 'a generic_formula * 'a generic_formula
| Or of 'a generic_formula * 'a generic_formula
A generic formula
type atom = OpamFormula.atom
Formula atoms
type formula = OpamFormula.t
Formula over versionned packages
type ext_formula = package_dep_flag list OpamFormula.ext_package_formula
Formula over versionned packages
type 'a conjunction = 'a OpamFormula.conjunction
AND formulat
type 'a disjunction = 'a OpamFormula.disjunction
OR formulat
Repositories
type repository_name = OpamRepositoryName.t
Repository names
type 'a repository_name_map = 'a OpamRepositoryName.Map.t
Maps of repository names
type repository_root = dirname
Repository root
type repository = {
repo_root : repository_root;
repo_name : repository_name;
repo_kind : repository_kind;
repo_address : address;
repo_priority : int;
}
Repositories
Solver
Used internally when computing sequences of actions
type 'a highlevel_action = [
| 'a atomic_action
| `Change of [ `Up | `Down ] * 'a * 'a
| `Reinstall of 'a
]
Used to compact the atomic actions and display to the user in a more meaningful way
Sub-type of highlevel_action
corresponding to an installed package that changed state or version
Used when applying solutions, separates build from install
type 'a request = {
criteria : solver_criteria;
wish_install : 'a conjunction;
wish_remove : 'a conjunction;
wish_upgrade : 'a conjunction;
extra_attributes : string list;
}
Solver request
type user_action =
| Install of name_set
(*The 'root' packages to be installed
*)| Upgrade of package_set
(*The subset of packages to upgrade
*)| Reinstall of package_set
| Depends
| Init
| Remove
| Switch of name_set
(*The 'root' packages to be installed
*)| Import of name_set
(*The 'root' packages to be installed
*)
user request action
type universe = {
u_packages : package_set;
u_installed : package_set;
u_available : package_set;
u_depends : ext_formula package_map;
u_depopts : ext_formula package_map;
u_conflicts : formula package_map;
u_action : user_action;
u_installed_roots : package_set;
u_pinned : package_set;
u_dev : package_set;
(*packages with a version-controlled upstream
*)u_base : package_set;
u_attrs : (string * package_set) list;
(*extra CUDF attributes for the given packages
*)u_test : bool;
(*Test dependencies should be honored
*)u_doc : bool;
(*Doc dependencies should be honored
*)
}
Solver universe
Command line arguments
User configuration option
Filtered commands
type relop = OpamFormula.relop
type arg = simple_arg * filter option
Command argument
Untyped generic file format
type pos = filename * int * int
Source file positions: filename, line, column
type value =
| Bool of pos * bool
| Int of pos * int
| String of pos * string
| Relop of pos * relop * value * value
| Prefix_relop of pos * relop * value
| Logop of pos * logop * value * value
| Pfxop of pos * pfxop * value
| Ident of pos * string
| List of pos * value list
| Group of pos * value list
| Option of pos * value * value list
| Env_binding of pos * string * value * value
Base values
A file section
A file is composed of sections and variable definitions
A file is a list of items and the filename
Switches
type switch = OpamSwitch.t
Compiler switches
type switch_set = OpamSwitch.Set.t
Set of compiler switches
type 'a switch_map = 'a OpamSwitch.Map.t
Map of compile switches
Misc
type file_attribute = OpamFilename.Attribute.t
A line in urls.tx
type file_attribute_set = OpamFilename.Attribute.Set.t
All the lines in urls.txt
Optional contents
Upgrade statistics
type tags = OpamStd.String.Set.t OpamStd.String.SetMap.t
Tags
Repository and global states
type json = OpamJson.t
JSON