aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2022-09-28 21:49:20 +0100
committerLudovic Courtès <ludo@gnu.org>2022-10-10 11:16:08 +0200
commit5f856c595479c30d9ccdb0063c9124248fdcf5c2 (patch)
tree926bec14947f302f45101b49c186d04ed4cbfb0b
parentbe3bfce295e065c10ea43154d5c69546c2c24f97 (diff)
downloadguix-5f856c595479c30d9ccdb0063c9124248fdcf5c2.tar
guix-5f856c595479c30d9ccdb0063c9124248fdcf5c2.tar.gz
gnu: Add pacemaker.
* gnu/pacemaker/high-availability.scm (pacemaker): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/high-availability.scm54
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm
index d7620a9beb..108ea553ef 100644
--- a/gnu/packages/high-availability.scm
+++ b/gnu/packages/high-availability.scm
@@ -186,3 +186,57 @@ lost.
@end itemize")
(license (list license:bsd-0 license:gpl3+))))
+
+(define-public pacemaker
+ (package
+ (name "pacemaker")
+ (version "2.1.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ClusterLabs/pacemaker")
+ (commit (string-append "Pacemaker-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "04gfd7i3w0zbzv7vi7728lgbyjq7cbqpr7jsp501piwg3z5j4mvb"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags #~(list "--with-corosync" "--disable-static"
+ (string-append "--with-initdir="
+ #$output "/etc/init.d")
+ (string-append "--with-ocfdir="
+ #$output "/lib"))))
+ (native-inputs (list autoconf
+ automake
+ cmocka
+ gettext-minimal
+ libtool
+ pkg-config
+ rsync
+ util-linux
+ valgrind))
+ (inputs (list dbus
+ corosync
+ glib
+ gnutls
+ libqb
+ libxml2
+ libxslt
+ python
+ `(,util-linux "lib")))
+ (home-page "https://www.clusterlabs.org/pacemaker/")
+ (synopsis "Scalable High-Availability cluster resource manager")
+ (description
+ "Pacemaker is a high-availability cluster resource manager.
+
+It achieves maximum availability for your cluster services (a.k.a. resources) by
+detecting and recovering from node- and resource-level failures by making use of
+the messaging and membership capabilities provided by Corosync.
+
+It can do this for clusters of practically any size and comes with a powerful
+dependency model that allows the administrator to accurately express the
+relationships (both ordering and location) between the cluster resources.
+
+Virtually anything that can be scripted can be managed as part of a Pacemaker cluster.")
+ (license (list license:cc-by4.0 license:gpl2+ license:lgpl2.1+))))