summary refs log tree commit diff
diff options
context:
space:
mode:
authorBenjamin <benjamin@uvy.fr>2023-11-18 19:17:35 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-02-08 21:46:23 +0000
commit2d084f23a259b17ba6a1d05bc39c6f1c7c23a330 (patch)
treeccc969c64ef2c45fde1b1c017b5110a3cc4a7cdb
parente3146f55e8a92347868bbe268c51b2ab5d70df70 (diff)
downloadguix-2d084f23a259b17ba6a1d05bc39c6f1c7c23a330.tar.gz
gnu: Add nats-server.
* gnu/packages/messaging.scm (nats-server): New variable.

Change-Id: Idb05684fae798b37d396279f136f11fce85e2e02
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
-rw-r--r--gnu/packages/high-availability.scm44
1 files changed, 44 insertions, 0 deletions
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 <brice@waegenei.re>
 ;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2023 Benjamin <benjamin@uvy.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,7 +36,9 @@
   #: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 @@ applications.")
  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")