@@ -1625,6 +1625,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 \
@@ -1748,7 +1749,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 \
@@ -36,6 +36,7 @@ (define-module (gnu packages jami)
#: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 @@ (define-module (gnu packages jami)
;;; 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 webrtc-audio-processing/jami
;; libjami still requires an 0.x version of this package. Remove it when
@@ -152,10 +153,9 @@ (define-public libjami
(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
@@ -169,7 +169,9 @@ (define-public libjami
;; 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")
+ ;; BROKEN: Doesn't compiler.
+ ;#:configure-flags #~(list "--enable-agent" "--enable-debug")
+ #:configure-flags #~(list "--enable-debug")
#:make-flags #~(list"V=1") ;build verbosely
#:phases
#~(modify-phases %standard-phases
@@ -203,7 +205,7 @@ (define-public libjami
dhtnet
eudev
ffmpeg-jami
- guile-3.0
+ ;guile-3.0
jack-1
jsoncpp
libarchive
@@ -290,8 +292,9 @@ (define-public jami
(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"
@@ -360,7 +363,8 @@ (define-public jami
;; "ctest" "-R" "Qml_Tests" ctest-args)
)))))))
(native-inputs
- (list googletest
+ (list git
+ googletest
pkg-config
python
qthttpserver
@@ -370,6 +374,7 @@ (define-public jami
(inputs
(list ffmpeg-jami
glib ;for integration with GNOME
+ hunspell
libjami
libnotify
libxcb
@@ -385,7 +390,8 @@ (define-public jami
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
new file mode 100644
@@ -0,0 +1,43 @@
+Disable qtwebengine for good.
+
+--- 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();
+ }
+
@@ -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}
)
@@ -1,5 +1,7 @@
Forwarded here: https://lists.gnu.org/archive/html/jami/2024-01/msg00007.html
+ZXing-cpp addition to patch is not sent upstream.
+
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
@@ -19,7 +21,7 @@ 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 +64,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
deleted file mode 100644
@@ -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