Repository navigation
Conversation
aherrmann
added a commit
to hermeticbuild/rules_zig
that referenced
this pull request
Oct 7, 2026
Pinned to a commit requiring Zig 0.17.0: mitchellh/libxev#250
aherrmann
added a commit
to hermeticbuild/rules_zig
that referenced
this pull request
Oct 8, 2026
Pinned to a commit requiring Zig 0.17.0: mitchellh/libxev#250
aherrmann
added a commit
to hermeticbuild/rules_zig
that referenced
this pull request
Oct 8, 2026
Pinned to a commit requiring Zig 0.17.0: mitchellh/libxev#250
aherrmann
added a commit
to hermeticbuild/rules_zig
that referenced
this pull request
Oct 8, 2026
Pinned to a commit requiring Zig 0.17.0: mitchellh/libxev#250
aherrmann
added a commit
to hermeticbuild/rules_zig
that referenced
this pull request
Oct 8, 2026
Pinned to a commit requiring Zig 0.17.0: mitchellh/libxev#250
mitchellh#249 made the code build on 0.17, but CI still installs 0.16, so every job fails. CI, the README and minimum_zig_version now say 0.17. libxev.pc was dropped because the install prefix is no longer known when build.zig runs; it now finds its prefix relative to itself. build.zig declares the directories it lists, so a new example, benchmark or man page reruns it. @hasDecl now sees only pub decls, even from the same file, so the "Stream decls" tests returned before checking anything: S is private. Every type that runs them has S, so the guard is gone. The rest is zig fmt's own upgrade to @backingInt and @fromBackingInt. Assisted-by: Claude Opus 5.5
Most of CI builds inside the flake, so it takes 0.17.0 from a zig-overlay revision that has it. libxev.pc now finds its prefix relative to itself, and nix moves it into the dev output, apart from the libraries in $out; the package sets the prefix back to $out. Assisted-by: Claude Opus 5.5
This was referenced Oct 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #248.
#249 made libxev build on Zig 0.17.0. This is what's left of the update:
mainfails. CI, the flake, the README andminimum_zig_versionnow say 0.17.0. The flake takes 0.17.0 from the zig-overlay (nix flake update zig, to dcffc7a); nothing else in the lock moved.libxev.pc. update to Zig 0.17 #249 commented it out becauseb.install_prefixisn't known when build.zig runs any more. It now setsprefix=${pcfiledir}/../.., relative to where it is installed. The nix package moves the.pcinto itsdevoutput, away from the libraries, sonix/package.nixsets the prefix back to$out.@hasDeclnow sees onlypubdecls, even from the same file. These tests began withif (!@hasDecl(Impl, "S")) return;, andSis private, so on 0.17 they returned before checking anything. Every type that runs them hasS, so the guard is gone, anddeclsis nowdecl_names.src/bench,examples,docs) withdependOnDirectoryContents, so adding a file to one reruns it under 0.17's configure cache.zig fmt's upgrade to@backingInt/@fromBackingInt, and thestd.lang.Optimizenames in build.zig.Tested:
zig build teston macOS (59 passed) and on Linux aarch64 with epoll and io_uring (143 passed, 3 skipped), the examples and benchmarks, and a build for every CI target. In anixos/nixcontainer (aarch64-linux):nix flake check, the dev shell'szig buildfor every CI target and its tests, andnix build, whoselibxev.pcresolves to thedevoutput's headers and$out's libraries.🤖 Generated with Claude Code
https://claude.ai/code/session_015YcSvZdqwMncezgbb64ihg