B0_opam.Fileopam file generation.
type value = [ | `Raw of string | (* A raw, unescaped value *) |
| `B of bool | (* A boolean. *) |
| `S of string | (* A string. *) |
| `L of bool * value list | (* A list of values, the boolean indicates whether line-by-line rendering should be forced. *) |
]The type for opam values.
type field = string * valueThe type for opam fields. The field name and its value.
type section = string * string option * tThe type for opam sections. The section name, the optional string and the contents of the section.
and t = item listThe type for generic opam file contents.
val v2 : itemv2 is opam-version: "2.0".
val pp : t B00_std.Fmt.tpp formats file contents.
val to_string : t -> stringto_string formats file contents to a string.
pkg_of_meta ~with_name m is an opam package file from m. Here's an account of how opam fields are populated by metadata keys.
"authors:", B0_meta.authors."build:", B0_opam.Meta.build."bug-report:", B0_meta.issues."conflicts:", B0_opam.Meta.conflicts."description:", B0_meta.description."depends:", B0_opam.Meta.depends."depopts:", B0_opam.Meta.depopts."dev-repo:", B0_meta.repo."doc:", B0_meta.online_doc."homepage:", B0_meta.homepage."install:", B0_opam.Meta.install."license:", B0_meta.licenses."maintainer:", B0_meta.maintainers."name:", B0_opam.Meta.name iff with_name is true."synopsis:", B0_meta.synopsis."tags:", B0_meta.description_tags.Finally the contents of B0_opam.Meta.file_addendum is appended after the definition of these fields.
See Meta.pkg_of_pack for deriving metadata from build packs.