unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#65118] [PATCH 0/9]: gnu: Add NSQ.
@ 2023-08-06 19:54 Sharlatan Hellseher
  2023-08-06 19:55 ` [bug#65118] [PATCH 1/9] gnu: Add go-github-com-bitly-go-hostpool Sharlatan Hellseher
                   ` (11 more replies)
  0 siblings, 12 replies; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-08-06 19:54 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher

Hi Guix!

This patch series adds broker queue with high availability model - NSQ.

While preparing packages for it I've notices go-github-com-golang-snappy is in
(gnu packages syncthing), it might be reasonable to move Golang related
packages from there to (gnu packages golang) to make the search of required
Golang packages easy to find in logical place.

Othere issues where some of the packages were already mentioned but not merged yet:

- go-github-com-julienschmidt-httprouter :: https://issues.guix.gnu.org/54560

It would be great to add services for each of the applications from (gnu packages
high-availability) as all of them have purpose to run as daemons.

Regards,
Oleg

Sharlatan Hellseher (9):
  gnu: Add go-github-com-bitly-go-hostpool.
  gnu: Add go-github-com-bitly-timer-metrics.
  gnu: Add go-github-com-bmizerany-perks-quantile.
  gnu: Add go-github-com-mreiferson-go-svc.
  gnu: Add go-github-com-julienschmidt-httprouter.
  gnu: Add go-github-com-mreiferson-go-options.
  gnu: Add go-github-com-nsqio-go-diskqueue.
  gnu: Add go-github-com-nsqio-go-nsq.
  gnu: Add nsq.

 gnu/packages/golang.scm            | 193 ++++++++++++++++++++++++++++-
 gnu/packages/high-availability.scm |  87 +++++++++++++
 2 files changed, 279 insertions(+), 1 deletion(-)


base-commit: c4b9f726e3a1889b92a4b14a2af1c25f10798469
-- 
2.40.1





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

* [bug#65118] [PATCH 1/9] gnu: Add go-github-com-bitly-go-hostpool.
  2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
@ 2023-08-06 19:55 ` Sharlatan Hellseher
  2023-08-06 19:55 ` [bug#65118] [PATCH 2/9] gnu: Add go-github-com-bitly-timer-metrics Sharlatan Hellseher
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-08-06 19:55 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher

* gnu/packages/golang.scm (go-github-com-bitly-go-hostpool): New variable.
---
 gnu/packages/golang.scm | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index ea6aadbe80..0a747f2eee 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -25,7 +25,7 @@
 ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
 ;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
-;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@mgail.com>
+;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@mgail.com>
 ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
 ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
 ;;; Copyright © 2021 jgart <jgart@dismail.de>
@@ -2112,6 +2112,31 @@ (define-public go-github-com-dhowett-go-plist
 types.")
       (license license:giftware))))
 
