unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Add mumble
@ 2016-11-22 23:31 ng0
  2016-11-22 23:31 ` [PATCH] gnu: " ng0
  2016-11-23 20:44 ` [PATCH] " ng0
  0 siblings, 2 replies; 7+ messages in thread
From: ng0 @ 2016-11-22 23:31 UTC (permalink / raw)
  To: guix-devel

[PATCH] gnu: Add mumble.

I tested succesfully: configuration wizzard, connection to gnunet.org server.
I was not not able to test: actual interaction with other people, this will follow tomorrow afternoon/evening.

Shortcomings of this patch:
The images are CC licensed. I wasn't able to figure out the exact licenses and also not which images end up on the system. I do install knowingly only 1 image which is the icon.
The bundled celt sources need to be removed, at the moment they still get caught up in a check. From my theoretic understanding, opus is enough, as it includes most of what used to be in celt.

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

* [PATCH] gnu: Add mumble.
  2016-11-22 23:31 [PATCH] Add mumble ng0
@ 2016-11-22 23:31 ` ng0
  2016-11-26 11:34   ` Marius Bakke
  2016-11-23 20:44 ` [PATCH] " ng0
  1 sibling, 1 reply; 7+ messages in thread
From: ng0 @ 2016-11-22 23:31 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/telephony.scm (mumble): New variable.
---
 gnu/packages/telephony.scm | 93 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 3d5e58e..1c07346 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 ;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com>
+;;; Copyright © 2016 ng0 <ng0@libertad.pw>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,13 +25,20 @@
 (define-module (gnu packages telephony)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages avahi)
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages speech)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages xiph)
+  #:use-module (gnu packages xorg)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -287,3 +295,88 @@ lists.  All you need to join an existing conference is the host name or IP
 address of one of the participants.")
     (home-page "http://holdenc.altervista.org/seren/")
     (license license:gpl3+)))
+
+(define-public mumble
+  (package
+    (name "mumble")
+    (version "1.2.17")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://mumble.info/snapshot/"
+                                  name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "176br3b0pv5sz3zvgzsz9rxr3n79irlm902h7n1wh4f6vbph2dhw"))
+              (modules '((guix build utils)))
+              (snippet
+               `(begin
+                  ;; Remove bundled software.
+                  (delete-file-recursively "3rdparty")
+                  (delete-file-recursively "speex")
+                  ;; TODO: Celt needs to be removed from main.pro.
+                  ;; (delete-file-recursively "celt-0.11.0-src")
+                  ;; (delete-file-recursively "celt-0.7.0-src")
+                  #t))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f  ; no "check" target
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (zero? (system* "qmake" "main.pro" "-recursive"
+                             (string-append "CONFIG+=" "no-update no-server \
+no-embed-qt-translations no-bundled-speex \
+pch no-bundled-opus no-celt \
+no-alsa no-oss no-portaudio \
+speechd no-g15 \
+no-bonjour release")
+                             (string-append "DEFINES+=" "PLUGIN_PATH="
+                                            (assoc-ref outputs "out")
+                                            "/lib/mumble")))))
+         (add-before 'configure 'fix-libspeechd-include
+           (lambda _
+             (substitute* "src/mumble/TextToSpeech_unix.cpp"
+               (("libspeechd.h") "speech-dispatcher/libspeechd.h"))))
+         (replace 'install ; install phase does not exist
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (services (string-append out "/share/services"))
+                    (applications (string-append out "/share/applications"))
+                    (icons (string-append out "/share/icons/hicolor/scalable/apps"))
+                    (man (string-append out "/share/man/man1"))
+                    (lib (string-append out "/lib/mumble")))
+               (install-file "release/mumble" bin)
+               (install-file "scripts/mumble-overlay" bin)
+               (install-file "scripts/mumble.protocol" services)
+               (install-file "scripts/mumble.desktop" applications)
+               (install-file "icons/mumble.svg" icons)
+               (install-file "man/mumble-overlay.1" man)
+               (install-file "man/mumble.1" man)
+               (for-each (lambda (file) (install-file file lib))
+                         (find-files "." "\\.so\\."))
+               (for-each (lambda (file) (install-file file lib))
+                         (find-files "release/plugins" "\\.so$"))))))))
+    (inputs
+     `(("avahi" ,avahi)
+       ("protobuf" ,protobuf)
+       ("openssl" ,openssl)
+       ("libsndfile" ,libsndfile)
+       ("boost" ,boost)
+       ("opus" ,opus)
+       ("speex" ,speex)
+       ("speech-dispatcher" ,speech-dispatcher)
+       ("libx11" ,libx11)
+       ("libxi" ,libxi)
+       ("qt-4" ,qt-4)
+       ("alsa-lib" ,alsa-lib)
+       ("pulseaudio" ,pulseaudio)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (synopsis "Low-latency, high quality voice chat software")
+    (description
+     "Mumble is an low-latency, high quality voice chat
+software primarily intended for use while gaming.")
+    (home-page "https://mumble.info/")
+    (license license:bsd-3)))
-- 
2.10.2

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

* Re: [PATCH] Add mumble
  2016-11-22 23:31 [PATCH] Add mumble ng0
  2016-11-22 23:31 ` [PATCH] gnu: " ng0
@ 2016-11-23 20:44 ` ng0
  2016-11-23 21:55   ` Marius Bakke
  1 sibling, 1 reply; 7+ messages in thread
From: ng0 @ 2016-11-23 20:44 UTC (permalink / raw)
  To: guix-devel

ng0 <ng0@we.make.ritual.n0.is> writes:

> [PATCH] gnu: Add mumble.
>
> I tested succesfully: configuration wizzard, connection to gnunet.org server.
> I was not not able to test: actual interaction with other people, this will follow tomorrow afternoon/evening.
>
> Shortcomings of this patch:
> The images are CC licensed. I wasn't able to figure out the exact licenses and also not which images end up on the system. I do install knowingly only 1 image which is the icon.
> The bundled celt sources need to be removed, at the moment they still get caught up in a check. From my theoretic understanding, opus is enough, as it includes most of what used to be in celt.

As not everyone reads the IRC channel:
This evening I had 2 mumble sessions in total lasting about 1
hour and we did not experience any problems while communicating.
-- 
♥Ⓐ  ng0  | ng0.chaosnet.org

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

* Re: [PATCH] Add mumble
  2016-11-23 20:44 ` [PATCH] " ng0
@ 2016-11-23 21:55   ` Marius Bakke
  2016-11-23 23:01     ` Leo Famulari
  0 siblings, 1 reply; 7+ messages in thread
From: Marius Bakke @ 2016-11-23 21:55 UTC (permalink / raw)
  To: ng0, guix-devel

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

ng0 <ng0@libertad.pw> writes:

> ng0 <ng0@we.make.ritual.n0.is> writes:
>
>> [PATCH] gnu: Add mumble.
>>
>> I tested succesfully: configuration wizzard, connection to gnunet.org server.
>> I was not not able to test: actual interaction with other people, this will follow tomorrow afternoon/evening.
>>
>> Shortcomings of this patch:
>> The images are CC licensed. I wasn't able to figure out the exact licenses and also not which images end up on the system. I do install knowingly only 1 image which is the icon.
>> The bundled celt sources need to be removed, at the moment they still get caught up in a check. From my theoretic understanding, opus is enough, as it includes most of what used to be in celt.
>
> As not everyone reads the IRC channel:
> This evening I had 2 mumble sessions in total lasting about 1
> hour and we did not experience any problems while communicating.

Thanks for confirming. As it happens, I started packaging the git
version of mumble (for qt5 support) a while back and never completed it.
I will review this tomorrow.

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

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

* Re: [PATCH] Add mumble
  2016-11-23 21:55   ` Marius Bakke
@ 2016-11-23 23:01     ` Leo Famulari
  2016-11-26 20:31       ` ng0
  0 siblings, 1 reply; 7+ messages in thread
From: Leo Famulari @ 2016-11-23 23:01 UTC (permalink / raw)
  To: Marius Bakke; +Cc: guix-devel

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

On Wed, Nov 23, 2016 at 10:55:02PM +0100, Marius Bakke wrote:
> Thanks for confirming. As it happens, I started packaging the git
> version of mumble (for qt5 support) a while back and never completed it.
> I will review this tomorrow.

After adding this version, it would be good to try upgrading to a
version that uses Qt 5. My understanding is that Qt 4 is unsupported
[0]. I think it's unlikely that it's still safe to use on
internet-connected machines at this point.

[0]
https://wiki.qt.io/Qt_project_security_policy

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

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

* Re: [PATCH] gnu: Add mumble.
  2016-11-22 23:31 ` [PATCH] gnu: " ng0
@ 2016-11-26 11:34   ` Marius Bakke
  0 siblings, 0 replies; 7+ messages in thread
From: Marius Bakke @ 2016-11-26 11:34 UTC (permalink / raw)
  To: ng0, guix-devel

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

ng0 <ng0@we.make.ritual.n0.is> writes:

> * gnu/packages/telephony.scm (mumble): New variable.
> ---
>  gnu/packages/telephony.scm | 93 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 93 insertions(+)

Hi, sorry for the delay! The patch looks good (and works :-)), I've
committed it with the following changes:

