gnu: jami: Update to 20250610.0.

* gnu/packages/patches/jami.scm (libjami): Update to 20250610.0.
[source]: Unregister libgit2 patch.
[inputs]: Delete guile-3.0.
[arguments] <#:configure-flags>: Delete --enable-agent.
(jami): Update to 20250610.0.
[source]: Add patch.
[native-inputs]: Add git.
[inputs]: Add hunspell and zxing-cpp.
* gnu/packages/patches/jami-qwindowkit.patch,
gnu/packages/patches/jami-unbundle-dependencies.patch: Update for jami 20250610.0.
* gnu/local.mk: Unregister patch. Register new patch.
* gnu/packages/patches/libjami-libgit2-compatibility.patch: Remove file.
* gnu/packages/patches/jami-disable-webengine.patch: New file.

Fixes: <https://issues.guix.gnu.org/76231>
Change-Id: I118454aa7c214271725358928b751f4d43cac2db
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
This commit is contained in:
Homo 2025-06-18 14:54:39 +03:00 committed by Maxim Cournoyer
parent b77c109a71
commit 2a7ba05feb
No known key found for this signature in database
GPG key ID: 1260E46482E63562
6 changed files with 85 additions and 52 deletions

View file

@ -1632,6 +1632,7 @@ 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/jamesdsp-fix-bulid-on-pipewire-1.4.0.patch\
%D%/packages/patches/jami-disable-webengine.patch \
%D%/packages/patches/jami-enable-testing.patch \
%D%/packages/patches/jami-libjami-headers-search.patch \
%D%/packages/patches/jami-qwindowkit.patch \
@ -1753,7 +1754,6 @@ dist_patch_DATA = \
%D%/packages/patches/libgnomeui-utf8.patch \
%D%/packages/patches/libgrss-CVE-2016-2001.patch \
%D%/packages/patches/libjami-ac-config-files.patch \
%D%/packages/patches/libjami-libgit2-compatibility.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \
%D%/packages/patches/libofa-ftbfs-1.diff \

View file

