Subject: [bug#39574] [PATCH] gnu: Add libcyaml.

From: Alexandros Theodotou <[email-masked]>
Date: Wed, 12 Feb 2020 12:55:54 +0000

Hi,

This patch adds libcyaml, a C library for parsing YAML into/from C
structs. It will be required as a dependency to the zrythm package in
its next release.

Thanks,
Alex
From 968b188c9de49a6ad4cbcecfc4a6cde1e37f3411 Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <[email-masked]>
Date: Wed, 12 Feb 2020 12:51:37 +0000
Subject: [PATCH] gnu: Add libcyaml.

* gnu/packages/web.scm (libcyaml): New variable.
---
 gnu/packages/web.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 0f20cf205c..19051b5f85 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -37,6 +37,7 @@
 ;;; Copyright © 2019 Jakob L. Kreuze <[email-masked]>
 ;;; Copyright © 2019 Florian Pelz <[email-masked]>
 ;;; Copyright © 2020 Timotej Lazar <[email-masked]>
+;;; Copyright © 2020 Alexandros Theodotou <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1435,6 +1436,48 @@ hash/signatures.")
         (base32
          "1karpcfgacgppa82wm2drcfn2kb6q2wqfykf5nrhy20sci2i2a3q"))))))
 
+(define-public libcyaml
+  (package
+    (name "libcyaml")
+    (version "1.0.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/tlsa/libcyaml.git")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+          (base32
+            "0h5ydyqdl8kzh526np3jsi0pm7ks16nh1hjkdsjcd6pacw7y6i6z"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+             (string-append "CC=gcc"))
+       #:phases
+       (modify-phases %standard-phases
+         ;; no configure script
+         (delete 'configure)
+         (replace 'check
+           (lambda _
+             (setenv "CC" "gcc")
+             (invoke "make" "test"))))))
+    (inputs
+      `(("libyaml" ,libyaml)))
+    (native-inputs
+      `(("pkg-config", pkg-config)
+        ("git", git)))
+    (synopsis "C library for reading and writing YAML")
+    (description
+      "LibCYAML is a C library written in ISO C11 for reading and writing
+structured YAML documents.  The fundamental idea behind CYAML is to allow
+applications to construct schemas which describe both the permissible
+structure of the YAML documents to read/write, and the C data structure(s)
+in which the loaded data is arranged in memory.")
+    (home-page "https://github.com/tlsa/libcyaml")
+    (license license:isc)))
+
 (define-public libquvi-scripts
   (package
     (name "libquvi-scripts")
-- 
2.25.0