mirror of
git://git.savannah.gnu.org/guix.git
synced 2023-12-14 03:33:07 +01:00
gnu: jami: Enable unit tests.
* 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.
This commit is contained in:
parent
d7d09a2773
commit
008f3a28c6
7 changed files with 488 additions and 9 deletions
|
@ -1342,7 +1342,12 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
|
||||
%D%/packages/patches/itk-snap-alt-glibc-compat.patch \
|
||||
%D%/packages/patches/jami-disable-integration-tests.patch \
|
||||
%D%/packages/patches/jami-fix-qml-imports.patch \
|
||||
%D%/packages/patches/jami-fix-unit-tests-build.patch \
|
||||
%D%/packages/patches/jami-libjami-headers-search.patch \
|
||||
%D%/packages/patches/jami-no-webengine.patch \
|
||||
%D%/packages/patches/jami-sip-unregister.patch \
|
||||
%D%/packages/patches/jami-xcb-link.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
|
||||
|
|
|
@ -95,7 +95,12 @@
|
|||
(base32
|
||||
"0hbsjjs61n7268lyjnjb9lzfpkkd65fmz76l1bg4awlz1f3cyywm"))
|
||||
(patches (search-patches "jami-disable-integration-tests.patch"
|
||||
"jami-no-webengine.patch"))))
|
||||
"jami-libjami-headers-search.patch"
|
||||
"jami-fix-unit-tests-build.patch"
|
||||
"jami-fix-qml-imports.patch"
|
||||
"jami-no-webengine.patch"
|
||||
"jami-sip-unregister.patch"
|
||||
"jami-xcb-link.patch"))))
|
||||
|
||||
;; Jami maintains a set of patches for some key dependencies (currently
|
||||
;; pjproject and ffmpeg) of Jami that haven't yet been integrated upstream.
|
||||
|
@ -504,19 +509,14 @@ protocols, as well as decentralized calling using P2P-DHT.")
|
|||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase
|
||||
;; The test suite fails to build (see:
|
||||
;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/882).
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
#~(list "-DENABLE_TESTS=OFF"
|
||||
#~(list "-DENABLE_TESTS=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"
|
||||
(string-append "-DLIBJAMI_INCLUDE_DIR="
|
||||
#$(this-package-input "libjami") "/include/jami"))
|
||||
"-DENABLE_LIBWRAP=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory/maybe
|
||||
|
@ -531,7 +531,32 @@ protocols, as well as decentralized calling using P2P-DHT.")
|
|||
(("// clang-format on.*" anchor)
|
||||
(string-append "const char VERSION_STRING[] = \""
|
||||
#$version "\";\n"
|
||||
anchor))))))))
|
||||
anchor)))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(setenv "QT_QUICK_BACKEND" "software")
|
||||
;; The tests require a writable HOME.
|
||||
(setenv "HOME" "/tmp")
|
||||
|
||||
(display "Running unittests...\n")
|
||||
(invoke "tests/unittests" "-mutejamid")
|
||||
|
||||
;; 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.
|
||||
;;
|
||||
;; (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))
|
||||
))))))
|
||||
(native-inputs
|
||||
(list googletest
|
||||
pkg-config
|
||||
|
@ -539,11 +564,14 @@ protocols, as well as decentralized calling using P2P-DHT.")
|
|||
qttools
|
||||
doxygen
|
||||
graphviz
|
||||
gsettings-desktop-schemas ;for tests
|
||||
vulkan-headers))
|
||||
(inputs
|
||||
(list ffmpeg-jami
|
||||
glib ;for integration with GNOME
|
||||
libjami
|
||||
libnotify
|
||||
libxcb
|
||||
libxkbcommon
|
||||
network-manager
|
||||
qrencode
|
||||
|
|
78
gnu/packages/patches/jami-fix-qml-imports.patch
Normal file
78
gnu/packages/patches/jami-fix-qml-imports.patch
Normal file
|
@ -0,0 +1,78 @@
|
|||
From 9c4d065093d18b5495d3193028457b7393daea4b Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
|
||||
Date: Mon, 7 Nov 2022 16:26:50 -0500
|
||||
Subject: [PATCH] tests: Fix broken QML import directives.
|
||||
|
||||
Fixes
|
||||
<https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/883>.
|
||||
|
||||
Automated via:
|
||||
$ find tests -name '*.qml' | xargs sed -i 's,qrc:/src,../../../src,'
|
||||
|
||||
Change-Id: Ic1a2f419e3e328e8bf861e7fdf370f15da66675f
|
||||
---
|
||||
Upstream status: https://review.jami.net/c/jami-client-qt/+/22990
|
||||
|
||||
tests/qml/src/tst_ChatViewFooter.qml | 2 +-
|
||||
tests/qml/src/tst_FilesToSendContainer.qml | 2 +-
|
||||
tests/qml/src/tst_PresenceIndicator.qml | 2 +-
|
||||
tests/qml/src/tst_WizardView.qml | 4 ++--
|
||||
4 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/client-qt/tests/qml/src/tst_ChatViewFooter.qml b/client-qt/tests/qml/src/tst_ChatViewFooter.qml
|
||||
index 84316d78..b0cffe1a 100644
|
||||
--- a/client-qt/tests/qml/src/tst_ChatViewFooter.qml
|
||||
+++ b/client-qt/tests/qml/src/tst_ChatViewFooter.qml
|
||||
@@ -25,7 +25,7 @@ import QtTest
|
||||
import net.jami.Models 1.1
|
||||
import net.jami.Constants 1.1
|
||||
|
||||
-import "qrc:/src/app/mainview/components"
|
||||
+import "../../../src/app/mainview/components"
|
||||
|
||||
ColumnLayout {
|
||||
id: root
|
||||
diff --git a/client-qt/tests/qml/src/tst_FilesToSendContainer.qml b/client-qt/tests/qml/src/tst_FilesToSendContainer.qml
|
||||
index b7f4810a..9432a44d 100644
|
||||
--- a/client-qt/tests/qml/src/tst_FilesToSendContainer.qml
|
||||
+++ b/client-qt/tests/qml/src/tst_FilesToSendContainer.qml
|
||||
@@ -25,7 +25,7 @@ import QtTest
|
||||
import net.jami.Models 1.1
|
||||
import net.jami.Constants 1.1
|
||||
|
||||
-import "qrc:/src/app/mainview/components"
|
||||
+import "../../../src/app/mainview/components"
|
||||
|
||||
ColumnLayout {
|
||||
id: root
|
||||
diff --git a/client-qt/tests/qml/src/tst_PresenceIndicator.qml b/client-qt/tests/qml/src/tst_PresenceIndicator.qml
|
||||
index 0eda9169..46c048e8 100644
|
||||
--- a/client-qt/tests/qml/src/tst_PresenceIndicator.qml
|
||||
+++ b/client-qt/tests/qml/src/tst_PresenceIndicator.qml
|
||||
@@ -22,7 +22,7 @@ import QtTest
|
||||
import net.jami.Models 1.1
|
||||
import net.jami.Constants 1.1
|
||||
|
||||
-import "qrc:/src/app/commoncomponents"
|
||||
+import "../../../src/app/commoncomponents"
|
||||
|
||||
PresenceIndicator {
|
||||
id: uut
|
||||
diff --git a/client-qt/tests/qml/src/tst_WizardView.qml b/client-qt/tests/qml/src/tst_WizardView.qml
|
||||
index 08698b7a..6a4f971d 100644
|
||||
--- a/client-qt/tests/qml/src/tst_WizardView.qml
|
||||
+++ b/client-qt/tests/qml/src/tst_WizardView.qml
|
||||
@@ -24,8 +24,8 @@ import net.jami.Models 1.1
|
||||
import net.jami.Constants 1.1
|
||||
import net.jami.Enums 1.1
|
||||
|
||||
-import "qrc:/src/app/wizardview"
|
||||
-import "qrc:/src/app/commoncomponents"
|
||||
+import "../../../src/app/wizardview"
|
||||
+import "../../../src/app/commoncomponents"
|
||||
|
||||
WizardView {
|
||||
id: uut
|
||||
--
|
||||
2.37.3
|
||||
|
139
gnu/packages/patches/jami-fix-unit-tests-build.patch
Normal file
139
gnu/packages/patches/jami-fix-unit-tests-build.patch
Normal file
|
@ -0,0 +1,139 @@
|
|||
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
|
||||
|
109
gnu/packages/patches/jami-libjami-headers-search.patch
Normal file
109
gnu/packages/patches/jami-libjami-headers-search.patch
Normal file
|
@ -0,0 +1,109 @@
|
|||
From 1168aba6181e30ee4c322e5f437bde22bece5698 Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
|
||||
Date: Sat, 5 Nov 2022 23:18:13 -0400
|
||||
Subject: [PATCH 1/3] cmake: Simplify lookup logic for libjami headers.
|
||||
|
||||
* extras/build/cmake/modules/FindLibJami.cmake: Rename
|
||||
LIBJAMI_INCLUDE_DIRS to LIBJAMI_INCLUDE_DIR. Use find_path to search
|
||||
for jami.h directory.
|
||||
* CMakeLists.txt: Adjust accordingly.
|
||||
* src/libclient/CMakeLists.txt: Likewise.
|
||||
* src/libclient/qtwrapper/CMakeLists.txt: Likewise.
|
||||
|
||||
Change-Id: I494358f9bfafb41f000daeec4196747b2c184401
|
||||
---
|
||||
Upstream status: https://review.jami.net/c/jami-client-qt/+/22973
|
||||
|
||||
CMakeLists.txt | 2 +-
|
||||
extras/build/cmake/modules/FindLibJami.cmake | 21 ++++++--------------
|
||||
src/libclient/CMakeLists.txt | 2 +-
|
||||
src/libclient/qtwrapper/CMakeLists.txt | 2 +-
|
||||
4 files changed, 9 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/client-qt/CMakeLists.txt b/CMakeLists.txt
|
||||
index d0a8fd70..94ac6074 100644
|
||||
--- a/client-qt/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -118,7 +118,7 @@ set(CMAKE_MODULE_PATH
|
||||
${CMAKE_MODULE_PATH} "${EXTRAS_DIR}/build/cmake/modules")
|
||||
find_package(LibJami REQUIRED)
|
||||
if(LIBJAMI_FOUND)
|
||||
- include_directories(${LIBJAMI_INCLUDE_DIRS})
|
||||
+ include_directories(${LIBJAMI_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
include(FindPython3)
|
||||
diff --git a/client-qt/extras/build/cmake/modules/FindLibJami.cmake b/extras/build/cmake/modules/FindLibJami.cmake
|
||||
index ddb05319..9ad20d2b 100644
|
||||
--- a/client-qt/extras/build/cmake/modules/FindLibJami.cmake
|
||||
+++ b/extras/build/cmake/modules/FindLibJami.cmake
|
||||
@@ -20,28 +20,19 @@
|
||||
|
||||
# Once done, this find module will set:
|
||||
#
|
||||
-# LIBJAMI_INCLUDE_DIRS - libjami include directories
|
||||
+# LIBJAMI_INCLUDE_DIR - libjami include directories
|
||||
# LIBJAMI_FOUND - whether it was able to find the include directories
|
||||
# LIBJAMI_LIB - path to libjami or libring library
|
||||
|
||||
set(LIBJAMI_FOUND true)
|
||||
|
||||
if(WITH_DAEMON_SUBMODULE)
|
||||
- set(LIBJAMI_INCLUDE_DIRS ${DAEMON_DIR}/src/jami)
|
||||
+ set(LIBJAMI_INCLUDE_DIR ${DAEMON_DIR}/src/jami)
|
||||
else()
|
||||
- if(EXISTS ${LIBJAMI_INCLUDE_DIR}/jami.h)
|
||||
- set(LIBJAMI_INCLUDE_DIRS ${LIBJAMI_INCLUDE_DIR})
|
||||
- elseif(EXISTS ${LIBJAMI_BUILD_DIR}/jami/jami.h)
|
||||
- set(LIBJAMI_INCLUDE_DIRS ${LIBJAMI_BUILD_DIR}/jami)
|
||||
- elseif(EXISTS ${RING_INCLUDE_DIR}/jami.h)
|
||||
- set(LIBJAMI_INCLUDE_DIRS ${RING_INCLUDE_DIR})
|
||||
- elseif(EXISTS ${RING_BUILD_DIR}/jami/jami.h)
|
||||
- set(LIBJAMI_INCLUDE_DIRS ${RING_BUILD_DIR}/jami)
|
||||
- elseif(EXISTS ${CMAKE_INSTALL_PREFIX}/include/jami/jami.h)
|
||||
- set(LIBJAMI_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/include/jami)
|
||||
- else()
|
||||
+ find_path(LIBJAMI_INCLUDE_DIR jami.h PATH_SUFFIXES jami)
|
||||
+ if(NOT LIBJAMI_INCLUDE_DIR)
|
||||
message(STATUS "Jami daemon headers not found!
|
||||
-Set -DLIBJAMI_BUILD_DIR or -DCMAKE_INSTALL_PREFIX")
|
||||
+Set -DCMAKE_INSTALL_PREFIX or use -DWITH_DAEMON_SUBMODULE")
|
||||
set(LIBJAMI_FOUND false)
|
||||
endif()
|
||||
endif()
|
||||
@@ -102,5 +93,5 @@ endif()
|
||||
# Restore the original value of CMAKE_FIND_LIBRARY_SUFFIXES.
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_orig})
|
||||
|
||||
-message(STATUS "Jami daemon headers are in " ${LIBJAMI_INCLUDE_DIRS})
|
||||
+message(STATUS "Jami daemon headers are in " ${LIBJAMI_INCLUDE_DIR})
|
||||
message(STATUS "Jami daemon library is at " ${LIBJAMI_LIB})
|
||||
diff --git a/client-qt/src/libclient/CMakeLists.txt b/src/libclient/CMakeLists.txt
|
||||
index 2676c9c4..ac58ea2b 100644
|
||||
--- a/client-qt/src/libclient/CMakeLists.txt
|
||||
+++ b/src/libclient/CMakeLists.txt
|
||||
@@ -62,7 +62,7 @@ set(CMAKE_MODULE_PATH
|
||||
${CMAKE_MODULE_PATH} "${EXTRAS_DIR}/build/cmake/modules")
|
||||
find_package(LibJami REQUIRED)
|
||||
if(LIBJAMI_FOUND)
|
||||
- include_directories(${LIBJAMI_INCLUDE_DIRS})
|
||||
+ include_directories(${LIBJAMI_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
string(SUBSTRING ${CMAKE_GENERATOR} 0 14 CMAKE_GENERATOR_SHORT)
|
||||
diff --git a/client-qt/src/libclient/qtwrapper/CMakeLists.txt b/src/libclient/qtwrapper/CMakeLists.txt
|
||||
index acee0d0c..ba68aac4 100644
|
||||
--- a/client-qt/src/libclient/qtwrapper/CMakeLists.txt
|
||||
+++ b/client-qt/src/libclient/qtwrapper/CMakeLists.txt
|
||||
@@ -46,7 +46,7 @@ else()
|
||||
endif()
|
||||
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||
-include_directories(${LIBJAMI_INCLUDE_DIRS})
|
||||
+include_directories(${LIBJAMI_INCLUDE_DIR})
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../)
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../dbus)
|
||||
|
||||
--
|
||||
2.37.3
|
||||
|
48
gnu/packages/patches/jami-sip-unregister.patch
Normal file
48
gnu/packages/patches/jami-sip-unregister.patch
Normal file
|
@ -0,0 +1,48 @@
|
|||
From c1e6d664601b35a466f4e02e86a2c8181fdcca12 Mon Sep 17 00:00:00 2001
|
||||
From: Antoine Noreau <antoine.noreau@savoirfairelinux.com>
|
||||
Date: Thu, 3 Nov 2022 15:35:40 -0400
|
||||
Subject: [PATCH] sip: ensure correct unregister upon closure
|
||||
|
||||
Ensure SIP connections are gracefully terminated:
|
||||
Removed duplicated register calls to SIP server
|
||||
|
||||
Change-Id: I330e67cf9534504f92517996eb7b693b43d359d3
|
||||
Gitlab: #786
|
||||
---
|
||||
src/upnp/upnp_context.cpp | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/daemon/src/upnp/upnp_context.cpp b/daemon/src/upnp/upnp_context.cpp
|
||||
index a447e2d75..c68fe502c 100644
|
||||
--- a/daemon/src/upnp/upnp_context.cpp
|
||||
+++ b/daemon/src/upnp/upnp_context.cpp
|
||||
@@ -143,7 +143,7 @@ void
|
||||
UPnPContext::stopUpnp(bool forceRelease)
|
||||
{
|
||||
if (not isValidThread()) {
|
||||
- runOnUpnpContextQueue([this] { stopUpnp(); });
|
||||
+ runOnUpnpContextQueue([this, forceRelease] { stopUpnp(forceRelease); });
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -168,10 +168,15 @@ UPnPContext::stopUpnp(bool forceRelease)
|
||||
preferredIgd_.reset();
|
||||
validIgdList_.clear();
|
||||
}
|
||||
-
|
||||
for (auto const& map : toRemoveList) {
|
||||
requestRemoveMapping(map);
|
||||
- updateMappingState(map, MappingState::FAILED);
|
||||
+
|
||||
+ /* Notify is not needed in updateMappingState when
|
||||
+ shutting down (hence set it to false). NotifyCallback
|
||||
+ would trigger a new SIP registration and create a
|
||||
+ false registered state upon program close. */
|
||||
+
|
||||
+ updateMappingState(map, MappingState::FAILED, false);
|
||||
// We dont remove mappings with auto-update enabled,
|
||||
// unless forceRelease is true.
|
||||
if (not map->getAutoUpdate() or forceRelease) {
|
||||
--
|
||||
2.37.3
|
||||
|
72
gnu/packages/patches/jami-xcb-link.patch
Normal file
72
gnu/packages/patches/jami-xcb-link.patch
Normal file
|
@ -0,0 +1,72 @@
|
|||
From 3db2a7802422e69f50030db854abfb72fbc9caa4 Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
|
||||
Date: Fri, 11 Nov 2022 22:38:32 -0500
|
||||
Subject: [PATCH] Move xcb include/link directives from jami to libclient.
|
||||
|
||||
Relates to <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/882>.
|
||||
|
||||
This problem was discovered when attempting to build the test suite:
|
||||
|
||||
ld: ../src/libclient/liblibjamiclient.a(avmodel.cpp.o): undefined
|
||||
reference to symbol 'xcb_get_setup'
|
||||
|
||||
* CMakeLists.txt: [!(APPLE or MSVC] Move xcb includes and link directives to...
|
||||
* src/libclient/CMakeLists.txt [!(APPLE or MSVC]: ... here.
|
||||
|
||||
Change-Id: If9b6653e157081300caad8f13cafe4979a49630b
|
||||
---
|
||||
CMakeLists.txt | 6 +-----
|
||||
src/libclient/CMakeLists.txt | 6 ++++++
|
||||
2 files changed, 7 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/client-qt/CMakeLists.txt b/client-qt/CMakeLists.txt
|
||||
index d0a8fd70..2a09fd6c 100644
|
||||
--- a/client-qt/CMakeLists.txt
|
||||
+++ b/client-qt/CMakeLists.txt
|
||||
@@ -384,8 +384,6 @@ elseif (NOT APPLE)
|
||||
add_definitions(${LIBGDKPIXBUF_CFLAGS})
|
||||
endif()
|
||||
|
||||
- pkg_check_modules(XCB xcb)
|
||||
-
|
||||
list(PREPEND CMAKE_PREFIX_PATH
|
||||
${LIBJAMI_CONTRIB_DIR}/native/ffmpeg/libavutil)
|
||||
pkg_check_modules(LIBAVUTIL libavutil>=55.75.100)
|
||||
@@ -398,7 +396,6 @@ elseif (NOT APPLE)
|
||||
${LIBNOTIFY_INCLUDE_DIRS}
|
||||
${LIBGDKPIXBUF_INCLUDE_DIRS}
|
||||
${GLIB_INCLUDE_DIRS}
|
||||
- ${XCB_INCLUDE_DIRS}
|
||||
${LIBAVUTIL_INCLUDE_DIRS})
|
||||
|
||||
set(JAMI_DATA_PREFIX "${CMAKE_INSTALL_PREFIX}/share")
|
||||
@@ -586,8 +583,7 @@ elseif (NOT APPLE)
|
||||
${LIBNOTIFY_LIBRARIES}
|
||||
${LIBGDKPIXBUF_LIBRARIES}
|
||||
${GLIB_LIBRARIES}
|
||||
- ${GIO_LIBRARIES}
|
||||
- ${XCB_LIBRARIES})
|
||||
+ ${GIO_LIBRARIES})
|
||||
|
||||
# Installation rules
|
||||
install(
|
||||
diff --git a/client-qt/src/libclient/CMakeLists.txt b/client-qt/src/libclient/CMakeLists.txt
|
||||
index 99780f5f..1dd32677 100644
|
||||
--- a/client-qt/src/libclient/CMakeLists.txt
|
||||
+++ b/client-qt/src/libclient/CMakeLists.txt
|
||||
@@ -475,6 +475,12 @@ add_library(${LIBCLIENT_NAME} STATIC
|
||||
foreach(QT_LIB ${QT_LIBS})
|
||||
target_link_libraries(${LIBCLIENT_NAME} ${QT_LIB})
|
||||
endforeach()
|
||||
+
|
||||
+if(NOT(APPLE OR MSVC))
|
||||
+ pkg_check_modules(XCB xcb IMPORTED_TARGET)
|
||||
+ target_link_libraries(${LIBCLIENT_NAME} PkgConfig::XCB)
|
||||
+endif()
|
||||
+
|
||||
if(ENABLE_LIBWRAP)
|
||||
target_link_libraries(${LIBCLIENT_NAME} qtwrapper ${LIBJAMI_LIB})
|
||||
if (NOT (CMAKE_CXX_COMPILER_ID MATCHES "MSVC"))
|
||||
--
|
||||
2.37.3
|
||||
|
Loading…
Reference in a new issue