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

127 lines
5.3 KiB
Diff

From e36a1731811e7a0834d98943bd8dc3cb5f16ea99 Mon Sep 17 00:00:00 2001
From: LN Liberda <lauren@selfisekai.rocks>
Date: Sun, 9 Mar 2025 22:23:39 +0100
Subject: [PATCH rivercarro] Update to Zig 0.14
---
build.zig | 8 +++-----
build.zig.zon | 9 +++++----
common/flags.zig | 6 +++---
src/main.zig | 6 +++---
4 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/build.zig b/build.zig
index 01cb80d..ccd5317 100644
--- a/build.zig
+++ b/build.zig
@@ -3,7 +3,7 @@ const assert = std.debug.assert;
const fs = std.fs;
const mem = std.mem;
-const Scanner = @import("zig-wayland").Scanner;
+const Scanner = @import("wayland").Scanner;
/// While a rivercarro release is in development, this string should contain
/// the version in development with the "-dev" suffix. When a release is
@@ -28,7 +28,7 @@ pub fn build(b: *std.Build) !void {
.Inherit,
) catch break :blk version;
- var it = mem.split(u8, mem.trim(u8, git_describe_long, &std.ascii.whitespace), "-");
+ var it = mem.splitSequence(u8, mem.trim(u8, git_describe_long, &std.ascii.whitespace), "-");
_ = it.next().?; // previous tag
const commit_count = it.next().?;
const commit_hash = it.next().?;
@@ -50,7 +50,7 @@ pub fn build(b: *std.Build) !void {
const scanner = Scanner.create(b, .{});
- scanner.addCustomProtocol("protocol/river-layout-v3.xml");
+ scanner.addCustomProtocol(b.path("protocol/river-layout-v3.xml"));
scanner.generate("wl_output", 4);
scanner.generate("river_layout_manager_v3", 2);
@@ -74,8 +74,6 @@ pub fn build(b: *std.Build) !void {
rivercarro.root_module.addImport("flags", flags);
- scanner.addCSource(rivercarro);
-
rivercarro.pie = pie;
b.installArtifact(rivercarro);
diff --git a/build.zig.zon b/build.zig.zon
index 10ef75f..99dfe87 100644
--- a/build.zig.zon
+++ b/build.zig.zon
@@ -1,11 +1,12 @@
.{
- .name = "rivercarro",
+ .name = .rivercarro,
.version = "0.5.0",
.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 = 0xded41bcbe8fb50ac,
}
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/main.zig b/src/main.zig
index e724881..cd9d05e 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -134,7 +134,7 @@ const Output = struct {
.namespace_in_use => fatal("namespace 'rivercarro' already in use.", .{}),
.user_command => |ev| {
- var it = mem.tokenize(u8, mem.span(ev.command), " ");
+ var it = mem.tokenizeSequence(u8, mem.span(ev.command), " ");
const active_cfg = output.get_cfg(output.user_command_tags);
const raw_cmd = it.next() orelse {
log.err("not enough arguments", .{});
@@ -535,9 +535,9 @@ fn registry_listener(registry: *wl.Registry, event: wl.Registry.Event, context:
fn registry_event(context: *Context, registry: *wl.Registry, event: wl.Registry.Event) !void {
switch (event) {
.global => |ev| {
- if (mem.orderZ(u8, ev.interface, river.LayoutManagerV3.getInterface().name) == .eq) {
+ if (mem.orderZ(u8, ev.interface, river.LayoutManagerV3.interface.name) == .eq) {
context.layout_manager = try registry.bind(ev.name, river.LayoutManagerV3, 2);
- } else if (mem.orderZ(u8, ev.interface, wl.Output.getInterface().name) == .eq) {
+ } else if (mem.orderZ(u8, ev.interface, wl.Output.interface.name) == .eq) {
const wl_output = try registry.bind(ev.name, wl.Output, 4);
errdefer wl_output.release();