sigildocs

(sigil deps lock)

(sigil deps lock) - Dependency Lockfile

Manages sigil.lock files for reproducible dependency resolution. The lockfile records the exact git ref (commit hash) for every resolved dependency, enabling deterministic builds.

Lockfile format: (lock (package name: "sigil-stdlib" url: "codeberg:sigil/sigil" ref: "v0.9.0" sha: "abc123def456..." package-selector: "sigil-stdlib") (package name: "sigil-peg" url: "codeberg:sigil/sigil-peg" ref: "v0.9.0" sha: "789abc012def..."))

Exports

lock-entryprocedure

Construct a lock-entry struct.

lock-entry?procedure

Test if a value is a lock-entry struct.

Get the name field of a lock-entry struct.

Get the url field of a lock-entry struct.

Get the ref field of a lock-entry struct.

Get the sha field of a lock-entry struct.

Get the package-selector field of a lock-entry struct.

Get the version field of a lock-entry struct.

load-lockfileprocedure

Load a sigil.lock file. Returns a list of lock-entry records, or '() if file doesn't exist.

Parse a (package name: "..." url: "..." ...) form into a lock-entry

Read all S-expressions from a port

Write a lockfile from a list of lock-entry records.

Write an optional field to the lockfile

Write a single lock-entry as a (package ...) form

Find a lock entry by package name

Convert lockfile entries to a simple (name . sha) alist for quick lookups during fetch