package opam-lib
Install
dune-project
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.tBasenames
type dirname = OpamFilename.Dir.tDirectory names
type filename = OpamFilename.tFilenames
type filename_set = OpamFilename.Set.tSet of files
type 'a filename_map = 'a OpamFilename.Map.tMap of files
Generalized file type
Packages
type package = OpamPackage.tPackages are (name * version) tuple
type package_set = OpamPackage.Set.tSet of packages
type 'a package_map = 'a OpamPackage.Map.tMap of packages
type name = OpamPackage.Name.tPackage names
type name_set = OpamPackage.Name.Set.tSet of package names
type 'a name_map = 'a OpamPackage.Name.Map.tMap of package names
type version = OpamPackage.Version.tPackage versions
type version_set = OpamPackage.Version.Set.tSet of package versions
Compilers
type compiler = OpamCompiler.tCompiler names
type compiler_set = OpamCompiler.Set.tSet of compiler names
type 'a compiler_map = 'a OpamCompiler.Map.tMaps of compiler names
type compiler_version = OpamCompiler.Version.tCompiler versions
type opam_version = OpamVersion.tOPAM versions
type compiler_constraint = OpamCompiler.Version.constrCompiler constraints
Variables
type variable = OpamVariable.tVariables
type full_variable = OpamVariable.Full.tFully 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.tA 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 ... endAt 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.atomFormula atoms
type formula = OpamFormula.tFormula over versionned packages
type ext_formula = package_dep_flag list OpamFormula.ext_package_formulaFormula over versionned packages
type 'a conjunction = 'a OpamFormula.conjunctionAND formulat
type 'a disjunction = 'a OpamFormula.disjunctionOR formulat
Repositories
type repository_name = OpamRepositoryName.tRepository names
type 'a repository_name_map = 'a OpamRepositoryName.Map.tMaps of repository names
type repository_root = dirnameRepository 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.reloptype arg = simple_arg * filter optionCommand argument
Untyped generic file format
type pos = filename * int * intSource 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.tCompiler switches
type switch_set = OpamSwitch.Set.tSet of compiler switches
type 'a switch_map = 'a OpamSwitch.Map.tMap of compile switches
Misc
type file_attribute = OpamFilename.Attribute.tA line in urls.tx
type file_attribute_set = OpamFilename.Attribute.Set.tAll the lines in urls.txt
Optional contents
Upgrade statistics
type tags = OpamStd.String.Set.t OpamStd.String.SetMap.tTags
Repository and global states
type json = OpamJson.tJSON