From 2d084f23a259b17ba6a1d05bc39c6f1c7c23a330 Mon Sep 17 00:00:00 2001 From: Benjamin Date: Sat, 18 Nov 2023 19:17:35 +0100 Subject: [PATCH] gnu: Add nats-server. * gnu/packages/messaging.scm (nats-server): New variable. Change-Id: Idb05684fae798b37d396279f136f11fce85e2e02 Signed-off-by: Sharlatan Hellseher --- gnu/packages/high-availability.scm | 44 ++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm index eccdb3594e..06cf58a43a 100644 --- a/gnu/packages/high-availability.scm +++ b/gnu/packages/high-availability.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2020 Brice Waegeneire ;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice ;;; Copyright © 2022 Sharlatan Hellseher +;;; Copyright © 2023 Benjamin ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,7 +36,9 @@ (define-module (gnu packages high-availability) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages golang) + #:use-module (gnu packages golang-crypto) #:use-module (gnu packages golang-web) + #:use-module (gnu packages golang-xyz) #:use-module (gnu packages hardware) #:use-module (gnu packages linux) #:use-module (gnu packages lua) @@ -194,6 +197,47 @@ (define-public kronosnet in general better performances compared to the old network protocol.") (license (list license:gpl2+ license:lgpl2.1+)))) +(define-public nats-server + (package + (name "nats-server") + (version "2.10.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nats-io/nats-server") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07dcn6him4r1chsqr9p4i7fnbfw60gq29f4zmlyljf2c47i58rf9")))) + (build-system go-build-system) + (inputs + (list go-github-com-klauspost-compress + go-github-com-minio-highwayhash + go-github-com-nats-io-jwt-v2 + go-github-com-nats-io-nats-go + go-github-com-nats-io-nkeys + go-github-com-nats-io-nuid + go-go-uber-org-automaxprocs + go-golang-org-x-crypto + go-golang-org-x-sys + go-golang-org-x-time)) + (arguments + (list + #:go go-1.20 + #:import-path "github.com/nats-io/nats-server" + #:install-source? #f)) + (home-page "https://github.com/nats-io/nats-server") + (synopsis "High performance message broker") + (description + "NATS is a simple, secure and performant communications system for digital +systems, services and devices. NATS is part of the Cloud Native Computing +Foundation (CNCF). NATS has over 40 client language implementations, and its +server can run on-premise, in the cloud, at the edge, and even on a Raspberry +Pi. NATS can secure and simplify design and operation of modern distributed +systems.") + (license license:asl2.0))) + (define-public nsq (package (name "nsq")