;;; 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 © 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.
;;;
#:use-module (gnu packages autotools)
#: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
(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
(define-public libsrtp
(package
(name "libsrtp")
- (version "1.5.4")
+ (version "2.2.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/cisco/libsrtp/archive/v"
+ (method url-fetch)
+ (uri (string-append "https://github.com/cisco/libsrtp/archive/v"
version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1w2g623qkd7gdyydglx2hr4s2y237lg0nszjmy7z8d2iq8hvb9sn"))))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "02x5l5h2nq6f9gq1bmgz5v9jmnqaab51p8aldglng1z7pjbp9za4"))))
(native-inputs
- `(("psmisc" ,psmisc) ;some tests require 'killall'
+ `(("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)))
+(define-public bctoolbox
+ (package
+ (name "bctoolbox")
+ (version "0.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/linphone/bctoolbox/bctoolbox-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "14ivv6bh6qywys6yyb34scy9w78d636xl1f7cyxm3gwx2qv71lx5"))))
+ (build-system gnu-build-system)
+ (arguments '(#:make-flags '("CFLAGS=-fPIC")))
+ (native-inputs
+ `(("cunit" ,cunit)))
+ (inputs
+ `(("mbedtls" ,mbedtls-apache)))
+ (home-page "https://www.linphone.org")
+ (synopsis "Utilities library for linphone software")
+ (description "BCtoolbox is a utilities library used by Belledonne
+Communications softwares like linphone.")
+ (license license:gpl2+)))
+
+(define-public ortp
+ (package
+ (name "ortp")
+ (version "0.27.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://download.savannah.nongnu.org/"
+ "releases/linphone/ortp/sources/ortp-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1by0dqdqrj5avzcvjws30g8v5sa61wj12x00sxw0kn1smcrshqgb"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("bctoolbox" ,bctoolbox)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://linphone.org/")
+ (synopsis "Implementation of the Real-time transport protocol")
+ (description "oRTP is a library implementing the Real-time transport
+protocol (RFC 3550).")
+ (license license:lgpl2.1+)))
+
(define-public libiax2
(let ((commit "0e5980f1d78ce462e2d1ed6bc39ff35c8341f201"))
;; This is the commit used by the Ring Project.
(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
(sha256
(base32
"1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh"))
+ (patches (search-patches "mumble-1.2.19-abs.patch"))
(modules '((guix build utils)))
(snippet
`(begin
(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"
(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+))))