diff options
author | Dariqq <dariqq@posteo.net> | 2024-07-06 07:29:16 +0000 |
---|---|---|
committer | Guix Patches Tester <> | 2024-07-06 10:29:03 +0200 |
commit | 485e7233e52f4d23b7ac3b2223d8d49f43b61cd3 (patch) | |
tree | d5ea6992d9fb30bcb871d750a4db121af78e4532 | |
parent | 5905b4728776d6a6e6e5587f46fc0d633df6907c (diff) | |
download | guix-patches-485e7233e52f4d23b7ac3b2223d8d49f43b61cd3.tar guix-patches-485e7233e52f4d23b7ac3b2223d8d49f43b61cd3.tar.gz |
gnu: Add yyjson.
* gnu/packages/c.scm (yyjson): New variable.
Change-Id: Ica9ff2e1b6676aa8761eb33cbab76154f17e443f
-rw-r--r-- | gnu/packages/c.scm | 38 |
1 files changed, 38 insertions, 0 deletions
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 @@ program instances execute in parallel on the hardware.") 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))) |