* [bug#39619] [PATCH 0/4] Add nheko matrix client
@ 2020-02-15 21:23 nixo
[not found] ` <handler.39619.B.158180183921379.ack@debbugs.gnu.org>
0 siblings, 1 reply; 14+ messages in thread
From: nixo @ 2020-02-15 21:23 UTC (permalink / raw)
To: 39619; +Cc: nixo
Hello Guix!
Nheko is a well-known desktop matrix client. I'm using nheko-reborn
like others are doing [1] since mujx/nheko is abandoned.
This patch series adds the program and its missing dependencies
mtxclient, lmdbxx and, tweeny. Guix lint does not complain, and I've
checked and not found non-determinism problems on two different
(x64) computers (not tested on other architectures).
Thanks! Nicolò
[1] https://repology.org/project/nheko/information
nixo (4):
gnu: Add mtxclient.
gnu: Add tweeny.
gnu: Add lmdbxx.
gnu: Add nheko.
gnu/packages/cpp.scm | 28 ++++++++
gnu/packages/databases.scm | 31 ++++++++-
gnu/packages/messaging.scm | 139 ++++++++++++++++++++++++++++++++++++-
3 files changed, 195 insertions(+), 3 deletions(-)
--
2.25.0
^ permalink raw reply [flat|nested] 14+ messages in thread
* [bug#39619] [PATCH 1/4] gnu: Add mtxclient.
[not found] ` <handler.39619.B.158180183921379.ack@debbugs.gnu.org>
@ 2020-02-15 21:30 ` nixo
2020-02-15 21:30 ` [bug#39619] [PATCH 2/4] gnu: Add tweeny nixo
` (3 more replies)
2020-02-16 0:09 ` [bug#39619] Acknowledgement ([PATCH 0/4] Add nheko matrix client) Nicolò Balzarotti
2020-02-18 9:22 ` [bug#39619] [v2] Re: bug#39619: " Nicolò Balzarotti
2 siblings, 4 replies; 14+ messages in thread
From: nixo @ 2020-02-15 21:30 UTC (permalink / raw)
To: 39619; +Cc: nixo
* gnu/packages/messaging.scm (mtxclient): New variable.
---
gnu/packages/messaging.scm | 58 ++++++++++++++++++++++++++++++++++++--
1 file changed, 56 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 120daacdc6..2592d34dc2 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -48,6 +48,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
@@ -68,6 +69,7 @@
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages ncurses)
@@ -1787,6 +1789,58 @@ implementation. Quaternion and libqmatrixclient together form the
QMatrixClient project.")
(license license:lgpl2.1+)))
+(define-public mtxclient
+ (package
+ (name "mtxclient")
+ (version "0.2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Nheko-Reborn/mtxclient.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pycznrvj57ff6gbwfn1xj943d2dr4vadl79hii1z16gn0nzxpmj"))))
+ (arguments
+ `(#:configure-flags
+ (list
+ ;; Disable example binaries (not installed)
+ "-DBUILD_LIB_EXAMPLES=OFF")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'disable-network-tests
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("add_test\\(BasicConnectivity") "# add_test")
+ (("add_test\\(ClientAPI") "# add_test")
+ (("add_test\\(MediaAPI") "# add_test")
+ (("add_test\\(Encryption") "# add_test"))
+ #t))
+ (add-before 'configure 'set-home
+ (lambda _
+ ;; Tries to create package registry file
+ ;; So, set HOME.
+ (setenv "HOME" "/tmp")
+ #t)))))
+ (inputs
+ `(("boost" ,boost)
+ ("libolm" ,libolm)
+ ("libsodium" ,libsodium)
+ ("openssl" ,openssl)
+ ("nlohmann-json-cpp" ,nlohmann-json-cpp)
+ ("spdlog" ,spdlog)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("googletest" ,googletest)
+ ("pkg-config" ,pkg-config)))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/Nheko-Reborn/mtxclient")
+ (synopsis "Client API library for the Matrix protocol")
+ (description "@code{mtxclient} is a C++ library that implements client API
+for the Matrix protocol. It's built on to of @code{Boost.Asio}.")
+ (license license:expat)))
+
(define-public quaternion
(package
(name "quaternion")
@@ -1795,8 +1849,8 @@ QMatrixClient project.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/QMatrixClient/Quaternion")
- (commit version)))
+ (url "https://github.com/QMatrixClient/Quaternion")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0gpv6b3nn3lsyym8809kiqkpdszfasldqjpk5s542zyn41gdlql4"))))
--
2.25.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#39619] [PATCH 2/4] gnu: Add tweeny.
2020-02-15 21:30 ` [bug#39619] [PATCH 1/4] gnu: Add mtxclient nixo
@ 2020-02-15 21:30 ` nixo
[not found] ` <handler.39621.B.158180225922123.ack@debbugs.gnu.org>
2020-02-15 21:30 ` [bug#39622] [PATCH 3/4] gnu: Add lmdbxx nixo
` (2 subsequent siblings)
3 siblings, 1 reply; 14+ messages in thread
From: nixo @ 2020-02-15 21:30 UTC (permalink / raw)
To: 39619; +Cc: nixo
* gnu/packages/cpp.scm (tweeny): New variable.
---
gnu/packages/cpp.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index ae1e3e3356..8098553828 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -410,3 +410,31 @@ SObjectizer supports not only the Actor Model but also the Publish-Subscribe
Model and CSP-like channels. The goal of SObjectizer is to simplify
development of concurrent and multithreaded applications in C++.")
(license license:bsd-3)))
+
+(define-public tweeny
+ (package
+ (name "tweeny")
+ (version "3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mobius3/tweeny.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1adm4c17pi7xf3kf6sjyxibz5rdg1ka236p72xsm6js4j9gzlbp4"))))
+ (arguments '(#:tests? #f)) ; no check target
+ (build-system cmake-build-system)
+ (home-page "https://mobius3.github.io/tweeny/")
+ (synopsis "Modern C++ tweening library")
+ (description "@code{Tweeny} is an inbetweening library designed for the
+creation of complex animations for games and other beautiful interactive
+software. It leverages features of modern @code{C++} to empower developers with
+an intuitive API for declaring tweenings of any type of value, as long as they
+support arithmetic operations. The goal of @code{Tweeny} is to provide means to
+create fluid interpolations when animating position, scale, rotation, frames or
+other values of screen objects, by setting their values as the tween starting
+point and then, after each tween step, plugging back the result.")
+ (license license:expat)))
--
2.25.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#39622] [PATCH 3/4] gnu: Add lmdbxx.
2020-02-15 21:30 ` [bug#39619] [PATCH 1/4] gnu: Add mtxclient nixo
2020-02-15 21:30 ` [bug#39619] [PATCH 2/4] gnu: Add tweeny nixo
@ 2020-02-15 21:30 ` nixo
[not found] ` <handler.39622.B.158180225922130.ack@debbugs.gnu.org>
2020-02-15 21:30 ` [bug#39623] [PATCH 4/4] gnu: Add nheko nixo
[not found] ` <handler.39620.B.158180225622091.ack@debbugs.gnu.org>
3 siblings, 1 reply; 14+ messages in thread
From: nixo @ 2020-02-15 21:30 UTC (permalink / raw)
To: 39619, 39622; +Cc: nixo
* gnu/packages/databases.scm (lmdbxx): New variable.
---
gnu/packages/databases.scm | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 587d993918..58ad64418e 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -2105,6 +2105,35 @@ multiple cores. The size of each database is limited only by the size of the
virtual address space — not physical RAM.")
(license license:openldap2.8)))
+(define-public lmdbxx
+ (package
+ (name "lmdbxx")
+ (version "0.9.14.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/drycpp/lmdbxx.git")
+ (commit (string-append version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jmb9wg2iqag6ps3z71bh72ymbcjrb6clwlkgrqf1sy80qwvlsn6"))))
+ (arguments
+ `(#:make-flags (list
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs `(("lmdb" ,lmdb)))
+ (build-system gnu-build-system)
+ (home-page "http://lmdbxx.sourceforge.net")
+ (synopsis "C++11 wrapper for the LMDB embedded B+ tree database library")
+ (description "@code{lmdbxx} is a comprehensive @code{C++} wrapper for the
+@code{LMDB} embedded database library, offering both an error-checked
+procedural interface and an object-oriented resource interface with RAII
+semantics.")
+ (license license:unlicense)))
+
(define-public libpqxx
(package
(name "libpqxx")
@@ -2122,7 +2151,7 @@ virtual address space — not physical RAM.")
`(("python" ,python-2)))
(inputs `(("postgresql" ,postgresql)))
(arguments
- `(#:tests? #f ; # FAIL: 1
+ `(#:tests? #f ; # FAIL: 1
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-sed-command
--
2.25.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#39623] [PATCH 4/4] gnu: Add nheko.
2020-02-15 21:30 ` [bug#39619] [PATCH 1/4] gnu: Add mtxclient nixo
2020-02-15 21:30 ` [bug#39619] [PATCH 2/4] gnu: Add tweeny nixo
2020-02-15 21:30 ` [bug#39622] [PATCH 3/4] gnu: Add lmdbxx nixo
@ 2020-02-15 21:30 ` nixo
[not found] ` <handler.39623.B.158180226322189.ack@debbugs.gnu.org>
[not found] ` <handler.39620.B.158180225622091.ack@debbugs.gnu.org>
3 siblings, 1 reply; 14+ messages in thread
From: nixo @ 2020-02-15 21:30 UTC (permalink / raw)
To: 39619, 39623; +Cc: nixo
* gnu/packages/messaging.scm (nheko): New variable.
---
gnu/packages/messaging.scm | 81 ++++++++++++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 2592d34dc2..11dd011c3f 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -72,6 +72,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 +1842,86 @@ 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
+ ;; #:parallel-build? #f ; debug non-determinism
+ #:configure-flags
+ (list
+ ;; TODO: BUILD_DOCS=ON
+ "-DCMAKE_BUILD_TYPE=Release"
+ "-DCMAKE_CXX_FLAGS=-fpermissive"
+ (string-append "-DLMDBXX_INCLUDE_DIR="
+ (assoc-ref %build-inputs "lmdbxx") "/include/"))
+ #: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)
+ ("nlohmann-json-cpp" ,nlohmann-json-cpp)
+ ("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
^ permalink raw reply related [flat|nested] 14+ messages in thread
* bug#39621: Acknowledgement ([PATCH 2/4] gnu: Add tweeny.)
[not found] ` <handler.39621.B.158180225922123.ack@debbugs.gnu.org>
@ 2020-02-15 21:34 ` Nicolò Balzarotti
0 siblings, 0 replies; 14+ messages in thread
From: Nicolò Balzarotti @ 2020-02-15 21:34 UTC (permalink / raw)
To: 39621-done
help-debbugs@gnu.org (GNU bug Tracking System) writes:
> Thank you for filing a new bug report with debbugs.gnu.org.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> guix-patches@gnu.org
>
> If you wish to submit further information on this problem, please
> send it to 39621@debbugs.gnu.org.
>
> Please do not send mail to help-debbugs@gnu.org unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 39621: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=39621
> GNU Bug Tracking System
> Contact help-debbugs@gnu.org with problems
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#39622: Acknowledgement ([PATCH 3/4] gnu: Add lmdbxx.)
[not found] ` <handler.39622.B.158180225922130.ack@debbugs.gnu.org>
@ 2020-02-15 21:34 ` Nicolò Balzarotti
0 siblings, 0 replies; 14+ messages in thread
From: Nicolò Balzarotti @ 2020-02-15 21:34 UTC (permalink / raw)
To: 39622-done
help-debbugs@gnu.org (GNU bug Tracking System) writes:
> Thank you for filing a new bug report with debbugs.gnu.org.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> guix-patches@gnu.org
>
> If you wish to submit further information on this problem, please
> send it to 39622@debbugs.gnu.org.
>
> Please do not send mail to help-debbugs@gnu.org unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 39622: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=39622
> GNU Bug Tracking System
> Contact help-debbugs@gnu.org with problems
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#39623: Acknowledgement ([PATCH 4/4] gnu: Add nheko.)
[not found] ` <handler.39623.B.158180226322189.ack@debbugs.gnu.org>
@ 2020-02-15 21:34 ` Nicolò Balzarotti
0 siblings, 0 replies; 14+ messages in thread
From: Nicolò Balzarotti @ 2020-02-15 21:34 UTC (permalink / raw)
To: 39623-done
help-debbugs@gnu.org (GNU bug Tracking System) writes:
> Thank you for filing a new bug report with debbugs.gnu.org.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> guix-patches@gnu.org
>
> If you wish to submit further information on this problem, please
> send it to 39623@debbugs.gnu.org.
>
> Please do not send mail to help-debbugs@gnu.org unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 39623: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=39623
> GNU Bug Tracking System
> Contact help-debbugs@gnu.org with problems
^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#39620: Acknowledgement ([PATCH 1/4] gnu: Add mtxclient.)
[not found] ` <handler.39620.B.158180225622091.ack@debbugs.gnu.org>
@ 2020-02-15 21:34 ` Nicolò Balzarotti
0 siblings, 0 replies; 14+ messages in thread
From: Nicolò Balzarotti @ 2020-02-15 21:34 UTC (permalink / raw)
To: 39620-done
help-debbugs@gnu.org (GNU bug Tracking System) writes:
> Thank you for filing a new bug report with debbugs.gnu.org.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> guix-patches@gnu.org
>
> If you wish to submit further information on this problem, please
> send it to 39620@debbugs.gnu.org.
>
> Please do not send mail to help-debbugs@gnu.org unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 39620: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=39620
> GNU Bug Tracking System
> Contact help-debbugs@gnu.org with problems
^ permalink raw reply [flat|nested] 14+ messages in thread
* [bug#39619] Acknowledgement ([PATCH 0/4] Add nheko matrix client)
[not found] ` <handler.39619.B.158180183921379.ack@debbugs.gnu.org>
2020-02-15 21:30 ` [bug#39619] [PATCH 1/4] gnu: Add mtxclient nixo
@ 2020-02-16 0:09 ` Nicolò Balzarotti
2020-02-18 9:22 ` [bug#39619] [v2] Re: bug#39619: " Nicolò Balzarotti
2 siblings, 0 replies; 14+ messages in thread
From: Nicolò Balzarotti @ 2020-02-16 0:09 UTC (permalink / raw)
To: 39619
[-- Attachment #1: Type: text/plain, Size: 92 bytes --]
I cleaned up a bit the patch (removed unnecessary comments) and added
the copyright line.
[-- Attachment #2: 0004-gnu-Add-nheko.patch --]
[-- Type: text/x-patch, Size: 4096 bytes --]
From dc713bc525e831a05c7e9433e62da47bcf13c669 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Sat, 15 Feb 2020 21:08:12 +0100
Subject: [PATCH] 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 2592d34dc2..fe4e8fa072 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -18,6 +18,7 @@
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si>
+;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;;
;;; 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)
+ ("nlohmann-json-cpp" ,nlohmann-json-cpp)
+ ("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
[-- Attachment #3: Type: text/plain, Size: 868 bytes --]
Sorry for the mess,
Nicolò
help-debbugs@gnu.org (GNU bug Tracking System) writes:
> Thank you for filing a new bug report with debbugs.gnu.org.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> guix-patches@gnu.org
>
> If you wish to submit further information on this problem, please
> send it to 39619@debbugs.gnu.org.
>
> Please do not send mail to help-debbugs@gnu.org unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 39619: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=39619
> GNU Bug Tracking System
> Contact help-debbugs@gnu.org with problems
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#39619] [v2] Re: bug#39619: Acknowledgement ([PATCH 0/4] Add nheko matrix client)
[not found] ` <handler.39619.B.158180183921379.ack@debbugs.gnu.org>
2020-02-15 21:30 ` [bug#39619] [PATCH 1/4] gnu: Add mtxclient nixo
2020-02-16 0:09 ` [bug#39619] Acknowledgement ([PATCH 0/4] Add nheko matrix client) Nicolò Balzarotti
@ 2020-02-18 9:22 ` Nicolò Balzarotti
2020-02-21 16:58 ` Nicolas Goaziou
2 siblings, 1 reply; 14+ messages in thread
From: Nicolò Balzarotti @ 2020-02-18 9:22 UTC (permalink / raw)
To: 39619
[-- Attachment #1: Type: text/plain, Size: 123 bytes --]
I just noticed that nlohmann-json-cpp is deprecated for json-modern-cxx,
fixed it in the two patches that were using it.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-mtxclient.patch --]
[-- Type: text/x-patch, Size: 3723 bytes --]
From 6cc03e66a8a6eec796a1ee89f163fd3ad255d203 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Sat, 15 Feb 2020 20:43:44 +0100
Subject: [PATCH 1/4] gnu: Add mtxclient.
* gnu/packages/messaging.scm (mtxclient): New variable.
---
gnu/packages/messaging.scm | 58 ++++++++++++++++++++++++++++++++++++--
1 file changed, 56 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 120daacdc6..ab590518e3 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -48,6 +48,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
@@ -68,6 +69,7 @@
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages ncurses)
@@ -1787,6 +1789,58 @@ implementation. Quaternion and libqmatrixclient together form the
QMatrixClient project.")
(license license:lgpl2.1+)))
+(define-public mtxclient
+ (package
+ (name "mtxclient")
+ (version "0.2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Nheko-Reborn/mtxclient.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pycznrvj57ff6gbwfn1xj943d2dr4vadl79hii1z16gn0nzxpmj"))))
+ (arguments
+ `(#:configure-flags
+ (list
+ ;; Disable example binaries (not installed)
+ "-DBUILD_LIB_EXAMPLES=OFF")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'disable-network-tests
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("add_test\\(BasicConnectivity") "# add_test")
+ (("add_test\\(ClientAPI") "# add_test")
+ (("add_test\\(MediaAPI") "# add_test")
+ (("add_test\\(Encryption") "# add_test"))
+ #t))
+ (add-before 'configure 'set-home
+ (lambda _
+ ;; Tries to create package registry file
+ ;; So, set HOME.
+ (setenv "HOME" "/tmp")
+ #t)))))
+ (inputs
+ `(("boost" ,boost)
+ ("libolm" ,libolm)
+ ("libsodium" ,libsodium)
+ ("openssl" ,openssl)
+ ("json-modern-cxx" ,json-modern-cxx)
+ ("spdlog" ,spdlog)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("googletest" ,googletest)
+ ("pkg-config" ,pkg-config)))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/Nheko-Reborn/mtxclient")
+ (synopsis "Client API library for the Matrix protocol")
+ (description "@code{mtxclient} is a C++ library that implements client API
+for the Matrix protocol. It's built on to of @code{Boost.Asio}.")
+ (license license:expat)))
+
(define-public quaternion
(package
(name "quaternion")
@@ -1795,8 +1849,8 @@ QMatrixClient project.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/QMatrixClient/Quaternion")
- (commit version)))
+ (url "https://github.com/QMatrixClient/Quaternion")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0gpv6b3nn3lsyym8809kiqkpdszfasldqjpk5s542zyn41gdlql4"))))
--
2.25.0
[-- Attachment #3: 0004-gnu-Add-nheko.patch --]
[-- Type: text/x-patch, Size: 4096 bytes --]
From 2736484eae06b069d0e7e0688f8be412a045f32d Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
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 <tanguy@bioneland.org>
;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si>
+;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;;
;;; 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
[-- Attachment #4: Type: text/plain, Size: 855 bytes --]
Thanks, Nicolò
help-debbugs@gnu.org (GNU bug Tracking System) writes:
> Thank you for filing a new bug report with debbugs.gnu.org.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> guix-patches@gnu.org
>
> If you wish to submit further information on this problem, please
> send it to 39619@debbugs.gnu.org.
>
> Please do not send mail to help-debbugs@gnu.org unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 39619: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=39619
> GNU Bug Tracking System
> Contact help-debbugs@gnu.org with problems
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [bug#39619] [v2] Re: bug#39619: Acknowledgement ([PATCH 0/4] Add nheko matrix client)
2020-02-18 9:22 ` [bug#39619] [v2] Re: bug#39619: " Nicolò Balzarotti
@ 2020-02-21 16:58 ` Nicolas Goaziou
2020-02-21 21:57 ` Nicolò Balzarotti
0 siblings, 1 reply; 14+ messages in thread
From: Nicolas Goaziou @ 2020-02-21 16:58 UTC (permalink / raw)
To: Nicolò Balzarotti; +Cc: 39619
Hello,
Nicolò Balzarotti <anothersms@gmail.com> writes:
> I just noticed that nlohmann-json-cpp is deprecated for json-modern-cxx,
> fixed it in the two patches that were using it.
Thank you for the patches.
Unfortunately, I cannot build nheko because of a missing lmdbxx input.
Some comments follow.
> + (lambda _
> + (substitute* "CMakeLists.txt"
> + (("add_test\\(BasicConnectivity") "# add_test")
> + (("add_test\\(ClientAPI") "# add_test")
> + (("add_test\\(MediaAPI") "# add_test")
> + (("add_test\\(Encryption") "# add_test"))
Nitpick: I suggest to use a single regexp for these.
> + (inputs
> + `(("boost" ,boost)
> + ("libolm" ,libolm)
> + ("libsodium" ,libsodium)
> + ("openssl" ,openssl)
> + ("json-modern-cxx" ,json-modern-cxx)
> + ("spdlog" ,spdlog)
> + ("zlib" ,zlib)))
Could you re-order inputs alphabetically?
> + (description "@code{mtxclient} is a C++ library that implements client API
> +for the Matrix protocol. It's built on to of @code{Boost.Asio}.")
Nitpick: "It's" -> "It is".
> + (license license:expat)))
> +
> (define-public quaternion
> (package
> (name "quaternion")
> @@ -1795,8 +1849,8 @@ QMatrixClient project.")
> (origin
> (method git-fetch)
> (uri (git-reference
> - (url "https://github.com/QMatrixClient/Quaternion")
> - (commit version)))
> + (url "https://github.com/QMatrixClient/Quaternion")
> + (commit version)))
This change is unrelated to the patch. Could you remove it?
> + (inputs
> + `(("boost" ,boost)
> + ("cmark" ,cmark)
> + ("libolm" ,libolm)
> + ("lmdb" ,lmdb)
> + ("lmdbxx" ,lmdbxx)
What is that?
> + ("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)))
Isn't it a bit confusing?
> + (build-system qt-build-system)
Nitpick: usually, build-system is above inputs and arguments.
> + (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.
"that feels more..." sounds link marketing buzz. Maybe we could remove it.
> +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.
I'm not sure this part is warranted either.
> 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")
No need for the final newline.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 14+ messages in thread
* [bug#39619] [v2] Re: bug#39619: Acknowledgement ([PATCH 0/4] Add nheko matrix client)
2020-02-21 16:58 ` Nicolas Goaziou
@ 2020-02-21 21:57 ` Nicolò Balzarotti
2020-02-22 23:48 ` bug#39619: " Nicolas Goaziou
0 siblings, 1 reply; 14+ messages in thread
From: Nicolò Balzarotti @ 2020-02-21 21:57 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: 39619
[-- Attachment #1: Type: text/plain, Size: 4997 bytes --]
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
Hi,
> Hello,
>
> Nicolò Balzarotti <anothersms@gmail.com> writes:
>
>> I just noticed that nlohmann-json-cpp is deprecated for json-modern-cxx,
>> fixed it in the two patches that were using it.
>
> Thank you for the patches.
>
thanks for your review.
> Unfortunately, I cannot build nheko because of a missing lmdbxx input.
>
lmdbxx was patch #3, but I created some noise sending replying to
guix-patches and creating multiple issues. I'm sending it again with
other fixes applied.
> Some comments follow.
>
>> + (lambda _
>> + (substitute* "CMakeLists.txt"
>> + (("add_test\\(BasicConnectivity") "# add_test")
>> + (("add_test\\(ClientAPI") "# add_test")
>> + (("add_test\\(MediaAPI") "# add_test")
>> + (("add_test\\(Encryption") "# add_test"))
>
> Nitpick: I suggest to use a single regexp for these.
Sure, done. I'm not much confident with substitute* yet.
>
>> + (inputs
>> + `(("boost" ,boost)
>> + ("libolm" ,libolm)
>> + ("libsodium" ,libsodium)
>> + ("openssl" ,openssl)
>> + ("json-modern-cxx" ,json-modern-cxx)
>> + ("spdlog" ,spdlog)
>> + ("zlib" ,zlib)))
>
> Could you re-order inputs alphabetically?
Done
>
>> + (description "@code{mtxclient} is a C++ library that implements client API
>> +for the Matrix protocol. It's built on to of @code{Boost.Asio}.")
>
> Nitpick: "It's" -> "It is".
Done
>> + (license license:expat)))
>> +
>> (define-public quaternion
>> (package
>> (name "quaternion")
>> @@ -1795,8 +1849,8 @@ QMatrixClient project.")
>> (origin
>> (method git-fetch)
>> (uri (git-reference
>> - (url "https://github.com/QMatrixClient/Quaternion")
>> - (commit version)))
>> + (url "https://github.com/QMatrixClient/Quaternion")
>> + (commit version)))
>
> This change is unrelated to the patch. Could you remove it?
I'm sorry
>
>> + (inputs
>> + `(("boost" ,boost)
>> + ("cmark" ,cmark)
>> + ("libolm" ,libolm)
>> + ("lmdb" ,lmdb)
>> + ("lmdbxx" ,lmdbxx)
>
> What is that?
See previous comment
>> + ("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)))
>
> Isn't it a bit confusing?
I copied it from
./gnu/packages/lxqt.scm:1332: ("qtlinguist" ,qttools)))
./gnu/packages/sync.scm:193: ("qtlinguist" ,qttools)))
./gnu/packages/music.scm:279: ("qtlinguist" ,qttools)))
./gnu/packages/music.scm:4128: ("qtlinguist" ,qttools)))
I can change it if needed, but I found other instances searching for
"qtlinguist" as cmake complained about it. If those instances were
"qttools" I would have not found it.
>
>> + (build-system qt-build-system)
>
> Nitpick: usually, build-system is above inputs and arguments.
>
>> + (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.
>
> "that feels more..." sounds link marketing buzz. Maybe we could remove it.
>
>> +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.
>
> I'm not sure this part is warranted either.
Removed and rephrased
>
>> 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")
>
> No need for the final newline.
I wasn't sure, as there are dozens of instances with the newline after
rep -ri --line-number '@end itemize[^\\n]' | wc -l
181
grep -ri --line-number '@end itemize\\n' | wc -l
277
I removed it, but if there's a standard, it would be better if it was
respected (as for "new" contributors it's difficult to understand the
right way just by looking at existing packages)
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-mtxclient.patch --]
[-- Type: text/x-patch, Size: 3132 bytes --]
From 804536593ad1b4ecb93db92656e821837cc24754 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Sat, 15 Feb 2020 20:43:44 +0100
Subject: [PATCH 1/4] gnu: Add mtxclient.
* gnu/packages/messaging.scm (mtxclient): New variable.
---
gnu/packages/messaging.scm | 52 ++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 120daacdc6..df80168d7c 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -48,6 +48,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
@@ -68,6 +69,7 @@
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages ncurses)
@@ -1787,6 +1789,56 @@ implementation. Quaternion and libqmatrixclient together form the
QMatrixClient project.")
(license license:lgpl2.1+)))
+(define-public mtxclient
+ (package
+ (name "mtxclient")
+ (version "0.2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Nheko-Reborn/mtxclient.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pycznrvj57ff6gbwfn1xj943d2dr4vadl79hii1z16gn0nzxpmj"))))
+ (arguments
+ `(#:configure-flags
+ (list
+ ;; Disable example binaries (not installed)
+ "-DBUILD_LIB_EXAMPLES=OFF")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'disable-network-tests
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("add_test\\([BasicConnectivity|ClientAPI|MediaAPI|Encryption]")
+ "# add_test"))
+ #t))
+ (add-before 'configure 'set-home
+ (lambda _
+ ;; Tries to create package registry file
+ ;; So, set HOME.
+ (setenv "HOME" "/tmp")
+ #t)))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("boost" ,boost)
+ ("json-modern-cxx" ,json-modern-cxx)
+ ("libolm" ,libolm)
+ ("libsodium" ,libsodium)
+ ("openssl" ,openssl)
+ ("spdlog" ,spdlog)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("googletest" ,googletest)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/Nheko-Reborn/mtxclient")
+ (synopsis "Client API library for the Matrix protocol")
+ (description "@code{mtxclient} is a C++ library that implements client API
+for the Matrix protocol. It is built on to of @code{Boost.Asio}.")
+ (license license:expat)))
+
(define-public quaternion
(package
(name "quaternion")
--
2.25.0
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-Add-tweeny.patch --]
[-- Type: text/x-patch, Size: 2019 bytes --]
From f4529478acdbc6a139d952666ef732f4dbb21041 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Sat, 15 Feb 2020 20:59:10 +0100
Subject: [PATCH 2/4] gnu: Add tweeny.
* gnu/packages/cpp.scm (tweeny): New variable.
---
gnu/packages/cpp.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index ae1e3e3356..8098553828 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -410,3 +410,31 @@ SObjectizer supports not only the Actor Model but also the Publish-Subscribe
Model and CSP-like channels. The goal of SObjectizer is to simplify
development of concurrent and multithreaded applications in C++.")
(license license:bsd-3)))
+
+(define-public tweeny
+ (package
+ (name "tweeny")
+ (version "3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mobius3/tweeny.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1adm4c17pi7xf3kf6sjyxibz5rdg1ka236p72xsm6js4j9gzlbp4"))))
+ (arguments '(#:tests? #f)) ; no check target
+ (build-system cmake-build-system)
+ (home-page "https://mobius3.github.io/tweeny/")
+ (synopsis "Modern C++ tweening library")
+ (description "@code{Tweeny} is an inbetweening library designed for the
+creation of complex animations for games and other beautiful interactive
+software. It leverages features of modern @code{C++} to empower developers with
+an intuitive API for declaring tweenings of any type of value, as long as they
+support arithmetic operations. The goal of @code{Tweeny} is to provide means to
+create fluid interpolations when animating position, scale, rotation, frames or
+other values of screen objects, by setting their values as the tween starting
+point and then, after each tween step, plugging back the result.")
+ (license license:expat)))
--
2.25.0
[-- Attachment #4: 0003-gnu-Add-lmdbxx.patch --]
[-- Type: text/x-patch, Size: 1953 bytes --]
From d4c9c7f3239a38c7ad24a7af72b452506718fc73 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
Date: Sat, 15 Feb 2020 21:04:07 +0100
Subject: [PATCH 3/4] gnu: Add lmdbxx.
* gnu/packages/databases.scm (lmdbxx): New variable.
---
gnu/packages/databases.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 587d993918..5f7377636f 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -2105,6 +2105,35 @@ multiple cores. The size of each database is limited only by the size of the
virtual address space — not physical RAM.")
(license license:openldap2.8)))
+(define-public lmdbxx
+ (package
+ (name "lmdbxx")
+ (version "0.9.14.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/drycpp/lmdbxx.git")
+ (commit (string-append version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jmb9wg2iqag6ps3z71bh72ymbcjrb6clwlkgrqf1sy80qwvlsn6"))))
+ (arguments
+ `(#:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (build-system gnu-build-system)
+ (inputs `(("lmdb" ,lmdb)))
+ (home-page "http://lmdbxx.sourceforge.net")
+ (synopsis "C++11 wrapper for the LMDB embedded B+ tree database library")
+ (description "@code{lmdbxx} is a comprehensive @code{C++} wrapper for the
+@code{LMDB} embedded database library, offering both an error-checked
+procedural interface and an object-oriented resource interface with RAII
+semantics.")
+ (license license:unlicense)))
+
(define-public libpqxx
(package
(name "libpqxx")
--
2.25.0
[-- Attachment #5: 0004-gnu-Add-nheko.patch --]
[-- Type: text/x-patch, Size: 3933 bytes --]
From 38ac0d6fe76c2202118dd6499110974062ff7232 Mon Sep 17 00:00:00 2001
From: nixo <nicolo@nixo.xyz>
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 | 76 ++++++++++++++++++++++++++++++++++++++
1 file changed, 76 insertions(+)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index df80168d7c..9e665fb08c 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -18,6 +18,7 @@
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si>
+;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;;
;;; 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)
@@ -1839,6 +1841,80 @@ QMatrixClient project.")
for the Matrix protocol. It is 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)))))
+ (build-system qt-build-system)
+ (inputs
+ `(("boost" ,boost)
+ ("cmark" ,cmark)
+ ("json-modern-cxx" ,json-modern-cxx)
+ ("libolm" ,libolm)
+ ("lmdb" ,lmdb)
+ ("lmdbxx" ,lmdbxx)
+ ("mtxclient" ,mtxclient)
+ ("openssl" ,openssl)
+ ("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ("qtmultimedia" ,qtmultimedia)
+ ("spdlog" ,spdlog)
+ ("tweeny" ,tweeny)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("qtlinguist" ,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
+Matrix protocol that feels more like a mainstream chat app and less like an IRC
+client.
+
+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")
+ (license license:gpl3+)))
+
(define-public quaternion
(package
(name "quaternion")
--
2.25.0
[-- Attachment #6: Type: text/plain, Size: 67 bytes --]
Thanks, Nicolò
>
> Regards,
>
> --
> Nicolas Goaziou
^ permalink raw reply related [flat|nested] 14+ messages in thread
* bug#39619: [v2] Re: bug#39619: Acknowledgement ([PATCH 0/4] Add nheko matrix client)
2020-02-21 21:57 ` Nicolò Balzarotti
@ 2020-02-22 23:48 ` Nicolas Goaziou
0 siblings, 0 replies; 14+ messages in thread
From: Nicolas Goaziou @ 2020-02-22 23:48 UTC (permalink / raw)
To: Nicolò Balzarotti; +Cc: 39619-done
Hello,
Nicolò Balzarotti <anothersms@gmail.com> writes:
> lmdbxx was patch #3, but I created some noise sending replying to
> guix-patches and creating multiple issues. I'm sending it again with
> other fixes applied.
OK. I applied your patches with the two small changes below:
> + (add-before 'configure 'disable-network-tests
> + (lambda _
> + (substitute* "CMakeLists.txt"
> + (("add_test\\([BasicConnectivity|ClientAPI|MediaAPI|Encryption]")
> + "# add_test"))
I changed the regexp to:
"add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encryption)"
instead.
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/drycpp/lmdbxx.git")
> + (commit (string-append version))))
I removed the `string-append' call.
I also added copyright lines for you in "cpp.scm" and "databases.scm".
Thank you!
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2020-02-22 23:49 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-15 21:23 [bug#39619] [PATCH 0/4] Add nheko matrix client nixo
[not found] ` <handler.39619.B.158180183921379.ack@debbugs.gnu.org>
2020-02-15 21:30 ` [bug#39619] [PATCH 1/4] gnu: Add mtxclient nixo
2020-02-15 21:30 ` [bug#39619] [PATCH 2/4] gnu: Add tweeny nixo
[not found] ` <handler.39621.B.158180225922123.ack@debbugs.gnu.org>
2020-02-15 21:34 ` bug#39621: Acknowledgement ([PATCH 2/4] gnu: Add tweeny.) Nicolò Balzarotti
2020-02-15 21:30 ` [bug#39622] [PATCH 3/4] gnu: Add lmdbxx nixo
[not found] ` <handler.39622.B.158180225922130.ack@debbugs.gnu.org>
2020-02-15 21:34 ` bug#39622: Acknowledgement ([PATCH 3/4] gnu: Add lmdbxx.) Nicolò Balzarotti
2020-02-15 21:30 ` [bug#39623] [PATCH 4/4] gnu: Add nheko nixo
[not found] ` <handler.39623.B.158180226322189.ack@debbugs.gnu.org>
2020-02-15 21:34 ` bug#39623: Acknowledgement ([PATCH 4/4] gnu: Add nheko.) Nicolò Balzarotti
[not found] ` <handler.39620.B.158180225622091.ack@debbugs.gnu.org>
2020-02-15 21:34 ` bug#39620: Acknowledgement ([PATCH 1/4] gnu: Add mtxclient.) Nicolò Balzarotti
2020-02-16 0:09 ` [bug#39619] Acknowledgement ([PATCH 0/4] Add nheko matrix client) Nicolò Balzarotti
2020-02-18 9:22 ` [bug#39619] [v2] Re: bug#39619: " Nicolò Balzarotti
2020-02-21 16:58 ` Nicolas Goaziou
2020-02-21 21:57 ` Nicolò Balzarotti
2020-02-22 23:48 ` bug#39619: " Nicolas Goaziou
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.