diff options
Diffstat (limited to 'gnu/packages/c.scm')
-rw-r--r-- | gnu/packages/c.scm | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 07df24d4e1..2787d065b5 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2023, 2024 Foundation Devices, Inc. <hello@foundation.xyz> ;;; Copyright © 2023, 2024 David Elsing <david.elsing@posteo.net> ;;; Copyright @ 2022, Kitzman <kitzman@disroot.org> +;;; Copyright @ 2025 Dariqq <dariqq@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1764,3 +1765,46 @@ 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.10.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 "0kmzgs24v0rxlibg4qwlm6yplzs96pgxb1gyviijhkra9z7lx7ws")))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON" + "-DYYJSON_BUILD_TESTS=ON"))) + (home-page "https://github.com/ibireme/yyjson") + (synopsis "C implementation of JSON RFC 8259") + (description + "This package provides an implementation of JSON in ANSI C as specified +in RFC 8259. +Features: +@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 +@url{https://datatracker.ietf.org/doc/html/rfc8259,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 @code{int64}, @code{uint64}, and +@code{double} numbers. +@item Flexible: supports unlimited JSON nesting levels, @code{\\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 @code{.h} and one +@code{.c} file. +@end itemize") + (license license:expat))) |