summary refs log tree commit diff
path: root/gnu/packages/datastructures.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2019-01-07 11:55:00 +0100
committerRicardo Wurmus <rekado@elephly.net>2019-01-07 11:56:14 +0100
commitad6f13308b1b3ee38ef76482bc597d9a9e1a31c2 (patch)
tree2b23dc9e0a31c9bc40c1eea888ca2ad7e8c0333d /gnu/packages/datastructures.scm
parentc71bbfcca9b6ade4c3b9bd7bda28ab60819466b3 (diff)
downloadguix-ad6f13308b1b3ee38ef76482bc597d9a9e1a31c2.tar.gz
gnu: Add sdsl-lite.
* gnu/packages/datastructures.scm (sdsl-lite): New variable.
Diffstat (limited to 'gnu/packages/datastructures.scm')
-rw-r--r--gnu/packages/datastructures.scm32
1 files changed, 31 insertions, 1 deletions
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index 4e5e59a2e3..c2c2c59be4 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
 ;;;
@@ -20,10 +20,12 @@
 
 (define-module (gnu packages datastructures)
   #:use-module (gnu packages)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages perl)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu))
 
 (define-public gdsl
@@ -195,3 +197,31 @@ arguments.  Thus, they are able to work with any type of structure and key.
 Any C structure can be stored in a hash table by adding @code{UT_hash_handle}
 to the structure and choosing one or more fields to act as the key.")
     (license license:bsd-2)))
+
+(define-public sdsl-lite
+  (package
+    (name "sdsl-lite")
+    (version "2.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/simongog/sdsl-lite/"
+                                  "releases/download/v" version "/"
+                                  "sdsl-lite-" version
+                                  ".tar.gz.offline.install.gz"))
+              (sha256
+               (base32
+                "1v86ivv3mmdy802i9xkjpxb4cggj3s27wb19ja4sw1klnivjj69g"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)))
+    (home-page "https://github.com/simongog/sdsl-lite")
+    (synopsis "Succinct data structure library")
+    (description "The Succinct Data Structure Library (SDSL) is a powerful and
+flexible C++11 library implementing succinct data structures.  In total, the
+library contains the highlights of 40 research publications.  Succinct data
+structures can represent an object (such as a bitvector or a tree) in space
+close to the information-theoretic lower bound of the object while supporting
+operations of the original object efficiently.  The theoretical time
+complexity of an operation performed on the classical data structure and the
+equivalent succinct data structure are (most of the time) identical.")
+    (license license:gpl3+)))