GNU bug report logs - #60622
[PATCH] gnu: Add nanomq.

Previous Next

Package: guix-patches;

Reported by: Nikolay Korotkiy <sikmir <at> disroot.org>

Date: Sat, 7 Jan 2023 11:52:02 UTC

Severity: normal

Tags: moreinfo, patch

To reply to this bug, email your comments to 60622 AT debbugs.gnu.org.

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#60622; Package guix-patches. (Sat, 07 Jan 2023 11:52:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Nikolay Korotkiy <sikmir <at> disroot.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 07 Jan 2023 11:52:02 GMT) Full text and rfc822 format available.

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

From: Nikolay Korotkiy <sikmir <at> disroot.org>
To: guix-patches <at> gnu.org
Cc: Nikolay Korotkiy <sikmir <at> disroot.org>
Subject: [PATCH] gnu: Add nanomq.
Date: Sat,  7 Jan 2023 15:51:38 +0400
* gnu/packages/networking.scm (nanomq): New variable.
---
 gnu/packages/networking.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index a7b51ed1ff..588f657c00 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -871,6 +871,41 @@ (define-public nanomsg
     (home-page "https://nanomsg.org/")
     (license (license:non-copyleft "file:///COPYING"))))
 
+(define-public nanomq
+  (package
+    (name "nanomq")
+    (version "0.14.8")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/emqx/nanomq")
+                    (commit version)
+                    (recursive? #t)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1min3xrdiyzj8yal02hx3axh4hfr930qi3jwa9zx67jp9lgyqqmd"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f
+       #:configure-flags (list "-DNNG_ENABLE_TLS=ON" "-DNNG_ENABLE_SQLITE=ON")
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'fix-etc-destination
+                    (lambda _
+                      (let* ((out (assoc-ref %outputs "out"))
+                             (etc (string-append out "/etc")))
+                        (substitute* "CMakeLists.txt"
+                          (("DESTINATION /etc")
+                           (string-append "DESTINATION " etc)))) #t)))))
+    (inputs (list mbedtls-apache sqlite))
+    (synopsis "An ultra-lightweight and blazing-fast MQTT broker for IoT edge")
+    (description
+     "NanoMQ bases on NNG's asynchronous I/O threading model, with an
+extension of MQTT support in the protocol layer and reworked transport layer,
+plus an enhanced asynchronous IO mechanism maximizing the overall capacity.")
+    (home-page "https://nanomq.io/")
+    (license license:expat)))
+
 (define-public blueman
   (package
     (name "blueman")

base-commit: d16edd03cfa84f6d5fed979fd7283966cd3e4934
-- 
2.37.2





Information forwarded to guix-patches <at> gnu.org:
bug#60622; Package guix-patches. (Sun, 08 Jan 2023 13:32:02 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Nikolay Korotkiy <sikmir <at> disroot.org>
Cc: 60622 <at> debbugs.gnu.org
Subject: Re: bug#60622: [PATCH] gnu: Add nanomq.
Date: Sun, 08 Jan 2023 14:31:04 +0100
Hey,

> +              (uri (git-reference
> +                    (url "https://github.com/emqx/nanomq")
> +                    (commit version)
> +                    (recursive? #t)))

It looks like nng is packaged by Guix, can it be used?

> +    (arguments
> +     `(#:tests? #f

You need to justify why the tests are disabled. Is it because there are
no tests, because some do not pass?

> +       #:configure-flags (list "-DNNG_ENABLE_TLS=ON" "-DNNG_ENABLE_SQLITE=ON")
> +       #:phases (modify-phases %standard-phases
> +                  (add-after 'unpack 'fix-etc-destination
> +                    (lambda _
> +                      (let* ((out (assoc-ref %outputs "out"))

It would be better to use the new gexp based style. You can have a look
to the lldpd package above for an example.


> +                             (etc (string-append out "/etc")))
> +                        (substitute* "CMakeLists.txt"
> +                          (("DESTINATION /etc")
> +                           (string-append "DESTINATION " etc)))) #t)))))

You can omit the trailing #t.

> +    (inputs (list mbedtls-apache sqlite))
> +    (synopsis "An ultra-lightweight and blazing-fast MQTT broker for IoT edge")

This a commercial description. Something like: "Lightweight MQTT broker"
would be enough.

> +    (description
> +     "NanoMQ bases on NNG's asynchronous I/O threading model, with an
> +extension of MQTT support in the protocol layer and reworked transport layer,
> +plus an enhanced asynchronous IO mechanism maximizing the overall capacity.")

It does not really tell what this package does, what is a broker for
instance?

Could you please send an updated version :)? Don't hesitate to ask for
guidance if my comments are unclear.

Thanks,

Mathieu




Added tag(s) moreinfo. Request was from Christopher Baines <mail <at> cbaines.net> to control <at> debbugs.gnu.org. (Fri, 17 Feb 2023 14:53:02 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 123 days ago.

Previous Next


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