Subject: [bug#31430] [PATCH 0/3] gnu: Add xtensor and its dependencies.

From: [email-masked] (Ludovic Courtès)
Date: Wed, 23 May 2018 14:09:07 +0200

Hello,

Fis Trivial <[email-masked]> skribis:

> One of the variables that is added by these patches is
> `json-modern-cxx`. It's not a real name. The full name of this package
> should be "JSON for Modern C++", which is registered in the json
> website[1]. On the other hand, it's repo's name is just "json".
>
> I think this package should not occupy the name "json", and a package
> name "json-for-modern-c++" feels weird and long, so I renamed it as
> "json-modern-cxx". I believe there is a better choice, but wording is
> just not my thing. Tell me about your idea and I will make the
> corresponding changes.

That makes sense to me!

> * gnu/packages/cpp.scm (json-modern-cxx): New variable.

[...]

> +(define-public json-modern-cxx
> +  ;; The downloaded tar ball is about 109 MiB large, the most significant part
> +  ;; comes from testing data file.
> +  (package
> +    (name "json-modern-cxx")
> +    (version "3.1.2")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://github.com/nlohmann/json/archive/v"
> +                    version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "0m5fhdpx2qll933db2nsi30nns3cifavzvijzz6mxhdkpmngmzz8"))
> +              (file-name (string-append name "-" version ".tar.gz"))))
> +    (home-page "https://github.com/nlohmann/json")
> +    (build-system cmake-build-system)
> +    (synopsis "JSON for Modern C++")

What about something like: “JSON parser and printer library for C++”?

Another issue: the tarball contains a few bundled dependencies under
thirdparty/: amalgate, Catch, Fuzzer, etc.  Could you look into
“unbundling” these?

Ideally you would add the missing package definitions (if any), add them
as inputs, and add a snippet that (delete-file-recursively "thirdparty").

If it turns out to be trickier than expected, let us know as well.  :-)

TIA!

Ludo’.