unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#38395] [PATCH] gnu: mumble: Update to 1.3.0.
@ 2019-11-27  1:40 Ivan Vilata i Balaguer
       [not found] ` <handler.38395.B.157481938629139.ack@debbugs.gnu.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Ivan Vilata i Balaguer @ 2019-11-27  1:40 UTC (permalink / raw)
  To: 38395


[-- Attachment #1.1: Type: text/plain, Size: 733 bytes --]

Hi!  This patch updates Mumble to 1.3.0.  It came about as a fix to
<https://issues.guix.gnu.org/issue/38054>, but I'm posting it here directly
since fixing that issue was just a byproduct of the version update.

Notes from the patch comment indicating other differences with the previous
package version:

> 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.

Cheers!

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

[-- Attachment #1.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


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to 1.3.0.)
       [not found] ` <handler.38395.B.157481938629139.ack@debbugs.gnu.org>
@ 2019-12-04 20:17   ` Ivan Vilata i Balaguer
  2019-12-04 23:24     ` Christopher Lemmer Webber
  2019-12-05  9:02     ` Efraim Flashner
  0 siblings, 2 replies; 7+ messages in thread
From: Ivan Vilata i Balaguer @ 2019-12-04 20:17 UTC (permalink / raw)
  To: 38395

Is there anything still missing in the patch that I could work on for it to
get merged?  Thanks!

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to 1.3.0.)
  2019-12-04 20:17   ` [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to 1.3.0.) Ivan Vilata i Balaguer
@ 2019-12-04 23:24     ` Christopher Lemmer Webber
  2019-12-05  9:02     ` Efraim Flashner
  1 sibling, 0 replies; 7+ messages in thread
From: Christopher Lemmer Webber @ 2019-12-04 23:24 UTC (permalink / raw)
  To: 38395

Ivan Vilata i Balaguer writes:

> Is there anything still missing in the patch that I could work on for it to
> get merged?  Thanks!

Hi!

I tried getting it to run but I ran into errors compiling it.  But then
I didn't get around to posting what they were to the list and something
else came up and I don't remember what they were. :\

I can see if I can find time to look again soon but I can't promise
anything.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to 1.3.0.)
  2019-12-04 20:17   ` [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to 1.3.0.) Ivan Vilata i Balaguer
  2019-12-04 23:24     ` Christopher Lemmer Webber
@ 2019-12-05  9:02     ` Efraim Flashner
  2019-12-06 18:28       ` Ivan Vilata i Balaguer
  2019-12-16  1:44       ` Ivan Vilata i Balaguer
  1 sibling, 2 replies; 7+ messages in thread
From: Efraim Flashner @ 2019-12-05  9:02 UTC (permalink / raw)
  To: Ivan Vilata i Balaguer; +Cc: 38395

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

On Wed, Dec 04, 2019 at 03:17:18PM -0500, Ivan Vilata i Balaguer wrote:
> Is there anything still missing in the patch that I could work on for it to
> get merged?  Thanks!
> 

With the 'staging' branch being merged into master the patch no longer
cleanly applies.

Also, since you've removed a patch from the gnu/packages/patches folder
you need to remove it also from gnu/local.mk. The two other things are
the commit message doesn't list all of the changes and with the new
qt-build-system that would probably be a better choice than wrapping the
binaries yourself, but with an updated patch without that I can help
work on that since it is such a new change.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to 1.3.0.)
  2019-12-05  9:02     ` Efraim Flashner
@ 2019-12-06 18:28       ` Ivan Vilata i Balaguer
  2019-12-16  1:44       ` Ivan Vilata i Balaguer
  1 sibling, 0 replies; 7+ messages in thread
From: Ivan Vilata i Balaguer @ 2019-12-06 18:28 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 38395, Ivan Vilata i Balaguer

Efraim Flashner (2019-12-05 11:02:36 +0200) wrote:

> On Wed, Dec 04, 2019 at 03:17:18PM -0500, Ivan Vilata i Balaguer wrote:
> > Is there anything still missing in the patch that I could work on for it to
> > get merged?  Thanks!
> > 
> 
> With the 'staging' branch being merged into master the patch no longer
> cleanly applies.
> 
> Also, since you've removed a patch from the gnu/packages/patches folder
> you need to remove it also from gnu/local.mk. The two other things are
> the commit message doesn't list all of the changes and with the new
> qt-build-system that would probably be a better choice than wrapping the
> binaries yourself, but with an updated patch without that I can help
> work on that since it is such a new change.

Thanks Efraim for the info!  I don't think I'll have time to work on this
during the next week, but I'll try again ASAP and get back to you.

Cheers,

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to 1.3.0.)
  2019-12-05  9:02     ` Efraim Flashner
  2019-12-06 18:28       ` Ivan Vilata i Balaguer
@ 2019-12-16  1:44       ` Ivan Vilata i Balaguer
       [not found]         ` <20191219130311.GH917@E5400>
  1 sibling, 1 reply; 7+ messages in thread
From: Ivan Vilata i Balaguer @ 2019-12-16  1:44 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 38395, Ivan Vilata i Balaguer


