Subject: [PATCH v2 1/3] gnu: Add libdisplay-info.

From: Ahmad Draidi <[email-masked]>
Date: Sun, 4 Feb 2024 17:54:41 +0400

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

Change-Id: Ifa03e4f21dd869c664c5bbf47af4ea1b7cf63d44
---
v2: Rebase

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

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 648ebad408..9ba444cb0a 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2022 Petr Hodina <[email-masked]>
 ;;; Copyright © 2022 muradm <[email-masked]>
 ;;; Copyright © 2023 Alex Devaure <[email-masked]>
+;;; Copyright © 2024 Ahmad Draidi <[email-masked]>
 ;;;
 ;;; 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")

base-commit: abeffc82379c4f9bd2e6226ea27453b22cb4e0c8
-- 
2.41.0