diff mbox series

[bug#56202] gnu: Add nsync.

Message ID 20220624183946.23595-1-antero@mailbox.org
State New
Headers show
Series [bug#56202] gnu: Add nsync. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Antero Mejr June 24, 2022, 6:39 p.m. UTC
* gnu/packages/c.scm (nsync): New variable.
---
 gnu/packages/c.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

Comments

Ricardo Wurmus Sept. 8, 2023, 8:48 a.m. UTC | #1
Applied with very minor changes.  Thank you!
diff mbox series

Patch

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 3e49539473..9f7e6891b9 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -14,6 +14,7 @@ 
 ;;; Copyright © 2021 David Dashyan <mail@davie.li>
 ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
 ;;; Copyright © 2022 (unmatched parenthesis <paren@disroot.org>
+;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1134,3 +1135,31 @@  (define-public utf8-h
 C and C++.  The functions it provides are like those from the C header
 string.h, but with a utf8* prefix instead of the str* prefix.")
       (license license:unlicense))))
+
+(define-public nsync
+  (package
+    (name "nsync")
+    (version "1.24.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
+                "0737jcjw5nxv34zs7ppp6hqimb79k51kjiavgg0ygsfi22a6s0ld"))))
+    (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)))