git: 96596ed77ada - main - accessibility/wl-gammarelay-rs: apply a crashfix

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Tue, 19 Mar 2024 22:30:05 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=96596ed77adab94bd7c75da99cc6d95b12e9cfe8

commit 96596ed77adab94bd7c75da99cc6d95b12e9cfe8
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2024-03-19 22:13:33 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2024-03-19 22:28:33 +0000

    accessibility/wl-gammarelay-rs: apply a crashfix
    
    thread 'main' panicked at rustbus-service-7401913977ccf665748b1f4dee033921e1c86afd/src/lib.rs:117:39:
    not yet implemented
---
 accessibility/wl-gammarelay-rs/Makefile             |  1 +
 .../wl-gammarelay-rs/files/patch-rustbus-service    | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/accessibility/wl-gammarelay-rs/Makefile b/accessibility/wl-gammarelay-rs/Makefile
index 23d940c47196..0a2802cd9d23 100644
--- a/accessibility/wl-gammarelay-rs/Makefile
+++ b/accessibility/wl-gammarelay-rs/Makefile
@@ -1,6 +1,7 @@
 PORTNAME=	wl-gammarelay-rs
 DISTVERSIONPREFIX=	v
 DISTVERSION=	0.4.0
+PORTREVISION=	1
 CATEGORIES=	accessibility wayland
 
 MAINTAINER=	jbeich@FreeBSD.org
diff --git a/accessibility/wl-gammarelay-rs/files/patch-rustbus-service b/accessibility/wl-gammarelay-rs/files/patch-rustbus-service
new file mode 100644
index 000000000000..09b8ab171a54
--- /dev/null
+++ b/accessibility/wl-gammarelay-rs/files/patch-rustbus-service
@@ -0,0 +1,21 @@
+https://github.com/MaxVerevkin/wl-gammarelay-rs/issues/22
+https://github.com/MaxVerevkin/rustbus-service/commit/681b783ff093
+
+--- ../rustbus-service-7401913977ccf665748b1f4dee033921e1c86afd/src/lib.rs.orig	2024-03-17 08:14:31 UTC
++++ ../rustbus-service-7401913977ccf665748b1f4dee033921e1c86afd/src/lib.rs
+@@ -114,7 +114,14 @@ impl<D: 'static> Service<D> {
+                 MessageType::Signal => {
+                     eprintln!("todo: handle signal: {:?}", msg.dynheader.member);
+                 }
+-                MessageType::Error => todo!(),
++                MessageType::Error => {
++                    let error_name = msg.dynheader.error_name.expect("error without error_name");
++                    let error_message = msg.body.parser().get::<&str>().ok();
++                    eprintln!(
++                        "dbus error: {error_name}: {}",
++                        error_message.unwrap_or("<no message>")
++                    );
++                }
+                 MessageType::Call => {
+                     if let Some(cb) = get_call_handler(&self.root, &msg) {
+                         cb(MethodContext {