GNU bug report logs - #32053
[PATCH 1/2] gnu: Add libqmatrixclient.

Previous Next

Package: guix-patches;

Reported by: Arun Isaac <arunisaac <at> systemreboot.net>

Date: Wed, 4 Jul 2018 17:44:01 UTC

Severity: normal

Tags: patch

Done: Arun Isaac <arunisaac <at> systemreboot.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 32053 in the body.
You can then email your comments to 32053 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#32053; Package guix-patches. (Wed, 04 Jul 2018 17:44:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Arun Isaac <arunisaac <at> systemreboot.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 04 Jul 2018 17:44:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: guix-patches <at> gnu.org
Cc: Arun Isaac <arunisaac <at> systemreboot.net>
Subject: [PATCH 1/2] gnu: Add libqmatrixclient.
Date: Wed,  4 Jul 2018 23:12:39 +0530
* gnu/packages/messaging.scm (libqmatrixclient): New variable.
---
 gnu/packages/messaging.scm | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 181cdecc9..a9db199f9 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2016 Andy Patterson <ajpatter <at> uwaterloo.ca>
 ;;; Copyright © 2016, 2017, 2018 Clément Lassieur <clement <at> lassieur.org>
 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire <at> gmail.com>
-;;; Copyright © 2017 Arun Isaac <arunisaac <at> systemreboot.net>
+;;; Copyright © 2017, 2018 Arun Isaac <arunisaac <at> systemreboot.net>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2017 Theodoros Foradis <theodoros <at> foradis.org>
 ;;; Copyright © 2017 Rutger Helling <rhelling <at> mykolab.com>
@@ -1644,4 +1644,28 @@ c-toxcore and ncurses.  It provides audio calls, sound and desktop
 notifications, and Python scripting support.")
     (license license:gpl3+)))
 
