>From 445dc213ebbc4fea767fb3a27057a24796b89cbf Mon Sep 17 00:00:00 2001 From: Raghav Gururajan 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