[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#40408: emacs-telega: VoIP doesn't work
From: |
Diego Nicola Barbato |
Subject: |
bug#40408: emacs-telega: VoIP doesn't work |
Date: |
Wed, 08 Apr 2020 14:55:05 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hi,
Leo Famulari <address@hidden> writes:
> On Fri, Apr 03, 2020 at 06:12:16PM +0200, Diego Nicola Barbato wrote:
>> The following error messages in .telega/telega-voip.log seem relevant:
>>
>> --8<---------------cut here---------------start------------->8---
>> 04-01 20:04:04 E: Error loading libpulse: (null)
>> 04-01 20:04:04 E: Error loading libasound: (null)
>> 04-01 20:04:04 E: Error loading libasound: (null)
>> 04-01 20:04:04 E: Error initializing audio playback
>> --8<---------------cut here---------------end--------------->8---
>
> I'd guess those libraries should be dependencies of this package. I
> would move it to the telephony module as well.
Turns out the libraries are dependencies of libtgvoip. It tries to
dlopen them, but doesn't find them. I've attached a patch to fix that.
Unfortunately VoIP still doesn't work in Telega (it still fails in the
same way as before, except that there are no more error messages in
.telega/telega-voip.log). It looks like that's a separate, unrelated
issue.
Regards,
Diego
>From f63cf832869bee91f3f6e87c076bd1e39d32c285 Mon Sep 17 00:00:00 2001
From: Diego Nicola Barbato <address@hidden>
Date: Sat, 4 Apr 2020 19:36:31 +0200
Subject: [PATCH] gnu: libtgvoip: Fix loading of shared libraries.
Fixes <https://debbugs.gnu.org/40408>.
* gnu/packages/telephony.scm (libtgvoip)[arguments]<#:phases>[patch-dlopen]:
New phase.
---
gnu/packages/telephony.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index f64cdd3fb2..f73efb0deb 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -1046,6 +1046,23 @@ This package provides the Jami client for the GNOME
desktop.")
("libopusenc" ,libopusenc)
("openssl" ,openssl)
("pulseaudio" ,pulseaudio)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; libtgvoip wants to dlopen libpulse and libasound, so tell it where
+ ;; they are.
+ (add-after 'unpack 'patch-dlopen
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "os/linux/AudioPulse.cpp"
+ (("libpulse\\.so")
+ (string-append (assoc-ref inputs "pulseaudio")
+ "/lib/libpulse.so")))
+ (substitute* '("os/linux/AudioInputALSA.cpp"
+ "os/linux/AudioOutputALSA.cpp")
+ (("libasound\\.so")
+ (string-append (assoc-ref inputs "alsa-lib")
+ "/lib/libasound.so")))
+ #t)))))
(synopsis "VoIP library for Telegram clients")
(description "A collection of libraries and header files for implementing
telephony functionality into custom Telegram clients.")
--
2.26.0