OpamFile
Handles all OPAM file formats as record types and submodules, conversion to and from syntax
Functions to read and write OPAM configuration files in a typed way
type 'a t = private OpamTypes.filename
Associate a type to a filename through a phantom type
type 'a typed_file = 'a t
val make : OpamTypes.filename -> 'a t
val filename : 'a t -> OpamTypes.filename
val to_string : 'a t -> string
val exists : 'a t -> bool
module type IO_FILE = sig ... end
All Configuration files satisfy this signature
module Wrappers : sig ... end
Command wrappers for package scripts
module Config : sig ... end
Configuration file: $opam/config
module InitConfig : sig ... end
Init config file /etc/opamrc
module Descr : sig ... end
Package descriptions: $opam/descr/
module URL : sig ... end
module OPAM : sig ... end
OPAM files
module Aliases : IO_FILE with type t = string OpamTypes.switch_map
Compiler aliases: $opam/aliases
. Deprecated, used only for migration
module LegacyState : sig ... end
Switch state file as table, also used for import/export. This includes compiler and root packages information, as well as pinned packages and their target (but not their local metadata).
module SwitchSelections : sig ... end
A newer format for switch state, using the opam file syntax rather than a table. This is more readable and extensible.
module SwitchExport : sig ... end
An extended version of SwitchSelections that can include full opam files as package "name" {}
sections, for storing overlays
module PkgList : IO_FILE with type t = OpamTypes.package_set
A simple list of packages and versions: (used for the older $opam/$switch/{installed,installed_roots}
, still needed to migrate from 1.2 repository, and for reinstall)
module Environment : IO_FILE with type t = OpamTypes.env_update list
Cached environment updates (<switch>/environment)
module Comp : sig ... end
Compiler version $opam/compilers/
. Deprecated, only used to upgrade old data
module Dot_install : sig ... end
.install files
module Changes : sig ... end
.changes files, bound to the OpamDirTrack module
module Dot_config : sig ... end
.config files
module Package_index : IO_FILE with type t = (OpamTypes.repository_name * string option) OpamTypes.package_map
Association between package names and repositories
module Repo_config_legacy : sig ... end
Repository config: $opam/repo/$repo/config
. Deprecated, for migration only
module Repos_config : IO_FILE with type t = (OpamTypes.url * OpamTypes.trust_anchors option) option OpamRepositoryName.Map.t
module Switch_config : sig ... end
module Pinned_legacy : sig ... end
Pinned package files (only used for migration from 1.2, the inclusive State module is now used instead)
module Repo : sig ... end
Repository metadata
module File_attributes : IO_FILE with type t = OpamTypes.file_attribute_set
module Stats : sig ... end
module Syntax : sig ... end
Helper module for manipulation of the raw syntax (opamfile
) format. (the specific file handling modules are derived from this one)