summary refs log tree commit diff
path: root/gnu/packages/jami.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-03 17:16:36 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-11 23:52:04 -0500
commitd7d09a277376744a17500ad62f6ba5580a53c878 (patch)
tree6be1036dd2d7107fffb0f268f28224dbf1418969 /gnu/packages/jami.scm
parent8fc7f20cb2f5779a9c23c9e8745cd471d4e36fc6 (diff)
downloadguix-d7d09a277376744a17500ad62f6ba5580a53c878.tar.gz
gnu: jami: Update to 20221031.1308.130cc26.
* gnu/packages/jami.scm (libjami, jami): Update to 20221031.1308.130cc26.
(%jami-sources): Remove jami-fix-crash-on-block-contact patch.  Add
jami-disable-integration-tests and jami-no-webengine patches.
(pjproject-jami): Update to 2.12-1.513a3f1.
(ffmpeg-jami): Replace libvpx with libvpx-next.  Replace libx264 with
libx264-next.
(libjami): Update comment with upstream issue URL.
[tests?]: Remove argument, enabling test suite.
[configure-flags]: Remove "--disable-static".
[phases] {delete-static-libraries}: New phase.
(jami) [tests?]: Update comment.
[configure-flags]: Remove "-DLIBJAMI_XML_INTERFACES_DIR=" flag.
[phases] {patch-source}: Delete phase.
* gnu/packages/patches/jami-fix-crash-on-block-contact.patch: Delete patch.
* gnu/packages/patches/jami-disable-integration-tests.patch: New file.
* gnu/packages/patches/jami-no-webengine.patch: New file.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
Diffstat (limited to 'gnu/packages/jami.scm')
-rw-r--r--gnu/packages/jami.scm64
1 files changed, 28 insertions, 36 deletions
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 54cf2b30fa..7849a36e27 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -69,7 +69,7 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
-(define %jami-version "20220825.0828.c10f01f")
+(define %jami-version "20221031.1308.130cc26")
 
 (define %jami-sources
   ;; Return an origin object of the tarball release sources archive of the
@@ -93,8 +93,9 @@
                                             "plugins"))))
     (sha256
      (base32
-      "1iv06jb66g206qxm75v7rc3mqvrml1028avflsj11chj8jh63j14"))
-    (patches (search-patches "jami-fix-crash-on-block-contact.patch"))))
+      "0hbsjjs61n7268lyjnjb9lzfpkkd65fmz76l1bg4awlz1f3cyywm"))
+    (patches (search-patches "jami-disable-integration-tests.patch"
+                             "jami-no-webengine.patch"))))
 
 ;; Jami maintains a set of patches for some key dependencies (currently
 ;; pjproject and ffmpeg) of Jami that haven't yet been integrated upstream.
@@ -116,8 +117,8 @@
          patches))))
 
 (define-public pjproject-jami
-  (let ((commit "5e478bbf8692f43059de9c6ad654b377359baaa0")
-        (revision "0"))
+  (let ((commit "513a3f14c44b2c2652f9219ec20dea64b236b713")
+        (revision "1"))
     (package
       (inherit pjproject)
       (name "pjproject-jami")
@@ -136,7 +137,7 @@
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "0n9hyqr57hhbmq35iqq5ihavj22gxzsspv0f8i6ajxwd4029nmcl"))))
+                  "1vzfpiwhd96a9ibk398z922a60j18xd7mblsmi6355r7ccj2aw7p"))))
       (arguments
        (substitute-keyword-arguments (package-arguments pjproject)
          ((#:phases phases '%standard-phases)
@@ -416,7 +417,10 @@
                 (substitute* "tests/fate/lavf-container.mak"
                   (("mov mov_rtphint ismv")
                    "mov ismv")
-                  (("fate-lavf-mov_rtphint:.*") ""))))))))))
+                  (("fate-lavf-mov_rtphint:.*") ""))))))))
+    (inputs (modify-inputs (package-inputs ffmpeg-5)
+              (replace "libvpx" libvpx-next)
+              (replace "libx264" libx264-next)))))
 
 (define-public libjami
   (package
@@ -427,28 +431,26 @@
     (build-system gnu-build-system)
     (arguments
      (list
-      ;; The test suite fails to link when building libjami as a shared
-      ;; library: "sip_account/sip_empty_offer.cpp:228:1: error: no
-      ;; declaration matches ‘void
-      ;; jami::test::SipEmptyOfferTest::onCallStateChange(const string&, const
-      ;; string&, jami::test::CallData&)’".
-      #: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 general purpose Scheme bindings are made
       ;; available (see: test/agent/README.md).
-      #:configure-flags #~(list "--enable-agent"
-                                "--enable-debug"
-                                ;; Disable static libraries to avoid
-                                ;; installing a 98 MiB archive.
-                                "--disable-static")
+      #:configure-flags #~(list "--enable-agent" "--enable-debug")
       #:make-flags #~(list "V=1")       ;build verbosely
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'change-directory/maybe
             (lambda _
               ;; Allow building from the tarball or a git checkout.
-              (false-if-exception (chdir "daemon")))))))
+              (false-if-exception (chdir "daemon"))))
+          (add-after 'install 'delete-static-libraries
+            ;; Remove 100+ MiB of static libraries.  "--disable-static" cannot
+            ;; be used as the test suite requires access to private symbols
+            ;; not included in the shared library.
+            (lambda _
+              (for-each delete-file
+                        (find-files (string-append #$output "/lib")
+                                    "\\.a$")))))))
     (inputs
      (list alsa-lib
            asio
@@ -502,19 +504,17 @@ protocols, as well as decentralized calling using P2P-DHT.")
     (arguments
      (list
       #:qtbase qtbase
-      #:tests? #f                       ;see comment below
+      ;; The test suite fails to build (see:
+      ;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/882).
+      #:tests? #f
       #:configure-flags
-      ;; The test suite fails to build with:
-      ;; "../../../client-qt/src/app/utils.h:29:10: fatal error: QLabel: No
-      ;; such file or directory".
       #~(list "-DENABLE_TESTS=OFF"
-              "-DWITH_WEBENGINE=OFF" ;reduce transitive closure size by 450 MiB
+              ;; Disable the webengine since it grows the closure size by
+              ;; about 450 MiB and requires more resources.
+              "-DWITH_WEBENGINE=OFF"
               ;; Use libwrap to link directly to libjami instead of
               ;; communicating via D-Bus to jamid, the Jami daemon.
               "-DENABLE_LIBWRAP=ON"
-              (string-append "-DLIBJAMI_XML_INTERFACES_DIR="
-                             #$(this-package-input "libjami")
-                             "/share/dbus-1/interfaces")
               (string-append "-DLIBJAMI_INCLUDE_DIR="
                              #$(this-package-input "libjami") "/include/jami"))
       #:phases
@@ -531,15 +531,7 @@ protocols, as well as decentralized calling using P2P-DHT.")
                 (("// clang-format on.*" anchor)
                  (string-append "const char VERSION_STRING[] = \""
                                 #$version "\";\n"
-                                anchor)))))
-          (add-after 'change-directory/maybe 'patch-source
-            (lambda _
-              (substitute* "src/libclient/CMakeLists.txt"
-                ;; Fix submitted upstream (see:
-                ;; https://review.jami.net/c/jami-client-qt/+/21830).
-                (("target_link_libraries\\(\\$\\{LIBCLIENT_NAME} qtwrapper.*" all)
-                 (string-append
-                  all "  target_link_libraries(${LIBCLIENT_NAME} avutil)\n"))))))))
+                                anchor))))))))
     (native-inputs
      (list googletest
            pkg-config