diff options
Diffstat (limited to 'gnu/packages/cluster.scm')
-rw-r--r-- | gnu/packages/cluster.scm | 45 |
1 files changed, 40 insertions, 5 deletions
diff --git a/gnu/packages/cluster.scm b/gnu/packages/cluster.scm index 3608d67bed..9548352d12 100644 --- a/gnu/packages/cluster.scm +++ b/gnu/packages/cluster.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,7 +22,10 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix packages) + #:use-module (gnu packages autotools) + #:use-module (gnu packages gettext) #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages sphinx) @@ -31,7 +35,7 @@ (define-public keepalived (package (name "keepalived") - (version "2.0.5") + (version "2.0.18") (source (origin (method url-fetch) (uri (string-append @@ -39,7 +43,7 @@ version ".tar.gz")) (sha256 (base32 - "021a7c1lq4aqx7dbwhlm5km6w039hapfzp5hf6wb5bfq79s25g38")))) + "1l2g0bzzbah9svfpwa0b9dgvwfv85r2y3qdr54822hg5p2qs48ql")))) (build-system gnu-build-system) (arguments '(#:phases @@ -48,7 +52,7 @@ (lambda _ (invoke "make" "-C" "doc" "texinfo") ;; Put images in a subdirectory as recommended by 'texinfo'. - (install-file "doc/build/texinfo/software_design.png" + (install-file "doc/source/images/software_design.png" "doc/build/texinfo/keepalived-figures") (substitute* "doc/build/texinfo/keepalived.texi" (("@image\\{software_design,") @@ -59,7 +63,7 @@ (let* ((out (assoc-ref outputs "out")) (infodir (string-append out "/share/info"))) (install-file "doc/build/texinfo/keepalived.info" infodir) - (install-file "doc/build/texinfo/software_design.png" + (install-file "doc/source/images/software_design.png" (string-append infodir "/keepalived-figures")) #t)))))) (native-inputs @@ -70,7 +74,7 @@ `(("openssl" ,openssl) ("libnfnetlink" ,libnfnetlink) ("libnl" ,libnl))) - (home-page "http://www.keepalived.org/") + (home-page "https://www.keepalived.org/") (synopsis "Load balancing and high-availability frameworks") (description "Keepalived provides frameworks for both load balancing and high @@ -79,3 +83,34 @@ Server (@dfn{IPVS}) kernel module. High availability is achieved by the Virtual Redundancy Routing Protocol (@dfn{VRRP}). Each Keepalived framework can be used independently or together to provide resilient infrastructures.") (license license:gpl2+))) + +(define-public libraft + (package + (name "libraft") + (version "0.9.5") + (home-page "https://github.com/canonical/raft") + (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 + "1q49f5mmv6nr6dxhnp044xwc6jlczgh0nj0bl6718wiqh28411x0")))) + (arguments '(#:configure-flags '("--disable-uv"))) + ;; The uv plugin tests fail, if libuv (or the example) is enabled, + ;; because setting up the environment requires too much privileges. + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gettext-minimal) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (build-system gnu-build-system) + (synopsis "C implementation of the Raft consensus protocol") + (description "The library has modular design: its core part implements only +the core Raft algorithm logic, in a fully platform independent way. On top of +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))) |