gnu: jami: Update to 20240325.0.
* gnu/packages/jami.scm (libjami): Update to 20240325.0. [make-flags]: Reinstate ut_media_player test. [phases]: Remove obsolete extend-scheduler-test-timeout phase. (jami): Update to 20240325.0. [source]: Remove jami-qml-tests-discovery patch. Add jami-qwindowkit and jami-tests-qtwebengine-ifdef-to-if patches. [configure-flags]: Add -DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS. Replace -DENABLE_TESTS=ON with -DBUILD_TESTING=ON. [phases] <check>: Update comment for QML test suite. [native-inputs]: Add qthttpserver and qtwebsockets. [inputs]: Add qwindowkit. * gnu/packages/patches/jami-qml-tests-discovery.patch: Delete file. * gnu/packages/patches/jami-unbundle-dependencies.patch: Update patch. * gnu/packages/patches/jami-qwindowkit.patch: New file. * gnu/packages/patches/jami-tests-qtwebengine-ifdef-to-if.patch: Likewise. * gnu/local.mk (dist_patch_DATA): Update accordingly. Change-Id: I5d47bdfd2aabab5baff44db8436051a9890cba6d
This commit is contained in:
		
							parent
							
								
									4a301dae2b
								
							
						
					
					
						commit
						64e1797e21
					
				
					 6 changed files with 86 additions and 40 deletions
				
			
		| 
						 | 
				
			
			@ -1494,8 +1494,9 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/itk-snap-alt-glibc-compat.patch		\
 | 
			
		||||
  %D%/packages/patches/jami-disable-integration-tests.patch	\
 | 
			
		||||
  %D%/packages/patches/jami-libjami-headers-search.patch	\
 | 
			
		||||
  %D%/packages/patches/jami-qml-tests-discovery.patch		\
 | 
			
		||||
  %D%/packages/patches/jami-qwindowkit.patch			\
 | 
			
		||||
  %D%/packages/patches/jami-skip-tests-requiring-internet.patch	\
 | 
			
		||||
  %D%/packages/patches/jami-tests-qtwebengine-ifdef-to-if.patch	\
 | 
			
		||||
  %D%/packages/patches/jami-unbundle-dependencies.patch		\
 | 
			
		||||
  %D%/packages/patches/jamvm-1.5.1-aarch64-support.patch	\
 | 
			
		||||
  %D%/packages/patches/jamvm-1.5.1-armv7-support.patch	\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -78,8 +78,8 @@
 | 
			
		|||
;;; When updating Jami, make sure that the patches used for ffmpeg-jami are up
 | 
			
		||||
;;; to date with those listed in
 | 
			
		||||
;;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/rules.mak>.
 | 
			
		||||
(define %jami-nightly-version "20240124.3")
 | 
			
		||||
(define %jami-daemon-commit "205904ed4dd736b8a0ea6c913ecb91d637b79867")
 | 
			
		||||
(define %jami-nightly-version "20240325.0")
 | 
			
		||||
(define %jami-daemon-commit "32f39e65483cb22729eb922d72434013b337f2c9")
 | 
			
		||||
 | 
			
		||||
(define-public libjami
 | 
			
		||||
  (package
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +93,7 @@
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0knq84c5f11bgan0076mhi0kpc7l6wwxj41jpssdy0y1lfzgqd8a"))
 | 
			
		||||
                "0kha2v46l5hmycklhyxrs2qybm640nbrk98z1xvicjxyq6bfszh4"))
 | 
			
		||||
              (patches (search-patches
 | 
			
		||||
                        "libjami-ac-config-files.patch"
 | 
			
		||||
                        "jami-disable-integration-tests.patch"))))
 | 
			
		||||
