Subject: [bug#42040] [PATCH] gnu: mumble: Fix mumble-overlay.

From: Leo Prikler <[email-masked]>
Date: Thu, 25 Jun 2020 15:46:18 +0200

The canonical mumble-overlay script searches for libmumble.so.1 in various
directories, none of which are relevant in Guix installations and
additionally does some work to match the architecture of the library to that
of the command that will be executed.
This work is unnecessary in Guix and only causes the script to fail, so we
instead just hardcode the path.

* gnu/packages/telephony.scm (mumble)[#:phases]: Add fix-mumble-overlay.
---
 gnu/packages/telephony.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 4c84ddc85a..542d36a841 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -588,6 +588,16 @@ address of one of the participants.")
              (substitute* "src/mumble/Settings.cpp"
                (("bUsage = true;") "bUsage = false;"))
              #t))
+         (add-before 'configure 'fix-mumble-overlay
+           (lambda* (#:key outputs #:allow-other-keys)
+              (with-output-to-file "scripts/mumble-overlay"
+                (lambda ()
+                  (format #t "#!~a~%" (which "bash"))
+                  (format #t "export LD_PRELOAD=\"~a $LD_PRELOAD\"~%"
+                          (string-append (assoc-ref outputs "out")
+                                         "/lib/mumble/libmumble.so.1"))
+                  (format #t "exec \"${@}\"")))
+              #t))
          (add-before 'install 'disable-murmur-ice
            (lambda _
              (substitute* "scripts/murmur.ini.system"
-- 
2.26.2