>From 2736484eae06b069d0e7e0688f8be412a045f32d Mon Sep 17 00:00:00 2001 From: nixo Date: Sat, 15 Feb 2020 21:08:12 +0100 Subject: [PATCH 4/4] gnu: Add nheko. * gnu/packages/messaging.scm (nheko): New variable. --- gnu/packages/messaging.scm | 78 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index ab590518e3..b514a971df 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2019 Tanguy Le Carrour ;;; Copyright © 2019, 2020 Brett Gilio ;;; Copyright © 2019, 2020 Timotej Lazar +;;; Copyright © 2020 Nicolò Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -72,6 +73,7 @@ #:use-module (gnu packages logging) #:use-module (gnu packages lua) #:use-module (gnu packages man) + #:use-module (gnu packages markup) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages pcre) @@ -1841,6 +1843,82 @@ QMatrixClient project.") for the Matrix protocol. It's built on to of @code{Boost.Asio}.") (license license:expat))) +(define-public nheko + (package + (name "nheko") + (version "0.6.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Nheko-Reborn/nheko.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "19dkc98l1q4070v6mli4ybqn0ip0za607w39hjf0x8rqdxq45iwm")))) + (arguments + `(#:tests? #f ; no test target + #:configure-flags + (list + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_CXX_FLAGS=-fpermissive") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-Werror + (lambda _ + (substitute* "CMakeLists.txt" + (("-Werror") "")) + #t)) + (add-after 'unpack 'fix-determinism + (lambda _ + ;; Make Qt deterministic. + (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") + #t))))) + (inputs + `(("boost" ,boost) + ("cmark" ,cmark) + ("libolm" ,libolm) + ("lmdb" ,lmdb) + ("lmdbxx" ,lmdbxx) + ("mtxclient" ,mtxclient) + ("openssl" ,openssl) + ("json-modern-cxx" ,json-modern-cxx) + ("qtbase" ,qtbase) + ("qtsvg" ,qtsvg) + ("qtmultimedia" ,qtmultimedia) + ("spdlog" ,spdlog) + ("tweeny" ,tweeny) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qtlinguist" ,qttools))) + (build-system qt-build-system) + (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 +Matrix protocol that feels more like a mainstream chat app and less like an IRC +client. + +Most of the features you would expect from a chat application are missing right +now but we are getting close to a more feature complete client. Specifically +there is support for: +@itemize +@item E2E encryption (text messages only: attachments are currently sent unencrypted). +@item User registration. +@item Creating, joining & leaving rooms. +@item Sending & receiving invites. +@item Sending & receiving files and emoji. +@item Typing notifications. +@item Username auto-completion. +@item Message & mention notifications. +@item Redacting messages. +@item Read receipts. +@item Basic communities support. +@item Room switcher (@key{ctrl-K}). +@item Light, Dark & System themes. +@end itemize\n") + (license license:gpl3+))) + (define-public quaternion (package (name "quaternion") -- 2.25.0