summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Norton <patrick.147.norton@gmail.com>2026-01-04 10:01:03 -0500
committerSharlatan Hellseher <sharlatanus@gmail.com>2026-04-30 21:34:01 +0100
commitb1f0c4f7a774f83e79c983eb1184b48a088337bc (patch)
tree67d3288106a1a80216b7d3668fad1e79ee8ec397
parent947a740cdcc9ad92f81a382e48c4e7d6590717d1 (diff)
gnu: Add go-github-com-creachadair-msync.
* gnu/packages/golang-xyz.scm (go-github-com-creachadair-msync): New variable. Relates-to: https://codeberg.org/guix/guix/pulls/5417 Change-Id: I3f300e459fded62be45e7110dbbc1ce96f26d667 Reviewed-by: Arthur Rodrigues <arthurhdrodrigues@proton.me> Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com> Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
-rw-r--r--gnu/packages/golang-xyz.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 3162b9feaa..fd0a361490 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -7309,6 +7309,42 @@ Utilities:
@end itemize")
(license license:bsd-3)))
+(define-public go-github-com-creachadair-msync
+ (package
+ (name "go-github-com-creachadair-msync")
+ (version "0.8.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/creachadair/msync")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1z797dc0s99l7xf8zsbynwh1rjqw2w9119n81kjx39zkwrbmnc2w"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.25
+ #:import-path "github.com/creachadair/msync"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ ;; See: <https://go.dev/blog/synctest>.
+ (setenv "GOEXPERIMENT" "synctest")
+ (setenv "GODEBUG" "asynctimerchan=0"))))))
+ (propagated-inputs
+ (list go-github-com-creachadair-mds))
+ (home-page "https://github.com/creachadair/msync")
+ (synopsis "Synchronization management types in Go")
+ (description
+ "This package defines two types for managing concurrency: @code{throttle},
+which allows calls to a function to be coalesced among multiple concurrent
+goroutines and @code{trigger}, that implements channel-based condition
+variable.")
+ (license license:bsd-3)))
+
(define-public go-github-com-creack-pty
(package
(name "go-github-com-creack-pty")