* deleted some more bundled software
* added the celt license information
* cosmetic improvement of the argument list

Thanks!

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

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

* Re: [PATCH] Add mumble
  2016-11-23 23:01     ` Leo Famulari
@ 2016-11-26 20:31       ` ng0
  0 siblings, 0 replies; 7+ messages in thread
From: ng0 @ 2016-11-26 20:31 UTC (permalink / raw)
  To: guix-devel

Leo Famulari <leo@famulari.name> writes:

> On Wed, Nov 23, 2016 at 10:55:02PM +0100, Marius Bakke wrote:
>> Thanks for confirming. As it happens, I started packaging the git
>> version of mumble (for qt5 support) a while back and never completed it.
>> I will review this tomorrow.

Is this a version which is already accessible somewhere? If so,
feel free to package the qt5 one, I did not search for it.

> After adding this version, it would be good to try upgrading to a
> version that uses Qt 5. My understanding is that Qt 4 is unsupported
> [0]. I think it's unlikely that it's still safe to use on
> internet-connected machines at this point.
>
> [0]
> https://wiki.qt.io/Qt_project_security_policy

-- 
♥Ⓐ  ng0  | ng0.chaosnet.org

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

end of thread, other threads:[~2016-11-26 20:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-22 23:31 [PATCH] Add mumble ng0
2016-11-22 23:31 ` [PATCH] gnu: " ng0
2016-11-26 11:34   ` Marius Bakke
2016-11-23 20:44 ` [PATCH] " ng0
2016-11-23 21:55   ` Marius Bakke
2016-11-23 23:01     ` Leo Famulari
2016-11-26 20:31       ` ng0

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