aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/jami-xcb-link.patch
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-07 21:32:19 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-12 00:39:35 -0500
commit008f3a28c6ca6f689f00f11af1f195f14625a51a (patch)
tree3b773b9c9f923b49563e72f6b6d28a91ba07c32c /gnu/packages/patches/jami-xcb-link.patch
parentd7d09a277376744a17500ad62f6ba5580a53c878 (diff)
downloadguix-008f3a28c6ca6f689f00f11af1f195f14625a51a.tar.gz
guix-008f3a28c6ca6f689f00f11af1f195f14625a51a.zip
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.
Diffstat (limited to 'gnu/packages/patches/jami-xcb-link.patch')
-rw-r--r--gnu/packages/patches/jami-xcb-link.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/gnu/packages/patches/jami-xcb-link.patch b/gnu/packages/patches/jami-xcb-link.patch
new file mode 100644
index 0000000000..6879493123
--- /dev/null
+++ b/gnu/packages/patches/jami-xcb-link.patch
@@ -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
+