Subject: [bug#60622] [PATCH] gnu: Add nanomq.

From: Nikolay Korotkiy <[email-masked]>
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