| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Three changes since v1.0, all data or docs -- no engine change:
a0b61ff EF table regenerated from lectio 0.46.1: the Lenten Ember days were
serving Lent I Sunday's Mass. 84 days of the compiled 2025-2054
range corrected.
c21f545 EF table regenerated from lectio 0.46.0: seven precedence and
temporal defects, 209 days.
1ac11af docs: exact corpus paths, and the form follows config.h.
The shipped binary is an Ordinary Form build (config.h), and the OF table is
byte-identical across both regenerations -- so this release changes nothing for
a default build. It matters only to someone building with FORM_EF.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- `make dist` runs git archive to write clectio-$(VERSION).tar.gz: a snapshot of
the committed tree only -- no .git history, and no build artifacts (they are
untracked, so git archive can't include them). VERSION defaults to 1.0,
overridable (make dist VERSION=x). `clean` removes the tarball; it is
gitignored.
- .gitattributes marks .gitignore and .gitattributes export-ignore, so they stay
out of the shipped source tarball.
Claude-Session: https://claude.ai/code/session_01S1CD1u3tgSS4xNu6WHfp5a
|
| |
|
|
|
|
|
|
|
|
| |
Add a manual page covering usage, the -a/-g and --month options, the compile-
time config.h settings (FORM/SIGLA/COLOR/GOSPEL_ONLY/WRAP), and both the
bring-your-own-Bible and bring-your-own-calendar workflows, matching the README.
Install it via make (MANPREFIX = $PREFIX/share/man); uninstall removes it too.
Renders clean under man --warnings.
Claude-Session: https://claude.ai/code/session_01S1CD1u3tgSS4xNu6WHfp5a
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a compile-time override table for MINOR local calendar changes, standalone
(no lectio, no toolchain): edit calendar.h (copied from calendar.def.h), add a
{ month, day, colour, "name" } row, make. It replaces a fixed date's name and
colour, every year, in both single-day and --month output. Limits (no engine):
fixed dates only; name/colour only, not readings or rank/precedence; an override
wins unconditionally.
README gains a "Customize the calendar" section documenting both tiers with
their limits: the standalone override above, and -- for readings, ranks and
movable feasts -- regenerating gen/ from a lectio calendar layer via
clectio-gen (-caldir/-use), then rebuilding with CORPUS= to repack any newly
cited verses, with a git-checkout revert note.
Both forms build clean under -Wall -Wextra; binary unchanged at 666 KB; default
(empty override table) output is unchanged.
Claude-Session: https://claude.ai/code/session_01S1CD1u3tgSS4xNu6WHfp5a
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two size wins:
- Replace the home-grown LZSS (2.0x) with DEFLATE: mktext gzips the text and
strips the gzip container to a raw DEFLATE stream; clectio decompresses it
with puff, Mark Adler's public-domain reference inflate (~200 lines, verified
byte-identical to gunzip on the OF/EF text, repetitive, random and empty
inputs). Text blob 671 KB -> 492 KB (OF), 164 KB -> 132 KB (EF), 2.7x.
- Build with -no-pie: clectio is a local CLI reading static embedded data with
no attack surface, so it needs no PIE/ASLR. The linker then bakes the string-
table pointers in at link time instead of emitting ~57 KB of runtime
relocations.
Net: OF 879 -> 662 KB, EF 266 -> 214 KB. Verified byte-identical to lectio.
The default build still needs only a compiler + libc; a CORPUS= rebuild now
also needs gzip. lz.h removed.
Claude-Session: https://claude.ai/code/session_01S1CD1u3tgSS4xNu6WHfp5a
|
| |
|
|
|
|
|
|
| |
Change the hard `CC = cc` to `CC ?= cc` so an exported CC (e.g. CC=gcc) is
respected. Keeps the suckless default of cc for clones while letting a system
whose `cc` is shadowed use plain `make` without passing CC= each time.
Claude-Session: https://claude.ai/code/session_01S1CD1u3tgSS4xNu6WHfp5a
|
|
|
clectio prints the Catholic liturgical day and its Mass readings for a date
with a single table lookup -- no computation, config file, network, or deps
beyond libc. The calendar, reading citations and scripture text are all
compiled in; the whole shipped package fits on a 1.44 MB floppy (~1.29 MiB)
and the binary is ~0.9 MB (OF) / ~0.3 MB (EF).
- suckless config.h: FORM_OF/FORM_EF, SIGLA_ENGLISH/SIGLA_LATIN, COLOR.
- Bring your own Bible: `make CORPUS=mybible.tsv` recompiles with any
Vulgate-numbered 6-column TSV; only the ~12k cited verses are embedded.
- The hard liturgical logic stays in lectio (Go, oracle-validated); its
clectio-gen emits the corpus-independent tables in gen/. The scripture text
is LZSS-packed (lz.h) to fit; mktext/bin2h resolve+embed it at build time.
- Verified byte-identical to lectio's readings; day names match 157/157 over
a 3-year sample. Default text: public-domain Latin Vulgate. ISC-licensed.
Claude-Session: https://claude.ai/code/session_01S1CD1u3tgSS4xNu6WHfp5a
|