summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorAndy Tai <atai@atai.org>2023-07-27 21:54:22 -0700
committerRicardo Wurmus <rekado@elephly.net>2023-09-08 10:53:37 +0200
commit7879ab4229d87a597713b96a779fc00bc0e34f3f (patch)
tree25588482b1fe7e4c1eda0b3f33d36c04395399b3 /gnu
parentc6ac52e8e6aa6e77ac0824b378904b8269adc789 (diff)
gnu: Add nsync.
* gnu/packages/c.scm (nsync): New variable. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/c.scm29
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 9e5b511b98..ea58c68262 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2022 ( <paren@disroot.org>
+;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;;
@@ -1495,6 +1496,34 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
"This package provides a header-only unit testing library for C/C++.")
(license license:unlicense))))
+(define-public nsync
+ (package
+ (name "nsync")
+ (version "1.26.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/nsync")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qg58kkcbm4zqkql8j5yvrb7fpx09qsf7j93dwqb9s1y69l70kx4"))))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/google/nsync")
+ (synopsis "C library for synchronization primitives")
+ (description
+ "nsync is a C library that exports various synchronization primitives:
+@enumerate
+@item locks,
+@item condition variables,
+@item run-once initialization,
+@item waitable counter (useful for barriers),
+@item waitable bit (useful for cancellation, or other conditions).
+@end enumerate
+")
+ (license license:asl2.0)))
+
(define-public ispc
(package
(name "ispc")