aports/testing/river-bedload/0001-Update-to-Zig-0.14.patch
2025-03-12 22:06:14 +00:00

157 lines
6.6 KiB
Diff

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 {