guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#71968] [PATCH v2 1/5] gnu: Add yyjson.


From: Dariqq
Subject: [bug#71968] [PATCH v2 1/5] gnu: Add yyjson.
Date: Sun, 14 Jul 2024 07:42:52 +0000

* gnu/packages/c.scm (yyjson): New variable.

Change-Id: Ica9ff2e1b6676aa8761eb33cbab76154f17e443f
---
 gnu/packages/c.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index d13b62b5e2..b251e0334e 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1678,3 +1678,41 @@ (define-public pcg-c
 Linear Congruential Generator (LCG) with a permutation function to increase
 output randomness while retaining speed, simplicity, and conciseness.")
       (license (list license:expat license:asl2.0))))) ; dual licensed
+
+(define-public yyjson
+  (package
+    (name "yyjson")
+    (version "0.9.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ibireme/yyjson";)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "169rqh7mh01g5j4qkqjgfmgnyqjf9r8qxiywf4jkgcb7ln4j64w9"))))
+    (arguments
+     (list
+      #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+                                "-DYYJSON_BUILD_TESTS=ON")))
+    (build-system cmake-build-system)
+    (home-page "https://github.com/ibireme/yyjson";)
+    (synopsis "High performance JSON library written in ANSI C")
+    (description
+     "Yyjson is a high performance JSON library written in ANSI C.  Some 
features include
+@itemize
+@item Fast: can read or write gigabytes per second JSON data on modern CPUs.
+@item Portable: complies with ANSI C (C89) for cross-platform compatibility.
+@item Strict: complies with RFC 8259 JSON standard, ensuring strict
+number format and UTF-8 validation.
+@item Extendable: offers options to allow comments, trailing commas, NaN/Inf,
+ and custom memory allocator.
+@item Accuracy: can accurately read and write int64, uint64, and double 
numbers.
+@item Flexible: supports unlimited JSON nesting levels, \u0000 characters,
+and non null-terminated strings.
+@item Manipulation: supports querying and modifying using JSON Pointer,
+JSON Patch and JSON Merge Patch.
+@item Developer-Friendly: easy integration with only one .h and one .c file.
+@end itemize")
+    (license license:expat)))
-- 
2.45.2






reply via email to

[Prev in Thread] Current Thread [Next in Thread]