From 08b55f14435fa04e7c21c066ed35d9494deccaa9 Mon Sep 17 00:00:00 2001 From: Dion Mendel Date: Tue, 1 Jun 2021 14:03:23 +0800 Subject: gnu: Add libdqlite. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cluster.scm (libdqlite): New Variable. Signed-off-by: Ludovic Courtès --- gnu/packages/cluster.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) 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 ;;; Copyright © 2019 Andrew Miloradovsky ;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2021 Dion Mendel ;;; ;;; 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))) -- cgit v1.2.3