@ -36,6 +36,7 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages hunspell)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
#:use-module (gnu packages markup)
@ -78,8 +79,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 "20240524.0")
(define %jami-daemon-commit "fd2f2815448ce4072dcbc3995950788573d63f3b")
(define %jami-nightly-version "20250610.0")
(define %jami-daemon-commit "3280fa373a186c8cd4926849ef94d41bcf97c129")
(define-public libjami
(package
@ -93,10 +94,9 @@
(file-name (git-file-name name version))
(sha256
(base32
"1bw0laj93w4pvlxsr5abz59805ypbmg21z5393yzm82j4d35cfyr"))
"1sxrm0q4p9al6ar3svnni080cnclgf6yi9sy503n60srg47jvs87"))
(patches (search-patches
"libjami-ac-config-files.patch"
"libjami-libgit2-compatibility.patch"))))
"libjami-ac-config-files.patch"))))
(outputs '("out" "bin" "debug")) ;"bin' contains jamid
(build-system gnu-build-system)
(arguments
@ -110,7 +110,9 @@
;; execution of test plans described in Scheme. It may be useful in
;; user scripts too, until more general purpose Scheme bindings are made
;; available (see: test/agent/README.md).
#:configure-flags #~(list "--enable-agent" "--enable-debug")
;; FIXME: compiling the agent currently fails (see:
;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/1139).
#:configure-flags #~(list "--disable-agent" "--enable-debug")
#:make-flags #~(list"V=1") ;build verbosely
#:phases
#~(modify-phases %standard-phases
@ -144,7 +146,7 @@
dhtnet
eudev
ffmpeg-jami
guile-3.0
;guile-3.0
jack-1
jsoncpp
libarchive
@ -231,8 +233,9 @@ QSortFilterProxyModel conveniently exposed for QML.")
(file-name (git-file-name name version))
(sha256
(base32
"1wqi50n80khyngj48brc8wg3m6jq471h9gm62yxpj4f8z5j81ncd"))
"11hydcclfllvdsd08fdmsqxldgk957rr0xyjqgr9hdh7y0l95a9a"))
(patches (search-patches
"jami-disable-webengine.patch"
"jami-enable-testing.patch"
"jami-libjami-headers-search.patch"
"jami-qwindowkit.patch"
@ -301,7 +304,8 @@ QSortFilterProxyModel conveniently exposed for QML.")
;; "ctest" "-R" "Qml_Tests" ctest-args)
)))))))
(native-inputs
(list googletest
(list git
googletest
pkg-config
python
qthttpserver
@ -311,6 +315,7 @@ QSortFilterProxyModel conveniently exposed for QML.")
(inputs
(list ffmpeg-jami
glib ;for integration with GNOME
hunspell
libjami
libnotify
libxcb
@ -326,7 +331,8 @@ QSortFilterProxyModel conveniently exposed for QML.")
qtsvg
qwindowkit
tidy-html ;used by src/app/htmlparser.h
vulkan-loader))
vulkan-loader
zxing-cpp))
(home-page "https://jami.net")
(synopsis "Qt Jami client")
(description "This package provides the Jami Qt client. Jami is a secure

View file

@ -0,0 +1,43 @@
Upstream-status: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/2072
--- a/src/app/LayoutManager.qml 2025-06-18 02:28:42.298627257 +0300
+++ b/src/app/LayoutManager.qml 2025-06-18 02:34:07.528403540 +0300
@@ -17,7 +17,6 @@
import QtQuick
import QtQuick.Controls
-import QtWebEngine
import net.jami.Adapters 1.1
import net.jami.Enums 1.1
@@ -41,9 +40,6 @@ QtObject {
// Used to store if a CallStackView component is fullscreened.
property bool isCallFullscreen: false
- // Used to store if a WebEngineView component is fullscreened.
- property bool isWebFullscreen: false
-
// QWK: Provide spacing for widgets that may be occluded by the system buttons.
property QtObject qwkSystemButtonSpacing: QtObject {
id: qwkSystemButtonSpacing
@@ -253,9 +249,6 @@ QtObject {
isCallFullscreen = fullScreenItems
.filter(o => o.item.objectName === "callViewLoader")
.length
- isWebFullscreen = fullScreenItems
- .filter(o => o.item instanceof WebEngineView)
- .length
}
// Listen for a hangup combined with a fullscreen call state and
--- a/src/app/mainview/components/CallStackView.qml 2025-06-18 02:36:58.863782993 +0300
+++ b/src/app/mainview/components/CallStackView.qml 2025-06-18 02:38:00.994456741 +0300
@@ -43,7 +43,7 @@ Item {
Shortcut {
sequence: "F11"
context: Qt.ApplicationShortcut
- enabled: CurrentConversation.hasCall && !layoutManager.isWebFullscreen
+ enabled: CurrentConversation.hasCall
onActivated: toggleFullScreen();
}

View file

@ -13,7 +13,7 @@ index 6d2dccfb..8dedff50 100644
- TARGET qwindowkit
+ TARGET QWindowKit
URL https://github.com/stdware/qwindowkit.git
BRANCH 79b1f3110754f9c21af2d7dacbd07b1a9dbaf6ef
BRANCH 758b00cb6c2d924be3a1ea137ec366dc33a5132d
PATCHES ${QWINDOWKIT_PATCHES}
OPTIONS ${QWINDOWKIT_OPTIONS}
)

View file

@ -1,25 +1,11 @@
Forwarded here: https://lists.gnu.org/archive/html/jami/2024-01/msg00007.html
From a302dc0a0faf2778331745a1d01bc3071e182d4d Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Mon, 8 Jan 2024 16:07:05 -0500
Subject: [PATCH] build: Allow using system-provided md4c and tidy libraries.
* CMakeLists.txt <md4c, tidy>: Search for libraries in the system
first, falling back to bundled copies in case they aren't found.
Series-to: jami@gnu.org
Fixes: <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1506>
Change-Id: I637959fefce6a21b0ee73a793acb6c3c42dcdce0
---
CMakeLists.txt | 36 +++++++++++++++++++++++++-----------
1 file changed, 25 insertions(+), 11 deletions(-)
Upstream-status: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1506
Upstream-status: https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/2073
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e802357f..6d2dccfb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -600,20 +600,34 @@ add_subdirectory(3rdparty/SortFilterProxyModel)
@@ -696,29 +696,50 @@ add_subdirectory(3rdparty/SortFilterProx
set(SFPM_OBJECTS $<TARGET_OBJECTS:SortFilterProxyModel>)
# md4c
@ -62,6 +48,27 @@ index e802357f..6d2dccfb 100644
+ list(APPEND CLIENT_LINK_DIRS ${tidy_BINARY_DIR}/Release)
+ list(APPEND CLIENT_INCLUDE_DIRS ${tidy_SOURCE_DIR}/include)
+ list(APPEND CLIENT_LIBS tidy-static)
+endif()
# ZXing-cpp configuration
-set(BUILD_EXAMPLES OFF CACHE BOOL "")
-set(BUILD_BLACKBOX_TESTS OFF CACHE BOOL "")
-add_subdirectory(3rdparty/zxing-cpp EXCLUDE_FROM_ALL)
+pkg_check_modules(zxing IMPORTED_TARGET zxing)
+if(zxing_FOUND)
+ message(STATUS "Using system-provided ZXing-cpp")
+ list(APPEND CLIENT_INCLUDE_DIRS ${zxing_INCLUDE_DIRS})
+ list(APPEND CLIENT_LIBS PkgConfig::zxing)
+else()
+ set(BUILD_EXAMPLES OFF CACHE BOOL "")
+ set(BUILD_BLACKBOX_TESTS OFF CACHE BOOL "")
+ add_subdirectory(3rdparty/zxing-cpp EXCLUDE_FROM_ALL)
# Add ZXing-cpp to includes and libraries
-list(APPEND CLIENT_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/zxing-cpp/core/src)
-list(APPEND CLIENT_LIBS ZXing)
+ list(APPEND CLIENT_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/zxing-cpp/core/src)
+ list(APPEND CLIENT_LIBS ZXing)
+endif()
# common executable sources

View file

@ -1,23 +0,0 @@
Libgit2 1.8.0 went for 'git_commit *const' but 1.8.4 reverted back to
'const git_commit *'.
--- a/src/jamidht/conversationrepository.cpp
+++ b/src/jamidht/conversationrepository.cpp
@@ -783,7 +783,7 @@ ConversationRepository::Impl::createMergeCommit(git_index* index, const std::str
// Commit
git_buf to_sign = {};
// Check if the libgit2 library version is 1.8.0 or higher
-#if( LIBGIT2_VER_MAJOR > 1 ) || ( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR >= 8 )
+#if( LIBGIT2_VER_MAJOR > 1 ) || ( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR >= 8 && LIBGIT2_VER_REVISION <= 3)
// For libgit2 version 1.8.0 and above
git_commit* const parents_ptr[2] {parents[0].get(), parents[1].get()};
#else
@@ -1870,7 +1870,7 @@ ConversationRepository::Impl::commit(const std::string& msg, bool verifyDevice)
git_buf to_sign = {};
// Check if the libgit2 library version is 1.8.0 or higher
-#if( LIBGIT2_VER_MAJOR > 1 ) || ( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR >= 8 )
+#if( LIBGIT2_VER_MAJOR > 1 ) || ( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR >= 8 && LIBGIT2_VER_REVISION <= 3)
// For libgit2 version 1.8.0 and above
git_commit* const head_ref[1] = {head_commit.get()};
#else