Subject: Re: [bug#71968] [PATCH v7 1/3] gnu: Add yyjson.

From: Christopher Baines <[email-masked]>
Date: Sun, 29 Dec 2024 11:29:34 +0000

Dariqq <[email-masked]> writes:

> * 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 13fdb99424..2e368ad884 100644
> --- a/gnu/packages/c.scm
> +++ b/gnu/packages/c.scm
> @@ -1764,3 +1764,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.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"))))
> +    (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,

Just one observation, here you've written a null character where I'm
guessing you might want \\u0000 instead.