Subject: [PATCH 20/30] gnu: Add erlang-fast-yaml.

From: Igor Goryachev <[email-masked]>
Date: Mon, 5 Aug 2024 13:44:53 +0300

* gnu/packages/erlang-xyz.scm (erlang-fast-yaml): New variable.

Change-Id: I81cb9dab74a81af9f6a901fa2674ac9f77318cd4
---
 gnu/packages/erlang-xyz.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/erlang-xyz.scm b/gnu/packages/erlang-xyz.scm
index f0d62e1679..7d03590639 100644
--- a/gnu/packages/erlang-xyz.scm
+++ b/gnu/packages/erlang-xyz.scm
@@ -20,6 +20,7 @@ (define-module (gnu packages erlang-xyz)
   #:use-module (gnu packages)
   #:use-module (gnu packages erlang)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages serialization)
   #:use-module (gnu packages tls)
   #:use-module (guix build-system rebar)
   #:use-module (guix download)
@@ -353,6 +354,36 @@ (define-public erlang-fast-xml
     (home-page "https://hex.pm/packages/fast_xml")
     (license license:asl2.0)))
 
+(define-public erlang-fast-yaml
+  (package
+    (name "erlang-fast-yaml")
+    (version "1.0.37")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (hexpm-uri "fast_yaml" version))
+       (sha256
+        (base32 "0sd72nal5i6mbmicsmb494mr4g0gvs719lzp2hj1gqpp3dr6is4d"))))
+    (build-system rebar-build-system)
+    (inputs (list erlang-p1-utils))
+    (native-inputs (list erlang-pc libyaml))
+    (arguments
+     (list
+      #:tests? #f ; some required files are absent
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'build 'set-environment
+            (lambda _
+              (setenv "HOME" "/tmp")
+              (setenv "CC" "gcc")
+              (let ((openssl (assoc-ref %build-inputs "libyaml")))
+                (setenv "LDFLAGS" (string-append "-L" openssl "/lib"))
+                (setenv "CFLAGS" (string-append "-I" openssl "/include"))))))))
+    (synopsis "Fast YAML native library for Erlang/Elixir")
+    (description "This package provides fast YAML native library for Erlang/Elixir.")
+    (home-page "https://hex.pm/packages/fast_yaml")
+    (license license:asl2.0)))
+
 (define-public erlang-unicode-util-compat
   (package
     (name "erlang-unicode-util-compat")
-- 
2.45.2