Subject: [bug#58152] [PATCH 5/5]: gnu: Add pacemaker

From: Sharlatan Hellseher <[email-masked]>
Date: Wed, 28 Sep 2022 22:10:13 +0100

-- 
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.
From dfb3eaa8b6aa5a428e493008e8c293f47ef10b1f Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <[email-masked]>
Date: Wed, 28 Sep 2022 21:49:20 +0100
Subject: [PATCH 5/5] gnu: Add pacemaker

* gnu/pacemaker/high-availability.scm (pacemaker): New variable.
---
 gnu/packages/high-availability.scm | 54 ++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm
index 488ac5a3b0..f699dbad20 100644
--- a/gnu/packages/high-availability.scm
+++ b/gnu/packages/high-availability.scm
@@ -186,3 +186,57 @@ (define-public corosync
 
 @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"
+                                     (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+))))
-- 
2.37.3