* gnu/packages/patches/jami-fix-qml-imports.patch: New file.
* gnu/packages/patches/jami-fix-unit-tests-build.patch: Likewise.
* gnu/packages/patches/jami-libjami-headers-search.patch: Likewise.
* gnu/packages/patches/jami-sip-unregister.patch: Likewise.
* gnu/packages/patches/jami-xcb-link.patch: Likewise.
* gnu/local.mk: Register them.
* gnu/packages/jami.scm (%jami-sources): Apply new patches.
(jami) [tests?]: Delete argument to run tests.
[configure-flags]: Remove TESTS? argument.
Enable tests with -DENABLE_TESTS=ON.  Remove -DLIBJAMI_INCLUDE_DIR.
[phases] {check}: New phase override.
[native-inputs]: Add settings-desktop-schemas.
[inputs]: Add glib and libxcb.
		
	
			
		
			
				
	
	
		
			139 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			139 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 82ecd786a29344d57e6dd95ef0800bef9dd44542 Mon Sep 17 00:00:00 2001
 | 
						|
From: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
 | 
						|
Date: Sun, 6 Nov 2022 00:16:34 -0400
 | 
						|
Subject: [PATCH 3/3] tests: Fix various compilation failures.
 | 
						|
 | 
						|
Fixes <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/882>.
 | 
						|
 | 
						|
* tests/CMakeLists.txt: Add "Widgets" Qt module to find_package call.
 | 
						|
(QML_TEST_LIBS): Add Qt::Widgets.
 | 
						|
* tests/CMakeLists.txt: Rename QML_LIBS to QT_LIBS, a regression
 | 
						|
introduced in d82e3820706214d15d7cb7462978b7a43b798355.  Remove the
 | 
						|
dependency on on the Widgets module, now provided via QT_LIBS.
 | 
						|
* tests/qml/main.cpp [WITH_WEBENGINE]: Include QtWebEngine modules
 | 
						|
conditionally.
 | 
						|
(main) [WITH_WEBENGINE]: Initialize webengine conditionally.
 | 
						|
* tests/CMakeLists.txt: Link test objects with ${LIBCLIENT_NAME}.
 | 
						|
* src/app/qmlregister.h (registerTypes): Change parent type from
 | 
						|
MainApplication* to QObject*
 | 
						|
* src/app/qmlregister.cpp (registerTypes): Likewise.
 | 
						|
* tests/unittests/account_unittest.cpp (globalEnv): Remove variable.
 | 
						|
* tests/unittests/contact_unittest.cpp: Likewise.
 | 
						|
---
 | 
						|
Upstream status: https://review.jami.net/c/jami-client-qt/+/22984/1
 | 
						|
 | 
						|
 src/app/qmlregister.cpp              | 2 +-
 | 
						|
 src/app/qmlregister.h                | 2 +-
 | 
						|
 tests/CMakeLists.txt                 | 6 +++---
 | 
						|
 tests/qml/main.cpp                   | 7 ++++---
 | 
						|
 tests/unittests/account_unittest.cpp | 2 --
 | 
						|
 tests/unittests/contact_unittest.cpp | 2 --
 | 
						|
 6 files changed, 9 insertions(+), 12 deletions(-)
 | 
						|
 | 
						|
diff --git a/client-qt/client-qt/src/app/qmlregister.cpp b/client-qt/src/app/qmlregister.cpp
 | 
						|
index 285f7814..67222eb5 100644
 | 
						|
--- a/client-qt/client-qt/src/app/qmlregister.cpp
 | 
						|
+++ b/client-qt/src/app/qmlregister.cpp
 | 
						|
@@ -105,7 +105,7 @@ registerTypes(QQmlEngine* engine,
 | 
						|
               AppSettingsManager* settingsManager,
 | 
						|
               PreviewEngine* previewEngine,
 | 
						|
               ScreenInfo* screenInfo,
 | 
						|
-              MainApplication* parent)
 | 
						|
+              QObject* parent)
 | 
						|
 {
 | 
						|
     // setup the adapters (their lifetimes are that of MainApplication)
 | 
						|
     auto callAdapter = new CallAdapter(systemTray, lrcInstance, parent);
 | 
						|
diff --git a/client-qt/client-qt/src/app/qmlregister.h b/client-qt/src/app/qmlregister.h
 | 
						|
index 38bfd091..aac0a887 100644
 | 
						|
--- a/client-qt/client-qt/src/app/qmlregister.h
 | 
						|
+++ b/client-qt/src/app/qmlregister.h
 | 
						|
@@ -67,5 +67,5 @@ void registerTypes(QQmlEngine* engine,
 | 
						|
                    AppSettingsManager* appSettingsManager,
 | 
						|
                    PreviewEngine* previewEngine,
 | 
						|
                    ScreenInfo* screenInfo,
 | 
						|
-                   MainApplication* parent);
 | 
						|
+                   QObject* parent);
 | 
						|
 }
 | 
						|
