summaryrefslogtreecommitdiff
path: root/gnu/packages/linphone.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/linphone.scm')
-rw-r--r--gnu/packages/linphone.scm77
1 files changed, 76 insertions, 1 deletions
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index c9959d7d01..e18d04bd06 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -37,6 +37,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,6 +50,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system qt)
#:use-module (guix build-system gnu))
(define-public bcunit
@@ -427,7 +429,8 @@ decoding, and rendering.")
(string-append (assoc-ref %build-inputs "glib")
"/lib/glib-2.0/include"))
"-DENABLE_STATIC=NO" ; Not required
- "-DENABLE_GTK_UI=YES") ; For Legacy UI
+ "-DENABLE_STRICT=NO"
+ "-DENABLE_GTK_UI=YES") ; for legacy UI
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
@@ -469,6 +472,78 @@ 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"))))
+ (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 the 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
+ `(("qttools" ,qttools)))
+ (inputs
+ `(("bctoolbox" ,bctoolbox)
+ ("belcard" ,belcard)
+ ("bellesip" ,belle-sip)
+ ("linphone" ,liblinphone)
+ ("mediastreamer2" ,mediastreamer2)
+ ("qtbase" ,qtbase)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtgraphicaleffects" ,qtgraphicaleffects)
+ ("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")