Subject: [bug#75508] [PATCH 1/2] gnu: Add libxo.

From: [email-masked]
Date: Sun, 12 Jan 2025 10:19:25 +0100

From: Sören Tempel <[email-masked]>

* gnu/packages/textutils.scm (libxo): New procedure.
---
 gnu/packages/textutils.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 6091d1ea6d4..d33dcb6f093 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -334,6 +334,31 @@ (define-public libgtextutils
 the Hannon Lab.")
     (license license:agpl3+)))
 
+(define-public libxo
+  (package
+    (name "libxo")
+    (version "1.7.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Juniper/libxo")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "115jv067msym0lsxkiz95ddvspd6smvww37248xkqyin0rxb2m0j"))))
+    (build-system gnu-build-system)
+    (native-inputs (list autoconf automake libtool))
+    (home-page "http://juniper.github.io/libxo/libxo-manual.html")
+    (synopsis "Library for Generating Text, XML, JSON, and HTML Output")
+    (description
+     "This library allows an application to generate text, XML,
+JSON, and HTML output using a common set of function calls.  The application
+decides at run time which output style should be produced.  The application
+calls a function @code{xo_emit} to product output that is described in a format
+string.  A \"field descriptor\" tells libxo what the field is and what it means.")
+    (license license:bsd-2)))
+
 (define-public cityhash
   (let ((commit "8af9b8c"))
     (package