[PATCH] gnu: Add librseq.

DoneSubmitted by Olivier Dion.
Details
3 participants
  • Liliana Marie Prikler
  • Ludovic Courtès
  • Olivier Dion
Owner
unassigned
Severity
normal
O
O
Olivier Dion wrote on 7 Apr 01:30 +0200
(address . guix-patches@gnu.org)(name . Olivier Dion)(address . olivier.dion@polymtl.ca)
eb897ca2f879013bc5d792e8eaa792e68ac1789f.1649287765.git.olivier.dion@polymtl.ca
* gnu/packages/engineering.scm (librseq): New variable.
---
gnu/packages/engineering.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index cb721ddd2e..9b0a917f8e 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1148,6 +1148,31 @@ (define-public kicad-templates
     (description "This package contains the official KiCad project and
 worksheet templates.")))
 
+(define-public librseq
+  (let ((commit "170f840b498e1aff068b90188727a656111bfc2f")
+        (hash "0rdx59y8y9x8cfmmx5gl66gibkzpk3kw5lrrqhrxan8zr37a055y"))
+    (package
+      (name "librseq")
+      (version "0.0.0")
+      (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 hash))))
+      (build-system gnu-build-system)
+      (native-inputs (list autoconf automake libtool))
+      (propagated-inputs (list linux-libre-headers))
+      (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 the execution its preempted or interrupted, the kernel will
+divert the program control flow to a custom handler.  They are a good
+alternative to atomic operations for critical fast paths and are usually used
+in the context of per-cpu data.")
+      (license (list license:lgpl2.1 license:expat)))))
+
 (define-public linsmith
   (package
     (name "linsmith")
-- 
2.34.0
L
L
Liliana Marie Prikler wrote on 7 Apr 08:06 +0200
adf6b85db25408349af9e9b3abbb7b2353e2a022.camel@ist.tugraz.at
Am Mittwoch, dem 06.04.2022 um 19:30 -0400 schrieb Olivier Dion:
Toggle quote (19 lines)
> * gnu/packages/engineering.scm (librseq): New variable.
> ---
>  gnu/packages/engineering.scm | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/engineering.scm
> b/gnu/packages/engineering.scm
> index cb721ddd2e..9b0a917f8e 100644
> --- a/gnu/packages/engineering.scm
> +++ b/gnu/packages/engineering.scm
> @@ -1148,6 +1148,31 @@ (define-public kicad-templates
>      (description "This package contains the official KiCad project
> and
>  worksheet templates.")))
>  
> +(define-public librseq
> +  (let ((commit "170f840b498e1aff068b90188727a656111bfc2f")
> +        (hash
> "0rdx59y8y9x8cfmmx5gl66gibkzpk3kw5lrrqhrxan8zr37a055y"))
Missing revision. Also specify why a non-release commit is used.
Toggle quote (3 lines)
> +    (package
> +      (name "librseq")
> +      (version "0.0.0")
Use git-version.
Toggle quote (7 lines)
> +      (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 hash))))
Type out hash.
Toggle quote (16 lines)
> +      (build-system gnu-build-system)
> +      (native-inputs (list autoconf automake libtool))
> +      (propagated-inputs (list linux-libre-headers))
> +      (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 the execution its preempted or interrupted, the
> kernel will
> +divert the program control flow to a custom handler.  They are a
> good
> +alternative to atomic operations for critical fast paths and are
> usually used
> +in the context of per-cpu data.")
> +      (license (list license:lgpl2.1 license:expat)))))
> +
Cheers
O
O
Olivier Dion wrote on 7 Apr 15:40 +0200
[PATCH v2] gnu: Add librseq.
0af416702325df5253f135c84b09ba32843af473.1649338754.git.olivier.dion@polymtl.ca
* gnu/packages/engineering.scm (librseq): New variable.
---
gnu/packages/engineering.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index cb721ddd2e..8d568d59a3 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1148,6 +1148,34 @@ (define-public kicad-templates
     (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")
-- 
2.34.0
L
L
Ludovic Courtès wrote on 12 Apr 23:48 +0200
Re: bug#54757: [PATCH] gnu: Add librseq.
(name . Olivier Dion)(address . olivier.dion@polymtl.ca)
87r162as7g.fsf_-_@gnu.org
Salut Olivier,

Olivier Dion <olivier.dion@polymtl.ca> skribis:

Toggle quote (2 lines)
> * gnu/packages/engineering.scm (librseq): New variable.

Applied, thanks!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 54757@debbugs.gnu.org