Subject: [bug#58501] [PATCH 3/3] gnu: freedesktop: Add low-memory-monitor

From: [email-masked]
Date: Fri, 14 Oct 2022 12:02:46 +0000

From: florhizome <[email-masked]>

---
 gnu/packages/freedesktop.scm | 43 ++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index b6aaf1f1ba..5d496da71e 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1733,6 +1733,49 @@ (define-public libqmi
      ;; The qmicli tool is released under the GPLv2+ license.
      (list license:lgpl2.0+ license:gpl2+))))
 
+(define-public low-memory-monitor
+ (package
+    (name "low-memory-monitor")
+    (version "2.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.freedesktop.org/hadess/low-memory-monitor")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0431wzn9q2hnx0mwai8w3bcmbln8g76r7wyyhjbkamnl2sccl8jn"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags (list "-Dsystemdsystemunitdir=false")
+       #:tests? #f
+       #:glib-or-gtk? #t))
+    (native-inputs
+     (list `(,glib "bin") gtk-doc libxml2
+              gobject-introspection pkg-config))
+   (inputs
+    (list glib libgudev eudev))
+    (synopsis "Daemon to send information about memory pressure to userspace")
+    (description
+     "The Low Memory Monitor is an early boot daemon that will monitor memory
+pressure information coming from the kernel, and, when memory pressure means
+that memory isn't as readily available and would cause interactivity problems,
+ would:
+
+@itemize
+@item send D-Bus signals to user-space applications when memory is running low,
+
+@item if configured to do so and memory availability worsens, activate the kernel's
+OOM killer.
+@end itemize
+
+It is designed for use on traditional Linux systems, with interactive user interfaces
+and D-Bus communication.")
+    (home-page "https://gitlab.freedesktop.org/hadess/low-memory-monitor")
+    (license license:gpl3)))
+
 (define-public modem-manager
   (package
     (name "modem-manager")
-- 
2.38.0