Converts the dependencies in a Zig build.zig.zon into a Nix expression, so Zig projects build under Nix without network access.
v0.10.0
50f67839 · Jeffrey C. Ollie ·

zon2nix 0.10.0

v0.9.1
8186e36e · Jeffrey C. Ollie ·

zon2nix 0.9.1

v0.9.0
8e91c0d4 · Jeffrey C. Ollie ·

zon2nix 0.9.0

- check out git packages as committed, ignoring .gitattributes, as Zig reads them: an ordinary checkout could rewrite a file's line endings and leave the package not matching its hash; git entries in the expression now call fetchZigGit, and the JSON keeps its ordinary-checkout hashes - add --exclude, to leave out a dependency and everything beneath it - add --help

v0.8.2
d8368b9f · Jeffrey C. Ollie ·

zon2nix 0.8.2

- accept a linkFarm argument in the generated expression again, and ignore it, so that callers who overrode it for the symlink workaround do not fail to evaluate

v0.8.1
bcfdf2fb · Jeffrey C. Ollie ·

zon2nix 0.8.1

- keep the JSON output's hashes as they were before 0.8.0: for a naked N-V- package, the SHA-256 of the archive file, whatever fetcher the Nix expression uses for it - add a Forgejo workflow for x86_64 Linux, which also keeps Forgejo from running the GitHub workflow

v0.8.0
c695673f · Jeffrey C. Ollie ·

zon2nix 0.8.0

- write simpler Nix expressions: one fetcher call per package, and one derivation that unpacks them all, several at a time, without Zig's recompression -- rebuilding ghostty's packages takes about 9 s, not 20 - fetch an archive with fetchzip when it has a single top-level directory, and with fetchurl when it has none, rather than by whether it is N-V- - filter git packages by .paths, like every other package - compute Zig package hashes without running `zig fetch` for archives, which was nearly all of a run's time - fetch each package's dependencies as soon as it is done, not a level at a time - choose the name and URL of a package reached more than one way by a fixed rule -- the alphabetically first name, an archive over git -- so the output does not depend on timing - share one HTTP client between downloads, and hash for Nix alongside Zig - remove the temporary directory when a run ends - fix random ReadFailed errors reading nix-prefetch output - refuse an archive URL with no extension, which Nix could not unpack - test from end to end in GitHub Actions on Linux and macOS

v0.7.3
da08185d · Jeffrey C. Ollie ·

zon2nix 0.7.3

- report a malformed manifest instead of panicking on it - refuse to write an output over a manifest

v0.7.2
7b9c4331 · Jeffrey C. Ollie ·

zon2nix 0.7.2

- fetch dependencies several at a time - copy the packages instead of linking them

v0.7.0
a1016713 · Jeffrey C. Ollie ·

zon2nix 0.7.0

- fix a temporary directory bug when downloading .zip files - work around another Zig dependency bug - keep `--system` working, and say when it cannot

v0.5.0
0251ad79 · Jeffrey C. Ollie ·

zon2nix 0.5.0

Better, more understandable structure.

v0.4.0
fe860f11 · Jeffrey C. Ollie ·

zon2nix 0.4.0

Zig 0.15 updates; remove Zig 0.14 support.

v0.3.0
f2c35af3 · Jeffrey C. Ollie ·

zon2nix 0.3.0

Update to Zig 0.15.1.

v0.2.0
8282d3c3 · Jeffrey C. Ollie ·

zon2nix 0.2.0

Massive rewrite to almost pure Zig.