diff options
author | Mathieu Othacehe <othacehe@gnu.org> | 2020-08-26 18:35:14 +0200 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2020-08-26 18:35:14 +0200 |
commit | 17dddeeee560527a8f30d37761949d658056cb09 (patch) | |
tree | 15b0b19c55787f556eb9b42c28d173bddc5435db /gnu/packages/datastructures.scm | |
parent | 331a09654eb7e9f6212b7e8469077fa7393e8b11 (diff) | |
parent | 6a9581741e4ee81226aeb2f1c997df76670a6aab (diff) | |
download | guix-patches-17dddeeee560527a8f30d37761949d658056cb09.tar guix-patches-17dddeeee560527a8f30d37761949d658056cb09.tar.gz |
Merge remote-tracking branch 'origin/master' into core-updates
Diffstat (limited to 'gnu/packages/datastructures.scm')
-rw-r--r-- | gnu/packages/datastructures.scm | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index b996a537cf..a9f30831ec 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ (define-module (gnu packages datastructures) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages boost) #:use-module (gnu packages perl) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -82,7 +84,7 @@ library.") (define-public sparsehash (package (name "sparsehash") - (version "2.0.3") + (version "2.0.4") (source (origin (method git-fetch) (uri (git-reference @@ -91,7 +93,7 @@ library.") (file-name (git-file-name name version)) (sha256 (base32 - "0m3f0cnpnpf6aak52wn8xbrrdw8p0yhq8csgc8nlvf9zp8c402na")))) + "1pf1cjvcjdmb9cd6gcazz64x0cd2ndpwh6ql2hqpypjv725xwxy7")))) (build-system gnu-build-system) (synopsis "Memory-efficient hashtable implementations") (description @@ -284,3 +286,41 @@ Burrows-Wheeler transformed string from a given string over a constant-size alphabet. The algorithm runs in O(n log n) worst-case time using only 5n+O(1) bytes of memory space, where n is the length of the string.") (license license:expat))) + +(define-public robin-map + (package + (name "robin-map") + (version "0.6.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Tessil/robin-map") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1li70vwsksva9c4yly90hjafgqfixi1g6d52qq9p6r60vqc4pkjj")))) + (build-system cmake-build-system) + (native-inputs + `(("boost" ,boost))) ; needed for tests + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (mkdir "tests") + (with-directory-excursion "tests" + (invoke "cmake" "../../source/tests") + (invoke "cmake" "--build" ".") + (invoke "./tsl_robin_map_tests"))))))) + (home-page "https://github.com/Tessil/robin-map") + (synopsis "C++ implementation of a fast hash map and hash set") + (description "The robin-map library is a C++ implementation of a fast hash +map and hash set using open-addressing and linear robin hood hashing with +backward shift deletion to resolve collisions. + +Four classes are provided: tsl::robin_map, tsl::robin_set, tsl::robin_pg_map +and tsl::robin_pg_set. The first two are faster and use a power of two growth +policy, the last two use a prime growth policy instead and are able to cope +better with a poor hash function.") + (license license:expat))) |