diff mbox series

[bug#68146,1/3] gnu: Add libdisplay-info.

Message ID 955298d0cd8d6fb1ade9984cfe2dde234d64f6c9.1703942286.git.a.r.draidi@redscript.org
State New
Headers show
Series Update labwc, wlroots, and shuffle some deps around | expand

Commit Message

Ahmad Draidi Dec. 30, 2023, 1:28 p.m. UTC
* gnu/packages/freedesktop.scm (libdisplay-info): New variable.

Change-Id: Id9d8a7c92f58a89310d52e62c335f932acb0adb3
---
 gnu/packages/freedesktop.scm | 40 ++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 648ebad408..9cf7804f10 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -33,6 +33,7 @@ 
 ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2022 muradm <mail@muradm.net>
 ;;; Copyright © 2023 Alex Devaure <ajadevaure@gmail.com>
+;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -97,6 +98,7 @@  (define-module (gnu packages freedesktop)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages hardware)
   #:use-module (gnu packages hunspell)
   #:use-module (gnu packages ibus)
   #:use-module (gnu packages image)
@@ -114,6 +116,7 @@  (define-module (gnu packages freedesktop)
   #:use-module (gnu packages package-management)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
+  #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages python)
@@ -2102,6 +2105,43 @@  (define-public colord-gtk
 that wish to perform colour calibration.")
     (license license:lgpl2.1+)))
 
+(define-public libdisplay-info
+  ;; Latest commit passes tests while 0.1.1 doesn't
+  (let ((commit "ebee35935dad01478ae1ae5ead298c4cd8018ac2")
+        (revision "1"))
+    (package
+      (name "libdisplay-info")
+      (version (git-version "0.1.1" 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 edid-decode
+                           `(,hwdata "pnp") pkg-config python-wrapper))
+      (home-page "https://gitlab.freedesktop.org/emersion/libdisplay-info")
+      (synopsis "EDID and DisplayID library")
+      (description
+       "libdisplay-info is an EDID and DisplayID library that provides a set of
+ high-level, easy-to-use, opinionated functions as well as low-level functions
+to access detailed information.")
+      (license license:expat))))
+
 (define-public libfprint
   (package
     (name "libfprint")