// 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 // `git@git.sr.ht:~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#`. .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, }