Subject: [PATCH telephony-team 10/10] gnu: jami: Update to 20230619.1.

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 18 Aug 2023 14:13:01 -0400

(%jami-version): Update to 20230619.1.
* gnu/packages/jami.scm (%jami-sources): Update hash.  Apply
jami-qml-tests-discovery.patch patch.
(libjami) [inputs]: Replace dbus-c++ with sdbus-c++.
(jami) [arguments]: Delete obsolete change-directory/maybe phase.
Adjust check phase.
* gnu/packages/patches/jami-qml-tests-discovery.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

---

 gnu/local.mk                                  |  1 +
 gnu/packages/jami.scm                         | 34 ++++++-------------
 .../patches/jami-qml-tests-discovery.patch    | 15 ++++++++
 3 files changed, 27 insertions(+), 23 deletions(-)
 create mode 100644 gnu/packages/patches/jami-qml-tests-discovery.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index de669c1177..ac6ccc2ab2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1412,6 +1412,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/isync-openssl3-fix.patch			\
   %D%/packages/patches/itk-snap-alt-glibc-compat.patch		\
   %D%/packages/patches/jami-disable-integration-tests.patch	\
+  %D%/packages/patches/jami-qml-tests-discovery.patch		\
   %D%/packages/patches/jami-libjami-headers-search.patch	\
   %D%/packages/patches/jamvm-1.5.1-aarch64-support.patch	\
   %D%/packages/patches/jamvm-1.5.1-armv7-support.patch	\
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index db120f223e..07c25a0601 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -68,7 +68,7 @@ (define-module (gnu packages jami)
   #:use-module (guix packages)
   #:use-module (guix utils))
 
-(define %jami-version "20230323.0")
+(define %jami-version "20230619.1")
 
 (define %jami-sources
   ;; Return an origin object of the tarball release sources archive of the
@@ -85,9 +85,10 @@ (define %jami-sources
      '(delete-file-recursively "daemon/contrib/tarballs"))
     (sha256
      (base32
-      "0vjsjr37cb87j9hqbmipyxn4877k1wn3l0vzca3l3ldgknglz7v2"))
+      "0qb8jvgsqak1hbhkksxj2cxkcy6mb46zl904lwhxfgr5992pl33z"))
     (patches (search-patches "jami-disable-integration-tests.patch"
-                             "jami-libjami-headers-search.patch"))))
+                             "jami-libjami-headers-search.patch"
+                             "jami-qml-tests-discovery.patch"))))
 
 ;; Jami maintains a set of patches for some key dependencies (currently
 ;; pjproject and ffmpeg) of Jami that haven't yet been integrated upstream.
@@ -409,7 +410,6 @@ (define-public libjami
     (inputs
      (list alsa-lib
            asio
-           dbus-c++
            eudev
            ffmpeg-jami
            guile-3.0
@@ -424,6 +424,7 @@ (define-public libjami
            openssl
            pjproject-jami
            pulseaudio
+           sdbus-c++
            speex
            speexdsp
            webrtc-audio-processing
@@ -467,11 +468,7 @@ (define-public jami
               "-DENABLE_LIBWRAP=ON")
       #: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 "client-qt"))))
-          (add-after 'change-directory/maybe 'fix-version-string
+          (add-after 'unpack 'fix-version-string
             (lambda _
               (substitute* "src/app/version.h"
                 (("VERSION_STRING")
@@ -488,22 +485,13 @@ (define-public jami
                 ;; The tests require a writable HOME.
                 (setenv "HOME" "/tmp")
 
-                (display "Running unittests...\n")
-                (invoke "tests/unittests" "-mutejamid")
+                (display "Running unit tests...\n")
+                (invoke "tests/unit_tests")
 
-                ;; XXX: There are currently multiple failures with the
-                ;; functional tests (see:
-                ;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/883),
-                ;; so the code below is disabled for now.
-                ;;
+                ;; XXX: The QML test suite fails, exiting with status code 1 (see:
+                ;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/883).
                 ;; (display "Running functional tests...\n")
-                ;; ;; This is to allow building from the source tarball or
-                ;; ;; directly from the git repository.
-                ;; (let  ((tests-qml (if (file-exists? "../client-qt/tests")
-                ;;                       "../client-qt/tests/qml"
-                ;;                       "../tests/qml")))
-                ;;   (invoke "tests/qml_tests" "-mutejamid"
-                ;;           "-input" tests-qml))
+                ;; (invoke "tests/qml_tests")
                 ))))))
     (native-inputs
      (list googletest
diff --git a/gnu/packages/patches/jami-qml-tests-discovery.patch b/gnu/packages/patches/jami-qml-tests-discovery.patch
new file mode 100644
index 0000000000..11fd69571c
--- /dev/null
+++ b/gnu/packages/patches/jami-qml-tests-discovery.patch
@@ -0,0 +1,15 @@
+Upstream status: https://review.jami.net/c/jami-client-qt/+/25640
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index d50908cf..587c9d15 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -73,6 +73,8 @@ endif()
+ 
+ string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE)
+ 
++set(QUICK_TEST_SOURCE_DIR "${CMAKE_SOURCE_DIR}tests/qml/src")
++
+ set(QML_TESTS_SOURCE_FILES
+     ${CMAKE_SOURCE_DIR}/tests/qml/main.cpp
+     ${TEST_QML_RESOURCES}
-- 
2.41.0