summary refs log tree commit diff
path: root/gnu/packages/linphone.scm
diff options
context:
space:
mode:
authorRaghav Gururajan <rg@raghavgururajan.name>2021-03-19 20:58:20 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-03-29 01:17:14 -0400
commit48b2202789c85b6ab2d10916e2b6b118efc18ea9 (patch)
treeb5e58b1eba2e845d7a9b75f3fd120bf3e35b8e2f /gnu/packages/linphone.scm
parent342e223c8e1913fdab9e099a68bce7d93b16cc42 (diff)
downloadguix-48b2202789c85b6ab2d10916e2b6b118efc18ea9.tar.gz
gnu: linphoneqt: Update to 4.2.5 and rename to linphone-desktop.
Also enable the daemon and console interfaces.

* gnu/packages/linphone.scm (linphoneqt) [name]: Rename to linphone-desktop.
[source]: Switch to git repository.
[patches]: Remove linphoneqt-tabbutton.patch and add
linphone-desktop-without-sdk.patch.
[outputs]<debug>: New output.
[configure-flags]: Disable update checking and enable the daemon and console
interfaces.
[phases]<pre-configure>: New phase.
<fix-cmake-error, set-version-string>: Remove phases.
<extend-shared-resources>: Rename to...
<post-install>: ... this; adjust.
[native-inputs]: Add pkg-config.
[inputs]: Add belr and ortp.  Remove belle-sip.
[home-page]: Update home page.
[license]: Update to GPLv3+.
* gnu/packages/patches/linphoneqt-tabbutton.patch: Remove file.
linphone-desktop-without-sdk.patch: New file.
* gnu/local.mk (dist_patch_DATA): Update.

Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Diffstat (limited to 'gnu/packages/linphone.scm')
-rw-r--r--gnu/packages/linphone.scm74
1 files changed, 41 insertions, 33 deletions
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 053e9e9e6f..7337e0ef1e 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -42,6 +42,7 @@
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages openldap)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
@@ -802,55 +803,59 @@ and video calls or instant messaging capabilities to an application.")
     (home-page "https://linphone.org/technical-corner/liblinphone")
     (license license:gpl3+)))
 
-(define-public linphoneqt
+(define-public linphone-desktop
   (package
-    (name "linphoneqt")
-    (version "4.1.1")
+    (name "linphone-desktop")
+    (version "4.2.5")
     (source
      (origin
-       (method url-fetch)
-       (uri
-        (string-append "https://www.linphone.org/releases/sources/" name
-                       "/" name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.linphone.org/BC/public/linphone-desktop")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "1g2zrr9li0g1hgs6vys06vr98h5dx36z22hx7a6ry231536c002a"))
-       (patches (search-patches "linphoneqt-tabbutton.patch"))))
+        (base32 "1gq4l9p21rbrcksa7fbkzn9fzbbynqmn6ni6lhnvzk359sb1xvbz"))
+       (patches (search-patches "linphone-desktop-without-sdk.patch"))))
     (build-system qt-build-system)
+    (outputs '("out" "debug"))
     (arguments
      `(#:tests? #f                      ; No test target
+       #:configure-flags (list "-DENABLE_UPDATE_CHECK=NO"
+                               "-DENABLE_DAEMON=YES"
+                               "-DENABLE_CONSOLE_UI=YES")
        #:phases
        (modify-phases %standard-phases
-         (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
+         (add-after 'unpack 'pre-configure
            (lambda _
-             (substitute* "src/app/AppController.cpp"
-               (("LINPHONE_QT_GIT_VERSION")
-                (format #f "~s" ,version)))
-             #t))
-         (add-after 'install 'extend-shared-resources
-           ;; Not using the FHS exposes an issue where the client refers to
-           ;; its own "share" directory, which lacks sound files installed by
-           ;; liblinphone.
+             (make-file-writable "linphone-app/linphoneqt_version.cmake")
+             (substitute* "linphone-app/linphoneqt_version.cmake"
+               (("\\$\\{GUIX-SET-VERSION\\}") ,version))))
+         (add-after 'install 'post-install
            (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((liblinphone (assoc-ref inputs "linphone"))
-                    (out (assoc-ref outputs "out")))
+             (let* ((out (assoc-ref outputs "out"))
+                    (liblinphone (assoc-ref inputs "liblinphone"))
+                    (grammar-dest (string-append out "/share/belr/grammars")))
+               ;; Remove unnecessary Qt configuration file.
+               (delete-file (string-append out "/bin/qt.conf"))
+               ;; Not using the FHS exposes an issue where the client
+               ;; refers to its own "share" directory, which lacks files
+               ;; installed by the dependencies.
                (symlink (string-append liblinphone "/share/sounds")
                         (string-append out "/share/sounds"))
-               #t))))))
+               (mkdir-p (dirname grammar-dest))
+               (symlink (string-append liblinphone "/share/belr/grammars")
+                        grammar-dest)))))))
     (native-inputs
-     `(("qttools" ,qttools)))
+     `(("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
     (inputs
      `(("bctoolbox" ,bctoolbox)
        ("belcard" ,belcard)
-       ("bellesip" ,belle-sip)
-       ("linphone" ,liblinphone)
+       ("belr" ,belr)
+       ("liblinphone" ,liblinphone)
        ("mediastreamer2" ,mediastreamer2)
+       ("ortp" ,ortp)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
        ("qtgraphicaleffects" ,qtgraphicaleffects)
@@ -875,8 +880,11 @@ and video calls or instant messaging capabilities to an application.")
 @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+)))
+    (home-page "https://linphone.org/technical-corner/linphone")
+    (license license:gpl3+)))
+
+(define-public linphoneqt
+  (deprecated-package "linphoneqt" linphone-desktop))
 
 (define-public msopenh264
   (package