| 
						 | 
				
			
			@ -106,25 +106,13 @@
 | 
			
		|||
      ;; user scripts too, until more general purpose Scheme bindings are made
 | 
			
		||||
      ;; available (see: test/agent/README.md).
 | 
			
		||||
      #:configure-flags #~(list "--enable-agent" "--enable-debug")
 | 
			
		||||
      #:make-flags
 | 
			
		||||
      #~(list
 | 
			
		||||
         "V=1"                 ;build verbosely
 | 
			
		||||
         ;; The 'ut_media_player' is known to fail (see:
 | 
			
		||||
         ;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/935).
 | 
			
		||||
         "XFAIL_TESTS=ut_media_player")
 | 
			
		||||
      #: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"))))
 | 
			
		||||
          (add-after 'change-directory/maybe 'extend-scheduler-test-timeout
 | 
			
		||||
            (lambda _
 | 
			
		||||
              ;; The ut_scheduler unit test may fail on slower machines (see:
 | 
			
		||||
              ;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/939).
 | 
			
		||||
              (substitute* "test/unitTest/scheduler.cpp"
 | 
			
		||||
                (("std::chrono::seconds\\(3)")
 | 
			
		||||
                 "std::chrono::seconds(30)"))))
 | 
			
		||||
          (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
 | 
			
		||||
| 
						 | 
				
			
			@ -239,11 +227,12 @@ QSortFilterProxyModel conveniently exposed for QML.")
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "06q4cdizpix12yzjrnhdwqwybskhc58cissffdnf1zw5pbv0mqag"))
 | 
			
		||||
                "08lv8azjd47n56i25d9ax248xmidixpsnwh5kc4qjxib7985bdhs"))
 | 
			
		||||
              (patches (search-patches
 | 
			
		||||
                        "jami-libjami-headers-search.patch"
 | 
			
		||||
                        "jami-qml-tests-discovery.patch"
 | 
			
		||||
                        "jami-qwindowkit.patch"
 | 
			
		||||
                        "jami-skip-tests-requiring-internet.patch"
 | 
			
		||||
                        "jami-tests-qtwebengine-ifdef-to-if.patch"
 | 
			
		||||
                        "jami-unbundle-dependencies.patch"))))
 | 
			
		||||
    (build-system qt-build-system)
 | 
			
		||||
    (outputs '("out" "debug"))
 | 
			
		||||
| 
						 | 
				
			
			@ -252,13 +241,15 @@ QSortFilterProxyModel conveniently exposed for QML.")
 | 
			
		|||
      #:qtbase qtbase
 | 
			
		||||
      #:configure-flags
 | 
			
		||||
      #~(list "-DWITH_DAEMON_SUBMODULE=OFF"
 | 
			
		||||
              "-DENABLE_TESTS=ON"
 | 
			
		||||
              "-DBUILD_TESTING=ON"
 | 
			
		||||
              ;; 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")
 | 
			
		||||
              "-DENABLE_LIBWRAP=ON"
 | 
			
		||||
              ;; Ensure FetchContent contribs are looked from the system.
 | 
			
		||||
              "-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS")
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (add-after 'unpack 'fix-version-string
 | 
			
		||||
| 
						 | 
				
			
			@ -292,8 +283,9 @@ QSortFilterProxyModel conveniently exposed for QML.")
 | 
			
		|||
                (display "Running unit tests...\n")
 | 
			
		||||
                (invoke "tests/unit_tests")
 | 
			
		||||
 | 
			
		||||
                ;; XXX: The QML test suite fails, exiting with status code 1 (see:
 | 
			
		||||
                ;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/883).
 | 
			
		||||
                ;; The qml_tests suite is not run, as it currently exits with
 | 
			
		||||
                ;; an unclear status of 1 (see:
 | 
			
		||||
                ;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1605).
 | 
			
		||||
                ;; (display "Running functional tests...\n")
 | 
			
		||||
                ;; (invoke "tests/qml_tests")
 | 
			
		||||
                ))))))
 | 
			
		||||
| 
						 | 
				
			
			@ -301,7 +293,9 @@ QSortFilterProxyModel conveniently exposed for QML.")
 | 
			
		|||
     (list googletest
 | 
			
		||||
           pkg-config
 | 
			
		||||
           python
 | 
			
		||||
           qthttpserver
 | 
			
		||||
           qttools
 | 
			
		||||
           qtwebsockets
 | 
			
		||||
           vulkan-headers))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list ffmpeg-jami
 | 
			
		||||
| 
						 | 
				
			
			@ -319,6 +313,7 @@ QSortFilterProxyModel conveniently exposed for QML.")
 | 
			
		|||
           qtnetworkauth
 | 
			
		||||
           qtpositioning
 | 
			
		||||
           qtsvg
 | 
			
		||||
           qwindowkit
 | 
			
		||||
           tidy-html                    ;used by src/app/htmlparser.h
 | 
			
		||||
           vulkan-loader))
 | 
			
		||||
    (home-page "https://jami.net")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,15 +0,0 @@
 | 
			
		|||
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}
 | 
			
		||||
							
								
								
									
										37
									
								
								gnu/packages/patches/jami-qwindowkit.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								gnu/packages/patches/jami-qwindowkit.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
Upstream-status: https://lists.gnu.org/archive/html/jami/2024-03/msg00008.html
 | 
			
		||||
 | 
			
		||||
This makes it possible to use the system-provided qwindowkit library.
 | 
			
		||||
 | 
			
		||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
 | 
			
		||||
index 6d2dccfb..8dedff50 100644
 | 
			
		||||
--- a/CMakeLists.txt
 | 
			
		||||
+++ b/CMakeLists.txt
 | 
			
		||||
@@ -100,13 +100,13 @@ endif()
 | 
			
		||||
 
 | 
			
		||||
 # qwindowkit (frameless window)
 | 
			
		||||
 add_fetch_content(
 | 
			
		||||
-  TARGET qwindowkit
 | 
			
		||||
+  TARGET QWindowKit
 | 
			
		||||
   URL https://github.com/stdware/qwindowkit.git
 | 
			
		||||
   BRANCH 79b1f3110754f9c21af2d7dacbd07b1a9dbaf6ef
 | 
			
		||||
   PATCHES ${QWINDOWKIT_PATCHES}
 | 
			
		||||
   OPTIONS ${QWINDOWKIT_OPTIONS}
 | 
			
		||||
 )
 | 
			
		||||
