Skip to content

new package hash format "Legacy format" is supported only for packages that do not have '-' in their names #23100

Open
@fautore

Description

@fautore

Zig Version

0.14.0

Steps to Reproduce and Observed Behavior

As of #22994 Zig packages that depend on packages that have - in their name error on zig build and zig fetch.

Example:

# this is fine -> legacy is supported
zig fetch --save git+https://github.com/zig-gamedev/zemscripten.git 

# this errors -> legacy is not supported
zig fetch --save git+https://github.com/kristoff-it/zig-live-webserver.git

Likewise, adding only zemscripten as a dependency on build.zig.zon does not error on build, but adding

        .@"live-webserver" = .{
            .url = "git+https://github.com/kristoff-it/zig-live-webserver.git#203bf71534978568fc1322be51cb3aa500fb2953",
            .hash = "1220bdac81725ecdad9a029dc05dd9a05bf7d6bc21a1eba8f8eddfbfdb742340404e",
        },

errors on build.

Both zemscripten and live-webserver haven't been updated to work for this new package format YET, which makes them prime examples of dependencies that can suddenly break builds, but they are certainly not the only one with this problem.

I am aware that package maintainers could update their packages once 0.14.0 is rolled out, but that makes it hard for "dead" or "archived" packages or packages that are slow to adapt to the new zig version.

Expected Behavior

Both #20178 and #22994 mention Legacy support.
But as it stands it's a "half" legacy support, expected behavior for packages that have - in their names should be a warning during the grace period and THEN error after the grace period ends.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugObserved behavior contradicts documented or intended behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions