Commit0e00a839Recorded27 Jul 2026Repositorycore-channel

Publish verified Binaryen channel package

Changed
 README.md                                                                    | 32 +++++++++++++++++++++-----------
 channel.catalogue.sgl                                                        |  2 ++
 objects/014baf016eec17892f30a30847b070ffb09e397182d2ef50eda2ceb3fded2a58.sgl |  1 +
 package.sgl                                                                  |  7 +++++++
 snapshot.sgl                                                                 |  3 +++
 src/core/packages/wasm.sgl                                                   | 15 +++++++++++++++
 6 files changed, 49 insertions(+), 11 deletions(-)
Diff
README.mdmodified
@@ -1,10 +1,11 @@
1
# core-channel
2
3
`core-channel` is the authoring repository behind Sigil's `core/` package
4
scope. A channel is a versioned directory of recipes plus the pinned build
5
inputs needed to realize them. The repository contains recipes and manifests;
6
generated toolchains, source archives, build output, and the seed tarball are
7
deliberately not committed.
+3
`core-channel` is the ordinary Sigil library repository behind the authenticated
+4
`core/` environment-package scope. Reviewed package definitions live under
+5
`src/` and are imported like any other Sigil modules. The signed snapshot and
+6
catalogue authenticate that source tree and its exported canonical package
+7
objects. Generated toolchains, source archives, build output, and the seed
+8
tarball are deliberately not committed.
9
10
## Clone, bootstrap, enter
11
@@ -20,15 +21,24 @@ verifies their SHA-256 hashes before installation, and refuses altered or
21
unexpected content. It requires `sh`, `sha256sum`, `tar`, and either `curl` or
22
`wget` on the host.
23
23
Recipes are published under the `core/` scope by filename: for example,
24
`recipes/hello.sgl` resolves as `core/hello`. An environment names exact recipe
25
versions; `sigil env` resolves the recipe closure, realizes missing outputs,
26
and builds a shell PATH from the verified results. Recipe changes and input
27
hash changes are reviewed as source changes in this repository.
+24
Authenticated package values are published under the `core/` scope by the
+25
catalogue. For example, `(core packages wasm)` defines Binaryen 112 and the
+26
catalogue exports it as `core/binaryen`. `sigil project lock` evaluates only
+27
the snapshot-pinned `src/` closure, verifies the exported package identity,
+28
realizes missing outputs, and seals those results into referenced locks.
+29
+30
The older `recipes/` directory remains for the original external-build channel
+31
prototype. New authenticated package definitions use normal modules under
+32
`src/`; do not duplicate them in `recipes/`.
33
34
## Repository layout
35
31
- `recipes/`: reviewed package recipes.
+36
- `package.sgl`: ordinary Sigil library metadata.
+37
- `src/`: reviewed authenticated package-definition modules.
+38
- `objects/`: canonical package values named by their SHA-256 identity.
+39
- `snapshot.sgl`: signed source/toolchain snapshot.
+40
- `channel.catalogue.sgl`: signed exported binding-to-package map.
+41
- `recipes/`: legacy external-build prototype recipes.
42
- `seed/MANIFEST`: pinned downloadable seed artifact.
43
- `seed/MANIFEST.sources` and `seed/scripts/`: pinned seed sources and the
44
reproducible seed build.
channel.catalogue.sgladded
@@ -0,0 +1,2 @@
+1
(catalogue schema: 1 snapshot: "core-stable@1:sha256:07e599ae6707becf8fc6fbd7606f1346b996ffd80d929de6072aaffdffe55e8f" channel-source: "sha256:5d279c32a73e576a29d1ffb5aa354fe6ad983b2e1c23e20d22f3621a7f51a807" content-hash: "sha256:da0c0785061f3ae5698d91931b8263e83e8b5905f4d51c33f00005cdec18596b" signature-algorithm: "sha256-keyed-test-v1" key-id: "sigil-env-snapshot-test-key-2026" signature: "sha256:639a5d45e6851278a9f16d468f9f5acb99e51febf3589cce3458907bb60c10d7")
+2
(binding name: "core/binaryen" package: "sha256:014baf016eec17892f30a30847b070ffb09e397182d2ef50eda2ceb3fded2a58")
objects/014baf016eec17892f30a30847b070ffb09e397182d2ef50eda2ceb3fded2a58.sgladded
@@ -0,0 +1 @@
+1
(package-v1 name: "binaryen" version: "112" source: (source location: "https://github.com/WebAssembly/binaryen/releases/download/version_112/binaryen-version_112-x86_64-linux.tar.gz" sha256: "25a94f8129a532b4d84b6fa305ae630bcbd379d56416c895b3daa48d5fb2523e") buildenv: "894ca74bdb03c25d79f00ce915bbe25c56eba192334963c69e1846e6c84526cb" dependencies: () phases: ((phase kind: install-tree args: () patches: ())) divergences: ())
package.sgladded
@@ -0,0 +1,7 @@
+1
(package
+2
name: "core-channel"
+3
sigil: "^0.17"
+4
description: "Authenticated core package definitions for Sigil environments"
+5
url: "https://codeberg.org/sigil/core-channel"
+6
license: "BSD-3-Clause"
+7
authors: (list "David Wilson <[email protected]>"))
snapshot.sgladded
@@ -0,0 +1,3 @@
+1
(snapshot schema: 1 id: "core-stable" sequence: 1 content-hash: "sha256:07e599ae6707becf8fc6fbd7606f1346b996ffd80d929de6072aaffdffe55e8f" signature-algorithm: "sha256-keyed-test-v1" key-id: "sigil-env-snapshot-test-key-2026" signature: "sha256:3b96a61adcebfde9c9cd82ac33474b486dd6df3f9fbb8cda9bf4fd2484022d27")
+2
(toolchain id: "toolchain/zig" version: "0.16.0" recipe: "sha256:5bc02f4c7abc6055b1f5fc37c57c4b063c18f9e3431ba2cab0cc9f30f313e33b" output: "sha256:70e49664a74374b48b51e6f3fdfbf437f6395d42509050588bd49abe52ba3d00")
+3
(pkg id: "core/packages/wasm" version: "0.1.0" recipe: "sha256:5d279c32a73e576a29d1ffb5aa354fe6ad983b2e1c23e20d22f3621a7f51a807")
src/core/packages/wasm.sgladded
@@ -0,0 +1,15 @@
+1
(define-library (core packages wasm)
+2
(import (sigil core)
+3
(sigil env package)
+4
(sigil build external))
+5
(export binaryen)
+6
(begin
+7
(define binaryen
+8
(package
+9
name: "binaryen"
+10
version: "112"
+11
source: (external-source
+12
location: "https://github.com/WebAssembly/binaryen/releases/download/version_112/binaryen-version_112-x86_64-linux.tar.gz"
+13
sha256: "25a94f8129a532b4d84b6fa305ae630bcbd379d56416c895b3daa48d5fb2523e")
+14
buildenv: "894ca74bdb03c25d79f00ce915bbe25c56eba192334963c69e1846e6c84526cb"
+15
phases: (list (external-phase kind: 'install-tree))))))