diff mbox series

[bug#56202,v4] gnu: Add nsync.

Message ID f695914d0d26e9da855aac0c6fb69d03326daa2b.1686895184.git.atai@atai.org
State New
Headers show
Series [bug#56202,v4] gnu: Add nsync. | expand

Commit Message

Andy Tai June 16, 2023, 6:01 a.m. UTC
* gnu/packages/c.scm (nsync): New variable.
---
 gnu/packages/c.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)


base-commit: 31336e9f5d68512a9c1c6826bce9f17c892a2125
diff mbox series

Patch

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index e8bde0133d..0b8cf20c6e 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -18,6 +18,7 @@ 
 ;;; Copyright © 2022 Ekaitz Zarraga <ekaitz@elenq.tech>
 ;;; Copyright © 2022 ( <paren@disroot.org>
 ;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
+;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1453,6 +1454,35 @@  (define-public utest-h
        "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")