diff options
| author | Gabriel Schneider <[email protected]> | 2026-08-26 13:28:33 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-09-16 11:28:40 -0300 |
| commit | b42ecaed412be2e30b9e780eb7c9e46e1535f26f (patch) | |
| tree | b93290beb84d87df983615c5a7847e339ee7783b /build.zig.zon | |
| parent | 38bb891dd6bd0074894cbfedbf9185e303cc549e (diff) | |
| download | esp32p4-b42ecaed412be2e30b9e780eb7c9e46e1535f26f.tar.gz esp32p4-b42ecaed412be2e30b9e780eb7c9e46e1535f26f.zip | |
Make the toolchain a package another build can drive, and move the editor's glue to the editorHEADmain
Diffstat (limited to 'build.zig.zon')
| -rw-r--r-- | build.zig.zon | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/build.zig.zon b/build.zig.zon new file mode 100644 index 0000000..ae03fb0 --- /dev/null +++ b/build.zig.zon @@ -0,0 +1,46 @@ +// This repository went without a manifest on purpose for as long as it had no reason to have one, +// and the reason it now has one runs in the opposite direction to the failure recorded in build.zig +// (see the comment under `-Dpardes`). +// +// What broke, and stays broken, is depending on pardes FROM here: declaring the editor as a path +// dependency nested its ~30-package graph under this repo and killed every build in it - the +// comptime backwards-branch quota in std/Build.zig:2091 over the enlarged dependency table, and +// seven cached tree_sitter versions whose build.zig files no longer compile on Zig 0.16. That is +// still true, which is why the editor is NOT declared here: it arrives as a linked object over a C +// ABI, and the seam between the two repositories stays a file. +// +// The reverse direction has none of that cost. This package has exactly one dependency - cloud9, +// pinned below, whose own manifest declares none - so nesting this package under another one adds +// two entries to that one's table, not the thirty whose comptime `mem.eql` walk blew the quota +// above. There is no stale cache entry for either to reach, and both compile on 0.16 by +// construction. A manifest is what makes this addressable as a dependency at all, and build.zig's +// `pub` API is what a dependent drives; `build()` itself early-returns when it is not the root +// package, so declaring this dependency costs a dependent nothing and does not drag an ESP-IDF +// checkout into its builds. +.{ + .name = .zig_p4, + .version = "0.1.0", + // The one dependency, and only the GPIO 9P application uses it: that image is a 9P server over + // base 9P2000, and the protocol implementation is shared with the editor rather than copied. + // Pinned here like every other package in this account, so the image builds from this file + // alone - the sibling `../cloud9` checkout it used to reach across is gone. Push with + // `[email protected]:~gbrls/cloud9`; zig has no `git+ssh` support, so the manifest carries the + // read-only HTTPS URL. Re-pin with + // `zig fetch --save=cloud9 git+https://git.sr.ht/~gbrls/cloud9#<commit>`. + .dependencies = .{ + .cloud9 = .{ + .url = "git+https://git.sr.ht/~gbrls/cloud9#ae310a207534b33b7321dd2b9f423a73b1969159", + .hash = "cloud9-0.1.0-yt86qsv9AwAy7XqxowpkCFum_p_xfl4S74L8KIeVz4j9", + }, + }, + // `pub fn build`'s API is written against 0.16's std.Build: `b.graph.io`, `std.Io.Dir`, + // `addWriteFiles`, and `Compile.root_module`. None of it compiles on 0.15 and this project + // tracks the release rather than master. + .minimum_zig_version = "0.16.0", + // Exactly what a dependent compiles: this file, the build graph, the board-support and driver + // sources under src/, and the host-side toolchain under tools/. Deliberately not examples/ - + // those are applications with their own `_start`, built by `zig build` HERE and never by a + // dependent - nor experiments/ (measurement data) nor README.md. + .paths = .{ "build.zig", "build.zig.zon", "src", "tools" }, + .fingerprint = 0x40c3b14caca7670f, +} |
