From 7879ab4229d87a597713b96a779fc00bc0e34f3f Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Thu, 27 Jul 2023 21:54:22 -0700 Subject: [PATCH] gnu: Add nsync. * gnu/packages/c.scm (nsync): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/c.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) 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 ;;; Copyright © 2022 Ekaitz Zarraga ;;; Copyright © 2022 ( +;;; Copyright © 2022 Antero Mejr ;;; Copyright © 2023 zamfofex ;;; Copyright © 2023 Foundation Devices, Inc. ;;; @@ -1495,6 +1496,34 @@ (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")