diff mbox series

[bug#40660] gnu: Add linphoneqt.

Message ID 20200416102419.763ee4e9.raghavgururajan@disroot.org
State Accepted
Headers show
Series [bug#40660] gnu: Add linphoneqt. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

Raghav Gururajan April 16, 2020, 2:24 p.m. UTC
Hello Guix!

Please find the attached patch to add 'linphoneqt' package.

Regards,
RG.
diff mbox series

Patch

From 445dc213ebbc4fea767fb3a27057a24796b89cbf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 16 Apr 2020 10:22:10 -0400
Subject: [PATCH] gnu: Add linphoneqt.

* gnu/packages/linphone.scm (linphoneqt): New variable.
---
 gnu/packages/linphone.scm | 80 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 79 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index c9959d7d01..1bfaeafd56 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -25,6 +25,7 @@ 
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -37,6 +38,7 @@ 
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages java)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages telephony)
@@ -49,7 +51,8 @@ 
   #:use-module (guix packages)
   #:use-module (guix 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 bcunit
   (package
@@ -469,6 +472,81 @@  and video calls or instant messaging capabilities to an application.")
     (home-page "https://gitlab.linphone.org/BC/public/liblinphone")
     (license license:gpl2+)))
 
+(define-public linphoneqt
+  (package
+    (name "linphoneqt")
+    (version "4.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://www.linphone.org/releases/sources/" name
+                       "/" name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1g2zrr9li0g1hgs6vys06vr98h5dx36z22hx7a6ry231536c002a"))
+       (patches (search-patches "linphoneqt-tabbutton.patch"))))
+    (build-system qt-build-system)
+    (arguments
+     `(#:tests? #f                      ; No test target
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'set-paths 'set-qt-rcc-source-date-override
+           (lambda _
+             ;; This fixes a reproducibility problem where the Qt Resource
+             ;; Compiler (RCC) includes timestamp of its source files
+             ;; (see: https://reproducible-builds.org/docs/
+             ;;       deterministic-build-systems/#cmake-notes).
+             (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
+             #t))
+         (add-after 'unpack 'fix-cmake-error
+           (lambda _
+             ;; This is fixed in commit efed2fd8 of the master branch.
+             (substitute* "CMakeLists.txt"
+               (("js)\\$\"")
+                "js$\""))
+             #t))
+         (add-after 'unpack 'set-version-string
+           (lambda _
+             (substitute* "src/app/AppController.cpp"
+               (("LINPHONE_QT_GIT_VERSION")
+                (format #f "~s" ,version)))
+             #t)))))
+    (native-inputs
+     `(("gcc" ,gcc-5)                   ; Qt in master uses gcc-5
+       ("qttools" ,qttools)))
+    (inputs
+     `(("bctoolbox" ,bctoolbox)
+       ("belcard" ,belcard)
+       ("bellesip" ,belle-sip)
+       ("linphone" ,liblinphone)
+       ("mediastreamer2" ,mediastreamer2)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtgraphicaleffects" ,qtgraphicaleffects)
+       ("qtquickcontrols" ,qtquickcontrols)
+       ("qtquickcontrols2" ,qtquickcontrols2)
+       ("qtsvg" ,qtsvg)))
+    (synopsis "Desktop client for the Linphone SIP softphone")
+    (description "Linphone is a SIP softphone for voice and video over IP calling
+(VoIP) and instant messaging.  Amongst its features are:
+@itemize
+@item High Definition (HD) audio and video calls
+@item Multiple call management (pause and resume)
+@item Call transfer
+@item Audio conferencing (merge calls into a conference call)
+@item Call recording and replay (audio only)
+@item Instant Messaging with message delivery status (IMDN)
+@item Picture and file sharing
+@item Echo cancellation
+@item Secure user authentication using TLS client certificates
+@item SRTP, zRTP and SRTP-DTLS voice and video encryption
+@item Telephone tone (DTMF) support using SIP INFO or RFC 4733
+@item Audio codecs: opus, speex, g711, g729, gsm, iLBC, g722, SILK, etc.
+@item Video codecs: VP8, H.264 and H.265 with resolutions up to 1080P, MPEG4
+@end itemize")
+    (home-page "https://gitlab.linphone.org/BC/public/linphone-desktop")
+    (license license:gpl2+)))
+
 (define-public msopenh264
   (package
     (name "msopenh264")
-- 
2.26.0