Subject: [PATCH] gnu: Add libdisplay-info.

From: Jaeme Sifat <[email-masked]>
Date: Mon, 18 Dec 2023 23:25:52 -0500

libdisplay-info is a new dependency for the [email-masked] 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 [email-masked]
package. There was a surprise build dependency for Python in
generating the database.

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

Change-Id: If6a466b902f4babdfb5bc9b3935c2d14f42ae662
---
 gnu/packages/wm.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 82ef67a2e4..c9a9b728b7 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -2968,6 +2968,45 @@ (define-public cagebreak
 @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))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.freedesktop.org/emersion/libdisplay-info")
+               (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))
+      (home-page "https://gitlab.freedesktop.org/emersion/libdisplay-info")
+      (synopsis "EDID and DisplayID library")
+      (description
+       "A EDID and DisplayID library with 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")

base-commit: 6454788a5cf79a217bda86d49a6e403cc803747f
--
2.41.0