>From 987f03ca1721c1aa54a078a9be143abbac82bf11 Mon Sep 17 00:00:00 2001 From: Ivan Vilata-i-Balaguer 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 -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(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 ;;; Copyright © 2018 Tim Gesthuizen ;;; Copyright © 2019 Pierre Neidhardt +;;; Copyright © 2019 Ivan Vilata i Balaguer ;;; ;;; 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