summary refs log tree commit diff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2022-09-28 21:20:05 +0100
committerLudovic Courtès <ludo@gnu.org>2022-10-10 11:16:07 +0200
commit69598d84893669b0089309b9e5d967231cae84fa (patch)
tree1aafdbd8a4c450e953ccbfd9f162e4c9d3b45625
parentf8bc5b13ad6b66f5efa4076495d11be7725f5279 (diff)
downloadguix-69598d84893669b0089309b9e5d967231cae84fa.tar.gz
gnu: Move libqb to high-availability.
* gnu/packages/hardware.scm (libqb): Move to high-availability.scm.
* gnu/packages/high-availability.scm: New file.
* gnu/local.mk: Add high-availability.scm to GNU_SYSTEM_MODULES list.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/hardware.scm28
-rw-r--r--gnu/packages/high-availability.scm80
3 files changed, 82 insertions, 27 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 5ce3db8a92..195bbcc40a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -311,6 +311,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/haxe.scm				\
   %D%/packages/heads.scm			\
   %D%/packages/hexedit.scm			\
+  %D%/packages/high-availability.scm			\
   %D%/packages/hugs.scm				\
   %D%/packages/hunspell.scm				\
   %D%/packages/hurd.scm				\
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index d47be7a55d..41519440fd 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -56,6 +56,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages high-availability)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lxqt)
@@ -1117,33 +1118,6 @@ supported by the Linux kernel.")
 as the Pinebook Pro.")
       (license license:gpl2+))))
 
-(define-public libqb
-  (package
-    (name "libqb")
-    ;; NOTE: We are using a Release Candidate version (for 2.0) here because
-    ;; of the linker issues with the previous release.
-    (version "1.9.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/ClusterLabs/libqb/releases/download/v"
-                    version "/libqb-" version ".tar.xz"))
-              (sha256
-               (base32
-                "008vvw504kh40br5v2xkqavnp9vpmjvf768faqzv1d00fd53ingn"))))
-    (build-system gnu-build-system)
-    (native-inputs
-     (list pkg-config libxml2))
-    (home-page "https://clusterlabs.github.io/libqb/")
-    (synopsis "Library providing high performance logging, tracing, ipc, and poll")
-    (description "Libqb is a library with the primary purpose of providing
-high-performance, reusable features for client-server architecture, such as
-logging, tracing, inter-process communication (IPC), and polling.  Libqb is
-not intended to be an all-encompassing library, but instead provide focused
-APIs that are highly tuned for maximum performance for client-server
-applications.")
-    (license license:lgpl2.1)))
-
 (define-public usbguard
   (package
     (name "usbguard")
diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm
new file mode 100644
index 0000000000..1a8c348020
--- /dev/null
+++ b/gnu/packages/high-availability.scm
@@ -0,0 +1,80 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; This program is free software: you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation, either version 3 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This module provides package definitions related for High Availability (HA)
+;; software, which come as foundation to create clusterization and load
+;; balancing of services.
+
+;;; Code:
+
+(define-module (gnu packages high-availability)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages hardware)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages networking)
+  #:use-module (gnu packages nss)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages rsync)
+  #:use-module (gnu packages tls)
+  #:use-module (gnu packages valgrind)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix gexp)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix packages)
+  #:use-module ((guix licenses)
+                #:prefix license:))
+
+(define-public libqb
+  (package
+    (name "libqb")
+    ;; NOTE: We are using a Release Candidate version (for 2.0) here because
+    ;; of the linker issues with the previous release.
+    (version "1.9.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/ClusterLabs/libqb/releases/download/v"
+                    version "/libqb-" version ".tar.xz"))
+              (sha256
+               (base32
+                "008vvw504kh40br5v2xkqavnp9vpmjvf768faqzv1d00fd53ingn"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     (list pkg-config libxml2))
+    (home-page "https://clusterlabs.github.io/libqb/")
+    (synopsis "Library providing high performance logging, tracing, ipc, and poll")
+    (description "Libqb is a library with the primary purpose of providing
+high-performance, reusable features for client-server architecture, such as
+logging, tracing, inter-process communication (IPC), and polling.  Libqb is
+not intended to be an all-encompassing library, but instead provide focused
+APIs that are highly tuned for maximum performance for client-server
+applications.")
+    (license license:lgpl2.1)))