-list(APPEND CLIENT_INCLUDE_DIRS ${QWindowKit_BINARY_DIR}/include)
 | 
			
		||||
+
 | 
			
		||||
 list(APPEND CLIENT_LIBS QWindowKit::Quick)
 | 
			
		||||
 
 | 
			
		||||
 set(CMAKE_AUTOMOC ON)
 | 
			
		||||
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
 | 
			
		||||
index b2730b71..4960899e 100644
 | 
			
		||||
--- a/tests/CMakeLists.txt
 | 
			
		||||
+++ b/tests/CMakeLists.txt
 | 
			
		||||
@@ -48,7 +48,7 @@ target_include_directories(test_common_obj PRIVATE
 | 
			
		||||
     ${CMAKE_CURRENT_SOURCE_DIR}
 | 
			
		||||
     ${CMAKE_SOURCE_DIR}/src)
 | 
			
		||||
 target_link_directories(test_common_obj PRIVATE ${CLIENT_LINK_DIRS})
 | 
			
		||||
-target_link_libraries(test_common_obj ${QML_TEST_LIBS})
 | 
			
		||||
+target_link_libraries(test_common_obj ${QML_TEST_LIBS} ${CLIENT_LIBS})
 | 
			
		||||
 target_compile_definitions(test_common_obj PRIVATE BUILD_TESTING="ON")
 | 
			
		||||
 
 | 
			
		||||
 set(COMMON_TESTS_SOURCES
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,26 @@
 | 
			
		|||
Upstream-status: https://lists.gnu.org/archive/html/jami/2024-03/msg00005.html
 | 
			
		||||
 | 
			
		||||
Fix macro value checking.
 | 
			
		||||
 | 
			
		||||
diff --git a/tests/qml/main.cpp b/tests/qml/main.cpp
 | 
			
		||||
index 2fbecebe..8cb3de69 100644
 | 
			
		||||
--- a/tests/qml/main.cpp
 | 
			
		||||
+++ b/tests/qml/main.cpp
 | 
			
		||||
@@ -35,7 +35,7 @@
 | 
			
		||||
 #include <QtQuickTest/quicktest.h>
 | 
			
		||||
 #include <QSignalSpy>
 | 
			
		||||
 
 | 
			
		||||
-#ifdef WITH_WEBENGINE
 | 
			
		||||
+#if WITH_WEBENGINE
 | 
			
		||||
 #include <QtWebEngineCore>
 | 
			
		||||
 #include <QtWebEngineQuick>
 | 
			
		||||
 #endif
 | 
			
		||||
@@ -192,7 +192,7 @@ main(int argc, char** argv)
 | 
			
		||||
     // Allow the user to enable fatal warnings for certain tests.
 | 
			
		||||
     Utils::remove_argument(argv, argc, "--failonwarn", [&]() { qputenv("QT_FATAL_WARNINGS", "1"); });
 | 
			
		||||
 
 | 
			
		||||
-#ifdef WITH_WEBENGINE
 | 
			
		||||
+#if WITH_WEBENGINE
 | 
			
		||||
     QtWebEngineQuick::initialize();
 | 
			
		||||
 #endif
 | 
			
		||||
     QTEST_SET_MAIN_SOURCE_PATH
 | 
			
		||||
| 
						 | 
				
			
			@ -16,13 +16,14 @@ Change-Id: I637959fefce6a21b0ee73a793acb6c3c42dcdce0
 | 
			
		|||
 1 file changed, 25 insertions(+), 11 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
 | 
			
		||||
index 38e7a4e2..3f1bd599 100644
 | 
			
		||||
index e802357f..6d2dccfb 100644
 | 
			
		||||
--- a/CMakeLists.txt
 | 
			
		||||
+++ b/CMakeLists.txt
 | 
			
		||||
@@ -545,19 +545,33 @@ add_subdirectory(3rdparty/SortFilterProxyModel)
 | 
			
		||||
@@ -600,20 +600,34 @@ add_subdirectory(3rdparty/SortFilterProxyModel)
 | 
			
		||||
 set(SFPM_OBJECTS $<TARGET_OBJECTS:SortFilterProxyModel>)
 | 
			
		||||
 
 | 
			
		||||
 # md4c
 | 
			
		||||
-set(BUILD_MD2HTML_EXECUTABLE OFF CACHE BOOL "Don't build md2html executable" FORCE)
 | 
			
		||||
-set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE)
 | 
			
		||||
-add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL)
 | 
			
		||||
-list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src)
 | 
			
		||||
| 
						 | 
				
			
			@ -34,6 +35,7 @@ index 38e7a4e2..3f1bd599 100644
 | 
			
		|||
+  list(APPEND CLIENT_LIBS md4c::md4c-html)
 | 
			
		||||
+else()
 | 
			
		||||
+  message("Using bundled md4c-html library")
 | 
			
		||||
+  set(BUILD_MD2HTML_EXECUTABLE OFF CACHE BOOL "Don't build md2html executable" FORCE)
 | 
			
		||||
+  set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE)
 | 
			
		||||
+  add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL)
 | 
			
		||||
+  list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue