Subject: [PATCH 59/92] gnu: Add ghc-xcb-types.

From: Nicolas Graves <[email-masked]>
Date: Fri, 10 May 2024 00:53:54 +0200

* gnu/packages/xorg.scm (ghc-xcb-types): New variable.

Change-Id: I42d1d49251e9c3d56aecf012a52fff34e678bd94
---
 gnu/packages/xorg.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 2bc6946599c..6c894fc45bf 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -38,6 +38,7 @@
 ;;; Copyright © 2023 Janneke Nieuwenhuizen <[email-masked]>
 ;;; Copyright © 2023, 2024 John Kehayias <[email-masked]>
 ;;; Copyright © 2023, 2024 Kaelyn Takata <[email-masked]>
+;;; Copyright © 2024 Nicolas Graves <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -62,6 +63,7 @@ (define-module (gnu packages xorg)
   #:use-module (guix git-download)
   #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system haskell)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
@@ -88,6 +90,9 @@ (define-module (gnu packages xorg)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages haskell)
+  #:use-module (gnu packages haskell-apps)
+  #:use-module (gnu packages haskell-check)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages inkscape)
   #:use-module (gnu packages image)
@@ -963,6 +968,26 @@ (define-public glproto
     (license license:x11)
     (properties `((superseded . ,xorgproto)))))
 
+(define-public ghc-xcb-types
+  (package
+    (name "ghc-xcb-types")
+    (version "0.13.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hackage-uri "xcb-types" version))
+       (sha256
+        (base32 "0qdfj4d83b1fjmlysqncgi65ldf3qnrsj4lync95mgbaq2kzxj2r"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "xcb-types")))
+    (inputs (list ghc-xml))
+    (home-page "http://community.haskell.org/~aslatter/code/xcb-types")
+    (synopsis "Parse XML files used by the XCB project")
+    (description
+     "This package provides types which mirror the structures used in the XCB code
+generation XML files and parses these XML files into Haskell data structures.")
+    (license license:bsd-3)))
+
 (define-public iceauth
   (package
     (name "iceauth")
-- 
2.41.0