From aa24df42183ad415d10bc0a33e6238c437fc0f59 Mon Sep 17 00:00:00 2001 From: Techatrix Date: Sat, 1 Mar 2025 13:19:09 +0100 Subject: [PATCH] fix build with Zig `0.14.0-dev.3445+6c3cbb0c8` (Breaking Change) (#57) --- .github/workflows/build.yml | 11 +++-------- README.md | 7 +++++-- build.zig | 9 +++------ build.zig.zon | 5 +++-- 4 files changed, 14 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6d143db..3e37952 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,11 +14,9 @@ jobs: matrix: zig-version: [master] os: [ubuntu-latest, macos-latest, windows-latest] - include: - - zig-version: "0.12.1" - os: ubuntu-latest - - zig-version: "0.13.0" - os: ubuntu-latest + # include: + # - zig-version: "0.14.0" + # os: ubuntu-latest runs-on: ${{ matrix.os }} steps: - name: Checkout @@ -35,8 +33,6 @@ jobs: - name: Setup `wasmtime` if: matrix.os == 'ubuntu-latest' uses: bytecodealliance/actions/wasmtime/setup@v1 - with: - version: "21.0.1" # Wasmtime v22.0.0 has removed support for the "Wasmtime 13-and-prior CLI" - name: Print wasmtime version if: matrix.os == 'ubuntu-latest' @@ -46,5 +42,4 @@ jobs: if: matrix.os == 'ubuntu-latest' run: zig build test -Dtarget=wasm32-wasi -fwasmtime --summary all env: - WASMTIME_NEW_CLI: 0 WASMTIME_BACKTRACE_DETAILS: 1 diff --git a/README.md b/README.md index 396b621..cd2652c 100644 --- a/README.md +++ b/README.md @@ -45,13 +45,16 @@ pub fn getPath(allocator: std.mem.Allocator, folder: KnownFolder) Error!?[]const ## Installation +> [!NOTE] +> The minimum supported Zig version is `0.14.0-dev.3445+6c3cbb0c8`. + Initialize a `zig build` project if you haven't already. ```bash zig init ``` -Add the `known-folders` package to your `build.zig.zon`. +Add the `known_folders` package to your `build.zig.zon`. ```bash zig fetch --save git+https://github.com/ziglibs/known-folders.git @@ -60,7 +63,7 @@ zig fetch --save git+https://github.com/ziglibs/known-folders.git You can then import `known-folders` in your `build.zig` with: ```zig -const known_folders = b.dependency("known-folders", .{}).module("known-folders"); +const known_folders = b.dependency("known_folders", .{}).module("known-folders"); const exe = b.addExecutable(...); // This adds the known-folders module to the executable which can then be imported with `@import("known-folders")` exe.root_module.addImport("known-folders", known_folders); diff --git a/build.zig b/build.zig index ef45632..c38a23e 100644 --- a/build.zig +++ b/build.zig @@ -1,7 +1,7 @@ const std = @import("std"); const builtin = @import("builtin"); -const minimum_zig_version = std.SemanticVersion.parse("0.12.0") catch unreachable; +const minimum_zig_version = std.SemanticVersion.parse("0.14.0-dev.3445+6c3cbb0c8") catch unreachable; pub fn build(b: *std.Build) void { if (comptime (builtin.zig_version.order(minimum_zig_version) == .lt)) { @@ -22,7 +22,7 @@ pub fn build(b: *std.Build) void { const strip = b.option(bool, "strip", "Omit debug information"); const test_filters = b.option([]const []const u8, "test-filter", "Skip tests that do not match any filter") orelse &[0][]const u8{}; - _ = b.addModule("known-folders", .{ + const mod = b.addModule("known-folders", .{ .root_source_file = b.path("known-folders.zig"), .target = target, .optimize = optimize, @@ -30,10 +30,7 @@ pub fn build(b: *std.Build) void { }); const unit_tests = b.addTest(.{ - .root_source_file = b.path("known-folders.zig"), - .target = target, - .optimize = optimize, - .strip = strip, + .root_module = mod, .filters = test_filters, }); diff --git a/build.zig.zon b/build.zig.zon index f35f8e1..504cdb9 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,7 +1,7 @@ .{ - .name = "known-folders", + .name = .known_folders, .version = "0.0.0", - .minimum_zig_version = "0.12.0", + .minimum_zig_version = "0.14.0-dev.3445+6c3cbb0c8", .dependencies = .{}, .paths = .{ "build.zig", @@ -11,4 +11,5 @@ "README.md", "RESOURCES.md", }, + .fingerprint = 0x8b68d75b268f2f17, // Changing this has security and trust implications. }