unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Ivan Vilata i Balaguer <ivan@selidor.net>
To: Ivan Vilata i Balaguer <ivan@selidor.net>
Cc: 38054@debbugs.gnu.org
Subject: bug#38054: mumble: "QSslSocket: cannot resolve <crypto funcs>", Certificate Expiry, segfault
Date: Fri, 22 Nov 2019 01:32:38 -0500	[thread overview]
Message-ID: <20191122063238.GC17621@sax.terramar.selidor.net> (raw)
In-Reply-To: <20191120053024.GZ17621@sax.terramar.selidor.net>

[-- Attachment #1: Type: text/plain, Size: 635 bytes --]

Ivan Vilata i Balaguer (2019-11-20 00:30:24 -0500) wrote:

> Thanks Christopher!  I'm currently working in a complete patch, it's
> building and running (and it's not suffering from the errors I found!), but
> I still need to locate the appropriate icons and include them in the
> package.
> 
> I'll get back to you real soon!

Hi there!  I finally completed the update patch and managed to get the icons
working.  It seems to work as expected without plugin issues.

It wasn't an easy task but I learnt some good stuff during the way… `:D`

Enjoy the new Mumble!

-- 
Ivan Vilata i Balaguer -- https://elvil.net/

[-- Attachment #2: 0001-gnu-mumble-Update-to-1.3.0.patch --]
[-- Type: text/plain, Size: 12056 bytes --]

From 987f03ca1721c1aa54a078a9be143abbac82bf11 Mon Sep 17 00:00:00 2001
From: Ivan Vilata-i-Balaguer <ivan@selidor.net>
Date: Fri, 22 Nov 2019 01:15:53 -0500
Subject: [PATCH] gnu: mumble: Update to 1.3.0.

Besides the update in itself, bundled software components are enabled as long
as they are not already implemented in an existing package (in which case the
package is used instead).  Some comments were added to indicate why bundled
software components are kept or removed, why features are disabled, and the
reason to include each license.

* gnu/packages/telephony.scm (mumble): Update to 1.3.0.
* gnu/packages/patches/mumble-1.2.19-abs.patch: Remove file.
---
 gnu/packages/patches/mumble-1.2.19-abs.patch |  31 -----
 gnu/packages/telephony.scm                   | 114 ++++++++++++-------
 2 files changed, 70 insertions(+), 75 deletions(-)
 delete mode 100644 gnu/packages/patches/mumble-1.2.19-abs.patch

diff --git a/gnu/packages/patches/mumble-1.2.19-abs.patch b/gnu/packages/patches/mumble-1.2.19-abs.patch
deleted file mode 100644
index 683325f4bc..0000000000
--- a/gnu/packages/patches/mumble-1.2.19-abs.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From ea861fe86743c8402bbad77d8d1dd9de8dce447e Mon Sep 17 00:00:00 2001
-From: Mikkel Krautz <mikkel@krautz.dk>
-Date: Fri, 29 Dec 2017 14:47:25 +0100
-Subject: [PATCH] AudioOutput: do not use non-existant template version of
- std::abs.
-
-This change fixes AudioOutput to use the float overload of std::abs:
-
-    float std::abs(float);
-
-instead of a non-existant template version (for newer Boost 1.66).
-
-Fixes mumble-voip/mumble#3281
-
----
- src/mumble/AudioOutput.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/mumble/AudioOutput.cpp b/src/mumble/AudioOutput.cpp
-index cbe0c0e2b..7a0a5e2ab 100644
---- a/src/mumble/AudioOutput.cpp
-+++ b/src/mumble/AudioOutput.cpp
-@@ -437,7 +437,7 @@ bool AudioOutput::mix(void *outbuff, unsigned int nsamp) {
- 					top[2] = 0.0f;
- 				}
- 
--				if (std::abs<float>(front[0] * top[0] + front[1] * top[1] + front[2] * top[2]) > 0.01f) {
-+				if (std::abs(front[0] * top[0] + front[1] * top[1] + front[2] * top[2]) > 0.01f) {
- 					// Not perpendicular. Assume Y up and rotate 90 degrees.
- 
- 					float azimuth = 0.0f;
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index abb68f62b2..e1ad2f90f5 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
 ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
 ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2019 Ivan Vilata i Balaguer <ivan@selidor.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -43,6 +44,7 @@
   #:use-module (gnu packages file)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
@@ -378,30 +380,34 @@ address of one of the participants.")
 (define-public mumble
   (package
     (name "mumble")
-    (version "1.2.19")
+    (version "1.3.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://mumble.info/snapshot/"
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh"))
-              (patches (search-patches "mumble-1.2.19-abs.patch"))
+                "03dqg5yf6d7ilc1wydpshnv1ndssppcbadqcq20jm5j4fdaf53cs"))
               (modules '((guix build utils)))
               (snippet
                `(begin
                   ;; Remove bundled software.
-                  (for-each delete-file-recursively '("3rdparty"
-                                                      "speex"
-                                                      "speexbuild"
-                                                      "opus-build"
-                                                      "opus-src"
-                                                      "sbcelt-helper-build"
-                                                      "sbcelt-lib-build"
-                                                      "sbcelt-src"))
-                  ;; TODO: Celt is still bundled. It has been merged into Opus
-                  ;; and will be removed after 1.3.0.
-                  ;; https://github.com/mumble-voip/mumble/issues/1999
+                  ;; Keep arc4random, celt-0.7.0, celt-0.11.0, qqbonjour, rnnoise, smallft.
+                  (for-each delete-file-recursively '("3rdparty/GL" ; in mesa
+                                                      "3rdparty/mach-override-build" ; for macx
+                                                      "3rdparty/mach-override-src"
+                                                      "3rdparty/minhook-build" ; for win32
+                                                      "3rdparty/minhook-src"
+                                                      "3rdparty/opus-build" ; in opus
+                                                      "3rdparty/opus-src"
+                                                      "3rdparty/sbcelt-helper-build" ; not enabled
+                                                      "3rdparty/sbcelt-lib-build"
+                                                      "3rdparty/sbcelt-src"
+                                                      "3rdparty/speex-build" ; in speex
+                                                      "3rdparty/speex-src"
+                                                      "3rdparty/speexdsp-src" ; in speexdsp
+                                                      "3rdparty/xinputcheck-build" ; for win32
+                                                      "3rdparty/xinputcheck-src"))
                   #t))))
     (build-system gnu-build-system)
     (arguments
@@ -409,23 +415,25 @@ address of one of the participants.")
        #:phases
        (modify-phases %standard-phases
          (replace 'configure
-           (lambda* (#:key outputs #:allow-other-keys)
-             (invoke "qmake" "main.pro" "-recursive"
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (invoke "qmake" "main.pro" "QMAKE_LRELEASE=lrelease"
+                     (string-append "MUMBLE_PYTHON="
+                                    (string-append (assoc-ref inputs "python") "/bin/python3"))
                      (string-append "CONFIG+="
                                     (string-join
-                                     (list "no-update"
-                                           "no-ice"
+                                     ;; Options used are listed in the same order
+                                     ;; as in the "INSTALL" file
+                                     ;; (plus the final "packaged" and "release").
+                                     (list "no-bundled-speex" ; in speex
+                                           "no-bundled-opus" ; in opus
+                                           "no-g15" ; not packaged
+                                           "no-jackaudio" ; use pulse
+                                           "no-oss" ; use pulse
+                                           "no-alsa" ; use pulse
+                                           "no-update"
                                            "no-embed-qt-translations"
-                                           "no-bundled-speex"
-                                           "pch"
-                                           "no-bundled-opus"
-                                           "no-celt"
-                                           "no-alsa"
-                                           "no-oss"
-                                           "no-portaudio"
-                                           "speechd"
-                                           "no-g15"
-                                           "no-bonjour"
+                                           "no-ice" ; not packaged
+                                           "packaged"
                                            "release")))
                      (string-append "DEFINES+="
                                     "PLUGIN_PATH="
@@ -435,6 +443,10 @@ address of one of the participants.")
            (lambda _
              (substitute* "src/mumble/TextToSpeech_unix.cpp"
                (("libspeechd.h") "speech-dispatcher/libspeechd.h"))))
+         (add-before 'install 'disable-murmur-ice
+           (lambda _
+             (substitute* "scripts/murmur.ini.system"
+               (("^ice=") ";ice="))))
          (replace 'install ; install phase does not exist
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -462,24 +474,38 @@ address of one of the participants.")
                (for-each (lambda (file) (install-file file lib))
                          (find-files "." "\\.so\\."))
                (for-each (lambda (file) (install-file file lib))
-                         (find-files "release/plugins" "\\.so$"))))))))
+                         (find-files "release/plugins" "\\.so$")))))
+         (add-after 'install 'wrap-executable
+           ;; Add path to plugins for SVG support (otherwise many icons are not shown).
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (for-each (lambda (program)
+                           (wrap-program (string-append out "/bin/" program)
+                             `("QT_PLUGIN_PATH" ":" prefix
+                               ,(map (lambda (label)
+                                       (string-append (assoc-ref inputs label)
+                                                      "/lib/qt5/plugins"))
+                                     '("qtbase" "qtsvg")))))
+                         '("mumble" "mumble-overlay"))))))))
     (inputs
      `(("avahi" ,avahi)
-       ("protobuf" ,protobuf-3.5)
-       ("openssl" ,openssl)
-       ("libsndfile" ,libsndfile)
        ("boost" ,boost)
-       ("opus" ,opus)
-       ("speex" ,speex)
-       ("speexdsp" ,speexdsp)
-       ("speech-dispatcher" ,speech-dispatcher)
-       ("libx11" ,libx11)
+       ("libsndfile" ,libsndfile)
        ("libxi" ,libxi)
-       ("qt-4" ,qt-4)
-       ("alsa-lib" ,alsa-lib)
-       ("pulseaudio" ,pulseaudio)))
+       ("mesa" ,mesa) ; avoid bundled
+       ("openssl" ,openssl)
+       ("opus" ,opus) ; avoid bundled
+       ("protobuf" ,protobuf)
+       ("pulseaudio" ,pulseaudio)
+       ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)
+       ("speech-dispatcher" ,speech-dispatcher)
+       ("speex" ,speex) ; avoid bundled
+       ("speexdsp" ,speexdsp))) ; avoid bundled
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python)
+       ("qttools" ,qttools)))
     (synopsis "Low-latency, high quality voice chat software")
     (description
      "Mumble is an low-latency, high quality voice chat
@@ -487,9 +513,9 @@ software primarily intended for use while gaming.
 Mumble consists of two applications for separate usage:
 @code{mumble} for the client, and @code{murmur} for the server.")
     (home-page "https://wiki.mumble.info/wiki/Main_Page")
-    (license (list license:bsd-3
-                   ;; The bundled celt is bsd-2. Remove after 1.3.0.
-                   license:bsd-2))))
+    (license (list license:bsd-3 ; mumble celt-0.7.0 qqbonjour rnnoise smallft
+                   license:bsd-2 ; celt-0.11.0
+                   license:isc)))) ; arc4random
 
 (define-public twinkle
   (package
-- 
2.24.0


      reply	other threads:[~2019-11-22  6:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-04  4:04 bug#38054: mumble: "QSslSocket: cannot resolve <crypto funcs>", Certificate Expiry, segfault Ivan Vilata i Balaguer
2019-11-04  7:28 ` Efraim Flashner
2019-11-19 19:00   ` Christopher Lemmer Webber
2019-11-20  5:30     ` Ivan Vilata i Balaguer
2019-11-22  6:32       ` Ivan Vilata i Balaguer [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191122063238.GC17621@sax.terramar.selidor.net \
    --to=ivan@selidor.net \
    --cc=38054@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).