+(define-public libqmatrixclient
+  (package
+    (name "libqmatrixclient")
+    (version "0.3.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/QMatrixClient/libqmatrixclient/archive/v"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0yl7lw0s2z98xkxbklkb3i8xcd9af9qayl1zxl070d8ykl6ayqy3"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("qt" ,qt)))
+    (arguments
+     `(#:tests? #f)) ; No tests
+    (home-page "https://matrix.org/docs/projects/sdk/libqmatrixclient.html")
+    (synopsis "Qt5 Matrix client library")
+    (description "libqmatrixclient is a Qt5 library to write clients for the
+Matrix protocol.  Quaternion is the reference client implementation.
+Quaternion and libqmatrixclient together form the QMatrixClient project.")
+    (license license:lgpl2.1+)))
 ;;; messaging.scm ends here
-- 
2.15.1





Information forwarded to guix-patches <at> gnu.org:
bug#32053; Package guix-patches. (Wed, 04 Jul 2018 17:47:02 GMT) Full text and rfc822 format available.

Message #8 received at 32053 <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: 32053 <at> debbugs.gnu.org
Cc: Arun Isaac <arunisaac <at> systemreboot.net>
Subject: [PATCH 2/2] gnu: Add quaternion.
Date: Wed,  4 Jul 2018 23:16:37 +0530
* gnu/packages/messaging.scm (quaternion): New variable.
---
 gnu/packages/messaging.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index a9db199f9..9e921ba16 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1668,4 +1668,39 @@ notifications, and Python scripting support.")
 Matrix protocol.  Quaternion is the reference client implementation.
 Quaternion and libqmatrixclient together form the QMatrixClient project.")
     (license license:lgpl2.1+)))
+
+(define-public quaternion
+  (package
+    (name "quaternion")
+    (version "0.0.9.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/QMatrixClient/Quaternion/archive/v"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0s2mpw11s2n21ds1spf94j1p2lj2px2bv5zxldlcx81ch0rb4ng8"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("libqmatrixclient-source" ,(package-source libqmatrixclient))
+       ("qt" ,qt)))
+    (arguments
+     `(#:tests? #f ; No tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'unpack-libqmatrixclient
+           (lambda* (#:key inputs #:allow-other-keys)
+             (invoke "tar" "-C" "lib" "-xvf"
+                     (assoc-ref inputs "libqmatrixclient-source")
+                     "--strip-components=1"))))))
+    (home-page "https://matrix.org/docs/projects/client/quaternion.html")
+    (synopsis "Qt5 desktop client for the Matrix protocol")
+    (description "Quaternion is a Qt5 desktop client for the Matrix protocol.
+It uses libqmatrixclient and is its reference client implementation.
+Quaternion and libqmatriclient together form the QMatrixClient project.")
+    (license (list license:gpl3+ ; all source code
+                   license:lgpl3+)))) ; icons/breeze
+
 ;;; messaging.scm ends here
-- 
2.15.1





Information forwarded to guix-patches <at> gnu.org:
bug#32053; Package guix-patches. (Mon, 09 Jul 2018 12:36:01 GMT) Full text and rfc822 format available.

Message #11 received at 32053 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Arun Isaac <arunisaac <at> systemreboot.net>
Cc: 32053 <at> debbugs.gnu.org
Subject: Re: [bug#32053] [PATCH 1/2] gnu: Add libqmatrixclient.
Date: Mon, 09 Jul 2018 14:34:58 +0200
Arun Isaac <arunisaac <at> systemreboot.net> skribis:

> * gnu/packages/messaging.scm (libqmatrixclient): New variable.

[...]

> +    (home-page "https://matrix.org/docs/projects/sdk/libqmatrixclient.html")
> +    (synopsis "Qt5 Matrix client library")

What about “Qt5 client library for the Matrix messaging protocol”?

> +    (description "libqmatrixclient is a Qt5 library to write clients for the
> +Matrix protocol.  Quaternion is the reference client implementation.
         ^
s/protocol/instant messaging protocol/

Apart from that it LGTM, thank you!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#32053; Package guix-patches. (Mon, 09 Jul 2018 12:38:01 GMT) Full text and rfc822 format available.

Message #14 received at 32053 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Arun Isaac <arunisaac <at> systemreboot.net>
Cc: 32053 <at> debbugs.gnu.org
Subject: Re: [bug#32053] [PATCH 2/2] gnu: Add quaternion.
Date: Mon, 09 Jul 2018 14:37:46 +0200
Hello,

Arun Isaac <arunisaac <at> systemreboot.net> skribis:

> * gnu/packages/messaging.scm (quaternion): New variable.

[...]

> +    (inputs
> +     `(("libqmatrixclient-source" ,(package-source libqmatrixclient))
> +       ("qt" ,qt)))
> +    (arguments
> +     `(#:tests? #f ; No tests
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'unpack-libqmatrixclient
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (invoke "tar" "-C" "lib" "-xvf"
> +                     (assoc-ref inputs "libqmatrixclient-source")
> +                     "--strip-components=1"))))))

That doesn’t sound great.  :-)

Could we arrange to have it use an externally-built libqtmatrixclient.so?
Perhaps that’ll involve modifying the CMake/Qt/whatever build files?

> +    (home-page "https://matrix.org/docs/projects/client/quaternion.html")
> +    (synopsis "Qt5 desktop client for the Matrix protocol")

What about: “Graphical client for the Matrix instant messaging protocol”?

> +    (description "Quaternion is a Qt5 desktop client for the Matrix protocol.

s/protocol/instant messaging protocol/

It’s all about giving enough context so that people know what kind of
matrix we’re talking about.  ;-)

Thank you,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#32053; Package guix-patches. (Tue, 10 Jul 2018 05:24:02 GMT) Full text and rfc822 format available.

