protocol
pack_protocol
Pack specification protocol. Objects implementing this protocol should be named after the pack with a _pack
suffix and saved in a file with the same name as the object.
logtalk_load(packs(loader))
static
Public predicates
name/1
Pack name.
static
name(Name)
name(?atom)
- zero_or_one
description/1
Pack one line description.
static
description(Description)
description(?atom)
- zero_or_one
license/1
Pack license. Specified using the identifier from the SPDX License List (https://spdx.org/licenses/) when possible.
static
license(License)
license(?atom)
- zero_or_one
home/1
Pack home HTTPS or file URL.
static
home(Home)
home(?atom)
- zero_or_one
version/6
Table of available versions.
static
version(Version,Status,URL,Checksum,Dependencies,Portability)
version(?compound,?atom,-atom,-pair(atom,atom),-list(pair(atom,callable)),?atom)
- zero_or_more
version(?compound,?atom,-atom,-pair(atom,atom),-list(pair(atom,callable)),-list(atom))
- zero_or_more
Version: This argument uses the same format as entity versions:
Major:Minor:Patch
. Semantic versioning should be used.Status: Version development status. E.g
stable
,rc
,beta
,alpha
, ordeprecated
.URL: File URL for a local directory, file URL for a local archive, download HTTPS URL for the pack archive, or download git archive URL for the pack archive.
Checksum: A pair where the key is the hash algorithm and the value is the checksum. Currently, the hash algorithm must be
sha256
. Forfile://
URLs of local directories, usenone
instead of a pair.Dependencies: Pack dependencies list. Each dependency is a
Dependency Operator Version
term.Operator
is a term comparison operator. ValidDependency
values areRegistry::Pack
,os(Name,Machine)
,logtalk
, and a backend identifier atom.Portability: Either the atom
all
or a list of the supported backend Prolog compilers (using the identifier atoms used by theprolog_dialect
flag).Clause order: Versions must be listed ordered from newest to oldest.
note/3
Table of notes per action and version.
static
note(Action,Version,Note)
note(?atom,?term,-atom)
- zero_or_more
Action: Possible values are
install
,update
, anduninstall
. When unbound, the note apply to all actions.Version: Version acted on (i.e. version being installed, updated to, or uninstalled). When unbound, the note apply to all versions.
Note: Note to print when performing an action on a pack version.
Protected predicates
(none)
Private predicates
(none)
Operators
(none)