gnu: nheko: Update to 0.12.0.

* gnu/packages/messaging.scm (nheko): Update to 0.12.0.
[arguments]: Switch to Qt 6. Use configure flags to disable bundled libraries.
[inputs]: Add brotli, kdsingleapplication, libxkbcommon, vulkan-headers, and
vulkan-loader. Drop boost, xcb-util-wm, qtbase-5, qtquickcontrols2-5, and
single-application-qt5. Use version 6 for remaining Qt inputs.
[native-inputs]: Replace qttools-5 with qttools.

Change-Id: Id7f1ee119ce3ff5bad130b7d13b6c98ed382b928
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
This commit is contained in:
Timotej Lazar 2024-07-20 08:57:28 +02:00 committed by Zheng Junjie
parent 7794cf9a80
commit e9f02e7e4b
No known key found for this signature in database
GPG key ID: 3B5AA993E1A2DFF0

View file

@ -142,6 +142,7 @@ (define-module (gnu packages messaging)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
@ -2466,7 +2467,7 @@ (define-public mtxclient
(define-public nheko
(package
(name "nheko")
(version "0.11.3")
(version "0.12.0")
(source
(origin
(method git-fetch)
@ -2475,41 +2476,25 @@ (define-public nheko
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yjbxyba87nkpjmql7s6nv2r2i9s956zgwlfhdi4jjg96v2rgmnr"))
(base32 "113ids1k2pjmvs9cgh025vkpg5mipw295dlkx7n3ydi0r8mzw1l5"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "third_party")))))
(snippet '(delete-file-recursively "third_party"))))
(arguments
(list
#:tests? #f ;no test target
#:qtbase qtbase
#:configure-flags
#~(list "-DCMAKE_BUILD_TYPE=Release"
;; Fix required because we are using a static SingleApplication
"-DCMAKE_CXX_FLAGS= \"-DQAPPLICATION_CLASS=QApplication\" "
;; Compile Qml will make Nheko faster, but you will need to recompile
;; it, when you update Qt. That's fine for us.
"-DCOMPILE_QML=ON")
"-DCOMPILE_QML=ON"
;; Use system libraries.
"-DUSE_BUNDLED_BLURHASH=OFF"
"-DUSE_BUNDLED_CPPHTTPLIB=OFF")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'unbundle-dependencies
(lambda* (#:key inputs #:allow-other-keys)
(let ((libSingleApplication.a
(search-input-file inputs "lib/libSingleApplication.a"))
(httplib.h (search-input-file inputs "include/httplib.h")))
(substitute* "CMakeLists.txt"
;; Remove include and source dirs,replace with the correct one
(("third_party/blurhash/blurhash\\.[ch]pp") "")
(("third_party/cpp-httplib-0\\.5\\.12")
(dirname httplib.h))
(("add_subdirectory.*third_party/SingleApplication.*") "")
;; Link using the correct static/shared libs
(("SingleApplication::SingleApplication")
(string-append
;; Dynamic libraries
"httplib" "\n" "blurhash" "\n"
;; Static library
libSingleApplication.a))))))
(add-after 'unpack 'fix-determinism
(lambda _
;; Make Qt deterministic.
@ -2521,37 +2506,37 @@ (define-public nheko
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))))))))
(build-system qt-build-system)
(inputs
(list boost
blurhash
cpp-httplib
(list blurhash
brotli
cmark
coeurl
cpp-httplib
curl
gst-plugins-base
gst-plugins-bad ; sdp & webrtc for voip
gst-plugins-good-qt ; rtpmanager for voip
nlohmann-json
kdsingleapplication
libevent
libnice ; for voip
olm
libxkbcommon
lmdb
lmdbxx
mtxclient
nlohmann-json
olm
openssl
qtbase-5
qtdeclarative-5
qtkeychain
qtdeclarative
qtgraphicaleffects
qtmultimedia-5
qtquickcontrols2-5
qtsvg-5
qtkeychain-qt6
qtmultimedia
qtsvg
re2
spdlog
single-application-qt5
xcb-util-wm
vulkan-headers
vulkan-loader
zlib))
(native-inputs
(list asciidoc pkg-config qttools-5))
(list asciidoc pkg-config qttools))
(home-page "https://github.com/Nheko-Reborn/nheko")
(synopsis "Desktop client for Matrix using Qt and C++14")
(description "@code{Nheko} want to provide a native desktop app for the