diff options
author | Sharlatan Hellseher <sharlatanus@gmail.com> | 2025-07-10 16:05:02 +0100 |
---|---|---|
committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2025-07-22 20:13:09 +0100 |
commit | 5569ca7b149a689572941c87c45fe553e8c9225c (patch) | |
tree | 6a4b7bee8ae62790af13ade47c44d5fab0cf62f9 | |
parent | 2ff8d854aee92d67a815dabde84c5b1028c2e075 (diff) |
gnu: Add cowsql.
* gnu/packages/high-availability.scm (cowsql): New variable.
Change-Id: I8c90e2feb908f918eb17f1ee1cae8dbc25079b06
-rw-r--r-- | gnu/packages/high-availability.scm | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm index 7c21bcf8ca..a70a990cb0 100644 --- a/gnu/packages/high-availability.scm +++ b/gnu/packages/high-availability.scm @@ -61,6 +61,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages rsync) + #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) #:use-module (gnu packages version-control) @@ -76,6 +77,53 @@ #:use-module ((guix licenses) #:prefix license:)) +(define-public cowsql + ;; Use the latest commit which includs + ;; <https://github.com/cowsql/cowsql/pull/37>, revert back to vertion tags + ;; when released. + (let ((commit "cb624d3263ca22b42ecfa8a1dd8a0c8d990db7b6") + (revision "0")) + (package + (name "cowsql") + (version (git-version "1.15.8" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cowsql/cowsql") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0b4ymmsp9y9zzwanp739bc6p5qzl1h6ny2g50blhda99xcnlaf77")))) + (build-system gnu-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'bootstrap + (lambda _ + (invoke "autoreconf" "-vfi")))))) + (native-inputs + (list autoconf + automake + libtool + pkg-config)) + (inputs + (list cowsql-raft + libuv + sqlite)) + (home-page "https://github.com/cowsql/cowsql") + (synopsis "Embeddable, replicated and fault tolerant SQL engine") + (description + "cowsql (/ˈkaʊ,siːkwəl/ listen) is a C library that implements an +embeddable and replicated SQL database engine with high availability and +automatic failover. + +cowsql extends SQLite with a network protocol that can connect together +various instances of your application and have them act as a highly-available +cluster, with no dependency on external databases.") + (license license:gpl3+)))) + (define-public cowsql-raft (package (name "cowsql-raft") |