summary refs log tree commit diff
path: root/gnu/packages/telephony.scm
diff options
context:
space:
mode:
authorDiego Nicola Barbato <dnbarbato@posteo.de>2020-04-04 19:36:31 +0200
committerBrett Gilio <brettg@gnu.org>2020-08-07 21:12:35 -0500
commit580414376b03f2430050f8b5405631f4d7e7e8e3 (patch)
treeb056a58ebefde0f707cdfe57e2de644810832840 /gnu/packages/telephony.scm
parent612ed88b10d21d27473861340144cc2e98d3b2ca (diff)
downloadguix-580414376b03f2430050f8b5405631f4d7e7e8e3.tar.gz
gnu: libtgvoip: Fix loading of shared libraries.
* gnu/packages/telephony.scm (libtgvoip)[arguments]<#:phases>[patch-dlopen]:
  New phase.

Fixes <https://debbugs.gnu.org/40408>.

Signed-off-by: Brett Gilio <brettg@gnu.org>
Diffstat (limited to 'gnu/packages/telephony.scm')
-rw-r--r--gnu/packages/telephony.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 58df4f5f00..be50ab3c95 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -889,6 +889,23 @@ Initiation Protocol (SIP) and a multimedia framework.")
        ("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.")