me
/
guix
Archived
1
0
Fork 0

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>
master
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
1 changed files with 23 additions and 38 deletions

View File

@ -142,6 +142,7 @@
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages video) #:use-module (gnu packages video)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph) #:use-module (gnu packages xiph)
@ -2466,7 +2467,7 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.")
(define-public nheko (define-public nheko
(package (package
(name "nheko") (name "nheko")
(version "0.11.3") (version "0.12.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2475,41 +2476,25 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0yjbxyba87nkpjmql7s6nv2r2i9s956zgwlfhdi4jjg96v2rgmnr")) (base32 "113ids1k2pjmvs9cgh025vkpg5mipw295dlkx7n3ydi0r8mzw1l5"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet '(delete-file-recursively "third_party"))))
'(begin
(delete-file-recursively "third_party")))))
(arguments (arguments
(list (list
#:tests? #f ;no test target #:tests? #f ;no test target
#:qtbase qtbase
#:configure-flags #:configure-flags
#~(list "-DCMAKE_BUILD_TYPE=Release" #~(list "-DCMAKE_BUILD_TYPE=Release"
;; Fix required because we are using a static SingleApplication ;; Fix required because we are using a static SingleApplication
"-DCMAKE_CXX_FLAGS= \"-DQAPPLICATION_CLASS=QApplication\" " "-DCMAKE_CXX_FLAGS= \"-DQAPPLICATION_CLASS=QApplication\" "
;; Compile Qml will make Nheko faster, but you will need to recompile ;; Compile Qml will make Nheko faster, but you will need to recompile
;; it, when you update Qt. That's fine for us. ;; 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 #:phases
#~(modify-phases %standard-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 (add-after 'unpack 'fix-determinism
(lambda _ (lambda _
;; Make Qt deterministic. ;; Make Qt deterministic.
@ -2521,37 +2506,37 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.")
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))))))) `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))))))))
(build-system qt-build-system) (build-system qt-build-system)
(inputs (inputs
(list boost (list blurhash
blurhash brotli
cpp-httplib
cmark cmark
coeurl coeurl
cpp-httplib
curl curl
gst-plugins-base gst-plugins-base
gst-plugins-bad ; sdp & webrtc for voip gst-plugins-bad ; sdp & webrtc for voip
gst-plugins-good-qt ; rtpmanager for voip gst-plugins-good-qt ; rtpmanager for voip
nlohmann-json kdsingleapplication
libevent libevent
libnice ; for voip libnice ; for voip
olm libxkbcommon
lmdb lmdb
lmdbxx lmdbxx
mtxclient mtxclient
nlohmann-json
olm
openssl openssl
qtbase-5 qtdeclarative
qtdeclarative-5
qtkeychain
qtgraphicaleffects qtgraphicaleffects
qtmultimedia-5 qtkeychain-qt6
qtquickcontrols2-5 qtmultimedia
qtsvg-5 qtsvg
re2 re2
spdlog spdlog
single-application-qt5 vulkan-headers
xcb-util-wm vulkan-loader
zlib)) zlib))
(native-inputs (native-inputs
(list asciidoc pkg-config qttools-5)) (list asciidoc pkg-config qttools))
(home-page "https://github.com/Nheko-Reborn/nheko") (home-page "https://github.com/Nheko-Reborn/nheko")
(synopsis "Desktop client for Matrix using Qt and C++14") (synopsis "Desktop client for Matrix using Qt and C++14")
(description "@code{Nheko} want to provide a native desktop app for the (description "@code{Nheko} want to provide a native desktop app for the