Hi, Leo Famulari <l...@famulari.name> 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 <dnbarb...@posteo.de> 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