unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#60622] [PATCH] gnu: Add nanomq.
@ 2023-01-07 11:51 Nikolay Korotkiy via Guix-patches via
  2023-01-08 13:31 ` Mathieu Othacehe
  0 siblings, 1 reply; 2+ messages in thread
From: Nikolay Korotkiy via Guix-patches via @ 2023-01-07 11:51 UTC (permalink / raw)
  To: 60622; +Cc: Nikolay Korotkiy

* 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





^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [bug#60622] [PATCH] gnu: Add nanomq.
  2023-01-07 11:51 [bug#60622] [PATCH] gnu: Add nanomq Nikolay Korotkiy via Guix-patches via
@ 2023-01-08 13:31 ` Mathieu Othacehe
  0 siblings, 0 replies; 2+ messages in thread
From: Mathieu Othacehe @ 2023-01-08 13:31 UTC (permalink / raw)
  To: Nikolay Korotkiy; +Cc: 60622


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




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-01-08 13:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-07 11:51 [bug#60622] [PATCH] gnu: Add nanomq Nikolay Korotkiy via Guix-patches via
2023-01-08 13:31 ` Mathieu Othacehe

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).