guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 46b6479e9228b412450a9fa4241779ababe01615
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Sat Aug 8 15:02:02 2026 +0900

    gnu: jami: Update to 20260811.0.
    
    * gnu/packages/patches/libjami-networkservice-header.patch: New file.
    * gnu/packages/patches/jami-link-to-libavutil.patch: Likewise.
    * gnu/packages/patches/jami-qml-fix.patch: Likewise.
    * gnu/packages/patches/jami-avutil-link.patch: Delete file.
    * gnu/packages/patches/jami-libjami-cmake.patch: Likewise.
    * gnu/local.mk (dist_patch_DATA): Update accordingly.
    * gnu/packages/jami.scm (%jami-nightly-version): Set to 20260811.0.
    (%jami-daemon-commit): Set to c87ccc39b1469a6b766401407746d447cb5d6ee9.
    (libjami) [source]: Apply libjami-networkservice-header.patch patch.
    (jami) [source]: Update patches.
    [#:arguments] {check}: Skip some tests via the GTEST_FILTER environment
    variable.
---
 gnu/local.mk                                       |   7 +-
 gnu/packages/jami.scm                              |  17 +-
 gnu/packages/patches/jami-avutil-link.patch        |  17 --
 gnu/packages/patches/jami-libjami-cmake.patch      | 181 ----------------
 gnu/packages/patches/jami-link-to-libavutil.patch  | 234 +++++++++++++++++++++
 gnu/packages/patches/jami-qml-fix.patch            |  15 ++
 .../patches/libjami-networkservice-header.patch    |  14 ++
 7 files changed, 277 insertions(+), 208 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 76e854e2435..fb291d8e4e1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1269,6 +1269,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/emacs-helpful-fix-signature.patch       \
   %D%/packages/patches/emacs-helpful-fix-tests.patch   \
   %D%/packages/patches/emacs-highlight-stages-add-gexp.patch   \
+  %D%/packages/patches/emacs-ivy-avoid-nil-predicate.patch      \
   %D%/packages/patches/emacs-json-reformat-fix-tests.patch     \
   %D%/packages/patches/emacs-kv-fix-tests.patch        \
   %D%/packages/patches/emacs-lispy-revert-js.patch   \
@@ -1702,9 +1703,8 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/irrlicht-link-against-needed-libs.patch \
   %D%/packages/patches/isl-0.11.1-aarch64-support.patch                \
   %D%/packages/patches/ispell-for-linphone-cmake.patch         \
-  %D%/packages/patches/jami-avutil-link.patch                  \
-  %D%/packages/patches/emacs-ivy-avoid-nil-predicate.patch      \
-  %D%/packages/patches/jami-libjami-cmake.patch                        \
+  %D%/packages/patches/jami-link-to-libavutil.patch             \
+  %D%/packages/patches/jami-qml-fix.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       \
@@ -1750,6 +1750,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/libgeotiff-fix-tests-on-i386.patch      \
   %D%/packages/patches/libguestfs-syms.patch                   \
   %D%/packages/patches/libinfinity-renew-test-certificate.patch \
+  %D%/packages/patches/libjami-networkservice-header.patch      \
   %D%/packages/patches/libmaus2-fix-gcc-13-require-include-cstdint.patch       
\
   %D%/packages/patches/libpatch-respect-ldflags.patch          \
   %D%/packages/patches/libportal-qt-6.9.patch                   \
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index a08ff132792..fef98a97803 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -81,8 +81,8 @@
 ;;; When updating Jami, make sure that the patches used for ffmpeg-jami are up
 ;;; to date with those listed in
 ;;; 
<https://git.jami.net/savoirfairelinux/jami-daemon/-/blob/master/contrib/src/ffmpeg/rules.mak>.
-(define %jami-nightly-version "20260220.0")
-(define %jami-daemon-commit "67a68a69f958ca72142ed3cc20b3181ae32f3661")
+(define %jami-nightly-version "20260811.0")
+(define %jami-daemon-commit "c87ccc39b1469a6b766401407746d447cb5d6ee9")
 
 (define-public libjami
   (package
@@ -96,7 +96,8 @@
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1hjx9vzskjkg8aa6699l28wpx1f69agynfyr56xsb2d8nyifs5ds"))))
+                "13p70w80g7xd1v26h0x3bz3bkcbn6xmpsi1ycgcpm4dr8khp53ms"))
+              (patches (search-patches 
"libjami-networkservice-header.patch"))))
     ;; Reduce the output by about 2 MiB by splitting the seldom used 'jamid'
     ;; daemon binary to the "bin" output.
     (outputs '("out" "bin" "debug"))
@@ -222,10 +223,9 @@ QSortFilterProxyModel conveniently exposed for QML.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0g6hdh9kdnvfika2x4ymcmm00i13ml2rp91flzawqhlb3nm6jdy6"))
-              (patches (search-patches
-                        "jami-libjami-cmake.patch"
-                        "jami-avutil-link.patch"))))
+                "0zq0x8vcl85rqpgyhanvc9x85kn2dcrzjmznsf0vyfjq6ycpgqn5"))
+              (patches (search-patches "jami-link-to-libavutil.patch"
+                                       "jami-qml-fix.patch"))))
     (build-system qt-build-system)
     (outputs '("out" "debug"))
     (arguments
@@ -269,6 +269,9 @@ QSortFilterProxyModel conveniently exposed for QML.")
                                       "1"))))
 
                   (display "Running unit tests...\n")
