summary refs log tree commit diff
diff options
context:
space:
mode:
authorJaeme Sifat <jaeme@runbox.com>2023-12-18 23:25:52 -0500
committerLudovic Courtès <ludo@gnu.org>2024-02-18 16:03:23 +0100
commitb23fd4fb3e345d7c17b0e668bf790d310426f02b (patch)
tree0986df0158c0a9d3e01618686bc5f86114d8992b
parente47d3c6f945108b42d4ba0950f4076c07f246c45 (diff)
downloadguix-b23fd4fb3e345d7c17b0e668bf790d310426f02b.tar.gz
gnu: Add libdisplay-info.
libdisplay-info is a new dependency for the wlroots@0.17.0 update. As
seen here:

- https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.17.0

The 'fix-meson-file phase was ripped right out of the wlroots@0.16.2
package. There was a surprise build dependency for Python in
generating the database.

* gnu/packages/wm.scm (libdisplay-info): New variable.

Change-Id: If6a466b902f4babdfb5bc9b3935c2d14f42ae662
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/wm.scm43
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 4efd98f11c..9abf505caf 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -2976,6 +2976,49 @@ for wayland conceptually based on the X11 window manager
 @command{ratpoison}.")
     (license license:expat)))
 
+(define-public libdisplay-info
+  (let ((commit "ebee35935dad01478ae1ae5ead298c4cd8018ac2")
+        (revision "0"))
+    (package
+      (name "libdisplay-info")
+      (version (git-version "0.2.0-dev" revision commit))
+      (home-page "https://gitlab.freedesktop.org/emersion/libdisplay-info")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference (url home-page) (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1ly8acdjxn8l55y0wc07n7pb6rzh9dpr1vbsakdib2zrl0i5yh3a"))))
+      (build-system meson-build-system)
+      (arguments
+       (list
+        #:phases #~(modify-phases %standard-phases
+                     (add-before 'configure 'fix-meson-file
+                       (lambda* (#:key native-inputs inputs #:allow-other-keys)
+                         (substitute* "meson.build"
+                           (("/usr/share/hwdata/pnp.ids")
+                            (string-append (assoc-ref (or native-inputs inputs)
+                                                      "hwdata")
+                                           "/share/hwdata/pnp.ids"))))))))
+      (native-inputs (list `(,hwdata "pnp") python))
+      (synopsis "EDID and DisplayID library")
+      (description
+       "This package provides a library to read @acronym{EDID, Extended
+Display Identification Data} and DisplayID metadata from display devices.  It
+has the following goals:
+
+@enumerate
+@item
+Provide a set of high-level, easy-to-use, opinionated functions
+as well as low-level functions to access detailed information.
+@item
+Simplicity and correctness over performance and resource usage.
+@item
+Well-tested and fuzzed.
+@end enumerate")
+      (license license:expat))))
+
 (define-public libucl
   (package
     (name "libucl")