(address . guix-patches@gnu.org)(name . Homo)(address . gay@disroot.org)
This update is messy, as it requires recursively updating dependencies and introducing new package zint.
Everything compiles, but Jami crashes with error:
client [1749878968252][FTL][7f5e2bdfe0c0]: Failed to load QML component: QUrl("qrc:/MainApplicationWindow.qml")
Change-Id: Ife106a4e5fcd64b2dbb8ca4735e788e70b20aade
---
gnu/local.mk | 2 +-
gnu/packages/aidc.scm | 68 +++++++++++++++----
gnu/packages/cpp.scm | 4 +-
gnu/packages/jami.scm | 24 ++++---
gnu/packages/networking.scm | 38 ++++++-----
gnu/packages/patches/jami-qwindowkit.patch | 2 +-
.../patches/jami-unbundle-dependencies.patch | 25 ++++++-
.../libjami-libgit2-compatibility.patch | 23 -------
...zint-fix-installation-of-cmake-files.patch | 39 +++++++++++
gnu/packages/telephony.scm | 6 +-
10 files changed, 160 insertions(+), 71 deletions(-)
delete mode 100644 gnu/packages/patches/libjami-libgit2-compatibility.patch
create mode 100644 gnu/packages/patches/zint-fix-installation-of-cmake-files.patch
Toggle diff (448 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 9d75f7bbc2..77db4ca65c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1746,7 +1746,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 \
@@ -2479,6 +2478,7 @@ dist_patch_DATA = \
%D%/packages/patches/zig-0.14-fix-runpath.patch \
%D%/packages/patches/zig-0.14-use-baseline-cpu-by-default.patch \
%D%/packages/patches/zig-0.14-use-system-paths.patch \
+ %D%/packages/patches/zint-fix-installation-of-cmake-files.patch \
%D%/packages/patches/zsh-egrep-failing-test.patch \
%D%/packages/patches/zuo-bin-sh.patch
diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm
index a4816472d7..964b6ea511 100644
--- a/gnu/packages/aidc.scm
+++ b/gnu/packages/aidc.scm
@@ -32,6 +32,7 @@ (define-module (gnu packages aidc)
#:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages elf)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages gettext)
@@ -49,30 +50,71 @@ (define-module (gnu packages aidc)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk))
+(define-public zint
+ (package
+ (name "zint")
+ (version "2.15.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zint/zint")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0arnpdqspyy3bxafm3lqc020bhwq3vazfnja2fk2s8c7mr9wimgr"))
+ (patches (search-patches "zint-fix-installation-of-cmake-files.patch"))))
+ (build-system cmake-build-system)
+ (arguments '(#:tests? #f ;no tests
+ #:configure-flags '("-DZINT_QT6=ON")))
+ (native-inputs (list pkg-config qttools))
+ (inputs (list qtbase qtsvg))
+ (propagated-inputs (list libpng zlib))
+ (synopsis "Barcode encoding library and tools")
+ (description "Zint is a suite of programs to allow easy encoding of data in any of the
+wide range of public domain barcode standards and to allow integration of
+this capability into your own programs.")
+ (home-page "https://github.com/zint/zint")
+ (license license:gpl3+)))
+
(define-public zxing-cpp
- ;; Use the master branch as it includes unreleased build system improvements
- ;; allowing to use system libraries (instead of attempting to fetch them
- ;; from the Internet).
- (let ((revision "0")
- (commit "00783db7aa3bcf8620a301854ac71c0ceaaca0c1"))
(package
(name "zxing-cpp")
- (version (git-version "1.2.0" revision commit))
+ (version "2.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/nu-book/zxing-cpp")
- (commit commit)))
+ (url "https://github.com/zxing-cpp/zxing-cpp")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1yl2cpaqiv1g4nq9v0xfj1vd5faz55k4541vz6hsffvcxgn9nmc5"))))
+ "1hdr73fllnsp3zpmrhw6cjla39lihwg1khgvddsf4v57a0lmiy3f"))))
(build-system cmake-build-system)
- (native-inputs (list fmt-8 googletest))
+ ;; Disable examples and tests to avoid bundled dependencies.
+ (arguments
+ (list
+ #:tests? #f
+ #:configure-flags
+ #~(list "-DZXING_READERS=ON"
+ "-DZXING_WRITERS=BOTH"
+ "-DZXING_BLACKBOX_TESTS=OFF"
+ "-DZXING_DEPENDENCIES=LOCAL"
+ "-DZXING_EXAMPLES=OFF"
+ "-DZXING_USE_BUNDLED_ZINT=OFF")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-headers
+ (lambda* (#:key source #:allow-other-keys)
+ (invoke "sh" "-c"
+ (string-append "cp " source "/core/src/*.h "
+ #$output "/include/ZXing/")))))))
+ (native-inputs (list fmt-8 googletest pkg-config))
+ (inputs (list zint))
(synopsis "C++ port of ZXing")
(description "ZXing-CPP is a barcode scanning library.")
- (home-page "https://github.com/nu-book/zxing-cpp")
- (license license:asl2.0))))
+ (home-page "https://github.com/zxing-cpp/zxing-cpp")
+ (license license:asl2.0)))
;;; This older variant is kept for gst-plugins-bad (see:
;;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1684).
@@ -83,7 +125,7 @@ (define-public zxing-cpp-1.2
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/nu-book/zxing-cpp")
+ (url "https://github.com/zxing-cpp/zxing-cpp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 461070c520..68c5ebc342 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -498,7 +498,7 @@ (define-public edlib
(define-public expected-lite
(package
(name "expected-lite")
- (version "0.6.3")
+ (version "0.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -507,7 +507,7 @@ (define-public expected-lite
(file-name (git-file-name name version))
(sha256
(base32
- "0d58nqh2fwdzdpln2wlnf898wyfxdnskq6ff33azbg92d5ibzys2"))))
+ "0dqa6ivqqyg5c2xyp1dakqnm4mf1m4g8bsi5jscgvv82pi3zxdzh"))))
(build-system cmake-build-system)
(home-page "https://github.com/martinmoene/expected-lite")
(synopsis "Expected objects in C++11 and later")
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index db45c9973e..5648c8fd43 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -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,7 +292,7 @@ (define-public jami
(file-name (git-file-name name version))
(sha256
(base32
- "1wqi50n80khyngj48brc8wg3m6jq471h9gm62yxpj4f8z5j81ncd"))
+ "11hydcclfllvdsd08fdmsqxldgk957rr0xyjqgr9hdh7y0l95a9a"))
(patches (search-patches
"jami-enable-testing.patch"
"jami-libjami-headers-search.patch"
@@ -360,7 +362,8 @@ (define-public jami
;; "ctest" "-R" "Qml_Tests" ctest-args)
)))))))
(native-inputs
- (list googletest
+ (list git
+ googletest
pkg-config
python
qthttpserver
@@ -370,6 +373,7 @@ (define-public jami
(inputs
(list ffmpeg-jami
glib ;for integration with GNOME
+ hunspell
libjami
libnotify
libxcb
@@ -385,7 +389,7 @@ (define-public jami
qtsvg
qwindowkit
tidy-html ;used by src/app/htmlparser.h
- 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/networking.scm b/gnu/packages/networking.scm
index 85a4e48e8e..7a73547ac7 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3854,16 +3854,16 @@ (define-public restbed
(define-public restinio
(package
(name "restinio")
- (version "0.7.2")
+ (version "0.7.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Stiffstream/restinio")
- (commit (string-append "v." version))))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "03ajv1d034z6sjf2xapy8zq1mq2xkz5dqvn51vz2p26ws5axbzrn"))))
+ "0nzkh9kxk6mz570w4pygmfnyila5mkxcgzifi73wshd4yp7q3f3d"))))
(build-system cmake-build-system)
(arguments
(list
@@ -3882,7 +3882,6 @@ (define-public restinio
(chdir "dev"))))))
(native-inputs
(list catch2-3
- expected-lite
json-dto))
(inputs
(list openssl
@@ -3890,6 +3889,7 @@ (define-public restinio
(propagated-inputs
;; These are all #include'd by restinio's .hpp header files.
(list asio
+ expected-lite
fmt
llhttp
pcre
@@ -3935,22 +3935,18 @@ (define-public restinio-0.6
(replace "llhttp" http-parser)))))
(define-public opendht
- ;; Temporarily use the latest commit, as the latest release lacks a 'detach'
- ;; procedure used by a recent DhtNet, required by Jami.
- (let ((commit "318d02c55a7061a771a632ff2224b0d195a80d42")
- (revision "0"))
(package
(name "opendht")
- (version (git-version "3.1.11" revision commit))
+ (version "3.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/savoirfairelinux/opendht")
- (commit commit)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0d4m9bxvwa1pz8r0sfrjjyml4yp5v7n4vy8ad7k4hcryyvd5npb0"))))
+ "069y4mgygjsfp5szfbqr7l30g7fbcqqj62h11byyq9k24rl7ilsq"))))
(outputs '("out" "python" "tools" "debug"))
(build-system gnu-build-system)
(arguments
@@ -4001,6 +3997,12 @@ (define-public opendht
(("extra_link_args=\\[(.*)\\]" _ args)
(string-append "extra_link_args=[" args
", '-Wl,-rpath=" #$output "/lib']")))))
+ (add-after 'unpack 'pkgconfig-disable-iouring
+ (lambda _
+ ;; This one causes configure error in dhtnet.
+ (substitute* "opendht.pc.in"
+ (("@iouring_lib@")
+ ""))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
@@ -4030,12 +4032,13 @@ (define-public opendht
readline))
(propagated-inputs
(list msgpack-cxx ;included in several installed headers
- restinio-0.6 ;included in opendht/http.h
+ restinio ;included in opendht/http.h
;; The following are listed in the 'Requires.private' field of
;; opendht.pc:
argon2
gnutls
jsoncpp
+ llhttp
nettle
openssl ;required for the DHT proxy
python))
@@ -4072,12 +4075,12 @@ (define-public opendht
@item dhtchat
A very simple IM client working over the DHT.
@end table")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public dhtnet
;; There is no tag nor release; use the latest available commit.
- (let ((revision "3")
- (commit "77331098ff663a5ac54fae7d0bedafe076c575a1"))
+ (let ((revision "4")
+ (commit "6c5ee3a21556d668d047cdedb5c4b746c3c6bdb2"))
(package
(name "dhtnet")
;; The base version is taken from the CMakeLists.txt file (see:
@@ -4091,14 +4094,15 @@ (define-public dhtnet
(file-name (git-file-name name version))
(sha256
(base32
- "1ch736misnlv2aqalj3n62gnz5xlhmip9xfv1aimp0aqinfc94p7"))))
+ "0np0h19gcibn9d4hyn9vjvlxjc6ma8cg8j1qxh1cam5c9i49h1xv"))))
(outputs (list "out" "debug"))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags #~(list "-DBUILD_DEPENDENCIES=OFF"
"-DBUILD_SHARED_LIBS=ON"
- "-DBUILD_TESTING=ON")
+ "-DBUILD_TESTING=ON"
+ "-DDNC_SYSTEMD=OFF")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'delete-problematic-tests
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..074f8ef07e 100644
--- a/gnu/packages/patches/jami-unbundle-dependencies.patch
+++ b/gnu/packages/patches/jami-unbundle-dependencies.patch
@@ -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
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* cons
This message was truncated. Download the full message here.