summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac <arunisaac@systemreboot.net>2017-03-08 23:28:34 +0530
committerMarius Bakke <mbakke@fastmail.com>2017-03-09 17:11:03 +0100
commitb6b2ca5d19806a9ef13587b4988aa53ae7812878 (patch)
tree8749f15d6efe1b8e592830b4980e432b31f2628d
parentc220f0b4740fb95e1b8e27d1a6fca00b68dd6df0 (diff)
downloadguix-b6b2ca5d19806a9ef13587b4988aa53ae7812878.tar.gz
gnu: Add python2-larch.
* gnu/packages/python.scm (python2-larch): New variable.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
-rw-r--r--gnu/packages/python.scm31
1 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 2e68db72d7..ee785c26ed 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -13567,3 +13567,34 @@ than using @code{logging.Filter} to accomplish the same thing, which
 matters when code is run in production mode.  The actual logging still
 happens using the @code{logging} library.")
     (license license:gpl3+)))
+
+(define-public python2-larch
+  (package
+    (name "python2-larch")
+    (version "1.20151025")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://git.liw.fi/cgi-bin/cgit/cgit.cgi/larch/snapshot/larch-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "1p4knkkavlqymgciz2wbcnfrdgdbafhg14maplnk4vbw0q8xs663"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2))
+    (propagated-inputs
+     `(("python2-tracing" ,python2-tracing)))
+    (home-page "https://liw.fi/larch/")
+    (synopsis "Python copy-on-write B-tree library")
+    (description "@code{python2-larch} is an implementation of
+particular kind of B-tree, based on research by Ohad Rodeh.  See
+@url{http://liw.fi/larch/ohad-btrees-shadowing-clones.pdf} for details
+on the data structure.
+
+The distinctive feature of this B-tree is that a node is never
+(conceptually) modified.  Instead, all updates are done by
+copy-on-write.  This makes it easy to clone a tree, and modify only the
+clone, while other processes access the original tree.")
+    (license license:gpl3+)))