B0_opam.MetaSourceopam metadata.
Some of the metadata is covered by standard keys.
The type for package specifications. A package name and a filtered package formula, use "" if you don't have any constraint.
available is an opam available: field value. This is a raw string in opam sntax that defines the whole field.
build is an opam build: field value. This is a raw string in opam syntax that defines the whole field. Used to override automatic opam file generation, see pkg_of_pack.
depends is an opam depends: field value. Used to override automatic opam file dependency generation, see pkg_of_pack.
depopts is an opam depopts: field value.
conflicts is an opam conflicts: field value.
file_addendum is an opam file fragment appended at the end of a generated opam file. See B0_opam.File.pkg_of_meta.
install is an opam install: field value. This is a raw string in opam syntax that defines the whole field. Used to override automatic opam file generation, see pkg_of_pack.
name is an opam name: field value. Use to override automatic opam package name generation, see pkg_of_pack.
pin_depends is an opam pin-depends: field value.
pkg_of_pack p is opam package metadata for pack p ready to be used with File.pkg_of_meta to derive an opam package file.
This is p's metadata with the following fields added if they are unspecified:
name, the value of B0_opam.pkg_name_of_pack p.B0_meta.synopsis and B0_meta.description. The fields are tentatively derived from an existing README.md in the scope directory of p. The first marked up section of the file is extracted, its title is parsed according to the pattern '$(NAME) $(SEP) $(SYNOPSIS)' to get a synopsis line and the body up to the next (sub)section defines the description.build, a locked b0 build of the pack is defined.depends, we collect the OCaml libraries required by units in the pack, derive a package names out of them. FIXME. This is the poc but it's not workable for now we don't have enough metadata in library names.