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/OpamFile/OPAM/index.html
Module OpamFile.OPAM
OPAM files
include IO_FILE
val write : OpamTypes.filename -> t -> unit
Write some contents to a file
val read : OpamTypes.filename -> t
Read file contents. Raise an error if the file does not exist.
val safe_read : OpamTypes.filename -> t
Read file contents. Return empty
if the file does not exist.
val read_from_channel : ?filename:OpamTypes.filename -> in_channel -> t
Read from channel.
val read_from_string : ?filename:OpamTypes.filename -> string -> t
val write_to_channel : out_channel -> t -> unit
Write to channel.
val empty : t
val create : OpamTypes.package -> t
Create an opam file
val template : OpamTypes.package -> t
Create an OPAM package template filled with common options
val validate : t -> (int * [ `Warning | `Error ] * string) list
Runs several sanity checks on the opam file; returns a list of warnings. `Error
level should be considered unfit for publication, while `Warning
are advisory but may be accepted. The int is an identifier for this specific warning/error.
val validate_file :
OpamTypes.filename ->
(int * [ `Warning | `Error ] * string) list * t option
Same as validate
, but operates on a file, which allows catching parse errors too. You can specify an expected name and version
val validate_string :
OpamTypes.filename ->
string ->
(int * [ `Warning | `Error ] * string) list * t option
Like validate_file
, but takes the file contents as a string
Utility function to print validation results
val is_explicit : OpamTypes.filename -> bool
Returns true if the given OPAM file contains 'name' or 'version' fields
val opam_version : t -> OpamTypes.opam_version
Get OPAM version.
val name : t -> OpamTypes.name
Package name
val name_opt : t -> OpamTypes.name option
val version : t -> OpamTypes.version
Package version
val version_opt : t -> OpamTypes.version option
val ocaml_version : t -> OpamTypes.compiler_constraint option
Compiler constraint
val os : t -> (bool * string) OpamTypes.generic_formula
OS constraint
val available : t -> OpamTypes.filter
Availability formula (OS + compiler constraints)
val maintainer : t -> string list
Package maintainer(s)
val substs : t -> OpamTypes.basename list
File substitutions
val build_env : t -> (string * string * string) list
List of environment variables to set-up for the build
val build : t -> OpamTypes.command list
List of command to run for building the package
val install : t -> OpamTypes.command list
List of command to run for installing the package
val remove : t -> OpamTypes.command list
List of command to run for removing the package
val depends : t -> OpamTypes.ext_formula
Package dependencies
val depopts : t -> OpamTypes.ext_formula
Optional dependencies
val depexts : t -> OpamTypes.tags option
External dependencies
val extension : t -> OpamTypes.value OpamStd.String.Map.t
All extended "x-" fields as a map
val extended : t -> string -> (OpamTypes.value -> 'a) -> 'a option
Parse a single extended field (reports proper file position)
val with_messages : t -> (string * OpamTypes.filter option) list -> t
val with_post_messages : t -> (string * OpamTypes.filter option) list -> t
val conflicts : t -> OpamTypes.formula
Package conflicts
val features : t -> (OpamVariable.t * string * OpamTypes.filter) list
Contents of the 'features' field
val libraries : t -> (string * OpamTypes.filter option) list
List of exported libraries
val syntax : t -> (string * OpamTypes.filter option) list
List of exported syntax extensions
val patches : t -> (OpamTypes.basename * OpamTypes.filter option) list
Patches
val homepage : t -> string list
Homepage(s)
val author : t -> string list
Author(s)
val license : t -> string list
License(s)
val doc : t -> string list
API documentation
val tags : t -> string list
Classification tags
val build_test : t -> OpamTypes.command list
Commands to build and run the tests
val build_doc : t -> OpamTypes.command list
Commands to build the documentation
val messages : t -> (string * OpamTypes.filter option) list
Messages to display before taking action
val post_messages : t -> (string * OpamTypes.filter option) list
Messages to display at end of install
val bug_reports : t -> string list
Where to post bug reports.
val flags : t -> OpamTypes.package_flag list
The package flags that are present for this package.
val has_flag : OpamTypes.package_flag -> t -> bool
Check the package for the given flag. Allows flags specified through tags for compatibility
val with_opam_version : t -> OpamTypes.opam_version -> t
Sets the opam version
val dev_repo : t -> OpamTypes.pin_option option
The package source repository address
val with_name : t -> OpamTypes.name -> t
construct as name
val with_name_opt : t -> OpamTypes.name option -> t
val with_version : t -> OpamTypes.version -> t
construct as version
val with_version_opt : t -> OpamTypes.version option -> t
val with_depends : t -> OpamTypes.ext_formula -> t
Construct as depends
val with_depopts : t -> OpamTypes.ext_formula -> t
Construct as depopts
val with_conflicts : t -> OpamTypes.formula -> t
val with_features : t -> (OpamVariable.t * string * OpamTypes.filter) list -> t
val with_build : t -> OpamTypes.command list -> t
Construct as build
val with_install : t -> OpamTypes.command list -> t
val with_remove : t -> OpamTypes.command list -> t
Construct as remove
val with_libraries : t -> (string * OpamTypes.filter option) list -> t
Construct as libraries
val with_syntax : t -> (string * OpamTypes.filter option) list -> t
Replace the syntax
field of the given OPAM file.
val with_substs : t -> OpamTypes.basename list -> t
Construct as substs
val with_ocaml_version : t -> OpamTypes.compiler_constraint option -> t
Construct as compiler_version
val with_os : t -> (bool * string) OpamTypes.generic_formula -> t
val with_available : t -> OpamTypes.filter -> t
val with_patches :
t ->
(OpamTypes.basename * OpamTypes.filter option) list ->
t
Construct as patches
val with_depexts : t -> OpamTypes.tags option -> t
Construct using depexts
val with_flags : t -> OpamTypes.package_flag list -> t
val with_dev_repo : t -> OpamTypes.pin_option option -> t
val with_extension : t -> OpamTypes.value OpamStd.String.Map.t -> t
val add_extension : t -> string -> OpamTypes.value -> t
val to_1_0 : OpamTypes.file -> OpamTypes.file
Convert to OPAM 1.0