tests: Adjust for removal of 'device' field in <bootloader-configuration>.
[jackhill/guix/guix.git] / gnu / packages / telephony.scm
index ae2e229..6370993 100644 (file)
@@ -5,9 +5,10 @@
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 ;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com>
-;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
-;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
+;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,6 +31,7 @@
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages file)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages readline)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages flex)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu))
 
 (define-public commoncpp
@@ -162,7 +170,7 @@ multiplayer games.")
    (license license:gpl2+)
    ;; (plus OpenSSL linking exception)
    ;; http://git.savannah.gnu.org/cgit/exosip.git/plain/LICENSE.OpenSSL
-    (home-page "http://savannah.nongnu.org/projects/exosip")))
+    (home-page "https://savannah.nongnu.org/projects/exosip")))
 
 (define-public sipwitch
   (package
@@ -210,7 +218,7 @@ internet.")
 (define-public libsrtp
   (package
     (name "libsrtp")
-    (version "1.6.0")
+    (version "2.2.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/cisco/libsrtp/archive/v"
@@ -218,35 +226,18 @@ internet.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1ppdqsrx5ni54vmd4kdzzmvgmf5ixb04w0jw7idy8mad6l27jghs"))))
+                "02x5l5h2nq6f9gq1bmgz5v9jmnqaab51p8aldglng1z7pjbp9za4"))))
     (native-inputs
      `(("psmisc" ,psmisc)               ;some tests require 'killall'
        ("procps" ,procps)))
     (build-system gnu-build-system)
     (arguments
-     '(#:test-target "runtest"
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-mips-variable-in-testsuite
-           ;; This comes from https://github.com/cisco/libsrtp/pull/151
-           (lambda _
-             (substitute* "test/srtp_driver.c"
-               (("mips ") "mips_est ")
-               (("mips\\)") "mips_est)"))
-             #t))
-         (add-after 'unpack 'patch-dictionary-location
-           ;; With the above changes, the rtpw_test.sh test finally runs, and fails.
-           (lambda _
-             (substitute* "test/rtpw.c"
-               (("/usr/share/dict/words")
-                (string-append (assoc-ref %build-inputs "procps")
-                               "/share/doc/procps-ng/FAQ"))
-               (("words.txt") "FAQ"))
-             #t)))))
+     '(#:test-target "runtest"))
     (synopsis "Secure RTP (SRTP) Reference Implementation")
-    (description "This package provides an implementation of the Secure
-Real-time Transport Protocol (SRTP), the Universal Security Transform (UST),
-and a supporting cryptographic kernel.")
+    (description
+     "This package provides an implementation of the Secure Real-time Transport
+Protocol (@dfn{SRTP}), the Universal Security Transform (@dfn{UST}), and a
+supporting cryptographic kernel.")
     (home-page "https://github.com/cisco/libsrtp")
     (license license:bsd-3)))
 
@@ -304,26 +295,19 @@ protocol (RFC 3550).")
       (version (string-append "0.0.0-1." (string-take commit 7)))
       (source
        (origin
-         (method url-fetch)
-         (uri
-          (string-append
-           "https://gitlab.savoirfairelinux.com/sflphone/libiax2/"
-           "repository/archive.tar.gz?ref="
-           commit))
-         (file-name (string-append name "-" version ".tar.gz"))
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.savoirfairelinux.com/sflphone/libiax2.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
          (sha256
           (base32
-           "0cj5293bixp3k5x3hjwyd0iq7z8w5p7yavxvvkqk5817hjq386y2"))))
+           "0d269474kk1933c55hx4azw3sak5ycfrxkw6ida0sb2cm00kfich"))))
       (build-system gnu-build-system)
       (native-inputs
        `(("autoconf" ,autoconf)
          ("automake" ,automake)
          ("libtool" ,libtool)))
-      (arguments
-       `(#:phases (modify-phases %standard-phases
-                    (add-after 'unpack 'autoconf
-                      (lambda _
-                        (zero? (system* "autoreconf" "-vfi")))))))
       (home-page "https://gitlab.savoirfairelinux.com/sflphone/libiax2")
       (synopsis "Inter-Asterisk-Protocol library")
       (description "LibIAX2 implements the Inter-Asterisk-Protocol for relaying
@@ -378,6 +362,7 @@ address of one of the participants.")
               (sha256
                (base32
                 "1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh"))
+              (patches (search-patches "mumble-1.2.19-abs.patch"))
               (modules '((guix build utils)))
               (snippet
                `(begin
@@ -401,27 +386,27 @@ address of one of the participants.")
        (modify-phases %standard-phases
          (replace 'configure
            (lambda* (#:key outputs #:allow-other-keys)
-             (zero? (system* "qmake" "main.pro" "-recursive"
-                             (string-append "CONFIG+="
-                                            (string-join
-                                             (list "no-update"
-                                                   "no-ice"
-                                                   "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")))))
+             (invoke "qmake" "main.pro" "-recursive"
+                     (string-append "CONFIG+="
+                                    (string-join
+                                     (list "no-update"
+                                           "no-ice"
+                                           "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"
@@ -481,3 +466,66 @@ Mumble consists of two applications for separate usage:
     (license (list license:bsd-3
                    ;; The bundled celt is bsd-2. Remove after 1.3.0.
                    license:bsd-2))))
+
+(define-public twinkle
+  (let ((commit "02e1d1538af3337134bd7381dcd95f8d7775b30f")
+        (revision "1"))
+  (package
+   (name "twinkle")
+   (version (git-version "1.10.1" revision commit))
+   (source (origin
+             (method git-fetch)
+             (uri (git-reference
+                   (url "https://github.com/LubosD/twinkle")
+                   (commit commit)))
+             (patches
+              (search-patches "twinkle-include-qregexpvalidator.patch"))
+             (file-name (git-file-name name version))
+             (sha256
+              (base32
+               "0ds4rp4vr1wagn4m4m7ldqbsx5vgmgbfcqqgyhn1wf6s1dm0020z"))))
+   (build-system cmake-build-system)
+   (arguments
+    `(#:tests? #f ; no test target
+      #:configure-flags '("-DWITH_SPEEX=On")
+      #:phases
+      (modify-phases %standard-phases
+         (add-after 'install 'wrap-executable
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-program (string-append out "/bin/twinkle")
+                 `("QT_PLUGIN_PATH" ":" prefix
+                   ,(map (lambda (label)
+                           (string-append (assoc-ref inputs label)
+                                          "/lib/qt5/plugins"))
+                         '("qtbase" "qtdeclarative")))
+                 `("QML2_IMPORT_PATH" ":" prefix
+                   ,(map (lambda (label)
+                           (string-append (assoc-ref inputs label)
+                                          "/lib/qt5/qml"))
+                         '("qtdeclarative" "qtquickcontrols"))))
+               #t))))))
+   (native-inputs
+    `(("bison" ,bison)
+      ("flex" ,flex)
+      ("readline" ,readline)
+      ("file" ,file)
+      ("ucommon" ,ucommon)
+      ("ccrtp" ,ccrtp)
+      ("libxml2" ,libxml2)
+      ("speex" ,speex)
+      ("speexdsp" ,speexdsp)
+      ("libsndfile" ,libsndfile)
+      ("alsa-lib" ,alsa-lib)
+      ("qttools" ,qttools)))
+   (inputs
+    `(("qtbase" ,qtbase)
+      ("qtdeclarative" ,qtdeclarative)
+      ("qtquickcontrols" ,qtquickcontrols)))
+   (home-page "http://twinkle.dolezel.info/")
+   (synopsis "Softphone for voice over IP and instant messaging")
+   (description "Twinkle is a softphone for your voice over IP and instant
+messaging communcations using the SIP protocol.  You can use it for direct IP
+phone to IP phone communication or in a network using a SIP proxy to route your
+calls and messages")
+   (license license:gpl2+))))