Skip to content

The index format ​

index.toml follows schema 1 of FoBiS.py's package indexes. fobis index check (run by this repository's check workflow) refuses an unknown key: a typo is an error, not a silently ignored field. Readers (search, info, add) of FoBiS.py 3.15 or newer ignore a key they do not know, with a note: a field added by a newer FoBiS.py never breaks an older one.

toml
schema      = 1
name        = "szaghi"
description = "Fortran packages built with FoBiS or fpm"
follows     = ["https://example.org/fortran/index.toml"]

[package.json-fortran]
source      = "https://github.com/jacobwilliams/json-fortran"
description = "A Modern Fortran JSON API"
license     = "BSD"
keywords    = ["json", "io"]
mirrors     = ["https://gitlab.com/someone/json-fortran"]
provides    = ["json_module", "json_kinds"]
recipe      = "recipes/json-fortran.toml"

Top-level keys ​

KeyRequiredMeaning
schemano (1)the format version; FoBiS refuses a newer one
namenothe index's name, used to qualify its packages when another index follows it
descriptionnoone line
followsnoother indexes searched after this one (any URL an index can have)

Package keys ​

KeyRequiredMeaning
sourceyesthe package's identity: a git URL, or a URL serving fortran-releases.toml
descriptionnoone line, shown by fobis search
licensenoas the package declares it (SPDX when possible)
keywordsnomatched by fobis search
mirrorsnoother URLs of the same content: fobis add copies them into a fobos as :: mirror=URL[,URL]
providesnothe modules the package's library defines (fobis search --module)
buildsnothe build systems of the newest version: fobis, fpm, cmake, make (fobis search --build fpm)
recipenoa recipe file, relative to the index, for a package without fobos or fpm.toml

What is not there ​

No versions, dependencies or hashes. The versions are the source's tags (read by fobis info and fobis add), the dependencies are declared by each package's own fobos or fpm.toml, and the content hashes are recorded by each project's lock file. An entry with version = ... is refused by fobis index check, and ignored by readers.

Validate it ​

bash
fobis index check index.toml            # schema and names
fobis index check index.toml --online   # every source readable and tagged

The index is released under CC0-1.0. Each package keeps its own licence.