From 9eafab1838decaae38e61ab556597baab0553b56 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Mon, 29 Jun 2020 01:48:27 -0400 Subject: gnu: Add nng. * gnu/packages/networking.scm (nng): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/networking.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu/packages/networking.scm') diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index f10d57ad2a..059f78a0d0 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -122,6 +122,7 @@ (define-module (gnu packages networking) #:use-module (gnu packages ruby) #:use-module (gnu packages samba) #:use-module (gnu packages serialization) + #:use-module (gnu packages shells) #:use-module (gnu packages sqlite) #:use-module (gnu packages ssh) #:use-module (gnu packages textutils) @@ -132,6 +133,49 @@ (define-module (gnu packages networking) #:use-module (gnu packages xml) #:use-module (ice-9 match)) +(define-public nng + (package + (name "nng") + (version "1.3.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/nanomsg/nng.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "042kmqzvdhv8fqmjr9kyi7rirm6akmpidfav6j14zhrab221n06j")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list + "-DNNG_ENABLE_COVERAGE=ON" + "-DNNG_ENABLE_TLS=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + ;; These tests require network access. + (substitute* "tests/CMakeLists.txt" + (("add_nng_test1\\(httpclient 60 NNG_SUPP_HTTP\\)") "") + (("add_nng_test1\\(resolv 10 NNG_STATIC_LIB\\)") "") + (("add_nng_test\\(tls 60\\)") "")) + #t))))) + (native-inputs + `(("ksh" ,oksh))) + (inputs + `(("mbedtls" ,mbedtls-apache))) + (synopsis "Lightweight messaging library") + (description "NNG project is a rewrite of the scalability protocols library +known as libnanomsg, and adds significant new capabilities, while retaining +compatibility with the original. It is a lightweight, broker-less library, +offering a simple API to solve common recurring messaging problems, such as +publish/subscribe, RPC-style request/reply, or service discovery.") + (home-page "https://nng.nanomsg.org/") + (license license:expat))) + (define-public nanomsg (package (name "nanomsg") -- cgit v1.2.3