From d2e932cd45bb3bd156b905a0e065ea3509121d68 Mon Sep 17 00:00:00 2001 From: Antero Mejr Date: Sat, 11 Feb 2023 12:00:38 +0100 Subject: [PATCH] gnu: Add zix. * gnu/packages/datastructures.scm (zix): New variable. Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer --- gnu/packages/datastructures.scm | 40 +++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index 9f4514a247..bd6044e1d0 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -27,6 +27,7 @@ (define-module (gnu packages datastructures) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix gexp) @@ -441,3 +442,42 @@ (define-public robin-map policy, the last two use a prime growth policy instead and are able to cope better with a poor hash function.") (license license:expat))) + +(define-public zix + (let ((commit "56ec14c4369c591f5efbb500b0829b760bee7800") + (revision "0")) + (package + (name "zix") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/drobilla/zix.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "095b2vjmwh9swbwkkkjpcdhsi0c93lxrzd76k7hzdyyf7zb5rgdx")))) + (build-system meson-build-system) + (arguments + (list #:configure-flags #~(list "-Ddocs=disabled"))) ;needs "sphinxygen" + (native-inputs (list pkg-config)) + (home-page "https://gitlab.com/drobilla/zix") + (synopsis "C library of portability wrappers and data structures") + (description + "Zix is a C library of portability wrappers and data structures. It +provides the following components: +@table @code +@item ZixAllocator A customizable allocator. +@item ZixBumpAllocator A simple realtime-safe bump-pointer allocator. +@item ZixBTree A page-allocated B-tree. +@item ZixHash An open-addressing hash table. +@item ZixRing A lock-free realtime-safe ring buffer. +@item ZixSem A portable semaphore wrapper. +@item ZixThread A portable thread wrapper. +@item ZixTree A binary search tree. +@item zixgest.h Digest functions suitable for hashing arbitrary data. +zix/filesystem.h Functions for working with filesystems. +@item zix/path.h Functions for working with filesystem paths lexically. +@end table") + (license license:isc))))