Note: zig version is 0.12.0-dev.152+411462e1c
This is probably an edge case but I thought it might be worth bringing up. I am fooling around with zig-gamedev, a nice collection of game and graphics libraries, which is included in my project as a git submodule in my libs/ directory. zig-gamedev has a build.zig.zon file which names Dawn, Google’s webgpu implementation, as a dependency. So far so good, building zig-gamedev fetches Dawn and all is well.
However, building my top-level project fails because of an unresolved dependency on Dawn. The obvious solution was to add the Dawn dependency to my own build.zig.zon and now the build works. But this is not great as Dawn is a transitive dependency from my project’s perspective. My code never uses Dawn directly. In other words, ideally I shouldn’t have to name Dawn in my build.zig.zon as it’s already named elsewhere in the source tree.
Is this git submodule thing a viable edge case that should be addressed by the package manager adding submodule dependencies to the dependency graph, or must we name all transitive dependencies when including git submodules in our source trees?
Or maybe in these cases, the top-level build.zig.zon could do eg “import libs/zig-gamedev/build.zig.zon” as a compromise?
Finally, my apologies if this is already on the roadmap, I haven’t kept up with package manager development.