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

No message

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.