Message #17 received at 32053 <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 32053 <at> debbugs.gnu.org
Subject: Re: [bug#32053] [PATCH 2/2] gnu: Add quaternion.
Date: Tue, 10 Jul 2018 10:53:27 +0530
>> +    (inputs
>> +     `(("libqmatrixclient-source" ,(package-source libqmatrixclient))
>> +       ("qt" ,qt)))
>> +    (arguments
>> +     `(#:tests? #f ; No tests
>> +       #:phases
>> +       (modify-phases %standard-phases
>> +         (add-after 'unpack 'unpack-libqmatrixclient
>> +           (lambda* (#:key inputs #:allow-other-keys)
>> +             (invoke "tar" "-C" "lib" "-xvf"
>> +                     (assoc-ref inputs "libqmatrixclient-source")
>> +                     "--strip-components=1"))))))
>
> That doesn’t sound great.  :-)
>
> Could we arrange to have it use an externally-built libqtmatrixclient.so?
> Perhaps that’ll involve modifying the CMake/Qt/whatever build files?

Yes, it isn't great. But I did that because that's the build process
upstream recommends. :-( I will explore alternatives and get back to
you.

>> +    (synopsis "Qt5 desktop client for the Matrix protocol")
>
> What about: “Graphical client for the Matrix instant messaging protocol”?
>
>> +    (description "Quaternion is a Qt5 desktop client for the Matrix protocol.
>
> s/protocol/instant messaging protocol/
>
> It’s all about giving enough context so that people know what kind of
> matrix we’re talking about.  ;-)

Sure, I'll make these synopsis and description changes (for both
libqmatrixclient and quaternion). In my opinion, upstream calling their
protocol "Matrix" is a somewhat poor choice. The word "Matrix" is easily
confused with many other things.




Information forwarded to guix-patches <at> gnu.org:
bug#32053; Package guix-patches. (Thu, 12 Jul 2018 10:53:01 GMT) Full text and rfc822 format available.

Message #20 received at 32053 <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: 32053 <at> debbugs.gnu.org
Cc: Arun Isaac <arunisaac <at> systemreboot.net>, ludo <at> gnu.org
Subject: [PATCH v2 0/2] Add quaternion
Date: Thu, 12 Jul 2018 16:21:42 +0530
I have made changes to the synopsis and description as you suggested. I also
patched quaternion to dynamically link to libqmatrixclient.

Arun Isaac (2):
  gnu: Add libqmatrixclient.
  gnu: Add quaternion.

 gnu/packages/messaging.scm | 75 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 74 insertions(+), 1 deletion(-)

-- 
2.15.1





Information forwarded to guix-patches <at> gnu.org:
bug#32053; Package guix-patches. (Thu, 12 Jul 2018 10:53:02 GMT) Full text and rfc822 format available.

Message #23 received at 32053 <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: 32053 <at> debbugs.gnu.org
Cc: Arun Isaac <arunisaac <at> systemreboot.net>, ludo <at> gnu.org
Subject: [PATCH v2 2/2] gnu: Add quaternion.
Date: Thu, 12 Jul 2018 16:21:44 +0530
* gnu/packages/messaging.scm (quaternion): New variable.
---
 gnu/packages/messaging.scm | 47 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 69ed7ee88..1212a06ee 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1670,4 +1670,51 @@ Matrix instant messaging protocol.  Quaternion is the reference client
 implementation.  Quaternion and libqmatrixclient together form the
 QMatrixClient project.")
     (license license:lgpl2.1+)))
