You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mkPackageFlake — the nerima-lisp flake standard as a function call
instead of a template to copy. One call returns a package's whole output
set (packages, checks, apps, devShells, formatter, overlays)
from its declarations. It is the only module taking lib without pkgs:
every other module is instantiated for one pkgs, and a preset built that
way could only emit the single system it was instantiated for, so this one
takes systems and obtains a pkgs — and a cl-nix-forge — per declared
system itself. extraOutputs adds and overrideOutputs replaces, kept
separate so an intended override stays distinguishable from an accidental
name collision; a collision is an evaluation error.
Implementation table rows for ccl, abcl, clisp and clasp, joining sbcl and ecl. CCL is why the rows carry their reasoning: it has no --script, rejects a bare filename outright, and needs --batch to route
an unhandled condition to a non-zero exit — without which a failing suite
exits 0 and every test appears to pass.
This repository's own documentation site, built by its own mkDocsSite.
Changed
mkCheckMatrix decides availability from lib.meta.availableOn rather
than a platform list kept in this library, so one matrix can be written
once and used on every system — nixpkgs is the authority on where CCL
builds, and it changes. A platform skip, a caller's skip and an expectedFailure remain three distinct things: conflating them would let
a real regression hide behind an implementation that cannot run on the
host. A package that IS available here but broken, unfree or insecure
still throws, exactly as it would anywhere else in nixpkgs.
README is a 136-line entry point, under the org standard's 150-line cap,
with the reference material moved to docs/src/.
Known gaps
mkExecutable's two delivery paths are never verified by the same
machine. The branch is isDarwin && sbcl, so a Linux runner always takes asdf:program-op and an aarch64-darwin developer always takes the save-lisp-and-die fallback. CI is x86_64-linux only, which leaves the
Darwin fallback resting on local nix flake check alone.
ccl, clisp and clasp rows are unverified by execution on
aarch64-darwin, where nixpkgs reports all three unavailable. CI is the
first machine to run them.
No consumer has been migrated yet. See the note at the top about 1.0.0.