summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2025-07-10 15:47:01 +0100
committerSharlatan Hellseher <sharlatanus@gmail.com>2025-07-22 20:13:09 +0100
commit2ff8d854aee92d67a815dabde84c5b1028c2e075 (patch)
tree814517fd39d5667dec6bb1e15f72324b6242e342
parentd9e52c0964417922ae7cb834a687c3f4e9873258 (diff)
gnu: Add cowsql-raft.
* gnu/packages/high-availability.scm.scm (cowsql-raft): New variable. Change-Id: I68327332f6ed1fcd82c39894087f709ced053a06
-rw-r--r--gnu/packages/high-availability.scm43
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm
index 9951acb1f59..7c21bcf8ca1 100644
--- a/gnu/packages/high-availability.scm
+++ b/gnu/packages/high-availability.scm
@@ -36,6 +36,7 @@
36 #:use-module (gnu packages base) 36 #:use-module (gnu packages base)
37 #:use-module (gnu packages bash) 37 #:use-module (gnu packages bash)
38 #:use-module (gnu packages check) 38 #:use-module (gnu packages check)
39 #:use-module (gnu packages cluster)
39 #:use-module (gnu packages compression) 40 #:use-module (gnu packages compression)
40 #:use-module (gnu packages crypto) 41 #:use-module (gnu packages crypto)
41 #:use-module (gnu packages documentation) 42 #:use-module (gnu packages documentation)
@@ -51,6 +52,7 @@
51 #:use-module (gnu packages golang-web) 52 #:use-module (gnu packages golang-web)
52 #:use-module (gnu packages golang-xyz) 53 #:use-module (gnu packages golang-xyz)
53 #:use-module (gnu packages hardware) 54 #:use-module (gnu packages hardware)
55 #:use-module (gnu packages libevent)
54 #:use-module (gnu packages linux) 56 #:use-module (gnu packages linux)
55 #:use-module (gnu packages lua) 57 #:use-module (gnu packages lua)
56 #:use-module (gnu packages networking) 58 #:use-module (gnu packages networking)
@@ -74,6 +76,47 @@
74 #:use-module ((guix licenses) 76 #:use-module ((guix licenses)
75 #:prefix license:)) 77 #:prefix license:))
76 78
79(define-public cowsql-raft
80 (package
81 (name "cowsql-raft")
82 (version "0.22.1")
83 (source
84 (origin
85 (method git-fetch)
86 (uri (git-reference
87 (url "https://github.com/cowsql/raft")
88 (commit (string-append "v" version))))
89 (file-name (git-file-name name version))
90 (sha256
91 (base32 "1cs70jlc2hg3hrcwpc4h54l4zpwm287mlamdm7gxhpdw7c0kyv38"))))
92 (build-system gnu-build-system)
93 (arguments
94 (list
95 #:phases
96 #~(modify-phases %standard-phases
97 (replace 'bootstrap
98 (lambda _
99 (invoke "autoreconf" "-vfi"))))))
100 (native-inputs
101 (list autoconf
102 automake
103 libtool
104 pkg-config))
105 (inputs
106 (list libuv
107 lz4))
108 (home-page "https://github.com/cowsql/raft")
109 (synopsis "Asynchronous C implementation of the Raft consensus protocol")
110 (description
111 "This package implements a Raft algorithm logic (no I/O and no system
112calls). On top of that, various drivers are provided that implement actual
113network communication and persistent data storage.
114
115The core part of the library is designed to work well with asynchronous or
116non-blocking I/O engines (such as libuv and io_uring), although it can be used
117in threaded or blocking contexts as well.")
118 (license license:lgpl3)))
119
77(define-public haproxy 120(define-public haproxy
78 (package 121 (package
79 (name "haproxy") 122 (name "haproxy")