+
+(define-public quaternion
+  (package
+    (name "quaternion")
+    (version "0.0.9.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/QMatrixClient/Quaternion/archive/v"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0s2mpw11s2n21ds1spf94j1p2lj2px2bv5zxldlcx81ch0rb4ng8"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("libqmatrixclient" ,libqmatrixclient)
+       ("qt" ,qt)))
+    (arguments
+     `(#:tests? #f ; No tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-libqmatrixclient-dynamic-linking
+           ;; Upstream recommends statically linking with
+           ;; libqmatrixclient. Patch the source so that we can dynamically
+           ;; link instead. In a future release, when upstream moves to
+           ;; dynamic linking, remove this phase.
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               (("^add_subdirectory\\(lib\\)" all)
+                (string-append "#" all)))
+             (for-each
+              (lambda (file)
+                (substitute* file
+                  (("#include \"lib/([^\"]*)\"" all header)
+                   (string-append "#include <" header ">"))))
+              (find-files "client" "\\.(cpp|h)$"))
+             #t)))))
+    (home-page "https://matrix.org/docs/projects/client/quaternion.html")
+    (synopsis "Graphical client for the Matrix instant messaging protocol")
+    (description "Quaternion is a Qt5 desktop client for the Matrix instant
+messaging protocol.  It uses libqmatrixclient and is its reference client
+implementation.  Quaternion and libqmatriclient together form the
+QMatrixClient project.")
+    (license (list license:gpl3+ ; all source code
+                   license:lgpl3+)))) ; icons/breeze
+
 ;;; messaging.scm ends here
-- 
2.15.1





Information forwarded to guix-patches <at> gnu.org:
bug#32053; Package guix-patches. (Thu, 12 Jul 2018 10:53:02 GMT) Full text and rfc822 format available.

Message #26 received at 32053 <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: 32053 <at> debbugs.gnu.org
Cc: Arun Isaac <arunisaac <at> systemreboot.net>, ludo <at> gnu.org
Subject: [PATCH v2 1/2] gnu: Add libqmatrixclient.
Date: Thu, 12 Jul 2018 16:21:43 +0530
* gnu/packages/messaging.scm (libqmatrixclient): New variable.
---
 gnu/packages/messaging.scm | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index cdcd1225f..69ed7ee88 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2016 Andy Patterson <ajpatter <at> uwaterloo.ca>
 ;;; Copyright © 2016, 2017, 2018 Clément Lassieur <clement <at> lassieur.org>
 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire <at> gmail.com>
-;;; Copyright © 2017 Arun Isaac <arunisaac <at> systemreboot.net>
+;;; Copyright © 2017, 2018 Arun Isaac <arunisaac <at> systemreboot.net>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2017 Theodoros Foradis <theodoros <at> foradis.org>
 ;;; Copyright © 2017 Rutger Helling <rhelling <at> mykolab.com>
@@ -1644,4 +1644,30 @@ c-toxcore and ncurses.  It provides audio calls, sound and desktop
 notifications, and Python scripting support.")
     (license license:gpl3+)))
 
+(define-public libqmatrixclient
+  (package
+    (name "libqmatrixclient")
+    (version "0.3.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/QMatrixClient/libqmatrixclient/archive/v"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0yl7lw0s2z98xkxbklkb3i8xcd9af9qayl1zxl070d8ykl6ayqy3"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("qt" ,qt)))
+    (arguments
+     `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")
+       #:tests? #f)) ; No tests
+    (home-page "https://matrix.org/docs/projects/sdk/libqmatrixclient.html")
+    (synopsis "Qt5 client library for the Matrix instant messaging protocol")
+    (description "libqmatrixclient is a Qt5 library to write clients for the
+Matrix instant messaging protocol.  Quaternion is the reference client
+implementation.  Quaternion and libqmatrixclient together form the
+QMatrixClient project.")
+    (license license:lgpl2.1+)))
 ;;; messaging.scm ends here
-- 
2.15.1





Information forwarded to guix-patches <at> gnu.org:
bug#32053; Package guix-patches. (Thu, 12 Jul 2018 14:57:02 GMT) Full text and rfc822 format available.

Message #29 received at 32053 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Arun Isaac <arunisaac <at> systemreboot.net>
Cc: 32053 <at> debbugs.gnu.org
Subject: Re: [PATCH v2 0/2] Add quaternion
Date: Thu, 12 Jul 2018 16:56:23 +0200
Arun Isaac <arunisaac <at> systemreboot.net> skribis:

> I have made changes to the synopsis and description as you suggested. I also
> patched quaternion to dynamically link to libqmatrixclient.
>
> Arun Isaac (2):
>   gnu: Add libqmatrixclient.
>   gnu: Add quaternion.

Awesome, LGTM.  Thank you!

Ludo’.




Reply sent to Arun Isaac <arunisaac <at> systemreboot.net>:
You have taken responsibility. (Thu, 12 Jul 2018 17:57:01 GMT) Full text and rfc822 format available.

Notification sent to Arun Isaac <arunisaac <at> systemreboot.net>:
bug acknowledged by developer. (Thu, 12 Jul 2018 17:57:02 GMT) Full text and rfc822 format available.

Message #34 received at 32053-done <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 32053-done <at> debbugs.gnu.org
Subject: Re: [PATCH v2 0/2] Add quaternion
Date: Thu, 12 Jul 2018 23:26:33 +0530
Pushed, thanks for the review!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 10 Aug 2018 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 352 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.