summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHomo <gay@disroot.org>2025-06-18 14:54:39 +0300
committerMaxim Cournoyer <maxim@guixotic.coop>2025-07-10 23:19:37 +0900
commit2a7ba05febe4b0da4f1142097b9bd64d26a83e01 (patch)
treeb264db5cd3049ae6758bcc9201e3c9e3c9200009
parentb77c109a71a4af2977628140360789a6bf59b220 (diff)
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>
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/jami.scm26
-rw-r--r--gnu/packages/patches/jami-disable-webengine.patch43
-rw-r--r--gnu/packages/patches/jami-qwindowkit.patch2
-rw-r--r--gnu/packages/patches/jami-unbundle-dependencies.patch41
-rw-r--r--gnu/packages/patches/libjami-libgit2-compatibility.patch23
6 files changed, 85 insertions, 52 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 727278846f..b97021d8ce 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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 \
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index e79f86cfc4..c4133a9395 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -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
diff --git a/gnu/packages/patches/jami-disable-webengine.patch b/gnu/packages/patches/jami-disable-webengine.patch
new file mode 100644
index 0000000000..1a08fea80b
--- /dev/null
+++ b/gnu/packages/patches/jami-disable-webengine.patch
@@ -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();
+ }
+
diff --git a/gnu/packages/patches/jami-qwindowkit.patch b/gnu/packages/patches/jami-qwindowkit.patch
index 65248a6940..3a341a4286 100644
--- a/gnu/packages/patches/jami-qwindowkit.patch
+++ b/gnu/packages/patches/jami-qwindowkit.patch
@@ -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}
)
diff --git a/gnu/packages/patches/jami-unbundle-dependencies.patch b/gnu/packages/patches/jami-unbundle-dependencies.patch
index 2732087daf..8e32c736e6 100644
--- a/gnu/packages/patches/jami-unbundle-dependencies.patch
+++ b/gnu/packages/patches/jami-unbundle-dependencies.patch
@@ -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
@@ -64,6 +50,27 @@ index e802357f..6d2dccfb 100644
+ 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
qt_add_executable(
diff --git a/gnu/packages/patches/libjami-libgit2-compatibility.patch b/gnu/packages/patches/libjami-libgit2-compatibility.patch
deleted file mode 100644
index 20896deac4..0000000000
--- a/gnu/packages/patches/libjami-libgit2-compatibility.patch
+++ /dev/null
@@ -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