Subject: [PATCH 5/6] gnu: Add userspace-rcu.

From: Marius Bakke <[email-masked]>
Date: Sat, 25 Mar 2017 21:30:16 +0100

* gnu/packages/linux.scm (userspace-rcu): New variable.
---
 gnu/packages/linux.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index bf16ff0eb..1e9f93e70 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -3404,6 +3404,38 @@ monitoring tools for Linux.  These include @code{mpstat}, @code{iostat},
 @code{sadf} and @code{sa}.")
     (license license:gpl2+)))
 
+(define-public userspace-rcu
+  (package
+    (name "userspace-rcu")
+    (version "0.9.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.lttng.org/files/urcu/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "01j0xp3f0w147yfyzybkjvb7i67i7prsvnkssgvgwry9lvk35khv"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("perl-test-harness" ,perl-test-harness))) ; for the 'prove' command
+    (home-page "http://liburcu.org/")
+    (synopsis
+     "Efficient data structures based on RCU and lock-free algorithms")
+    (description
+     "@code{liburcu} is a userspace @dfn{RCU} (read-copy-update) library.
+This data synchronization library provides read-side access which scales
+linearly with the number of cores.")
+    (license
+     ;; This library is distributed under LGPL2.1+, but includes some files
+     ;; covered by other licenses. The LICENSE file has full details.
+     (list license:lgpl2.1+
+           license:gpl3+                         ; most tests are gpl2+; tap.sh is gpl3+
+           license:bsd-2                         ; tests/utils/tap/tap.[ch]
+           license:expat                         ; urcu/uatomic/*
+           ;; A few files use different variants of the MIT/X11 license.
+           (license:x11-style "file://LICENSE"
+                              "See LICENSE in the distribution for details.")))))
+
 (define-public light
   (package
     (name "light")
-- 
2.12.2