summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/cluster.scm41
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/cluster.scm b/gnu/packages/cluster.scm
index 18f2707469..e643cc58f9 100644
--- a/gnu/packages/cluster.scm
+++ b/gnu/packages/cluster.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2021 Dion Mendel <guix@dm9.info>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,6 +34,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages sphinx)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls))
@@ -220,3 +222,42 @@ that, a pluggable interface defines the I/O implementation for networking
(send/receive RPC messages) and disk persistence (store log entries and
snapshots).")
(license license:asl2.0)))
+
+(define-public libdqlite
+ (package
+ (name "libdqlite")
+ (version "1.7.0")
+ (home-page "https://github.com/canonical/dqlite")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "15cg8yl3n7lcg0qyg0byciz8v6y200ghmzzkwpdzggy3m6c168wl"))))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (substitute* "Makefile.am"
+ ;; Test client/query sometimes fails.
+ ;; The actual tested asserts succeed, but there appears to be a
+ ;; race condition when tearing down the test server.
+ ((".*test_client.c.*") "")))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libraft" ,libraft)
+ ("libuv" ,libuv)))
+ (propagated-inputs
+ `(("sqlite" ,sqlite))) ; dqlite.h includes sqlite3.h
+ (build-system gnu-build-system)
+ (synopsis "Distributed SQLite")
+ (description "dqlite is a C library that implements an embeddable and replicated
+SQL database engine with high-availability and automatic failover.")
+ (license license:lgpl3)))