Import nlohmann-json: a C++ JSON library

Tweaks from sthen@, caspar@ and op@
OK caspar, op and landry
This commit is contained in:
abieber 2022-06-28 12:51:06 +00:00
parent d03d4301f1
commit 31ee5a3460
4 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,24 @@
COMMENT = JSON for modern C++
# the "release" contain only json.hpp, and we want tests and CMake config file
V = 3.9.1
GH_ACCOUNT = nlohmann
GH_PROJECT = json
GH_TAGNAME = v${V}
DISTNAME = nlohmann-json-${V}
CATEGORIES = devel textproc
HOMEPAGE = https://nlohmann.github.io/json/
# MIT
PERMIT_PACKAGE = Yes
# C++11
COMPILER = base-clang ports-gcc
MODULES = devel/cmake
NO_TEST = Yes
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (nlohmann-json-3.9.1.tar.gz) = TPDfaXMUlGaL3WRg7YyyabaN6cGa2MJ6vCTNcmBbLVs=
SIZE (nlohmann-json-3.9.1.tar.gz) = 6882818

View File

@ -0,0 +1,18 @@
There are myriads of JSON libraries out there, and each may even have its reason
to exist. This class had these design goals:
* Intuitive syntax. In languages such as Python, JSON feels like a first class
data type. Here all the operator magic of modern C++ was used to achieve
the same feeling in code.
* Trivial integration. The whole code consists of a single header file
json.hpp. That's it. No library, no subproject, no dependencies, no complex
build system. The class is written in vanilla C++11. All in all, everything
should require no adjustment of your compiler flags or project settings.
* Serious testing. The class is heavily unit-tested and covers 100% of the
code, including all exceptional behavior. Furthermore, it's checked with
Valgrind and the Clang Sanitizers that there are no memory leaks. Google
OSS-Fuzz additionally runs fuzz tests against all parsers 24/7, effectively
executing billions of tests so far. To maintain high quality, the project is
following the Core Infrastructure Initiative (CII) best practices.

View File

@ -0,0 +1,8 @@
include/nlohmann/
include/nlohmann/json.hpp
lib/cmake/
lib/cmake/nlohmann_json/
lib/cmake/nlohmann_json/nlohmann_jsonConfig.cmake
lib/cmake/nlohmann_json/nlohmann_jsonConfigVersion.cmake
lib/cmake/nlohmann_json/nlohmann_jsonTargets.cmake
lib/pkgconfig/nlohmann_json.pc