summaryrefslogtreecommitdiff
path: root/gnu/packages/datastructures.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/datastructures.scm')
-rw-r--r--gnu/packages/datastructures.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index 9f4514a247e..bd6044e1d05 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -27,6 +27,7 @@
27 #:use-module (gnu packages autotools) 27 #:use-module (gnu packages autotools)
28 #:use-module (gnu packages boost) 28 #:use-module (gnu packages boost)
29 #:use-module (gnu packages perl) 29 #:use-module (gnu packages perl)
30 #:use-module (gnu packages pkg-config)
30 #:use-module ((guix licenses) #:prefix license:) 31 #:use-module ((guix licenses) #:prefix license:)
31 #:use-module (guix packages) 32 #:use-module (guix packages)
32 #:use-module (guix gexp) 33 #:use-module (guix gexp)
@@ -441,3 +442,42 @@ and tsl::robin_pg_set. The first two are faster and use a power of two growth
441policy, the last two use a prime growth policy instead and are able to cope 442policy, the last two use a prime growth policy instead and are able to cope
442better with a poor hash function.") 443better with a poor hash function.")
443 (license license:expat))) 444 (license license:expat)))
445
446(define-public zix
447 (let ((commit "56ec14c4369c591f5efbb500b0829b760bee7800")
448 (revision "0"))
449 (package
450 (name "zix")
451 (version (git-version "0.0.0" revision commit))
452 (source (origin
453 (method git-fetch)
454 (uri (git-reference
455 (url "https://gitlab.com/drobilla/zix.git")
456 (commit commit)))
457 (file-name (git-file-name name version))
458 (sha256
459 (base32
460 "095b2vjmwh9swbwkkkjpcdhsi0c93lxrzd76k7hzdyyf7zb5rgdx"))))
461 (build-system meson-build-system)
462 (arguments
463 (list #:configure-flags #~(list "-Ddocs=disabled"))) ;needs "sphinxygen"
464 (native-inputs (list pkg-config))
465 (home-page "https://gitlab.com/drobilla/zix")
466 (synopsis "C library of portability wrappers and data structures")
467 (description
468 "Zix is a C library of portability wrappers and data structures. It
469provides the following components:
470@table @code
471@item ZixAllocator A customizable allocator.
472@item ZixBumpAllocator A simple realtime-safe bump-pointer allocator.
473@item ZixBTree A page-allocated B-tree.
474@item ZixHash An open-addressing hash table.
475@item ZixRing A lock-free realtime-safe ring buffer.
476@item ZixSem A portable semaphore wrapper.
477@item ZixThread A portable thread wrapper.
478@item ZixTree A binary search tree.
479@item zixgest.h Digest functions suitable for hashing arbitrary data.
480zix/filesystem.h Functions for working with filesystems.
481@item zix/path.h Functions for working with filesystem paths lexically.
482@end table")
483 (license license:isc))))