Package Details: nlohmann-json 3.1.2-1

Git Clone URL: (read-only)
Package Base: nlohmann-json
Description: Header-only JSON library for Modern C++
Upstream URL:
Licenses: MIT
Submitter: eduardosm
Maintainer: eduardosm
Last Packager: eduardosm
Votes: 6
Popularity: 1.637595
First Submitted: 2017-10-15 16:59
Last Updated: 2018-03-17 10:30

Dependencies (1)

Required by (6)

Sources (1)

Latest Comments

cirrus commented on 2018-04-18 22:54

curl: (33) HTTP server doesn't seem to support byte ranges. Cannot resume. ==> ERROR: Failure while downloading Aborting...

bus commented on 2018-02-08 17:32

@eduardosm Well, we will have to agree to disagree then.

If you ever change your mind, email me or something, that'd be cool. Until then I'll have to maintain nlohmann-json-bin for my own sanity and hopefully somebody else's.

@Jesin Thanks, I put !check in my makepkg.conf and tried running makepkg --nocheck, yet it still compiles all those tests.

But that still doesn't solve the problem of downloading and extracting needless hundreds of megabytes (of which 99.9% are test cases and benchmarks).

Jesin commented on 2018-02-08 17:29

@bus If you want to skip the check function, makepkg has a '--nocheck' flag for just that reason.

eduardosm commented on 2018-02-07 21:22

@bus As far I'm concerned, the general recomendation is that PKGBUILDs should include a check function if there is a test suite, so I would like to keet this package as it is. I know it can be frustrating to heavy compiling on slow processors. In your case, you can add -DJSON_BuildTests=OFF to the cmake command to avoid building the tests.

bus commented on 2018-02-07 19:36

@eduardosm In official repositories? But that happens before packages reach the user, which is not the case here. (unless there are packages that do post-transaction testing or something, of which I'm not aware of)

I would, in fact, argue that it is bad and the whole process is bloated. I need to use this library on a Raspberry Pi, but installing it via this package takes hours and requires me to have hundreds of megabytes of free storage for the 550KB resulting package. I'd tell you the actual time, but it's been 30 minutes and it's still only at 7%. This library updates fairly often, so I don't want to go through this every time, but I do want to be notified of its updates through my AUR helper.

If it made sense, I would have already created the nlohmann-json-bin package, but there's nothing to compile here so there's no binary. Making a header-only package version of a header-only library would just be silly.

I checked a few others header-only libraries in AUR. Most I found (even the -git versions) don't do any expensive compilations or testing (and the ones that do usually revolve around testing themselves). I would like to see this package do the same, as I believe it's the rational way.

Sorry for the rant, I just feel very strongly about this for whatever reason.

eduardosm commented on 2018-02-07 18:22

@bus Many packages in official repositories run the test suite, even if they are stable versions. It is not that bad having to run the checks from time to time when the library is updated and the resulting package is not bloated.

bus commented on 2018-02-07 17:14

Do we really have to run the whole test suite in this package? What's wrong with just putting the one file in /usr/includes and that's it?

It makes sense to run tests in packages based on latest source (like nlohmann-json-git), but I assume devs ran their tests before publishing a release, so I don't think users of this package (and especially users of packages that depend this one) should be doing it too.

It just feels weird doing all that redundant busywork for what effectively is copying one file.

Eschwartz commented on 2018-01-31 14:42

Since nlohmann-json takes so long to build, I have a custom repo for it here:

eduardosm commented on 2017-12-03 11:27

@haawda Done, thanks for warning

haawda commented on 2017-12-02 20:41

please rename the downloaded tarball by using

Otherwise people with a set SRCDEST variable might get trouble.