On Mon, Dec 16, 2024 at 07:07:19PM +0100, Paco Esteban wrote:
> Updated diff with py-gstreamer added as a RDEP.
> Without it we encounter all sorts of crashes.
> 
> Tried to apply a patch that's already in master,
> https://dev.gajim.org/gajim/gajim/-/commit/d3f0067f8ad5a36ad6a7f5163767b34e72257b2d
> as suggested by lucas@ but the problem persist.
> 
> We can get ride of gstreamer in a future version.
> 
> comments ?  ok ?

I'm able to run Gajim withour gstreamer with this patch.


diff refs/heads/master 76e7828e73ee68d8979840699ec5511355dc805b
commit - 69dc97fac29da02f0611602cc0916150ba5793f7
commit + 76e7828e73ee68d8979840699ec5511355dc805b
blob - a571aeefa6de02dc057831137b69dc3ed1df1607
blob + 96d62e41a38df3adf5f8031dd6fb48550c4b6652
--- net/gajim/Makefile
+++ net/gajim/Makefile
@@ -2,6 +2,7 @@ COMMENT=        fully-featured XMPP client written in Python
 MODPY_EGG_VERSION=     1.9.5
 DISTNAME=      gajim-${MODPY_EGG_VERSION}
 CATEGORIES=    net x11
+REVISION=      0
 
 HOMEPAGE=      https://www.gajim.org
 
@@ -27,7 +28,6 @@ RUN_DEPENDS=  audio/gsound \
                graphics/py-Pillow${MODPY_FLAVOR} \
                graphics/py-cairo${MODPY_FLAVOR} \
                graphics/py-qrcode${MODPY_FLAVOR}>=7.3.1 \
-               multimedia/gstreamer1/py-gstreamer${MODPY_FLAVOR} \
                net/py-nbxmpp${MODPY_FLAVOR}>=5.0.4 \
                security/py-cryptodome${MODPY_FLAVOR} \
                security/py-cryptography${MODPY_FLAVOR} \
blob - /dev/null
blob + d55a075a77f050afa370d082c36078bbdbd13601 (mode 644)
--- /dev/null
+++ net/gajim/patches/patch-gajim_gtk_voice_message_recorder_py
@@ -0,0 +1,18 @@
+From d3f0067f8ad5a36ad6a7f5163767b34e72257b2d Mon Sep 17 00:00:00 2001
+From: wurstsalat <mailtr...@posteo.de>
+Date: Wed, 4 Dec 2024 21:03:50 +0100
+Subject: [PATCH] cfix: VoiceMessageRecorder: Disbale if Gstreamer is missing
+
+Index: gajim/gtk/voice_message_recorder.py
+--- gajim/gtk/voice_message_recorder.py.orig
++++ gajim/gtk/voice_message_recorder.py
+@@ -36,6 +36,9 @@ GST_ERROR_ON_MERGING = 3
+ class VoiceMessageRecorder:
+ 
+     def __init__(self, error_callback: Callable[[int, str], None]) -> None:
++        if not app.is_installed("GST"):
++            return
++
+         # React to settings change
+         app.settings.connect_signal(
+             'audio_input_device', self._on_audio_input_device_changed
blob - /dev/null
blob + 958c60639072afbcb50d5830fd94a02fb02436db (mode 644)
--- /dev/null
+++ net/gajim/patches/patch-gajim_gtk_voice_message_recorder_widget_py
@@ -0,0 +1,33 @@
+From d3f0067f8ad5a36ad6a7f5163767b34e72257b2d Mon Sep 17 00:00:00 2001
+From: wurstsalat <mailtr...@posteo.de>
+Date: Wed, 4 Dec 2024 21:03:50 +0100
+Subject: [PATCH] cfix: VoiceMessageRecorder: Disbale if Gstreamer is missing
+
+Index: gajim/gtk/voice_message_recorder_widget.py
+--- gajim/gtk/voice_message_recorder_widget.py.orig
++++ gajim/gtk/voice_message_recorder_widget.py
+@@ -43,6 +43,16 @@ class VoiceMessageRecorderButton(Gtk.MenuButton):
+ 
+         app.settings.bind_signal('show_voice_message_button', self, 
'set_visible')
+ 
++        self._ui = get_builder("voice_message_recorder.ui")
++
++        if not app.is_installed("GST"):
++            self.set_sensitive(False)
++            self.set_tooltip_text(_("Voice Message are not available"))
++            self.set_child(
++                
Gtk.Image.new_from_icon_name("audio-input-microphone-symbolic")
++            )
++            return
++
+         app.settings.connect_signal(
+             'audio_input_device', self._on_audio_input_device_changed
+         )
+@@ -69,7 +79,6 @@ class VoiceMessageRecorderButton(Gtk.MenuButton):
+         self._voice_message_recorder = 
VoiceMessageRecorder(self._on_error_occurred)
+         self._audio_player_widget = AudioWidget(Path(''))
+ 
+-        self._ui = get_builder('voice_message_recorder.ui')
+         self._ui.connect_signals(self)
+         self.set_popover(self._ui.popover)
+         self._ui.popover.connect('closed', self._on_popover_closed)

Reply via email to