[-- Attachment #1.1: Type: text/plain, Size: 1014 bytes --]

Efraim Flashner (2019-12-05 11:02:36 +0200) wrote:

> With the 'staging' branch being merged into master the patch no longer
> cleanly applies.
> 
> Also, since you've removed a patch from the gnu/packages/patches folder
> you need to remove it also from gnu/local.mk. The two other things are
> the commit message doesn't list all of the changes and with the new
> qt-build-system that would probably be a better choice than wrapping the
> binaries yourself, but with an updated patch without that I can help
> work on that since it is such a new change.

Hi!  I'm attaching a reviewed set of patches.  The first patch updates the
original one to fix the copyright line (so it applies cleanly again), the
`local.mk` line removal and commit message completeness.  The second patch
adds the update to `qt-build-system`.  From the comments in
`guix/build-system/qt.scm` I gather that no other changes are missing, but I
may be wrong.

Thanks!

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

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

From aea8a70894c170d3c825c26d25f83b3ef05f2820 Mon Sep 17 00:00:00 2001
From: Ivan Vilata-i-Balaguer <ivan@selidor.net>
Date: Sun, 15 Dec 2019 14:22:08 -0500
Subject: [PATCH 1/2] 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: Add import of (gnu packages gl).
* gnu/packages/telephony.scm (mumble): Update to 1.3.0.
* gnu/packages/patches/mumble-1.2.19-abs.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
---
 gnu/local.mk                                 |   1 -
 gnu/packages/patches/mumble-1.2.19-abs.patch |  31 -----
 gnu/packages/telephony.scm                   | 114 ++++++++++++-------
 3 files changed, 70 insertions(+), 76 deletions(-)
 delete mode 100644 gnu/packages/patches/mumble-1.2.19-abs.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 32b2c141fa..1034e0198d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1158,7 +1158,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/mrrescue-support-love-11.patch		\
   %D%/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch \
   %D%/packages/patches/mtools-mformat-uninitialized.patch	\
-  %D%/packages/patches/mumble-1.2.19-abs.patch			\
   %D%/packages/patches/mumps-build-parallelism.patch		\
   %D%/packages/patches/mumps-shared-libseq.patch		\
   %D%/packages/patches/mumps-shared-mumps.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 5b6c578fce..53911f4a94 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
 ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
+;;; Copyright © 2019 Ivan Vilata i Balaguer <ivan@selidor.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -44,6 +45,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)
@@ -379,30 +381,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
@@ -410,23 +416,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="
@@ -436,6 +444,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"))
@@ -463,24 +475,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
@@ -488,9 +514,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


[-- Attachment #1.3: 0002-gnu-mumble-Use-qt-build-system.patch --]
[-- Type: text/plain, Size: 2972 bytes --]

From b94d83ed7b9ed7fe009e6aa4920970a8ebfa4276 Mon Sep 17 00:00:00 2001
From: Ivan Vilata-i-Balaguer <ivan@selidor.net>
Date: Sun, 15 Dec 2019 20:12:34 -0500
Subject: [PATCH 2/2] gnu: mumble: Use qt-build-system.

* gnu/packages/telephony.scm: Add import of (guix build-system qt).
* gnu/packages/telephony.scm (mumble): Use qt-build-system.
  <phases>: Base on phases from qt-build-system. {wrap-executable}:
  Remove.
---
 gnu/packages/telephony.scm | 21 +++++----------------
 1 file changed, 5 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 53911f4a94..e0168d2345 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -79,7 +79,8 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system qt))
 
 (define-public commoncpp
   (package
@@ -410,11 +411,11 @@ address of one of the participants.")
                                                       "3rdparty/xinputcheck-build" ; for win32
                                                       "3rdparty/xinputcheck-src"))
                   #t))))
-    (build-system gnu-build-system)
+    (build-system qt-build-system)
     (arguments
      `(#:tests? #f  ; no "check" target
        #:phases
-       (modify-phases %standard-phases
+       (modify-phases (@ (guix build qt-build-system) %standard-phases)
          (replace 'configure
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (invoke "qmake" "main.pro" "QMAKE_LRELEASE=lrelease"
@@ -475,19 +476,7 @@ 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$")))))
-         (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"))))))))
+                         (find-files "release/plugins" "\\.so$"))))))))
     (inputs
      `(("avahi" ,avahi)
        ("boost" ,boost)
-- 
2.24.0


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to 1.3.0.)
       [not found]         ` <20191219130311.GH917@E5400>
@ 2019-12-19 16:51           ` Ivan Vilata i Balaguer
  0 siblings, 0 replies; 7+ messages in thread
From: Ivan Vilata i Balaguer @ 2019-12-19 16:51 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 38054-done, 38395-done, Ivan Vilata i Balaguer

Efraim Flashner (2019-12-19 15:03:11 +0200) wrote:

> I merged the two patches together, made sure all the phases returned #t
> and flushed out the commit message some more.

Thanks a lot!  Comparing your final patch against mine was also very
instructive. `:)`

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-12-19 16:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-27  1:40 [bug#38395] [PATCH] gnu: mumble: Update to 1.3.0 Ivan Vilata i Balaguer
     [not found] ` <handler.38395.B.157481938629139.ack@debbugs.gnu.org>
2019-12-04 20:17   ` [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to 1.3.0.) Ivan Vilata i Balaguer
2019-12-04 23:24     ` Christopher Lemmer Webber
2019-12-05  9:02     ` Efraim Flashner
2019-12-06 18:28       ` Ivan Vilata i Balaguer
2019-12-16  1:44       ` Ivan Vilata i Balaguer
     [not found]         ` <20191219130311.GH917@E5400>
2019-12-19 16:51           ` Ivan Vilata i Balaguer

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).