Commit 96baa43
authored
chore(packaging): Guix-only — remove flake.nix, add a real guix.scm (#211)
chore(packaging): Guix-only — remove flake.nix, add a real guix.scm
The estate retired the Nix fallback on 2026-05-18. `flake.nix` was
nonetheless
added to this repo on 2026-07-21 by #187, i.e. *after* the ruling, and
`guix.scm`
has never existed here — so verisimdb has been carrying the retired tier
and
none of the current one.
It is also the repo's lone `SupplyChain` finding: `panic-attack assail`
flags
`flake.nix` for declaring inputs without `narHash` and having no sibling
`flake.lock`. The packaging-policy question and the security finding are
the
same file, which is unusually tidy.
**What is lost: nothing.** `flake.nix` was a dev shell, not a package
build, and
said so in its own header — it declared `just cargo rustc rustfmt
clippy`. The
new `guix.scm` is the one-for-one replacement (`guix shell -m guix.scm`)
and
covers strictly more: it adds `elixir`/`erlang` for
`elixir-orchestration/`,
`coq` for the nine modules gated by `coq-build.yml`, and `reuse` for the
compliance check — all things this repo actually uses and the flake
omitted.
Two deliberate choices, both stated in the file header so nobody has to
reverse-engineer them:
**It is a manifest, not a `(package ...)` with `cargo-build-system`.** A
correct
`#:cargo-inputs` for a 17-crate workspace needs every transitive crate
pinned.
A definition that looked like a package build while failing to produce
one would
be worse than an honest manifest — this estate already has enough
artefacts that
satisfy a presence check without doing anything. Promote it when someone
can
build and verify it end to end.
**It is NOT written from a template, and that matters here.** Guix is
not
installed on this machine, so I could not evaluate the file; the header
says so
rather than implying it was tested. I also checked the obvious shortcut
— the
existing estate `guix.scm` files — and did not use them, because they
are
corrupt. `meta-repos/burble`, `meta-repos/gossamer` and
`meta-repos/paint-type`
carry a **byte-identical 18-line file** declaring:
(name "squisher-corpus")
(home-page "https://github.com/hyperpolymath/squisher-corpus")
(license ... "PMPL-1.0-or-later" ...)
Three unrelated projects, all claiming to be squisher-corpus, all under
Palimpsest rather than their own licence. That is the known clobber
incident,
still live in at least those three. Copying one here would have imported
a wrong
identity and a wrong licence into a repo whose `META.a2ml` AD-006
explicitly
records "MPL-2.0 across the workspace (no AGPL)".
`docs/rsr-compliance.adoc:164` still lists "`guix.scm` OR `flake.nix`"
and is
left alone — it describes the RSR standard's requirement, which this
change
satisfies, and rewriting a description of an external standard is not
mine to do
unilaterally.
Verified: `reuse lint` 775/775 compliant; no remaining
`flake.nix`/`flake.lock`
reference anywhere except the rsr-compliance line above.
**Needs a follow-up run:** `guix shell -m guix.scm -- true` on a machine
with
Guix, to confirm every specification name resolves. If one has drifted,
fix the
name — do not delete the file.1 parent 0ea3ae3 commit 96baa43
2 files changed
Lines changed: 53 additions & 34 deletions
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
0 commit comments