git: 5dbf650955c2 - main - x11/xdg-desktop-portal-luminous: unbreak build on 32-bit archs

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Thu, 03 Jul 2025 03:46:08 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5dbf650955c2970ad2e224456c2bcbc03de126e4

commit 5dbf650955c2970ad2e224456c2bcbc03de126e4
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2025-07-03 03:38:18 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2025-07-03 03:44:11 +0000

    x11/xdg-desktop-portal-luminous: unbreak build on 32-bit archs
---
 x11/xdg-desktop-portal-luminous/Makefile          |  4 ----
 x11/xdg-desktop-portal-luminous/files/patch-32bit | 26 +++++++++++++++++++++++
 2 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/x11/xdg-desktop-portal-luminous/Makefile b/x11/xdg-desktop-portal-luminous/Makefile
index e1947a2e7866..489e93f169ea 100644
--- a/x11/xdg-desktop-portal-luminous/Makefile
+++ b/x11/xdg-desktop-portal-luminous/Makefile
@@ -10,10 +10,6 @@ WWW=		https://github.com/waycrate/xdg-desktop-portal-luminous
 LICENSE=	GPLv3
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BROKEN_armv7=	https://github.com/waycrate/xdg-desktop-portal-luminous/issues/86
-BROKEN_i386=	https://github.com/waycrate/xdg-desktop-portal-luminous/issues/86
-BROKEN_powerpc=	https://github.com/waycrate/xdg-desktop-portal-luminous/issues/86
-
 LIB_DEPENDS=	libpipewire-0.3.so:multimedia/pipewire \
 		libxkbcommon.so:x11/libxkbcommon
 RUN_DEPENDS=	xdg-desktop-portal>0:deskutils/xdg-desktop-portal \
diff --git a/x11/xdg-desktop-portal-luminous/files/patch-32bit b/x11/xdg-desktop-portal-luminous/files/patch-32bit
new file mode 100644
index 000000000000..ae834fb13c3b
--- /dev/null
+++ b/x11/xdg-desktop-portal-luminous/files/patch-32bit
@@ -0,0 +1,26 @@
+https://github.com/waycrate/xdg-desktop-portal-luminous/commit/11866c1db91d
+
+--- src/remotedesktop/state.rs.orig	2025-06-26 13:00:06 UTC
++++ src/remotedesktop/state.rs
+@@ -132,18 +132,19 @@ impl AppData {
+     }
+ 
+     pub fn notify_keyboard_keycode(&mut self, keycode: i32, state: u32) {
++        let pressed_key: u32 = KeyState::Pressed.into();
+         match self.get_modifier_from_keycode(keycode) {
+             // Caps lock is managed differently as it's the only
+             // modifier key that is still active after being released
+             Some(Modifiers::CapsLock) => {
+-                if state == KeyState::Pressed.into() {
++                if state == pressed_key {
+                     self.mods ^= BitFlags::from_flag(Modifiers::CapsLock).bits();
+                     self.virtual_keyboard.modifiers(self.mods, 0, 0, 0)
+                 }
+             }
+             // Other modifier keys
+             Some(modifier) => {
+-                if state == KeyState::Pressed.into() {
++                if state == pressed_key {
+                     self.mods |= BitFlags::from_flag(modifier).bits()
+                 } else {
+                     self.mods &= !BitFlags::from_flag(modifier).bits()