mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-18 13:36:36 +01:00
gnu: Add yyjson.
* gnu/packages/c.scm (yyjson): New variable. Change-Id: Ica9ff2e1b6676aa8761eb33cbab76154f17e443f Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
parent
6f74832d45
commit
1fc41ca409
1 changed files with 44 additions and 0 deletions
|
@ -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 @@ (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.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)))
|
||||
|
|
Loading…
Reference in a new issue