From da75271d1db99ec2c5785e9bba4c209f8408ebc4 Mon Sep 17 00:00:00 2001 From: LN Liberda <lauren@selfisekai.rocks> Date: Sun, 9 Mar 2025 22:15:16 +0100 Subject: [PATCH river-bedload] Update to Zig 0.14 --- build.zig | 7 ++----- build.zig.zon | 9 +++++---- common/flags.zig | 6 +++--- src/Backend.zig | 14 +++++++------- src/main.zig | 2 +- 5 files changed, 18 insertions(+), 20 deletions(-) diff --git a/build.zig b/build.zig index 2718840..138b411 100644 --- a/build.zig +++ b/build.zig @@ -1,6 +1,6 @@ const std = @import("std"); -const Scanner = @import("zig-wayland").Scanner; +const Scanner = @import("wayland").Scanner; pub fn build(b: *std.Build) void { const target = b.standardTargetOptions(.{}); @@ -17,7 +17,7 @@ pub fn build(b: *std.Build) void { const scanner = Scanner.create(b, .{}); - scanner.addCustomProtocol("protocol/river-status-unstable-v1.xml"); + scanner.addCustomProtocol(b.path("protocol/river-status-unstable-v1.xml")); scanner.generate("wl_compositor", 4); scanner.generate("wl_shm", 1); @@ -43,9 +43,6 @@ pub fn build(b: *std.Build) void { exe.root_module.addImport("flags", flags); - // TODO: remove when https://github.com/ziglang/zig/issues/131 is implemented - scanner.addCSource(exe); - exe.pie = pie; b.installArtifact(exe); diff --git a/build.zig.zon b/build.zig.zon index 8c4bf41..4752118 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,11 +1,12 @@ .{ - .name = "river-bedload", + .name = .river_bedload, .version = "0.1.1", .dependencies = .{ - .@"zig-wayland" = .{ - .url = "https://codeberg.org/ifreund/zig-wayland/archive/v0.2.0.tar.gz", - .hash = "1220687c8c47a48ba285d26a05600f8700d37fc637e223ced3aa8324f3650bf52242", + .wayland = .{ + .url = "https://codeberg.org/ifreund/zig-wayland/archive/v0.3.0.tar.gz", + .hash = "wayland-0.3.0-lQa1kjPIAQDmhGYpY-zxiRzQJFHQ2VqhJkQLbKKdt5wl", }, }, .paths = .{""}, + .fingerprint = 0x3fcdadc076da625d, } diff --git a/common/flags.zig b/common/flags.zig index 5b7b552..79adde9 100644 --- a/common/flags.zig +++ b/common/flags.zig @@ -42,21 +42,21 @@ pub fn parser(comptime Arg: type, comptime flags: []const Flag) type { .boolean => .{ .name = flag.name, .type = bool, - .default_value = &false, + .default_value_ptr = &false, .is_comptime = false, .alignment = @alignOf(bool), }, .arg => .{ .name = flag.name, .type = ?[:0]const u8, - .default_value = &@as(?[:0]const u8, null), + .default_value_ptr = &@as(?[:0]const u8, null), .is_comptime = false, .alignment = @alignOf(?[:0]const u8), }, }; fields = fields ++ [_]std.builtin.Type.StructField{field}; } - break :flags_type @Type(.{ .Struct = .{ + break :flags_type @Type(.{ .@"struct" = .{ .layout = .auto, .fields = fields, .decls = &.{}, diff --git a/src/Backend.zig b/src/Backend.zig index b16c66d..b63c514 100644 --- a/src/Backend.zig +++ b/src/Backend.zig @@ -499,11 +499,11 @@ fn registry_listener(registry: *wl.Registry, event: wl.Registry.Event, backend: fn registry_event(backend: *Backend, registry: *wl.Registry, event: wl.Registry.Event) !void { switch (event) { .global => |ev| { - if (mem.orderZ(u8, ev.interface, wl.Compositor.getInterface().name) == .eq) { + if (mem.orderZ(u8, ev.interface, wl.Compositor.interface.name) == .eq) { backend.compositor = try registry.bind(ev.name, wl.Compositor, 5); - } else if (mem.orderZ(u8, ev.interface, wl.Shm.getInterface().name) == .eq) { + } else if (mem.orderZ(u8, ev.interface, wl.Shm.interface.name) == .eq) { backend.shm = try registry.bind(ev.name, wl.Shm, 1); - } else if (mem.orderZ(u8, ev.interface, wl.Output.getInterface().name) == .eq) { + } else if (mem.orderZ(u8, ev.interface, wl.Output.interface.name) == .eq) { // Version 4 required for wl_output.name. if (ev.version < 4) fatal_version(wl.Output, ev.version, 4); @@ -517,7 +517,7 @@ fn registry_event(backend: *Backend, registry: *wl.Registry, event: wl.Registry. backend.outputs.prepend(node); if (backend.river_status_manager != null) try node.data.get_output_status(); - } else if (mem.orderZ(u8, ev.interface, wl.Seat.getInterface().name) == .eq) { + } else if (mem.orderZ(u8, ev.interface, wl.Seat.interface.name) == .eq) { // Version 5 required for wl_seat.release. if (ev.version < 5) fatal_version(wl.Seat, ev.version, 5); @@ -531,7 +531,7 @@ fn registry_event(backend: *Backend, registry: *wl.Registry, event: wl.Registry. backend.seats.prepend(node); if (backend.river_status_manager != null) try node.data.get_seat_status(); - } else if (mem.orderZ(u8, ev.interface, zriver.StatusManagerV1.getInterface().name) == .eq) { + } else if (mem.orderZ(u8, ev.interface, zriver.StatusManagerV1.interface.name) == .eq) { backend.river_status_manager = try registry.bind(ev.name, zriver.StatusManagerV1, 4); } }, @@ -563,10 +563,10 @@ fn fatal_version(comptime Global: type, found_version: u32, req_version: u32) no ctx.fatal( .backend, "the advertised {s} version is too old({d}). Version {d} is required", - .{ Global.getInterface().name, found_version, req_version }, + .{ Global.interface.name, found_version, req_version }, ); } fn fatal_not_advertised(comptime Global: type) noreturn { - ctx.fatal(.backend, "{s} not advertised", .{Global.getInterface().name}); + ctx.fatal(.backend, "{s} not advertised", .{Global.interface.name}); } diff --git a/src/main.zig b/src/main.zig index d666c31..e1fba2a 100644 --- a/src/main.zig +++ b/src/main.zig @@ -54,7 +54,7 @@ const Context = struct { pub fn fatal( _: Context, - comptime scope: @Type(.EnumLiteral), + comptime scope: @Type(.enum_literal), comptime format: []const u8, args: anytype, ) noreturn {