diff --git a/client-qt/client-qt/tests/CMakeLists.txt b/client-qt/tests/CMakeLists.txt
 | 
						|
index 8904d5ec..4e42b307 100644
 | 
						|
--- a/client-qt/client-qt/tests/CMakeLists.txt
 | 
						|
+++ b/client-qt/tests/CMakeLists.txt
 | 
						|
@@ -1,4 +1,4 @@
 | 
						|
-find_package(Qt${QT_VERSION_MAJOR} CONFIG REQUIRED QuickTest Test)
 | 
						|
+find_package(Qt${QT_VERSION_MAJOR} CONFIG REQUIRED QuickTest Test Widgets)
 | 
						|
 
 | 
						|
 if(MSVC)
 | 
						|
     # Download and unpack googletest for windows
 | 
						|
@@ -15,7 +15,7 @@ else()
 | 
						|
 endif()
 | 
						|
 
 | 
						|
 enable_testing(true)
 | 
						|
-set(QML_TEST_LIBS ${QML_LIBS} Qt::QuickTest Qt::Test)
 | 
						|
+set(QML_TEST_LIBS ${QT_LIBS} ${LIBCLIENT_NAME} Qt::QuickTest Qt::Test Qt::Widgets)
 | 
						|
 set(TESTS_INCLUDES
 | 
						|
     ${CMAKE_SOURCE_DIR}/src
 | 
						|
     ${CMAKE_SOURCE_DIR}/tests/qml
 | 
						|
@@ -192,4 +192,4 @@ else()
 | 
						|
                                ${LRC}/include)
 | 
						|
 
 | 
						|
     add_test(NAME UnitTests COMMAND unittests)
 | 
						|
-endif()
 | 
						|
\ No newline at end of file
 | 
						|
+endif()
 | 
						|
diff --git a/client-qt/client-qt/tests/qml/main.cpp b/client-qt/tests/qml/main.cpp
 | 
						|
index 09c02f3e..4c42027c 100644
 | 
						|
--- a/client-qt/client-qt/tests/qml/main.cpp
 | 
						|
+++ b/client-qt/tests/qml/main.cpp
 | 
						|
@@ -31,9 +31,10 @@
 | 
						|
 #include <QQmlEngine>
 | 
						|
 #include <QQmlContext>
 | 
						|
 #include <QFontDatabase>
 | 
						|
+#ifdef WITH_WEBENGINE
 | 
						|
 #include <QtWebEngineCore>
 | 
						|
 #include <QtWebEngineQuick>
 | 
						|
-
 | 
						|
+#endif
 | 
						|
 #ifdef Q_OS_WIN
 | 
						|
 #include <windows.h>
 | 
						|
 #endif
 | 
						|
@@ -155,9 +156,9 @@ main(int argc, char** argv)
 | 
						|
         // Adjust the argument count.
 | 
						|
         argc = std::distance(argv, end);
 | 
						|
     }
 | 
						|
-
 | 
						|
+#ifdef WITH_WEBENGINE
 | 
						|
     QtWebEngineQuick::initialize();
 | 
						|
-
 | 
						|
+#endif
 | 
						|
     QTEST_SET_MAIN_SOURCE_PATH
 | 
						|
     Setup setup(muteDring);
 | 
						|
     return quick_test_main_with_setup(argc, argv, "qml_test", nullptr, &setup);
 | 
						|
diff --git a/client-qt/client-qt/tests/unittests/account_unittest.cpp b/client-qt/tests/unittests/account_unittest.cpp
 | 
						|
index aa98453e..5af2ad6e 100644
 | 
						|
--- a/client-qt/client-qt/tests/unittests/account_unittest.cpp
 | 
						|
+++ b/client-qt/tests/unittests/account_unittest.cpp
 | 
						|
@@ -19,8 +19,6 @@
 | 
						|
 
 | 
						|
 #include "globaltestenvironment.h"
 | 
						|
 
 | 
						|
-TestEnvironment globalEnv;
 | 
						|
-
 | 
						|
 /*!
 | 
						|
  * Test fixture for AccountAdapter testing
 | 
						|
  */
 | 
						|
diff --git a/client-qt/client-qt/tests/unittests/contact_unittest.cpp b/client-qt/tests/unittests/contact_unittest.cpp
 | 
						|
index af8a9a22..b05cc856 100644
 | 
						|
--- a/client-qt/client-qt/tests/unittests/contact_unittest.cpp
 | 
						|
+++ b/client-qt/tests/unittests/contact_unittest.cpp
 | 
						|
@@ -18,8 +18,6 @@
 | 
						|
 
 | 
						|
 #include "globaltestenvironment.h"
 | 
						|
 
 | 
						|
-TestEnvironment globalEnv;
 | 
						|
-
 | 
						|
 /*!
 | 
						|
  * Test fixture for AccountAdapter testing
 | 
						|
  */
 | 
						|
-- 
 | 
						|
2.37.3
 | 
						|
 |