From d7d09a277376744a17500ad62f6ba5580a53c878 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 3 Nov 2022 17:16:36 -0400 Subject: 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. --- gnu/packages/jami.scm | 64 ++++++++++++++++++++++----------------------------- 1 file changed, 28 insertions(+), 36 deletions(-) (limited to 'gnu/packages/jami.scm') 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 -- cgit v1.2.3