+                  ;; Skip the name server related tests, since they fail in
+                  ;; the Guix build environment, which lacks name resolution.
+                  (setenv "GTEST_FILTER" "-ApiServerFixture.Nameserver*")
                   (apply invoke "ctest" "-R" "Unit_Tests" ctest-args)
 
                   ;; The QML test suite is currently disabled as it segfaults
diff --git a/gnu/packages/patches/jami-avutil-link.patch 
b/gnu/packages/patches/jami-avutil-link.patch
deleted file mode 100644
index 05e0dfd8401..00000000000
--- a/gnu/packages/patches/jami-avutil-link.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-status: <https://review.jami.net/c/jami-client-qt/+/32710>
-
-diff --git a/src/libclient/CMakeLists.txt b/src/libclient/CMakeLists.txt
-index 5c35e402..5e3929bc 100644
---- a/src/libclient/CMakeLists.txt
-+++ b/src/libclient/CMakeLists.txt
-@@ -325,6 +325,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
- else()
-   set(CC_MACHINE "")
- endif()
-+find_library(AVUTIL_LIBRARY avutil
-+  HINTS
-+  ${LIBJAMI_CONTRIB_DIR}/${CC_MACHINE}/lib
-+  ${LIBJAMI_CONTRIB_DIR}/apple-darwin/lib)
- 
- if(ENABLE_LIBWRAP)
-   list(APPEND LIBCLIENT_HEADERS directrenderer.h)
diff --git a/gnu/packages/patches/jami-libjami-cmake.patch 
b/gnu/packages/patches/jami-libjami-cmake.patch
deleted file mode 100644
index 3c95b990b15..00000000000
--- a/gnu/packages/patches/jami-libjami-cmake.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 979dae2a..21adb2fc 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -60,7 +60,6 @@ endif()
- 
- if(JAMICORE_AS_SUBDIR)
-   add_subdirectory(${DAEMON_DIR} EXCLUDE_FROM_ALL)
--  set(LIBJAMI_LIB jami-core)
- endif()
- 
- # init some variables for includes, libs, etc.
-@@ -226,11 +225,9 @@ submodules afterwards.  You can do so by running \"git 
submodule \
- update --init\" in the repository.")
- endif()
- list(APPEND CMAKE_MODULE_PATH 
${PROJECT_SOURCE_DIR}/extras/build/cmake/modules)
--if (NOT JAMICORE_AS_SUBDIR)
--  find_package(LibJami REQUIRED)
--  if(LIBJAMI_FOUND)
--    include_directories(${LIBJAMI_INCLUDE_DIR})
--  endif()
-+find_package(LibJami REQUIRED)
-+if (NOT TARGET LibJami::LibJami)
-+  message(FATAL_ERROR "libjami could not be found")
- endif()
- 
- include(FindPython3)
-@@ -755,6 +752,8 @@ foreach(MODULE ${QT_MODULES})
-   list(APPEND QT_LIBS "Qt::${MODULE}")
- endforeach()
- 
-+list(APPEND CLIENT_LIBS LibJami::LibJami)
-+
- if(MSVC)
-   # Makes it a GUI executable instead of a console application
-   set_target_properties(
-@@ -763,7 +762,6 @@ if(MSVC)
-     WIN32_EXECUTABLE TRUE)
- 
-   list(APPEND CLIENT_LIBS
--    ${LIBJAMI_LIB}
-     ${GNUTLS_LIB}
-     ${LIBCLIENT_NAME}
-     ${QT_LIBS}
-diff --git a/extras/build/cmake/modules/FindLibJami.cmake 
b/extras/build/cmake/modules/FindLibJami.cmake
-index ee2bf6d9..92cd9e55 100644
---- a/extras/build/cmake/modules/FindLibJami.cmake
-+++ b/extras/build/cmake/modules/FindLibJami.cmake
-@@ -14,17 +14,38 @@
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 
USA.
- 
--# Once done, this find module will set:
--#
--#   LIBJAMI_INCLUDE_DIR - libjami include directory
--#   LIBJAMI_FOUND - whether it was able to find the include directories
--#   LIBJAMI_LIB - path to libjami or libring library
-+# Once done, this find module will set the LibJami::LibJami imported
-+# target, which references all what is needed (headers, libraries,
-+# dependencies). A pure interface variant target, LibJami::Headers, is
-+# also defined. It can be used if only the headers are required.
- 
- set(LIBJAMI_FOUND true)
- 
-+# Do not use ALIAS as these are not in the global scope.
-+function(create_libjami_target backend_target)
-+  add_library(LibJami::LibJami INTERFACE IMPORTED GLOBAL)
-+  target_link_libraries(LibJami::LibJami INTERFACE ${backend_target})
-+endfunction()
-+
- if(WITH_DAEMON_SUBMODULE)
-+  if(JAMICORE_AS_SUBDIR)
-+    create_libjami_target(jami-core)
-+    message(STATUS "Using jami-core CMake project directly as libjami")
-+    return()
-+  endif()
-   set(LIBJAMI_INCLUDE_DIR ${DAEMON_DIR}/src/jami)
- else()
-+  # Preferably find libjami via pkg-config.
-+  find_package(PkgConfig QUIET)
-+  if(PKG_CONFIG_FOUND)
-+    pkg_check_modules(LIBJAMI QUIET IMPORTED_TARGET jami)
-+    if(LIBJAMI_FOUND)
-+      create_libjami_target(PkgConfig::LIBJAMI)
-+      message(STATUS "Found LibJami via pkg-config")
-+      return()
-+    endif()
-+  endif()
-+
-   find_path(LIBJAMI_INCLUDE_DIR jami.h PATH_SUFFIXES jami)
-   if(NOT LIBJAMI_INCLUDE_DIR)
-     message(STATUS "Jami daemon headers not found!
-@@ -109,5 +130,16 @@ 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_DIR})
--message(STATUS "Jami daemon library is at " ${LIBJAMI_LIB})
-+# Assemble a CMake imported target with the above information gathered
-+# by other means than pkg-config.
-+if(LIBJAMI_FOUND AND LIBJAMI_LIB AND LIBJAMI_INCLUDE_DIR)
-+  add_library(LibJami::LibJami UNKNOWN IMPORTED GLOBAL)
-+  set_target_properties(LibJami::LibJami PROPERTIES
-+    IMPORTED_LOCATION "${LIBJAMI_LIB}"
-+    INTERFACE_INCLUDE_DIRECTORIES "${LIBJAMI_INCLUDE_DIR}"
-+  )
-+  message(STATUS "Jami daemon headers are in " ${LIBJAMI_INCLUDE_DIR})
-+  message(STATUS "Jami daemon library is at " ${LIBJAMI_LIB})
-+else()
-+  message(WARNING "Could not find Jami library")
-+endif()
-diff --git a/src/libclient/CMakeLists.txt b/src/libclient/CMakeLists.txt
-index 04cdbc6d..26744a6e 100644
---- a/src/libclient/CMakeLists.txt
-+++ b/src/libclient/CMakeLists.txt
-@@ -46,10 +46,6 @@ if(NOT DEFINED EXTRAS_DIR)
- endif()
- set(CMAKE_MODULE_PATH
-   ${CMAKE_MODULE_PATH} "${EXTRAS_DIR}/build/cmake/modules")
--find_package(LibJami REQUIRED)
--if(LIBJAMI_FOUND)
--  include_directories(${LIBJAMI_INCLUDE_DIR})
--endif()
- 
- string(SUBSTRING ${CMAKE_GENERATOR} 0 14 CMAKE_GENERATOR_SHORT)
- if(CMAKE_GENERATOR_SHORT MATCHES "Visual Studio ")
-@@ -202,10 +198,6 @@ Qt${QT_VERSION_MAJOR} enabled.")
-   add_subdirectory(qtwrapper)
-   include_directories(qtwrapper)
- 
--  if(JAMICORE_AS_SUBDIR)
--    add_dependencies(qtwrapper jami-core)
--  endif()
--
-   if(${VERBOSE_IPC} MATCHES true)
-     message(STATUS "Adding more debug output")
-     add_definitions(-DVERBOSE_IPC=true)
-@@ -454,16 +446,6 @@ add_library(${LIBCLIENT_NAME} STATIC
-   ${LIBCLIENT_HEADERS_API}
-   ${LIBCLIENT_HEADERS_MOC})
- 
--if(JAMICORE_AS_SUBDIR)
--  # Define the project dependencies depending on the build type.
--  if(ENABLE_LIBWRAP)
--    add_dependencies(qtwrapper jami-core)
--    add_dependencies(${LIBCLIENT_NAME} qtwrapper)
--  else()
--    add_dependencies(${LIBCLIENT_NAME} jami-core)
--  endif()
--endif()
--
- foreach(QT_LIB ${QT_LIBS})
-   target_link_libraries(${LIBCLIENT_NAME} ${QT_LIB})
- endforeach()
-@@ -479,6 +461,8 @@ if(ENABLE_LIBWRAP)
-   if (NOT (CMAKE_CXX_COMPILER_ID MATCHES "MSVC"))
-     target_link_libraries(${LIBCLIENT_NAME} ${AVUTIL_LIBRARY})
-   endif()
-+else()
-+  target_link_libraries(${LIBCLIENT_NAME} LibJami::LibJami)
- endif()
- if (NOT (CMAKE_CXX_COMPILER_ID MATCHES "MSVC"))
-   target_link_libraries(${LIBCLIENT_NAME} -lpthread)
-diff --git a/src/libclient/qtwrapper/CMakeLists.txt 
b/src/libclient/qtwrapper/CMakeLists.txt
-index c412112f..ba4bd5cb 100644
---- a/src/libclient/qtwrapper/CMakeLists.txt
-+++ b/src/libclient/qtwrapper/CMakeLists.txt
-@@ -39,7 +39,6 @@ else()
- endif()
- 
- include_directories(${CMAKE_CURRENT_SOURCE_DIR})
--include_directories(${LIBJAMI_INCLUDE_DIR})
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../dbus)
- 
-@@ -49,4 +48,4 @@ add_library(${PROJECT_NAME} STATIC
- 
- target_link_libraries(${PROJECT_NAME}
-   Qt::Core
--  ${LIBJAMI_LIB})
-+  LibJami::LibJami)
diff --git a/gnu/packages/patches/jami-link-to-libavutil.patch 
b/gnu/packages/patches/jami-link-to-libavutil.patch
new file mode 100644
index 00000000000..b2cad60c130
--- /dev/null
+++ b/gnu/packages/patches/jami-link-to-libavutil.patch
@@ -0,0 +1,234 @@
+Upstream-status: <https://review.jami.net/c/jami-client-qt/+/33107/8>
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ee14dbf5..7eace45b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -89,13 +89,27 @@ endif()
+ 
+ if(JAMICORE_AS_SUBDIR)
+   add_subdirectory(${DAEMON_DIR} EXCLUDE_FROM_ALL)
+-  set(LIBJAMI_LIB jami-core)
+   # ponytail: BUILD_SHARED_LIBS is later force-set OFF (md4c bundling, below)
+   # since it's a shared global CACHE var, so latch jami-core's actual type
+   # here rather than re-reading BUILD_SHARED_LIBS after that point.
+   get_target_property(JAMICORE_TARGET_TYPE jami-core TYPE)
+ endif()
+ 
++# Ensure the contribs can be found via pkg-config.
++if(NOT MSVC)
++  set(LIBJAMI_CONTRIB_DIR "${DAEMON_DIR}/contrib")
++  set(LIBJAMI_TARGET ${CMAKE_LIBRARY_ARCHITECTURE})
++  if (NOT LIBJAMI_TARGET)
++    execute_process(COMMAND "${CMAKE_C_COMPILER}" -dumpmachine
++      OUTPUT_VARIABLE LIBJAMI_TARGET
++      OUTPUT_STRIP_TRAILING_WHITESPACE)
++  endif()
++  set(LIBJAMI_CONTRIB_PREFIX "${LIBJAMI_CONTRIB_DIR}/${LIBJAMI_TARGET}")
++  set(ENV{PKG_CONFIG_PATH}
++    "${LIBJAMI_CONTRIB_PREFIX}/lib/pkgconfig:$ENV{PKG_CONFIG_PATH}")
++  message(DEBUG "PKG_CONFIG_PATH set to $ENV{PKG_CONFIG_PATH}")
++endif()
++
+ # init some variables for includes, libs, etc.
+ set(CLIENT_INCLUDE_DIRS, "")
+ set(CLIENT_LINK_DIRS, "")
+@@ -466,11 +480,9 @@ submodules afterwards.  You can do so by running \"git 
submodule \
+ update --init\" in the repository.")
+ endif()
+ list(APPEND CMAKE_MODULE_PATH 
${PROJECT_SOURCE_DIR}/extras/build/cmake/modules)
+-if (NOT JAMICORE_AS_SUBDIR)
+-  find_package(LibJami REQUIRED)
+-  if(LIBJAMI_FOUND)
+-    include_directories(${LIBJAMI_INCLUDE_DIR})
+-  endif()
++find_package(LibJami REQUIRED)
++if (NOT TARGET LibJami::LibJami)
++  message(FATAL_ERROR "libjami could not be found")
+ endif()
+ 
+ include(FindPython3)
+@@ -701,21 +713,6 @@ set(COMMON_HEADERS
+   ${APP_SRC_DIR}/apitokenlistmodel.h
+ )
+ 
+-set(CONTRIB_DARWIN_FOLDER "")
+-if(APPLE)
+-  list(LENGTH CMAKE_OSX_ARCHITECTURES ARCH_LEN)
+-  if(ARCH_LEN EQUAL 1)
+-    # single-arch -> use <arch>-apple-darwin<ver>
+-    set(DARWIN_ARCH "${CMAKE_OSX_ARCHITECTURES}")
+-    set(CONTRIB_DARWIN_FOLDER 
"${DARWIN_ARCH}-apple-darwin${CMAKE_SYSTEM_VERSION}")
+-  else() # multi-arch -> use apple-darwin<ver>
+-    set(CONTRIB_DARWIN_FOLDER "apple-darwin${CMAKE_SYSTEM_VERSION}")
+-  endif()
+-endif()
+-
+-# For libavutil/avframe.
+-set(LIBJAMI_CONTRIB_DIR "${DAEMON_DIR}/contrib")
+-
+ find_package(Vulkan)
+ if(Vulkan_FOUND)
+   add_definitions(-DHAS_VULKAN)
+@@ -1099,6 +1096,8 @@ foreach(MODULE ${QT_MODULES})
+   list(APPEND QT_LIBS "Qt::${MODULE}")
+ endforeach()
+ 
++list(APPEND CLIENT_LIBS LibJami::LibJami)
++
+ if(MSVC)
+   # Makes it a GUI executable instead of a console application
+   set_target_properties(
+@@ -1107,7 +1106,6 @@ if(MSVC)
+     WIN32_EXECUTABLE TRUE)
+ 
+   list(APPEND CLIENT_LIBS
+-    ${LIBJAMI_LIB}
+     ${GNUTLS_LIB}
+     ${QT_LIBS}
+     ${WINDOWS_SYS_LIBS})
+@@ -1163,7 +1161,9 @@ if(MSVC)
+ 
+   # executable name
+   set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "Jami")
+-elseif (NOT APPLE)
++elseif (NOT APPLE)              # GNU/Linux
++  pkg_search_module(LIBAVUTIL REQUIRED IMPORTED_TARGET libavutil)
++
+   list(APPEND CLIENT_LIBS
+     ${QT_LIBS}
+     ${X11}
+@@ -1171,7 +1171,8 @@ elseif (NOT APPLE)
+     ${LIBNOTIFY_LIBRARIES}
+     ${LIBGDKPIXBUF_LIBRARIES}
+     ${GLIB_LIBRARIES}
+-    ${GIO_LIBRARIES})
++    ${GIO_LIBRARIES}
++    PkgConfig::LIBAVUTIL)
+ 
+   install(
+     TARGETS ${PROJECT_NAME}
+@@ -1299,7 +1300,7 @@ elseif (NOT APPLE)
+     uninstall
+     COMMAND
+     ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
+-else()
++else()                          # Apple
+   set(resources
+     ${CMAKE_CURRENT_SOURCE_DIR}/resources/images/jami.icns
+     ${CMAKE_CURRENT_SOURCE_DIR}/resources/images/Assets.car)
+diff --git a/extras/build/cmake/modules/FindLibJami.cmake 
b/extras/build/cmake/modules/FindLibJami.cmake
+index ee2bf6d9..43c50ed0 100644
+--- a/extras/build/cmake/modules/FindLibJami.cmake
++++ b/extras/build/cmake/modules/FindLibJami.cmake
+@@ -14,17 +14,42 @@
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 
USA.
+ 
+-# Once done, this find module will set:
+-#
+-#   LIBJAMI_INCLUDE_DIR - libjami include directory
+-#   LIBJAMI_FOUND - whether it was able to find the include directories
+-#   LIBJAMI_LIB - path to libjami or libring library
++# Once done, this find module will set the LibJami::LibJami imported
++# target, which references all what is needed (headers, libraries,
++# dependencies). A pure interface variant target, LibJami::Headers, is
++# also defined. It can be used if only the headers are required.
++
++if (TARGET LibJami::LibJami)
++  return()
++endif()
+ 
+ set(LIBJAMI_FOUND true)
+ 
++# Do not use ALIAS as these are not in the global scope.
++function(create_libjami_target backend_target)
++  add_library(LibJami::LibJami INTERFACE IMPORTED GLOBAL)
++  target_link_libraries(LibJami::LibJami INTERFACE ${backend_target})
++endfunction()
++
+ if(WITH_DAEMON_SUBMODULE)
++  if(JAMICORE_AS_SUBDIR)
++    create_libjami_target(jami-core)
++    message(STATUS "Using jami-core CMake project directly as libjami")
++    return()
++  endif()
+   set(LIBJAMI_INCLUDE_DIR ${DAEMON_DIR}/src/jami)
+ else()
++  # Preferably find libjami via pkg-config.
++  find_package(PkgConfig QUIET)
++  if(PKG_CONFIG_FOUND)
++    pkg_check_modules(LIBJAMI QUIET IMPORTED_TARGET jami)
++    if(LIBJAMI_FOUND)
++      create_libjami_target(PkgConfig::LIBJAMI)
++      message(STATUS "Found LibJami via pkg-config")
++      return()
++    endif()
++  endif()
++
+   find_path(LIBJAMI_INCLUDE_DIR jami.h PATH_SUFFIXES jami)
+   if(NOT LIBJAMI_INCLUDE_DIR)
+     message(STATUS "Jami daemon headers not found!
+@@ -109,5 +134,16 @@ 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_DIR})
+-message(STATUS "Jami daemon library is at " ${LIBJAMI_LIB})
++# Assemble a CMake imported target with the above information gathered
++# by other means than pkg-config.
++if(LIBJAMI_FOUND AND LIBJAMI_LIB AND LIBJAMI_INCLUDE_DIR)
++  add_library(LibJami::LibJami UNKNOWN IMPORTED GLOBAL)
++  set_target_properties(LibJami::LibJami PROPERTIES
++    IMPORTED_LOCATION "${LIBJAMI_LIB}"
++    INTERFACE_INCLUDE_DIRECTORIES "${LIBJAMI_INCLUDE_DIR}"
++  )
++  message(STATUS "Jami daemon headers are in " ${LIBJAMI_INCLUDE_DIR})
++  message(STATUS "Jami daemon library is at " ${LIBJAMI_LIB})
++else()
++  message(WARNING "Could not find Jami library")
++endif()
+diff --git a/extras/scripts/install.sh b/extras/scripts/install.sh
+index 30f6dda6..c4257d68 100755
+--- a/extras/scripts/install.sh
++++ b/extras/scripts/install.sh
+@@ -177,8 +177,8 @@ if [[ "$OSTYPE" == "darwin"* ]]; then
+     
daemon_cmake_flags+=(-DCMAKE_OSX_ARCHITECTURES="${CMAKE_OSX_ARCHITECTURES}")
+ fi
+ 
+-cmake .. "${daemon_cmake_flags[@]}"
+-make -j"${proc}" V=1
++cmake --log-level=debug .. "${daemon_cmake_flags[@]}"
++make -j"${proc}" VERBOSE=1
+ make_install "${global}" "${priv_install}"
+ 
+ # Verify system's version if no path provided.
+@@ -256,7 +256,7 @@ if [ -n "${extra_cmake_flags}" ]; then
+     client_cmake_flags+=(${extra_cmake_flags})
+ fi
+ 
+-echo "info: Configuring $client client with flags: ${client_cmake_flags[*]}"
+-cmake .. "${client_cmake_flags[@]}"
+-make -j"${proc}" V=1
++echo "info: Configuring client with flags: ${client_cmake_flags[*]}"
++cmake --log-level=debug .. "${client_cmake_flags[@]}"
++make -j"${proc}" VERBOSE=1
+ make_install "${global}" "${priv_install}"
+diff --git a/src/qtwrapper/CMakeLists.txt b/src/qtwrapper/CMakeLists.txt
+index 22641e8f..c6d69de9 100644
+--- a/src/qtwrapper/CMakeLists.txt
++++ b/src/qtwrapper/CMakeLists.txt
+@@ -40,7 +40,6 @@ endif()
+ 
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+ include_directories(${CMAKE_SOURCE_DIR}/src)
+-include_directories(${LIBJAMI_INCLUDE_DIR})
+ include_directories(${CORE_SRC_DIR})
+ include_directories(${DBUS_SRC_DIR})
+ 
+@@ -50,4 +49,4 @@ add_library(${PROJECT_NAME} STATIC
+ 
+ target_link_libraries(${PROJECT_NAME}
+   Qt::Core
+-  ${LIBJAMI_LIB})
++  LibJami::LibJami)
diff --git a/gnu/packages/patches/jami-qml-fix.patch 
b/gnu/packages/patches/jami-qml-fix.patch
new file mode 100644
index 00000000000..71e04cba875
--- /dev/null
+++ b/gnu/packages/patches/jami-qml-fix.patch
@@ -0,0 +1,15 @@
+Upstream-status: 
<https://git.jami.net/savoirfairelinux/jami-client-qt/-/work_items/2433>
+
+diff --git a/src/app/mainview/components/AccountComboBox.qml 
b/src/app/mainview/components/AccountComboBox.qml
+index 4f862f60..55a50902 100644
+--- a/src/app/mainview/components/AccountComboBox.qml
++++ b/src/app/mainview/components/AccountComboBox.qml
+@@ -98,7 +98,7 @@ Item {
+                     filters: ValueFilter {
+                         roleName: "ID"
+                         value: LRCInstance.currentAccountId
+-                        invert: true
++                        inverted: true
+                     }
+                 }
+ 
diff --git a/gnu/packages/patches/libjami-networkservice-header.patch 
b/gnu/packages/patches/libjami-networkservice-header.patch
new file mode 100644
index 00000000000..28ff61e8390
--- /dev/null
+++ b/gnu/packages/patches/libjami-networkservice-header.patch
@@ -0,0 +1,14 @@
+Upstream-status: already merged upstream
+
+diff --git a/src/meson.build b/src/meson.build
+index 51d3afb22..347bb3a40 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -313,6 +313,7 @@ if get_option('interfaces').contains('library')
+         'jami/def.h',
+         'jami/jami.h',
+         'jami/media_const.h',
++        'jami/networkservice_interface.h',
+         'jami/presence_const.h',
+         'jami/presencemanager_interface.h',
+         'jami/security_const.h',

Reply via email to