+(define-public go-github-com-bitly-go-hostpool
+  (package
+    (name "go-github-com-bitly-go-hostpool")
+    (version "0.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/bitly/go-hostpool")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1iibj7dwymczw7cknrh6glc6sdpp4yap2plnyr8qphynwrzlz73w"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/bitly/go-hostpool"))
+    (native-inputs (list go-github-com-stretchr-testify))
+    (home-page "https://github.com/bitly/go-hostpool")
+    (synopsis "Pool among multiple hosts from Golang")
+    (description
+     "This package provides a Go package to intelligently and flexibly pool among
+multiple hosts from your Go application.  Host selection can operate in round
+robin or epsilon greedy mode, and unresponsive hosts are avoided.")
+    (license license:expat)))
+
 (define-public go-github-com-blanu-dust
   (package
     (name "go-github-com-blanu-dust")
-- 
2.40.1





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

* [bug#65118] [PATCH 2/9] gnu: Add go-github-com-bitly-timer-metrics.
  2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
  2023-08-06 19:55 ` [bug#65118] [PATCH 1/9] gnu: Add go-github-com-bitly-go-hostpool Sharlatan Hellseher
@ 2023-08-06 19:55 ` Sharlatan Hellseher
  2023-08-27  2:08   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
  2023-08-06 19:55 ` [bug#65118] [PATCH 3/9] gnu: Add go-github-com-bmizerany-perks-quantile Sharlatan Hellseher
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-08-06 19:55 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher

* gnu/packages/golang.scm (go-github-com-bitly-timer-metrics): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 0a747f2eee..4721519a9b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -2137,6 +2137,29 @@ (define-public go-github-com-bitly-go-hostpool
 robin or epsilon greedy mode, and unresponsive hosts are avoided.")
     (license license:expat)))
 
+(define-public go-github-com-bitly-timer-metrics
+  (package
+    (name "go-github-com-bitly-timer-metrics")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/bitly/timer_metrics")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "02fhx8hx8126m2cgxw9fm8q2401r7zfann8b5zy5yyark1sgkrb4"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/bitly/timer_metrics"))
+    (home-page "https://github.com/bitly/timer_metrics")
+    (synopsis "Capture timings and enables periodic metrics every n events")
+    (description
+     "This package provides an efficient way to capture timing information and
+periodically output metrics")
+    (license license:expat)))
+
 (define-public go-github-com-blanu-dust
   (package
     (name "go-github-com-blanu-dust")
-- 
2.40.1





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

* [bug#65118] [PATCH 3/9] gnu: Add go-github-com-bmizerany-perks-quantile.
  2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
  2023-08-06 19:55 ` [bug#65118] [PATCH 1/9] gnu: Add go-github-com-bitly-go-hostpool Sharlatan Hellseher
  2023-08-06 19:55 ` [bug#65118] [PATCH 2/9] gnu: Add go-github-com-bitly-timer-metrics Sharlatan Hellseher
@ 2023-08-06 19:55 ` Sharlatan Hellseher
  2023-08-27  2:10   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
  2023-08-06 19:55 ` [bug#65118] [PATCH 4/9] gnu: Add go-github-com-mreiferson-go-svc Sharlatan Hellseher
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-08-06 19:55 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher

* gnu/packages/golang.scm (go-github-com-bmizerany-perks-quantile): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 4721519a9b..ce46e02158 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9033,6 +9033,30 @@ (define-public go-github-com-bmatcuk-doublestar
 matching and globbing with support for \"doublestar\" patterns.")
     (license license:expat)))
 
+(define-public go-github-com-bmizerany-perks-quantile
+  (package
+    (name "go-github-com-bmizerany-perks-quantile")
+    (version "0.0.0-20230307044200-03f9df79da1e")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/bmizerany/perks")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1f2a99v3618bz2mf61iwhdjm3xi1gam6v4apqgcrz71gj7ba9943"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:unpack-path "github.com/bmizerany/perks"
+           #:import-path "github.com/bmizerany/perks/quantile"))
+    (home-page "https://github.com/bmizerany/perks")
+    (synopsis "Perks for Golang")
+    (description
+     "Perks contains the Go package quantile that computes approximate quantiles
+over an unbounded data stream within low memory and CPU bounds.")
+    (license license:bsd-2)))
+
 (define-public go-github-com-dlclark-regexp2
   (package
     (name "go-github-com-dlclark-regexp2")
-- 
2.40.1





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

* [bug#65118] [PATCH 4/9] gnu: Add go-github-com-mreiferson-go-svc.
  2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
                   ` (2 preceding siblings ...)
  2023-08-06 19:55 ` [bug#65118] [PATCH 3/9] gnu: Add go-github-com-bmizerany-perks-quantile Sharlatan Hellseher
@ 2023-08-06 19:55 ` Sharlatan Hellseher
  2023-08-27  2:13   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
  2023-08-06 19:55 ` [bug#65118] [PATCH 5/9] gnu: Add go-github-com-julienschmidt-httprouter Sharlatan Hellseher
                   ` (7 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-08-06 19:55 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher

* gnu/packages/golang.scm (go-github-com-mreiferson-go-svc): New variable.
---
 gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index ce46e02158..7890e4d583 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -6256,6 +6256,34 @@ (define-public go-github-com-mr-tron-base58
 encoding and 8 times faster decoding.")
       (license license:expat))))
 
+(define-public go-github-com-mreiferson-go-svc
+  ;; NSQ specific fork of github.com/judwhite/go-svc, as Guix go build system
+  ;; does not support go.mod with `replace' statement.
+  (let ((commit "7a96e00010f68d9436e3de53a70c53f209a0c244")
+        (revision "0"))
+    (package
+      (name "go-github-com-mreiferson-go-svc")
+      (version (git-version "1.2.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/mreiferson/go-svc")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1acgb0n3svhnraqj1fz5qc5n3b4vc5ffwyk9vfi6gcfkibm0hgmd"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/judwhite/go-svc"))
+      (propagated-inputs (list go-golang-org-x-sys))
+      (home-page "https://github.com/mreiferson/go-svc")
+      (synopsis "Go Windows Service wrapper that plays nice with Linux")
+      (description
+       "Go Windows Service wrapper that plays nice with Linux.  Windows tests
+@@url{https://github.com/judwhite/go-svc/raw/master/svc/svc_windows_test.go,here}.")
+      (license license:expat))))
+
 (define-public go-github-com-gxed-hashland-keccakpg
   (let ((commit "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8")
         (revision "0"))
-- 
2.40.1





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

* [bug#65118] [PATCH 5/9] gnu: Add go-github-com-julienschmidt-httprouter.
  2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
                   ` (3 preceding siblings ...)
  2023-08-06 19:55 ` [bug#65118] [PATCH 4/9] gnu: Add go-github-com-mreiferson-go-svc Sharlatan Hellseher
@ 2023-08-06 19:55 ` Sharlatan Hellseher
  2023-08-27  2:14   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
  2023-08-06 19:55 ` [bug#65118] [PATCH 6/9] gnu: Add go-github-com-mreiferson-go-options Sharlatan Hellseher
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-08-06 19:55 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher

* gnu/packages/golang.scm (go-github-com-julienschmidt-httprouter): New variable.
---
 gnu/packages/golang.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 7890e4d583..cdfad943c7 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9922,6 +9922,28 @@ (define-public go-github-com-juju-ansiterm
 for color and styles.")
     (license license:lgpl3)))
 
+(define-public go-github-com-julienschmidt-httprouter
+  (package
+    (name "go-github-com-julienschmidt-httprouter")
+    (version "1.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/julienschmidt/httprouter")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1a6sy0ysqknsjssjh7qg1dqn21xmj9a36c57nrk7srfmab4ffmk1"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/julienschmidt/httprouter"))
+    (home-page "https://github.com/julienschmidt/httprouter")
+    (synopsis "High performance HTTP request router")
+    (description
+     "Package httprouter is a trie based high performance HTTP request router.")
+    (license license:bsd-3)))
+
 (define-public go-github-com-kevinburke-ssh-config
   (package
     (name "go-github-com-kevinburke-ssh-config")
-- 
2.40.1





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

* [bug#65118] [PATCH 6/9] gnu: Add go-github-com-mreiferson-go-options.
  2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
                   ` (4 preceding siblings ...)
  2023-08-06 19:55 ` [bug#65118] [PATCH 5/9] gnu: Add go-github-com-julienschmidt-httprouter Sharlatan Hellseher
@ 2023-08-06 19:55 ` Sharlatan Hellseher
  2023-08-27  2:15   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
  2023-08-06 19:55 ` [bug#65118] [PATCH 7/9] gnu: Add go-github-com-nsqio-go-diskqueue Sharlatan Hellseher
                   ` (5 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-08-06 19:55 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher

* gnu/packages/golang.scm (go-github-com-mreiferson-go-options): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index cdfad943c7..fd3807bb7e 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -6256,6 +6256,29 @@ (define-public go-github-com-mr-tron-base58
 encoding and 8 times faster decoding.")
       (license license:expat))))
 
+(define-public go-github-com-mreiferson-go-options
+  (package
+    (name "go-github-com-mreiferson-go-options")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mreiferson/go-options")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1pxs9ybrh196qy14ijn4zn51h2z28lj31y6vxrz2xxhgvpmfmxyl"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/mreiferson/go-options"))
+    (home-page "https://github.com/mreiferson/go-options")
+    (synopsis "Go package to structure and resolve options")
+    (description
+     "OPTIONS resolves configuration values set via command line flags, config
+files, and default struct values")
+    (license license:expat)))
+
 (define-public go-github-com-mreiferson-go-svc
   ;; NSQ specific fork of github.com/judwhite/go-svc, as Guix go build system
   ;; does not support go.mod with `replace' statement.
-- 
2.40.1





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

* [bug#65118] [PATCH 7/9] gnu: Add go-github-com-nsqio-go-diskqueue.
  2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
                   ` (5 preceding siblings ...)
  2023-08-06 19:55 ` [bug#65118] [PATCH 6/9] gnu: Add go-github-com-mreiferson-go-options Sharlatan Hellseher
@ 2023-08-06 19:55 ` Sharlatan Hellseher
  2023-08-27  2:18   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
  2023-08-06 19:55 ` [bug#65118] [PATCH 8/9] gnu: Add go-github-com-nsqio-go-nsq Sharlatan Hellseher
                   ` (4 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-08-06 19:55 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher

* gnu/packages/golang.scm (go-github-com-nsqio-go-diskqueue): New variable.
---
 gnu/packages/golang.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index fd3807bb7e..637e6ebe73 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3183,6 +3183,28 @@ (define-public go-github-com-nathan-osman-go-sunrise
 sunset times from geographical coordinates and a date.")
       (license license:expat))))
 
+(define-public go-github-com-nsqio-go-diskqueue
+  (package
+    (name "go-github-com-nsqio-go-diskqueue")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/nsqio/go-diskqueue")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1hp66hkmfn0nyf3c53a40f94ah11a9rj01r5zp3jph9p54j8rany"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/nsqio/go-diskqueue"))
+    (home-page "https://github.com/nsqio/go-diskqueue")
+    (synopsis "Go package providing a filesystem-backed FIFO queue")
+    (description
+     "This package provides a Go package providing a filesystem-backed FIFO queue")
+    (license license:expat)))
+
 (define-public go-github-com-hebcal-gematriya
   (let ((commit "fe3043f73e415eb82727701d10f2fb40f87675e9")
         (revision "0"))
-- 
2.40.1





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

* [bug#65118] [PATCH 8/9] gnu: Add go-github-com-nsqio-go-nsq.
  2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
                   ` (6 preceding siblings ...)
  2023-08-06 19:55 ` [bug#65118] [PATCH 7/9] gnu: Add go-github-com-nsqio-go-diskqueue Sharlatan Hellseher
@ 2023-08-06 19:55 ` Sharlatan Hellseher
  2023-08-27  2:23   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
  2023-08-06 19:55 ` [bug#65118] [PATCH 9/9] gnu: Add nsq Sharlatan Hellseher
                   ` (3 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-08-06 19:55 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher

* gnu/packages/golang.scm (go-github-com-nsqio-go-nsq): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 637e6ebe73..91b1880476 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3205,6 +3205,30 @@ (define-public go-github-com-nsqio-go-diskqueue
      "This package provides a Go package providing a filesystem-backed FIFO queue")
     (license license:expat)))
 
+(define-public go-github-com-nsqio-go-nsq
+  (package
+    (name "go-github-com-nsqio-go-nsq")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/nsqio/go-nsq")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1h9z3z225sdgg7fl3l7x11xn5ch6lm5flgmcj046cdp453qj2qhf"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:tests? #f ;It requires local network setup.
+           #:import-path "github.com/nsqio/go-nsq"))
+    (propagated-inputs (list go-github-com-golang-snappy))
+    (home-page "https://github.com/nsqio/go-nsq")
+    (synopsis "Golang package of high-level Consumer and Produce for NSQ")
+    (description "Package nsq is the official Go package for NSQ
+(@url{http://nsq.io/,http://nsq.io/}).")
+    (license license:expat)))
+
 (define-public go-github-com-hebcal-gematriya
   (let ((commit "fe3043f73e415eb82727701d10f2fb40f87675e9")
         (revision "0"))
-- 
2.40.1





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

* [bug#65118] [PATCH 9/9] gnu: Add nsq.
  2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
                   ` (7 preceding siblings ...)
  2023-08-06 19:55 ` [bug#65118] [PATCH 8/9] gnu: Add go-github-com-nsqio-go-nsq Sharlatan Hellseher
@ 2023-08-06 19:55 ` Sharlatan Hellseher
  2023-08-27  2:02   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
  2023-08-26 16:17 ` [bug#65118] Sharlatan Hellseher
                   ` (2 subsequent siblings)
  11 siblings, 1 reply; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-08-06 19:55 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher

* gnu/packages/high-availability.scm (nsq): New variable.
---
 gnu/packages/high-availability.scm | 87 ++++++++++++++++++++++++++++++
 1 file changed, 87 insertions(+)

diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm
index 11ff8014cf..9763a04b21 100644
--- a/gnu/packages/high-availability.scm
+++ b/gnu/packages/high-availability.scm
@@ -34,6 +34,7 @@ (define-module (gnu packages high-availability)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages hardware)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
@@ -43,12 +44,14 @@ (define-module (gnu packages high-availability)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages rsync)
+  #:use-module (gnu packages syncthing)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages valgrind)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system go)
   #:use-module (guix download)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
@@ -190,6 +193,90 @@ (define-public kronosnet
  in general better performances compared to the old network protocol.")
     (license (list license:gpl2+ license:lgpl2.1+))))
 
+(define-public nsq
+  (package
+    (name "nsq")
+    (version "1.2.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/nsqio/nsq")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0ajqjwfn06zsmz21z9mkl4cblarypaf20228pqcd1293zl6y3ry8"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/nsqio/nsq"
+      #:install-source? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'build
+            (lambda* (#:key import-path #:allow-other-keys)
+              (with-directory-excursion (string-append "src/" import-path)
+                (invoke "make"))))
+          (replace 'check
+            (lambda* (#:key tests? import-path #:allow-other-keys)
+              (when tests?
+                (setenv "HOME" "/tmp")
+                (with-directory-excursion (string-append "src/" import-path)
+                  (invoke #$@(if (string-prefix? "x86_64-linux"
+                                                 (or (%current-system)
+                                                     (%current-target-system)))
+                                 (list "go" "test" "-v" "-race" "./...")
+                                 (list "go" "test" "-v" "./...")))))))
+          (replace 'install
+            (lambda* (#:key import-path #:allow-other-keys)
+              (with-directory-excursion (string-append "src/" import-path)
+                (invoke "make" (string-append "PREFIX=" #$output)
+                        "install")))))))
+    (native-inputs
+     (list go-github-com-bitly-go-hostpool
+           go-github-com-bitly-timer-metrics
+           go-github-com-blang-semver
+           go-github-com-bmizerany-perks-quantile
+           go-github-com-burntsushi-toml
+           go-github-com-davecgh-go-spew
+           go-github-com-golang-snappy ; Move to (gnu packages golang)
+           go-github-com-mreiferson-go-svc
+           go-github-com-julienschmidt-httprouter
+           go-github-com-mreiferson-go-options
+           go-github-com-mreiferson-go-svc
+           go-github-com-nsqio-go-diskqueue
+           go-github-com-nsqio-go-nsq
+           python-wrapper))
+    (home-page "https://nsq.io")
+    (synopsis "Realtime distributed messaging platform")
+    (description
+     "NSQ is a realtime distributed messaging platform designed to operate at
+scale, handling billions of messages per day.
+
+Key features:
+@itemize
+@item support distributed topologies with no SPOF
+@item horizontally scalable (no brokers, seamlessly add more nodes to the
+cluster)
+@item low-latency push based message delivery (performance)
+@item combination load-balanced and multicast style message routing
+@item excel at both streaming (high-throughput) and job oriented
+(low-throughput) workloads
+@item primarily in-memory (beyond a high-water mark messages are transparently
+kept on disk)
+@item runtime discovery service for consumers to find producers (nsqlookupd)
+@item transport layer security (TLS)
+@item data format agnostic
+@item few dependencies (easy to deploy) and a sane, bounded, default
+configuration
+@item simple TCP protocol supporting client libraries in any language
+@item HTTP interface for stats, admin actions, and producers (no client
+library needed to publish)
+@item integrates with statsd for realtime instrumentation
+@item robust cluster administration interface (nsqadmin)
+@end itemize")
+    (license license:expat)))
+
 (define-public corosync
   (package
     (name "corosync")
-- 
2.40.1





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

* [bug#65118]
  2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
                   ` (8 preceding siblings ...)
  2023-08-06 19:55 ` [bug#65118] [PATCH 9/9] gnu: Add nsq Sharlatan Hellseher
@ 2023-08-26 16:17 ` Sharlatan Hellseher
  2023-08-27  2:24   ` [bug#65118] none Maxim Cournoyer
  2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
  2023-09-03 14:07 ` [bug#65118] Sharlatan Hellseher
  11 siblings, 1 reply; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-08-26 16:17 UTC (permalink / raw)
  To: 65118; +Cc: cox.katherine.e+guix, Maxim Cournoyer

Hi Guix,

A gentle ping on the status of this issue, please let me know if the
patch service needs to be updated somehow.

Thanks,
Oleg

-- 
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.

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

* [bug#65118] [PATCH 0/9]: gnu: Add NSQ.
  2023-08-06 19:55 ` [bug#65118] [PATCH 9/9] gnu: Add nsq Sharlatan Hellseher
@ 2023-08-27  2:02   ` Maxim Cournoyer
  0 siblings, 0 replies; 32+ messages in thread
From: Maxim Cournoyer @ 2023-08-27  2:02 UTC (permalink / raw)
  To: Sharlatan Hellseher; +Cc: 65118

Hello!

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

> * gnu/packages/high-availability.scm (nsq): New variable.
> ---
>  gnu/packages/high-availability.scm | 87 ++++++++++++++++++++++++++++++
>  1 file changed, 87 insertions(+)
>
> diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm
> index 11ff8014cf..9763a04b21 100644
> --- a/gnu/packages/high-availability.scm
> +++ b/gnu/packages/high-availability.scm
> @@ -34,6 +34,7 @@ (define-module (gnu packages high-availability)
>    #:use-module (gnu packages gcc)
>    #:use-module (gnu packages gettext)
>    #:use-module (gnu packages glib)
> +  #:use-module (gnu packages golang)
>    #:use-module (gnu packages hardware)
>    #:use-module (gnu packages linux)
>    #:use-module (gnu packages lua)
> @@ -43,12 +44,14 @@ (define-module (gnu packages high-availability)
>    #:use-module (gnu packages pkg-config)
>    #:use-module (gnu packages python)
>    #:use-module (gnu packages rsync)
> +  #:use-module (gnu packages syncthing)
>    #:use-module (gnu packages tls)
>    #:use-module (gnu packages valgrind)
>    #:use-module (gnu packages version-control)
>    #:use-module (gnu packages xml)
>    #:use-module (gnu packages)
>    #:use-module (guix build-system gnu)
> +  #:use-module (guix build-system go)
>    #:use-module (guix download)
>    #:use-module (guix gexp)
>    #:use-module (guix git-download)
> @@ -190,6 +193,90 @@ (define-public kronosnet
>   in general better performances compared to the old network protocol.")
>      (license (list license:gpl2+ license:lgpl2.1+))))
>
> +(define-public nsq
> +  (package
> +    (name "nsq")
> +    (version "1.2.1")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/nsqio/nsq")
> +             (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32 "0ajqjwfn06zsmz21z9mkl4cblarypaf20228pqcd1293zl6y3ry8"))))
> +    (build-system go-build-system)
> +    (arguments
> +     (list
> +      #:import-path "github.com/nsqio/nsq"
> +      #:install-source? #f
> +      #:phases
> +      #~(modify-phases %standard-phases
> +          (replace 'build
> +            (lambda* (#:key import-path #:allow-other-keys)
> +              (with-directory-excursion (string-append "src/" import-path)
> +                (invoke "make"))))
> +          (replace 'check
> +            (lambda* (#:key tests? import-path #:allow-other-keys)
> +              (when tests?
> +                (setenv "HOME" "/tmp")
> +                (with-directory-excursion (string-append "src/" import-path)
> +                  (invoke #$@(if (string-prefix? "x86_64-linux"
> +                                                 (or (%current-system)
> +                                                     (%current-target-system)))

The target should be checked before the system, as current-system is
always defined, and would shortcut the or.  But you can now safely
forget about this detail and use the 'target-x86?' procedure instead,
which comes from (guix tilers).

> +                                 (list "go" "test" "-v" "-race" "./...")
> +                                 (list "go" "test" "-v" "./...")))))))
> +          (replace 'install
> +            (lambda* (#:key import-path #:allow-other-keys)
> +              (with-directory-excursion (string-append "src/" import-path)
> +                (invoke "make" (string-append "PREFIX=" #$output)
> +                        "install")))))))
> +    (native-inputs
> +     (list go-github-com-bitly-go-hostpool
> +           go-github-com-bitly-timer-metrics
> +           go-github-com-blang-semver
> +           go-github-com-bmizerany-perks-quantile
> +           go-github-com-burntsushi-toml
> +           go-github-com-davecgh-go-spew
> +           go-github-com-golang-snappy ; Move to (gnu packages golang)
> +           go-github-com-mreiferson-go-svc
> +           go-github-com-julienschmidt-httprouter
> +           go-github-com-mreiferson-go-options
> +           go-github-com-mreiferson-go-svc
> +           go-github-com-nsqio-go-diskqueue
> +           go-github-com-nsqio-go-nsq
> +           python-wrapper))
> +    (home-page "https://nsq.io")
> +    (synopsis "Realtime distributed messaging platform")
> +    (description
> +     "NSQ is a realtime distributed messaging platform designed to operate at
> +scale, handling billions of messages per day.
> +
> +Key features:
> +@itemize
> +@item support distributed topologies with no SPOF

What is SPOF?

> +@item horizontally scalable (no brokers, seamlessly add more nodes to the
> +cluster)
> +@item low-latency push based message delivery (performance)
> +@item combination load-balanced and multicast style message routing

I'd replace 'combination' here with the 'combine' verb.

> +@item excel at both streaming (high-throughput) and job oriented
> +(low-throughput) workloads
> +@item primarily in-memory (beyond a high-water mark messages are transparently
> +kept on disk)
> +@item runtime discovery service for consumers to find producers (nsqlookupd)
> +@item transport layer security (TLS)
> +@item data format agnostic
> +@item few dependencies (easy to deploy) and a sane, bounded, default
> +configuration
> +@item simple TCP protocol supporting client libraries in any language
> +@item HTTP interface for stats, admin actions, and producers (no client
> +library needed to publish)
> +@item integrates with statsd for realtime instrumentation

The imperative rather than descriptive verb tense is used elsewhere
here, I'd stick with it (integrate with ...).

Could you send a v2 addressing the above?

-- 
Thanks,
Maxim




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

* [bug#65118] [PATCH 0/9]: gnu: Add NSQ.
  2023-08-06 19:55 ` [bug#65118] [PATCH 2/9] gnu: Add go-github-com-bitly-timer-metrics Sharlatan Hellseher
@ 2023-08-27  2:08   ` Maxim Cournoyer
  0 siblings, 0 replies; 32+ messages in thread
From: Maxim Cournoyer @ 2023-08-27  2:08 UTC (permalink / raw)
  To: Sharlatan Hellseher; +Cc: 65118

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

> * gnu/packages/golang.scm (go-github-com-bitly-timer-metrics): New variable.
> ---
>  gnu/packages/golang.scm | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
>
> diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
> index 0a747f2eee..4721519a9b 100644
> --- a/gnu/packages/golang.scm
> +++ b/gnu/packages/golang.scm
> @@ -2137,6 +2137,29 @@ (define-public go-github-com-bitly-go-hostpool
>  robin or epsilon greedy mode, and unresponsive hosts are avoided.")
>      (license license:expat)))
>  
> +(define-public go-github-com-bitly-timer-metrics
> +  (package
> +    (name "go-github-com-bitly-timer-metrics")
> +    (version "1.0.0")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/bitly/timer_metrics")
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "02fhx8hx8126m2cgxw9fm8q2401r7zfann8b5zy5yyark1sgkrb4"))))
> +    (build-system go-build-system)
> +    (arguments
> +     '(#:import-path "github.com/bitly/timer_metrics"))
> +    (home-page "https://github.com/bitly/timer_metrics")
> +    (synopsis "Capture timings and enables periodic metrics every n
> events")

s/enables/enable/

Maybe use @var{n} if that's supported.

-- 
Thanks,
Maxim




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

* [bug#65118] [PATCH 0/9]: gnu: Add NSQ.
  2023-08-06 19:55 ` [bug#65118] [PATCH 3/9] gnu: Add go-github-com-bmizerany-perks-quantile Sharlatan Hellseher
@ 2023-08-27  2:10   ` Maxim Cournoyer
  0 siblings, 0 replies; 32+ messages in thread
From: Maxim Cournoyer @ 2023-08-27  2:10 UTC (permalink / raw)
  To: Sharlatan Hellseher; +Cc: 65118

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

> * gnu/packages/golang.scm (go-github-com-bmizerany-perks-quantile): New variable.
> ---
>  gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
>
> diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
> index 4721519a9b..ce46e02158 100644
> --- a/gnu/packages/golang.scm
> +++ b/gnu/packages/golang.scm
> @@ -9033,6 +9033,30 @@ (define-public go-github-com-bmatcuk-doublestar
>  matching and globbing with support for \"doublestar\" patterns.")
>      (license license:expat)))
>  
> +(define-public go-github-com-bmizerany-perks-quantile
> +  (package
> +    (name "go-github-com-bmizerany-perks-quantile")
> +    (version "0.0.0-20230307044200-03f9df79da1e")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/bmizerany/perks")
> +                    (commit (go-version->git-ref version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "1f2a99v3618bz2mf61iwhdjm3xi1gam6v4apqgcrz71gj7ba9943"))))
> +    (build-system go-build-system)
> +    (arguments
> +     (list #:unpack-path "github.com/bmizerany/perks"
> +           #:import-path "github.com/bmizerany/perks/quantile"))
> +    (home-page "https://github.com/bmizerany/perks")
> +    (synopsis "Perks for Golang")

I'd use "Library for computing quantiles"

> +    (description
> +     "Perks contains the Go package quantile that computes approximate quantiles

the Go package @code{quantile} [...]

-- 
Thanks,
Maxim




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

* [bug#65118] [PATCH 0/9]: gnu: Add NSQ.
  2023-08-06 19:55 ` [bug#65118] [PATCH 4/9] gnu: Add go-github-com-mreiferson-go-svc Sharlatan Hellseher
@ 2023-08-27  2:13   ` Maxim Cournoyer
  0 siblings, 0 replies; 32+ messages in thread
From: Maxim Cournoyer @ 2023-08-27  2:13 UTC (permalink / raw)
  To: Sharlatan Hellseher; +Cc: 65118

Hi,

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

> * gnu/packages/golang.scm (go-github-com-mreiferson-go-svc): New variable.
> ---
>  gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
>
> diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
> index ce46e02158..7890e4d583 100644
> --- a/gnu/packages/golang.scm
> +++ b/gnu/packages/golang.scm
> @@ -6256,6 +6256,34 @@ (define-public go-github-com-mr-tron-base58
>  encoding and 8 times faster decoding.")
>        (license license:expat))))
>  
> +(define-public go-github-com-mreiferson-go-svc
> +  ;; NSQ specific fork of github.com/judwhite/go-svc, as Guix go build system
> +  ;; does not support go.mod with `replace' statement.
> +  (let ((commit "7a96e00010f68d9436e3de53a70c53f209a0c244")
> +        (revision "0"))
> +    (package
> +      (name "go-github-com-mreiferson-go-svc")
> +      (version (git-version "1.2.1" revision commit))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/mreiferson/go-svc")
> +                      (commit commit)))
> +                (file-name (git-file-name name version))
> +                (sha256
> +                 (base32
> +                  "1acgb0n3svhnraqj1fz5qc5n3b4vc5ffwyk9vfi6gcfkibm0hgmd"))))
> +      (build-system go-build-system)
> +      (arguments
> +       '(#:import-path "github.com/judwhite/go-svc"))
> +      (propagated-inputs (list go-golang-org-x-sys))
> +      (home-page "https://github.com/mreiferson/go-svc")
> +      (synopsis "Go Windows Service wrapper that plays nice with Linux")
> +      (description
> +       "Go Windows Service wrapper that plays nice with Linux.  Windows tests
> +@@url{https://github.com/judwhite/go-svc/raw/master/svc/svc_windows_test.go,here}.")
> +      (license license:expat))))

Reading this makes me wonder when the code path would ever be used on
GNU/Linux.  Probably never.  Perhaps an alternative would eb to edit it
out of the go.mod, if it still builds without too many problems.

Otherwise, LGTM.

-- 
Thanks,
Maxim




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

* [bug#65118] [PATCH 0/9]: gnu: Add NSQ.
  2023-08-06 19:55 ` [bug#65118] [PATCH 5/9] gnu: Add go-github-com-julienschmidt-httprouter Sharlatan Hellseher
@ 2023-08-27  2:14   ` Maxim Cournoyer
  0 siblings, 0 replies; 32+ messages in thread
From: Maxim Cournoyer @ 2023-08-27  2:14 UTC (permalink / raw)
  To: Sharlatan Hellseher; +Cc: 65118

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

> * gnu/packages/golang.scm (go-github-com-julienschmidt-httprouter): New variable.
> ---
>  gnu/packages/golang.scm | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>
> diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
> index 7890e4d583..cdfad943c7 100644
> --- a/gnu/packages/golang.scm
> +++ b/gnu/packages/golang.scm
> @@ -9922,6 +9922,28 @@ (define-public go-github-com-juju-ansiterm
>  for color and styles.")
>      (license license:lgpl3)))
>  
> +(define-public go-github-com-julienschmidt-httprouter
> +  (package
> +    (name "go-github-com-julienschmidt-httprouter")
> +    (version "1.3.0")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/julienschmidt/httprouter")
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "1a6sy0ysqknsjssjh7qg1dqn21xmj9a36c57nrk7srfmab4ffmk1"))))
> +    (build-system go-build-system)
> +    (arguments
> +     '(#:import-path "github.com/julienschmidt/httprouter"))
> +    (home-page "https://github.com/julienschmidt/httprouter")
> +    (synopsis "High performance HTTP request router")
> +    (description
> +     "Package httprouter is a trie based high performance HTTP
> request router.")

Nitpick: @code{httprouter}

-- 
Thanks,
Maxim




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

* [bug#65118] [PATCH 0/9]: gnu: Add NSQ.
  2023-08-06 19:55 ` [bug#65118] [PATCH 6/9] gnu: Add go-github-com-mreiferson-go-options Sharlatan Hellseher
@ 2023-08-27  2:15   ` Maxim Cournoyer
  0 siblings, 0 replies; 32+ messages in thread
From: Maxim Cournoyer @ 2023-08-27  2:15 UTC (permalink / raw)
  To: Sharlatan Hellseher; +Cc: 65118

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

> * gnu/packages/golang.scm (go-github-com-mreiferson-go-options): New variable.
> ---
>  gnu/packages/golang.scm | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
>
> diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
> index cdfad943c7..fd3807bb7e 100644
> --- a/gnu/packages/golang.scm
> +++ b/gnu/packages/golang.scm
> @@ -6256,6 +6256,29 @@ (define-public go-github-com-mr-tron-base58
>  encoding and 8 times faster decoding.")
>        (license license:expat))))
>  
> +(define-public go-github-com-mreiferson-go-options
> +  (package
> +    (name "go-github-com-mreiferson-go-options")
> +    (version "1.0.0")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/mreiferson/go-options")
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "1pxs9ybrh196qy14ijn4zn51h2z28lj31y6vxrz2xxhgvpmfmxyl"))))
> +    (build-system go-build-system)
> +    (arguments
> +     '(#:import-path "github.com/mreiferson/go-options"))
> +    (home-page "https://github.com/mreiferson/go-options")
> +    (synopsis "Go package to structure and resolve options")
> +    (description
> +     "OPTIONS resolves configuration values set via command line
> flags, config

Maybe, "The @code{options} Go package resolves [...]"

-- 
Thanks,
Maxim




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

* [bug#65118] [PATCH 0/9]: gnu: Add NSQ.
  2023-08-06 19:55 ` [bug#65118] [PATCH 7/9] gnu: Add go-github-com-nsqio-go-diskqueue Sharlatan Hellseher
@ 2023-08-27  2:18   ` Maxim Cournoyer
  0 siblings, 0 replies; 32+ messages in thread
From: Maxim Cournoyer @ 2023-08-27  2:18 UTC (permalink / raw)
  To: Sharlatan Hellseher; +Cc: 65118

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

> * gnu/packages/golang.scm (go-github-com-nsqio-go-diskqueue): New variable.
> ---
>  gnu/packages/golang.scm | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>
> diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
> index fd3807bb7e..637e6ebe73 100644
> --- a/gnu/packages/golang.scm
> +++ b/gnu/packages/golang.scm
> @@ -3183,6 +3183,28 @@ (define-public go-github-com-nathan-osman-go-sunrise
>  sunset times from geographical coordinates and a date.")
>        (license license:expat))))
>
> +(define-public go-github-com-nsqio-go-diskqueue
> +  (package
> +    (name "go-github-com-nsqio-go-diskqueue")
> +    (version "1.1.0")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/nsqio/go-diskqueue")
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "1hp66hkmfn0nyf3c53a40f94ah11a9rj01r5zp3jph9p54j8rany"))))
> +    (build-system go-build-system)
> +    (arguments
> +     '(#:import-path "github.com/nsqio/go-diskqueue"))
> +    (home-page "https://github.com/nsqio/go-diskqueue")
> +    (synopsis "Go package providing a filesystem-backed FIFO queue")
> +    (description
> +     "This package provides a Go package providing a filesystem-backed FIFO queue")

I'd use something like "The @code{diskqueue} Go package provides a
filesystem-backed FIFO queue." to avoid the using "provides" twice in
the same sentence.

-- 
Thanks,
Maxim




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

* [bug#65118] [PATCH 0/9]: gnu: Add NSQ.
  2023-08-06 19:55 ` [bug#65118] [PATCH 8/9] gnu: Add go-github-com-nsqio-go-nsq Sharlatan Hellseher
@ 2023-08-27  2:23   ` Maxim Cournoyer
  0 siblings, 0 replies; 32+ messages in thread
From: Maxim Cournoyer @ 2023-08-27  2:23 UTC (permalink / raw)
  To: Sharlatan Hellseher; +Cc: 65118

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

> * gnu/packages/golang.scm (go-github-com-nsqio-go-nsq): New variable.
> ---
>  gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
>
> diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
> index 637e6ebe73..91b1880476 100644
> --- a/gnu/packages/golang.scm
> +++ b/gnu/packages/golang.scm
> @@ -3205,6 +3205,30 @@ (define-public go-github-com-nsqio-go-diskqueue
>       "This package provides a Go package providing a filesystem-backed FIFO queue")
>      (license license:expat)))
>  
> +(define-public go-github-com-nsqio-go-nsq
> +  (package
> +    (name "go-github-com-nsqio-go-nsq")
> +    (version "1.1.0")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/nsqio/go-nsq")
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "1h9z3z225sdgg7fl3l7x11xn5ch6lm5flgmcj046cdp453qj2qhf"))))
> +    (build-system go-build-system)
> +    (arguments
> +     (list #:tests? #f ;It requires local network setup.
> +           #:import-path "github.com/nsqio/go-nsq"))
> +    (propagated-inputs (list go-github-com-golang-snappy))
> +    (home-page "https://github.com/nsqio/go-nsq")
> +    (synopsis "Golang package of high-level Consumer and Produce for NSQ")
> +    (description "Package nsq is the official Go package for NSQ
> +(@url{http://nsq.io/,http://nsq.io/}).")

The description should provide more detail than the synopsis, not less
:-).  I'd use something like this, inspired by [0].

--8<---------------cut here---------------start------------->8---
The @code{nsq} Go module provides a high-level consumer and producer
types as well as low-level functions to communicate over the NSQ
protocol.
--8<---------------cut here---------------end--------------->8---

Another thing; when the URL name is the same as the URL itself, you
don't need to repeat it in the @url command.

[0]  https://pkg.go.dev/github.com/nsqio/go-nsq?utm_source=godoc#section-documentation

-- 
Thanks,
Maxim




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

* [bug#65118] none
  2023-08-26 16:17 ` [bug#65118] Sharlatan Hellseher
@ 2023-08-27  2:24   ` Maxim Cournoyer
  0 siblings, 0 replies; 32+ messages in thread
From: Maxim Cournoyer @ 2023-08-27  2:24 UTC (permalink / raw)
  To: Sharlatan Hellseher; +Cc: 65118, cox.katherine.e+guix

Hi Oleg,

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

> Hi Guix,
>
> A gentle ping on the status of this issue, please let me know if the
> patch service needs to be updated somehow.

The series looks good!  I've commented with minor (mostly cosmetic)
suggestions; I look forward to a v2!

-- 
Thanks,
Maxim




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

* [bug#65118] [PATCH v2 0/9] gnu: Add NSQ.
  2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
                   ` (9 preceding siblings ...)
  2023-08-26 16:17 ` [bug#65118] Sharlatan Hellseher
@ 2023-09-01 19:57 ` Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 1/9] gnu: Add go-github-com-bitly-go-hostpool Sharlatan Hellseher
                     ` (8 more replies)
  2023-09-03 14:07 ` [bug#65118] Sharlatan Hellseher
  11 siblings, 9 replies; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-09-01 19:57 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher

Hi Guix!

@Maxim thanks for review points I think I've covered all of them in v2, patch
set was rebased from master's the latest pull.

One note on <[PATCH 4/9] gnu: Add go-github-com-mreiferson-go-svc>, without
setting the import path causes build to fail as the code still imports it as
forked name, it does not fail if go.mod is in use which is abandon in Guix
right now.

Thanks,
Oleg

Sharlatan Hellseher (9):
  gnu: Add go-github-com-bitly-go-hostpool.
  gnu: Add go-github-com-bitly-timer-metrics.
  gnu: Add go-github-com-bmizerany-perks-quantile.
  gnu: Add go-github-com-mreiferson-go-svc.
  gnu: Add go-github-com-julienschmidt-httprouter.
  gnu: Add go-github-com-mreiferson-go-options.
  gnu: Add go-github-com-nsqio-go-diskqueue.
  gnu: Add go-github-com-nsqio-go-nsq.
  gnu: Add nsq.

 gnu/packages/golang.scm            | 197 ++++++++++++++++++++++++++++-
 gnu/packages/high-availability.scm |  86 +++++++++++++
 2 files changed, 282 insertions(+), 1 deletion(-)


base-commit: 7309da3ba64a191f074807275d8c5661a25c035c
-- 
2.40.1





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

* [bug#65118] [PATCH v2 1/9] gnu: Add go-github-com-bitly-go-hostpool.
  2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
@ 2023-09-01 19:58   ` Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 2/9] gnu: Add go-github-com-bitly-timer-metrics Sharlatan Hellseher
                     ` (7 subsequent siblings)
  8 siblings, 0 replies; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-09-01 19:58 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher, Katherine Cox-Buday

* gnu/packages/golang.scm (go-github-com-bitly-go-hostpool): New variable.
---
 gnu/packages/golang.scm | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 5a53838435..70d5af6107 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -25,7 +25,7 @@
 ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
 ;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
-;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@mgail.com>
+;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@mgail.com>
 ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
 ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
 ;;; Copyright © 2021 jgart <jgart@dismail.de>
@@ -2112,6 +2112,31 @@ (define-public go-github-com-dhowett-go-plist
 types.")
       (license license:giftware))))
 
+(define-public go-github-com-bitly-go-hostpool
+  (package
+    (name "go-github-com-bitly-go-hostpool")
+    (version "0.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/bitly/go-hostpool")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1iibj7dwymczw7cknrh6glc6sdpp4yap2plnyr8qphynwrzlz73w"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/bitly/go-hostpool"))
+    (native-inputs (list go-github-com-stretchr-testify))
+    (home-page "https://github.com/bitly/go-hostpool")
+    (synopsis "Pool among multiple hosts from Golang")
+    (description
+     "This package provides a Go package to intelligently and flexibly pool among
+multiple hosts from your Go application.  Host selection can operate in round
+robin or epsilon greedy mode, and unresponsive hosts are avoided.")
+    (license license:expat)))
+
 (define-public go-github-com-blanu-dust
   (package
     (name "go-github-com-blanu-dust")
-- 
2.40.1





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

* [bug#65118] [PATCH v2 2/9] gnu: Add go-github-com-bitly-timer-metrics.
  2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 1/9] gnu: Add go-github-com-bitly-go-hostpool Sharlatan Hellseher
@ 2023-09-01 19:58   ` Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 3/9] gnu: Add go-github-com-bmizerany-perks-quantile Sharlatan Hellseher
                     ` (6 subsequent siblings)
  8 siblings, 0 replies; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-09-01 19:58 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher, Katherine Cox-Buday

* gnu/packages/golang.scm (go-github-com-bitly-timer-metrics): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 70d5af6107..b569c9edaa 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -2137,6 +2137,29 @@ (define-public go-github-com-bitly-go-hostpool
 robin or epsilon greedy mode, and unresponsive hosts are avoided.")
     (license license:expat)))
 
+(define-public go-github-com-bitly-timer-metrics
+  (package
+    (name "go-github-com-bitly-timer-metrics")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/bitly/timer_metrics")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "02fhx8hx8126m2cgxw9fm8q2401r7zfann8b5zy5yyark1sgkrb4"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/bitly/timer_metrics"))
+    (home-page "https://github.com/bitly/timer_metrics")
+    (synopsis "Capture timings and enable periodic metrics every @var{n} events")
+    (description
+     "This package provides an efficient way to capture timing information and
+periodically output metrics")
+    (license license:expat)))
+
 (define-public go-github-com-blanu-dust
   (package
     (name "go-github-com-blanu-dust")
-- 
2.40.1





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

* [bug#65118] [PATCH v2 3/9] gnu: Add go-github-com-bmizerany-perks-quantile.
  2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 1/9] gnu: Add go-github-com-bitly-go-hostpool Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 2/9] gnu: Add go-github-com-bitly-timer-metrics Sharlatan Hellseher
@ 2023-09-01 19:58   ` Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 4/9] gnu: Add go-github-com-mreiferson-go-svc Sharlatan Hellseher
                     ` (5 subsequent siblings)
  8 siblings, 0 replies; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-09-01 19:58 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher, Katherine Cox-Buday

* gnu/packages/golang.scm (go-github-com-bmizerany-perks-quantile): New variable.
---
 gnu/packages/golang.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b569c9edaa..ab5ed46b9f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9050,6 +9050,30 @@ (define-public go-github-com-bmatcuk-doublestar
 matching and globbing with support for \"doublestar\" patterns.")
     (license license:expat)))
 
+(define-public go-github-com-bmizerany-perks-quantile
+  (package
+    (name "go-github-com-bmizerany-perks-quantile")
+    (version "0.0.0-20230307044200-03f9df79da1e")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/bmizerany/perks")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1f2a99v3618bz2mf61iwhdjm3xi1gam6v4apqgcrz71gj7ba9943"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:unpack-path "github.com/bmizerany/perks"
+           #:import-path "github.com/bmizerany/perks/quantile"))
+    (home-page "https://github.com/bmizerany/perks")
+    (synopsis "Library for computing quantiles")
+    (description
+     "Perks contains the Go package @code{quantile} that computes approximate
+quantiles over an unbounded data stream within low memory and CPU bounds.")
+    (license license:bsd-2)))
+
 (define-public go-github-com-dlclark-regexp2
   (package
     (name "go-github-com-dlclark-regexp2")
-- 
2.40.1





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

* [bug#65118] [PATCH v2 4/9] gnu: Add go-github-com-mreiferson-go-svc.
  2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
                     ` (2 preceding siblings ...)
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 3/9] gnu: Add go-github-com-bmizerany-perks-quantile Sharlatan Hellseher
@ 2023-09-01 19:58   ` Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 5/9] gnu: Add go-github-com-julienschmidt-httprouter Sharlatan Hellseher
                     ` (4 subsequent siblings)
  8 siblings, 0 replies; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-09-01 19:58 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher, Katherine Cox-Buday

* gnu/packages/golang.scm (go-github-com-mreiferson-go-svc): New variable.
---
 gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index ab5ed46b9f..897d84f444 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -6273,6 +6273,34 @@ (define-public go-github-com-mr-tron-base58
 encoding and 8 times faster decoding.")
       (license license:expat))))
 
+(define-public go-github-com-mreiferson-go-svc
+  ;; NSQ specific fork of github.com/judwhite/go-svc, as Guix go build system
+  ;; does not support go.mod with `replace' statement.
+  (let ((commit "7a96e00010f68d9436e3de53a70c53f209a0c244")
+        (revision "0"))
+    (package
+      (name "go-github-com-mreiferson-go-svc")
+      (version (git-version "1.2.1" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/mreiferson/go-svc")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1acgb0n3svhnraqj1fz5qc5n3b4vc5ffwyk9vfi6gcfkibm0hgmd"))))
+      (build-system go-build-system)
+      (arguments
+       '(#:import-path "github.com/judwhite/go-svc"))
+      (propagated-inputs (list go-golang-org-x-sys))
+      (home-page "https://github.com/mreiferson/go-svc")
+      (synopsis "Go Windows Service wrapper that plays nice with Linux")
+      (description
+       "Go Windows Service wrapper that plays nice with Linux.  Windows tests
+@@url{https://github.com/judwhite/go-svc/raw/master/svc/svc_windows_test.go,here}.")
+      (license license:expat))))
+
 (define-public go-github-com-gxed-hashland-keccakpg
   (let ((commit "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8")
         (revision "0"))
-- 
2.40.1





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

* [bug#65118] [PATCH v2 5/9] gnu: Add go-github-com-julienschmidt-httprouter.
  2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
                     ` (3 preceding siblings ...)
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 4/9] gnu: Add go-github-com-mreiferson-go-svc Sharlatan Hellseher
@ 2023-09-01 19:58   ` Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 6/9] gnu: Add go-github-com-mreiferson-go-options Sharlatan Hellseher
                     ` (3 subsequent siblings)
  8 siblings, 0 replies; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-09-01 19:58 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher, Katherine Cox-Buday

* gnu/packages/golang.scm (go-github-com-julienschmidt-httprouter): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 897d84f444..a7c005d43e 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -9961,6 +9961,29 @@ (define-public go-github-com-juju-ansiterm
 for color and styles.")
     (license license:lgpl3)))
 
+(define-public go-github-com-julienschmidt-httprouter
+  (package
+    (name "go-github-com-julienschmidt-httprouter")
+    (version "1.3.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/julienschmidt/httprouter")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1a6sy0ysqknsjssjh7qg1dqn21xmj9a36c57nrk7srfmab4ffmk1"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/julienschmidt/httprouter"))
+    (home-page "https://github.com/julienschmidt/httprouter")
+    (synopsis "High performance HTTP request router")
+    (description
+     "Package @code{httprouter} is a trie based high performance HTTP request
+router.")
+    (license license:bsd-3)))
+
 (define-public go-github-com-kevinburke-ssh-config
   (package
     (name "go-github-com-kevinburke-ssh-config")
-- 
2.40.1





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

* [bug#65118] [PATCH v2 6/9] gnu: Add go-github-com-mreiferson-go-options.
  2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
                     ` (4 preceding siblings ...)
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 5/9] gnu: Add go-github-com-julienschmidt-httprouter Sharlatan Hellseher
@ 2023-09-01 19:58   ` Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 7/9] gnu: Add go-github-com-nsqio-go-diskqueue Sharlatan Hellseher
                     ` (2 subsequent siblings)
  8 siblings, 0 replies; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-09-01 19:58 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher, Katherine Cox-Buday

* gnu/packages/golang.scm (go-github-com-mreiferson-go-options): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a7c005d43e..62505ff732 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -6273,6 +6273,29 @@ (define-public go-github-com-mr-tron-base58
 encoding and 8 times faster decoding.")
       (license license:expat))))
 
+(define-public go-github-com-mreiferson-go-options
+  (package
+    (name "go-github-com-mreiferson-go-options")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mreiferson/go-options")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1pxs9ybrh196qy14ijn4zn51h2z28lj31y6vxrz2xxhgvpmfmxyl"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/mreiferson/go-options"))
+    (home-page "https://github.com/mreiferson/go-options")
+    (synopsis "Go package to structure and resolve options")
+    (description
+     "The @code{options} Go package resolves configuration values set via
+command line flags, config files, and default struct values")
+    (license license:expat)))
+
 (define-public go-github-com-mreiferson-go-svc
   ;; NSQ specific fork of github.com/judwhite/go-svc, as Guix go build system
   ;; does not support go.mod with `replace' statement.
-- 
2.40.1





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

* [bug#65118] [PATCH v2 7/9] gnu: Add go-github-com-nsqio-go-diskqueue.
  2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
                     ` (5 preceding siblings ...)
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 6/9] gnu: Add go-github-com-mreiferson-go-options Sharlatan Hellseher
@ 2023-09-01 19:58   ` Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 8/9] gnu: Add go-github-com-nsqio-go-nsq Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 9/9] gnu: Add nsq Sharlatan Hellseher
  8 siblings, 0 replies; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-09-01 19:58 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher, Katherine Cox-Buday

* gnu/packages/golang.scm (go-github-com-nsqio-go-diskqueue): New variable.
---
 gnu/packages/golang.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 62505ff732..756700ef97 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3183,6 +3183,29 @@ (define-public go-github-com-nathan-osman-go-sunrise
 sunset times from geographical coordinates and a date.")
       (license license:expat))))
 
+(define-public go-github-com-nsqio-go-diskqueue
+  (package
+    (name "go-github-com-nsqio-go-diskqueue")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/nsqio/go-diskqueue")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1hp66hkmfn0nyf3c53a40f94ah11a9rj01r5zp3jph9p54j8rany"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/nsqio/go-diskqueue"))
+    (home-page "https://github.com/nsqio/go-diskqueue")
+    (synopsis "Go package providing a filesystem-backed FIFO queue")
+    (description
+     "The @code{diskqueue} Go package provides a filesystem-backed FIFO
+queue.")
+    (license license:expat)))
+
 (define-public go-github-com-hebcal-gematriya
   (let ((commit "fe3043f73e415eb82727701d10f2fb40f87675e9")
         (revision "0"))
-- 
2.40.1





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

* [bug#65118] [PATCH v2 8/9] gnu: Add go-github-com-nsqio-go-nsq.
  2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
                     ` (6 preceding siblings ...)
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 7/9] gnu: Add go-github-com-nsqio-go-diskqueue Sharlatan Hellseher
@ 2023-09-01 19:58   ` Sharlatan Hellseher
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 9/9] gnu: Add nsq Sharlatan Hellseher
  8 siblings, 0 replies; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-09-01 19:58 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher, Katherine Cox-Buday

* gnu/packages/golang.scm (go-github-com-nsqio-go-nsq): New variable.
---
 gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 756700ef97..1f70741f5b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3206,6 +3206,32 @@ (define-public go-github-com-nsqio-go-diskqueue
 queue.")
     (license license:expat)))
 
+(define-public go-github-com-nsqio-go-nsq
+  (package
+    (name "go-github-com-nsqio-go-nsq")
+    (version "1.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/nsqio/go-nsq")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1h9z3z225sdgg7fl3l7x11xn5ch6lm5flgmcj046cdp453qj2qhf"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:tests? #f ;It requires local network setup.
+           #:import-path "github.com/nsqio/go-nsq"))
+    (propagated-inputs (list go-github-com-golang-snappy))
+    (home-page "https://github.com/nsqio/go-nsq")
+    (synopsis "Golang package of high-level Consumer and Produce for NSQ")
+    (description
+     "The @code{nsq} Go module provides a high-level consumer and producer
+types as well as low-level functions to communicate over the NSQ protocol
+@url{https://nsq.io/}.")
+    (license license:expat)))
+
 (define-public go-github-com-hebcal-gematriya
   (let ((commit "fe3043f73e415eb82727701d10f2fb40f87675e9")
         (revision "0"))
-- 
2.40.1





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

* [bug#65118] [PATCH v2 9/9] gnu: Add nsq.
  2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
                     ` (7 preceding siblings ...)
  2023-09-01 19:58   ` [bug#65118] [PATCH v2 8/9] gnu: Add go-github-com-nsqio-go-nsq Sharlatan Hellseher
@ 2023-09-01 19:58   ` Sharlatan Hellseher
  8 siblings, 0 replies; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-09-01 19:58 UTC (permalink / raw)
  To: 65118; +Cc: Sharlatan Hellseher

* gnu/packages/high-availability.scm (nsq): New variable.
---
 gnu/packages/high-availability.scm | 86 ++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm
index 11ff8014cf..553095cb75 100644
--- a/gnu/packages/high-availability.scm
+++ b/gnu/packages/high-availability.scm
@@ -34,6 +34,7 @@ (define-module (gnu packages high-availability)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages hardware)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
@@ -43,12 +44,14 @@ (define-module (gnu packages high-availability)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages rsync)
+  #:use-module (gnu packages syncthing)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages valgrind)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system go)
   #:use-module (guix download)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
@@ -190,6 +193,89 @@ (define-public kronosnet
  in general better performances compared to the old network protocol.")
     (license (list license:gpl2+ license:lgpl2.1+))))
 
+(define-public nsq
+  (package
+    (name "nsq")
+    (version "1.2.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/nsqio/nsq")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0ajqjwfn06zsmz21z9mkl4cblarypaf20228pqcd1293zl6y3ry8"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/nsqio/nsq"
+      #:install-source? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'build
+            (lambda* (#:key import-path #:allow-other-keys)
+              (with-directory-excursion (string-append "src/" import-path)
+                (invoke "make"))))
+          (replace 'check
+            (lambda* (#:key tests? import-path #:allow-other-keys)
+              (when tests?
+                (setenv "HOME" "/tmp")
+                (with-directory-excursion (string-append "src/" import-path)
+                  (invoke #$@(if (target-x86?)
+                                 (list "go" "test" "-v" "-race" "./...")
+                                 (list "go" "test" "-v" "./...")))))))
+          (replace 'install
+            (lambda* (#:key import-path #:allow-other-keys)
+              (with-directory-excursion (string-append "src/" import-path)
+                (invoke "make" (string-append "PREFIX=" #$output)
+                        "install")))))))
+    (native-inputs
+     (list go-github-com-bitly-go-hostpool
+           go-github-com-bitly-timer-metrics
+           go-github-com-blang-semver
+           go-github-com-bmizerany-perks-quantile
+           go-github-com-burntsushi-toml
+           go-github-com-davecgh-go-spew
+           go-github-com-golang-snappy ; Move to (gnu packages golang)
+           go-github-com-julienschmidt-httprouter
+           go-github-com-mreiferson-go-options
+           go-github-com-mreiferson-go-svc
+           go-github-com-nsqio-go-diskqueue
+           go-github-com-nsqio-go-nsq
+           python-wrapper))
+    (home-page "https://nsq.io")
+    (synopsis "Realtime distributed messaging platform")
+    (description
+     "NSQ is a realtime distributed messaging platform designed to operate at
+scale, handling billions of messages per day.
+
+Key features:
+@itemize
+@item support distributed topologies without @acronym{SPOF, Single Point of
+Failure}
+@item scale horizontally (no brokers, seamlessly add more nodes to the
+cluster)
+@item low-latency push based message delivery (performance)
+@item combine load-balanced and multicast style message routing
+@item excel at both streaming (high-throughput) and job oriented
+(low-throughput) workloads
+@item primarily in-memory (beyond a high-water mark messages are transparently
+kept on disk)
+@item runtime discovery service for consumers to find producers (nsqlookupd)
+@item transport layer security (TLS)
+@item data format agnostic
+@item few dependencies (easy to deploy) and a sane, bounded, default
+configuration
+@item simple TCP protocol supporting client libraries in any language
+@item HTTP interface for stats, admin actions, and producers (no client
+library needed to publish)
+@item integrate with @acronym{StatsD, Stats aggregation Daemon} for realtime
+instrumentation
+@item robust cluster administration interface (nsqadmin)
+@end itemize")
+    (license license:expat)))
+
 (define-public corosync
   (package
     (name "corosync")
-- 
2.40.1





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

* [bug#65118]
  2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
                   ` (10 preceding siblings ...)
  2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
@ 2023-09-03 14:07 ` Sharlatan Hellseher
  2023-09-05  3:45   ` bug#65118: none Maxim Cournoyer
  11 siblings, 1 reply; 32+ messages in thread
From: Sharlatan Hellseher @ 2023-09-03 14:07 UTC (permalink / raw)
  To: 65118; +Cc: Maxim Cournoyer

Hi Maxim,

I think I've covered all review points in v2, let me know if you spot
anything else to adjust.

Thanks,
Oleg

-- 
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.

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

* bug#65118: none
  2023-09-03 14:07 ` [bug#65118] Sharlatan Hellseher
@ 2023-09-05  3:45   ` Maxim Cournoyer
  0 siblings, 0 replies; 32+ messages in thread
From: Maxim Cournoyer @ 2023-09-05  3:45 UTC (permalink / raw)
  To: Sharlatan Hellseher; +Cc: 65118-done

Hi,

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

> Hi Maxim,
>
> I think I've covered all review points in v2, let me know if you spot
> anything else to adjust.

I did very small changes to 2 packages, and installed the series!

-- 
Thanks,
Maxim




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

end of thread, other threads:[~2023-09-05  3:46 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-06 19:54 [bug#65118] [PATCH 0/9]: gnu: Add NSQ Sharlatan Hellseher
2023-08-06 19:55 ` [bug#65118] [PATCH 1/9] gnu: Add go-github-com-bitly-go-hostpool Sharlatan Hellseher
2023-08-06 19:55 ` [bug#65118] [PATCH 2/9] gnu: Add go-github-com-bitly-timer-metrics Sharlatan Hellseher
2023-08-27  2:08   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 3/9] gnu: Add go-github-com-bmizerany-perks-quantile Sharlatan Hellseher
2023-08-27  2:10   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 4/9] gnu: Add go-github-com-mreiferson-go-svc Sharlatan Hellseher
2023-08-27  2:13   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 5/9] gnu: Add go-github-com-julienschmidt-httprouter Sharlatan Hellseher
2023-08-27  2:14   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 6/9] gnu: Add go-github-com-mreiferson-go-options Sharlatan Hellseher
2023-08-27  2:15   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 7/9] gnu: Add go-github-com-nsqio-go-diskqueue Sharlatan Hellseher
2023-08-27  2:18   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 8/9] gnu: Add go-github-com-nsqio-go-nsq Sharlatan Hellseher
2023-08-27  2:23   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-06 19:55 ` [bug#65118] [PATCH 9/9] gnu: Add nsq Sharlatan Hellseher
2023-08-27  2:02   ` [bug#65118] [PATCH 0/9]: gnu: Add NSQ Maxim Cournoyer
2023-08-26 16:17 ` [bug#65118] Sharlatan Hellseher
2023-08-27  2:24   ` [bug#65118] none Maxim Cournoyer
2023-09-01 19:57 ` [bug#65118] [PATCH v2 0/9] gnu: Add NSQ Sharlatan Hellseher
2023-09-01 19:58   ` [bug#65118] [PATCH v2 1/9] gnu: Add go-github-com-bitly-go-hostpool Sharlatan Hellseher
2023-09-01 19:58   ` [bug#65118] [PATCH v2 2/9] gnu: Add go-github-com-bitly-timer-metrics Sharlatan Hellseher
2023-09-01 19:58   ` [bug#65118] [PATCH v2 3/9] gnu: Add go-github-com-bmizerany-perks-quantile Sharlatan Hellseher
2023-09-01 19:58   ` [bug#65118] [PATCH v2 4/9] gnu: Add go-github-com-mreiferson-go-svc Sharlatan Hellseher
2023-09-01 19:58   ` [bug#65118] [PATCH v2 5/9] gnu: Add go-github-com-julienschmidt-httprouter Sharlatan Hellseher
2023-09-01 19:58   ` [bug#65118] [PATCH v2 6/9] gnu: Add go-github-com-mreiferson-go-options Sharlatan Hellseher
2023-09-01 19:58   ` [bug#65118] [PATCH v2 7/9] gnu: Add go-github-com-nsqio-go-diskqueue Sharlatan Hellseher
2023-09-01 19:58   ` [bug#65118] [PATCH v2 8/9] gnu: Add go-github-com-nsqio-go-nsq Sharlatan Hellseher
2023-09-01 19:58   ` [bug#65118] [PATCH v2 9/9] gnu: Add nsq Sharlatan Hellseher
2023-09-03 14:07 ` [bug#65118] Sharlatan Hellseher
2023-09-05  3:45   ` bug#65118: none Maxim Cournoyer

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).