git: 3ee2eb616ce6 - 2023Q1 - astro/mepo: unbreak zoom in/out on SIGUSR1/SIGUSR2

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Mon, 06 Feb 2023 19:39:37 UTC
The branch 2023Q1 has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3ee2eb616ce616ebfa5d542d80993274c19d60e9

commit 3ee2eb616ce616ebfa5d542d80993274c19d60e9
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2023-02-06 12:39:00 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2023-02-06 19:39:12 +0000

    astro/mepo: unbreak zoom in/out on SIGUSR1/SIGUSR2
    
    https://git.sr.ht/~mil/mepo/commit/2e50c6f02618
    (cherry picked from commit e239314a86fd69d64c856fed632e155f6ca4549b)
---
 astro/mepo/Makefile                             |  2 +-
 astro/mepo/files/patch-src_api_bind__signal.zig | 25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/astro/mepo/Makefile b/astro/mepo/Makefile
index 220ebb807866..f30d1753c510 100644
--- a/astro/mepo/Makefile
+++ b/astro/mepo/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	mepo
 DISTVERSION=	1.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	astro geography wayland
 MASTER_SITES=	https://git.sr.ht/~mil/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/
 
diff --git a/astro/mepo/files/patch-src_api_bind__signal.zig b/astro/mepo/files/patch-src_api_bind__signal.zig
new file mode 100644
index 000000000000..378d281adc74
--- /dev/null
+++ b/astro/mepo/files/patch-src_api_bind__signal.zig
@@ -0,0 +1,25 @@
+https://lists.sr.ht/~mil/mepo-devel/patches/38775
+
+--- src/api/bind_signal.zig.orig	2023-02-01 03:43:08 UTC
++++ src/api/bind_signal.zig
+@@ -39,13 +39,14 @@ fn bind_signal(mepo: *Mepo, signo_str: [:0]const u8, expression: []const u8) !vo
+     }
+ 
+     // Register generic signal handler
+-    if (0 != std.os.linux.sigaction(signal_name, &.{
++    const signal_action = std.os.Sigaction{
+         .handler = .{ .handler = utilsdl.sdl_push_event_signal },
+-        .mask = [_]u32{0} ** 32,
+-        .flags = @as(c_uint, 0),
+-    }, null)) {
+-        return error.FailedToSetupSighandler;
+-    }
++        .mask = std.os.empty_sigset,
++        .flags = 0,
++    };
++
++    std.os.sigaction(signal_name, &signal_action, null)
++        catch return error.FailedToSetupSighandler;
+ 
+     if (mepo.table_signals.get(signal_name)) |heap_str| {
+         mepo.allocator.free(heap_str);