bug#40408: emacs-telega: VoIP doesn't work

2020-08-07 Thread Brett Gilio
Diego Nicola Barbato  writes:

>
>>From f63cf832869bee91f3f6e87c076bd1e39d32c285 Mon Sep 17 00:00:00 2001
> From: Diego Nicola Barbato 
> Date: Sat, 4 Apr 2020 19:36:31 +0200
> Subject: [PATCH] gnu: libtgvoip: Fix loading of shared libraries.
>
> Fixes .
>
> * 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.")

This patch was applied in 580414376b03f2430050f8b5405631f4d7e7e8e3. Closing.





bug#40408: emacs-telega: VoIP doesn't work

2020-08-07 Thread Brett Gilio
Diego Nicola Barbato  writes:

> Hi,
>
> Leo Famulari  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 
> Date: Sat, 4 Apr 2020 19:36:31 +0200
> Subject: [PATCH] gnu: libtgvoip: Fix loading of shared libraries.
>
> Fixes .
>
> * 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.")


Hi all,

I apologize for the late response to this message. When it was sent I
was on haitus.

I am a co-maintainer for emacs-telega upstream along with Evgeny
Zajcev. Currently the functionality for VoIP is broken, and has been
disabled in the emacs-telega package for the time being. However, I
believe you have patched a bug with the libtgvoip package that caused
erroneous linkage to the system libraries on foreign distributions
causing a runtime issue with the telega server. So, I will investigate
your patch, and apply it so that when the time comes and VoIP
functionality is re-enabled we can prevent this issue!

Thank you,

I will forward this along to Evgeny as well.

Brett Gilio





bug#40408: emacs-telega: VoIP doesn't work

2020-04-08 Thread Diego Nicola Barbato
Hi,

Leo Famulari  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 
Date: Sat, 4 Apr 2020 19:36:31 +0200
Subject: [PATCH] gnu: libtgvoip: Fix loading of shared libraries.

Fixes .

* 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



bug#40408: emacs-telega: VoIP doesn't work

2020-04-03 Thread Leo Famulari
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.





bug#40408: emacs-telega: VoIP doesn't work

2020-04-03 Thread Diego Nicola Barbato
Hey Guix,

In Telega neither initiating nor accepting a voice call works:

If I call someone (who has the Telegram App) they can accept the call,
but the app gets stuck connecting.  If either I or the other party hang
up I get a bunch of assertion failures.

If the other party tries to call me I can accept the call, but again
their app gets stuck connecting.  Hanging up has the same effect as
before.

Both actions leave Telega in a broken state (e.g. assertion failures
when I try to enter a chat) and it has to be restarted.

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'm currently on commit 151f3d4.

Regards,

Diego