summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorSughosha <sughosha@disroot.org>2026-03-13 13:53:17 +0530
committerSughosha <sughosha@disroot.org>2026-05-05 13:38:03 +0530
commit0861076552442ebf4180a4cdfe57d5c5e631e3d5 (patch)
treeaa516d05c113c0ad91e3d05493f3c6e6d0627dc3 /gnu
parentba3368fcc79073636789fbd6ba38b276e71ee618 (diff)
gnu: Add ringbuffer.
* gnu/packages/cpp.scm (ringbuffer): New variable. Change-Id: Ic253a4870a1caa526f7107a9cc215699dd7a0e0c
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/cpp.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index ba7fcc74f09..f9de2e49fdb 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1673,6 +1673,38 @@ maintained anymore.")
1673concurrent queue for C++11.") 1673concurrent queue for C++11.")
1674 (license license:bsd-2))) 1674 (license license:bsd-2)))
1675 1675
1676(define-public ringbuffer
1677 (package
1678 (name "ringbuffer")
1679 (version "0.9.0")
1680 (source (origin
1681 (method git-fetch)
1682 (uri (git-reference
1683 (url "https://github.com/JohannesLorenz/ringbuffer")
1684 (commit (string-append "v" version))))
1685 (file-name (git-file-name name version))
1686 (sha256
1687 (base32
1688 "1c57hj6zyvcjpcbwrq8c1hj5brk1bnh69ayd88ny1p0gx031sjpk"))))
1689 (build-system cmake-build-system)
1690 (arguments
1691 (list #:configure-flags
1692 #~(list "-DCMAKE_CXX_FLAGS=-Wno-error=array-bounds"
1693 (string-append "-DINSTALL_LIB_DIR=" #$output "/lib"))
1694 #:phases
1695 #~(modify-phases %standard-phases
1696 (add-after 'install 'install-export-header
1697 (lambda _
1698 (install-file "src/lib/ringbuffer_export.h"
1699 (string-append #$output
1700 "/include/ringbuffer")))))))
1701 (home-page "https://github.com/JohannesLorenz/ringbuffer")
1702 (synopsis "Lock-free multi-reader ringbuffer")
1703 (description
1704 "@code{ringbuffer} is a library containing a ringbuffer. It is lock-free
1705(using atomics only), and allows multiple readers, but only one writer.")
1706 (license license:gpl3+)))
1707
1676(define-public spscqueue 1708(define-public spscqueue
1677 (package 1709 (package
1678 (name "spscqueue") 1710 (name "spscqueue")