summary refs log tree commit diff
path: root/gnu/packages/jami.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-07-19 12:20:21 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-07-31 21:55:49 -0400
commitbdf0fce88e9aeec059be60acc3e94aa4ac785997 (patch)
tree131fe1a1d6d07a3f9981b82a3d5e053b5d0ccbc9 /gnu/packages/jami.scm
parent1f466ed6be932526fc69e72ffd50390691d0d382 (diff)
downloadguix-bdf0fce88e9aeec059be60acc3e94aa4ac785997.tar.gz
gnu: libjami: Update to 20220726.1515.da8d1da.
* gnu/packages/patches/jami-fix-crash-on-quit.patch: Delete file.
* gnu/packages/patches/jami-images-loading.patch: Likewise.
* gnu/packages/patches/jami-libclient-audio-managers.patch: Likewise.
* gnu/packages/patches/jami-memory-usage.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): De-register removed patches.
* gnu/packages/jami.scm (%jami-version): Update to 20220726.1515.da8d1da.
(libjami)[configure-flags]: Add '--disable-static'.
(jami-apply-custom-patches): Adjust for top directory renaming.
(%ffmpeg-default-configure-flags): Add muxer support
for g726 and g726le.  Add demuxer support for g723_1, g726 and g726le.  Add
encoder/decoder support for g726, g726le and g723_1.  Add decoder support for
g729.
(ffmpeg-jami)[patches]: Add 'libopusenc-reload-packet-loss-at-encode'.
(jami-libclient)[native-inputs]: New field.
[inputs]: Add ffmpeg-jami and libxkbcommon.
[propagated-inputs]: Replace qtbase-5 with qtbase.
Diffstat (limited to 'gnu/packages/jami.scm')
-rw-r--r--gnu/packages/jami.scm48
1 files changed, 29 insertions, 19 deletions
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index e5c29981d3..43bfb9dabe 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -51,7 +51,9 @@
   #:use-module (gnu packages upnp)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages vulkan)
   #:use-module (gnu packages webkit)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages)
@@ -64,7 +66,7 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
-(define %jami-version "20211223.2.37be4c3")
+(define %jami-version "20220726.1515.da8d1da")
 
 (define %jami-sources
   ;; Return an origin object of the tarball release sources archive of the
@@ -85,14 +87,10 @@
         (for-each delete-file-recursively '("client-android"
                                             "client-ios"
                                             "client-macosx"
-                                            "client-uwp"))))
-    (patches (search-patches "jami-libclient-audio-managers.patch"
-                             "jami-fix-crash-on-quit.patch"
-                             "jami-images-loading.patch"
-                             "jami-memory-usage.patch"))
+                                            "plugins"))))
     (sha256
      (base32
-      "12h4a0nj3gh05w64gkywrrb64agrhn6y3q4b9cqnhvr1vdkzlj0h"))))
+      "1zx0i9aw8jsba3bjc5r4pkkybm8c0lyz420ciq89vsswd48gfdhg"))))
 
 ;; Jami maintains a set of patches for some key dependencies (currently
 ;; pjproject and ffmpeg) of Jami that haven't yet been integrated upstream.
@@ -104,7 +102,7 @@
         (invoke "tar" "-xvf" #$%jami-sources
                 "-C" patches-directory
                 "--strip-components=5"
-                (string-append "ring-project/daemon/contrib/src/"
+                (string-append "jami-project/daemon/contrib/src/"
                                dep-name))
         (for-each
          (lambda (file)
@@ -178,6 +176,8 @@
     "--disable-muxers"
     "--enable-muxer=rtp"
     "--enable-muxer=g722"
+    "--enable-muxer=g726"
+    "--enable-muxer=g726le"
     "--enable-muxer=h263"
     "--enable-muxer=h264"
     "--enable-muxer=hevc"
@@ -202,6 +202,9 @@
     "--enable-demuxer=wav"
     "--enable-demuxer=ac3"
     "--enable-demuxer=g722"
+    "--enable-demuxer=g723_1"
+    "--enable-demuxer=g726"
+    "--enable-demuxer=g726le"
     "--enable-demuxer=pcm_mulaw"
     "--enable-demuxer=pcm_alaw"
     "--enable-demuxer=pcm_s16be"
@@ -222,6 +225,13 @@
     ;; Encoders/decoders.
     "--enable-encoder=adpcm_g722"
     "--enable-decoder=adpcm_g722"
+    "--enable-encoder=adpcm_g726"
+    "--enable-decoder=adpcm_g726"
+    "--enable-encoder=adpcm_g726le"
+    "--enable-decoder=adpcm_g726le"
+    "--enable-decoder=g729"
+    "--enable-encoder=g723_1"
+    "--enable-decoder=g723_1"
     "--enable-encoder=rawvideo"
     "--enable-decoder=rawvideo"
     "--enable-encoder=libx264"
@@ -387,7 +397,7 @@
                              "change-RTCP-ratio"
                              "rtp_ext_abs_send_time"
                              "libopusdec-enable-FEC"
-                             "libopusenc-enable-FEC"
+                             "libopusenc-reload-packet-loss-at-encode"
                              "screen-sharing-x11-fix"))))))))))
 
 (define-public libjami
@@ -405,12 +415,13 @@
       #:tests? #f
       ;; The agent links the daemon binary with libguile, which enables the
       ;; execution of test plans described in Scheme.  It may be useful in
-      ;; user scripts too, until more generalized Scheme bindings are made
-      ;; (see: test/agent/README.md).
-      ;; FIXME: Fails to link when building libjami as a shared library:
-      ;; bindings.cpp:(.text+0x24): undefined reference to `jami::Logger::log
-      ;; [...].
-      #:configure-flags #~(list "--disable-agent" "--enable-debug")
+      ;; user scripts too, until more general purpose Scheme bindings are made
+      ;; available (see: test/agent/README.md).
+      #:configure-flags #~(list "--disable-agent"
+                                "--enable-debug"
+                                ;; Disable static libraries to avoid
+                                ;; installing a 98 MiB archive.
+                                "--disable-static")
       #:make-flags #~(list "V=1")       ;build verbosely
       #:phases
       #~(modify-phases %standard-phases
@@ -489,10 +500,9 @@ protocols, as well as decentralized calling using P2P-DHT.")
             (lambda _
               ;; Allow building from the tarball or a git checkout.
               (false-if-exception (chdir "lrc")))))))
-    (inputs
-     (list libjami network-manager))
-    (propagated-inputs
-     (list qtbase-5))             ;Qt is included in several installed headers
+    (native-inputs (list qttools vulkan-headers))
+    (inputs (list ffmpeg-jami libjami libxkbcommon network-manager))
+    (propagated-inputs (list qtbase)) ;qt included in several installed headers
     (synopsis "Jami client library")
     (description "This package provides a library common to all Jami clients.
 Jami is a secure and distributed voice, video and chat communication platform