Install headers from build.zig.zon asset

Zig 0.12 (nix master),

How to install headers from build.zig.zon asset using the zig build system?

// build.zig
const std = @import("std");

pub fn build(b: *std.Build) void {
    const upstream_uwebsockets = b.dependency("upstream_uwebsockets", .{});

    b.installDirectory(.{
        .source_dir = upstream_uwebsockets.path("src"),
        .install_dir = "include",
    });
}
// build.zig.zon
.{
    .name = "uWebSockets",
    .version = "20.62.0",
    .dependencies = .{
        .upstream_uwebsockets = .{
            .url = "https://github.com/uNetworking/uWebSockets/archive/refs/tags/v20.62.0.tar.gz",
            .hash = "12208f52e2ad090880043559b45a86e862b30fdab9b5a78085cf7b8ad9deac5f504b",
        },
    },
    .paths = .{
        "",
    },
}

install_dir is an enum.
install_subdir (if included) is a subfolder under the specified install_dir.

    const upstream_uwebsockets = b.dependency("upstream_uwebsockets", .{});
    const install_docs = b.installDirectory(.{
        .source_dir = upstream_uwebsockets.path("src/include"),
        .install_dir = .header,
        .install_subdir = "include",
    });

run zig build to copy files from “src/include” in the .tar.gz, to zig-out/include/include