[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/04: gnu: Add librseq.
From: |
guix-commits |
Subject: |
03/04: gnu: Add librseq. |
Date: |
Tue, 12 Apr 2022 17:56:16 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit 1885f8035a41b2f92cf904d11506ac105f90a8a9
Author: Olivier Dion <olivier.dion@polymtl.ca>
AuthorDate: Thu Apr 7 09:40:43 2022 -0400
gnu: Add librseq.
* gnu/packages/engineering.scm (librseq): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
gnu/packages/engineering.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 17f554df72..1c945eb07b 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1156,6 +1156,34 @@ libraries.")
(description "This package contains the official KiCad project and
worksheet templates.")))
+(define-public librseq
+ ;; There's no release.
+ (let ((commit "170f840b498e1aff068b90188727a656111bfc2f")
+ (revision "1"))
+ (package
+ (name "librseq")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/compudj/librseq.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0rdx59y8y9x8cfmmx5gl66gibkzpk3kw5lrrqhrxan8zr37a055y"))))
+ (build-system gnu-build-system)
+ (native-inputs (list autoconf automake libtool))
+ (home-page "https://github.com/compudj/librseq")
+ (synopsis "Userspace library for restartable sequences")
+ (description "A restartable sequence is a critical region delimited by a
+program where if its execution is preempted or interrupted, the kernel will
+divert the program control flow to a defined abort handler. They are a good
+alternative to atomic operations for critical fast paths and are usually used
+in the context of per-cpu data. The library offers ABI headers to interface
+with the kernel and various utilities such as per-cpu counters.")
+ (license (list license:lgpl2.1 license:expat)))))
+
(define-public linsmith
(package
(name "linsmith")