Subject: [bug#31382] [PATCH] telephony: add twinkle

From: "Jovany Leandro G.C" <[email-masked]>
Date: Mon, 7 May 2018 17:35:23 -0500

From 1a2504b36e0775443587faf43e3a2d9467769866 Mon Sep 17 00:00:00 2001
From: "Jovany Leandro G.C" <[email-masked]>
Date: Mon, 7 May 2018 17:32:57 -0500
Subject: [PATCH] telephony: add twinkle

---
 gnu/packages/telephony.scm | 66 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 5210e73ed..fe763c517 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2016, 2017 Nils Gillmann <[email-masked]>
 ;;; Copyright © 2017 Ricardo Wurmus <[email-masked]>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <[email-masked]>
+;;; Copyright © 2018 Jovany Leandro G.C <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,9 +43,14 @@
   #: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 gnu))
 
 (define-public commoncpp
@@ -482,3 +488,63 @@ 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)))
+             (file-name (git-file-name name version))
+             (sha256
+              (base32
+               "0ds4rp4vr1wagn4m4m7ldqbsx5vgmgbfcqqgyhn1wf6s1dm0020z"))))
+   (build-system cmake-build-system)
+   (arguments
+    `(#:tests? #f ; no test target
+      #: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 your voice over IP and instant messaging communcations")
+   (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))))
-- 
2.17.0