@@ -58,7 +58,7 @@
;;; Copyright © 2022 cage <cage-dev@twistfold.it>
;;; Copyright © 2022 Pradana Aumars <paumars@courrier.dev>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
-;;; Copyright © 2022 jgart <jgart@dismail.de>
+;;; Copyright © 2022, 2023 jgart <jgart@dismail.de>
;;; Copyright © 2023 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu>
@@ -1109,6 +1109,52 @@ (define-public jansson
data.")
(license license:expat)))
+(define-public nlohmann-json
+ (package
+ (name "nlohmann-json")
+ (version "3.11.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nlohmann/json")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g6rfsbkvrxmacchz4kbr741yybj7mls3r4hgyfdd3pdbqhn2is9"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:out-of-source? #t
+ #:configure-flags
+ #~(list "-DJSON_FastTests=ON"
+ "-DJSON_MultipleHeaders=ON"
+ "-DJSON_BuildTests=ON"
+ (string-append "-DJSON_TestDataDirectory="
+ #$(this-package-native-input "json-test-data")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ ;; Skip tests that require git or modify “installed files”.
+ (when tests?
+ (invoke "make" "ARGS=-LE 'not_reproducible|git_required' --verbose")))))))
+ (native-inputs
+ `(("json-test-data"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nlohmann/json_test_data")
+ (commit "v3.1.0")))
+ (sha256
+ (base32 "0nbirc428qx0lpi940p7y24fzdjbwl6xig3h5rdbihyymmdzhvbc"))
+ (file-name (git-file-name "vis-test" version))))))
+ (home-page "https://json.nlohmann.me/")
+ (synopsis "JSON for Modern C++")
+ (description "This package provides a JSON implementation with an
+intuitive syntax for C++, a single include header file, and with a
+codebase that has 100% code coverage.")
+ (license license:expat)))
+
(define-public json-c
(package
(name "json-c")