gnu: Add libdqlite.

* gnu/packages/cluster.scm (libdqlite): New Variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Dion Mendel 2021-06-01 14:03:23 +08:00 committed by Ludovic Courtès
parent 404f6145ee
commit 08b55f1443
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -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 @@ (define-module (gnu packages cluster)
#: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 @@ (define-public libraft
(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)))