[PATCH 1/3] gnu: Add nlohmann-json.

  • Done
  • quality assurance status badge
Details
3 participants
  • jgart
  • Liliana Marie Prikler
  • Simon Tournier
Owner
unassigned
Submitted by
jgart
Severity
normal
Merged with
J
(address . guix-patches@gnu.org)(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
e2966b2334223744777f0fd2636442ec@dismail.de
Hi,

This patch series deprecates json-modern-cxx and refactors existing packages to use the new nlohmann-json package and variable.

all best,

jgart
J
(name . jgart)(address . jgart@dismail.de)
20230223051201.17541-1-jgart@dismail.de
* gnu/packages/cpp.scm (nlohmann-json): New variable.
---
gnu/packages/cpp.scm | 98 +++++++++++++++++---------------------------
1 file changed, 37 insertions(+), 61 deletions(-)

Toggle diff (126 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index ed6ae69198..7091459d97 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -22,7 +22,7 @@
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Nikolay Korotkiy <sikmir@disroot.org>
-;;; Copyright © 2021 jgart <jgart@dismail.de>
+;;; Copyright © 2021, 2023 jgart <jgart@dismail.de>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 Disseminate Dissent <disseminatedissent@protonmail.com>
;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
@@ -595,74 +595,50 @@ (define-public json-dto
data transfer object.")
(license license:bsd-3)))
-(define-public json-modern-cxx
+(define-public nlohmann-json
(package
- (name "json-modern-cxx")
- (version "3.10.5")
- (home-page "https://github.com/nlohmann/json")
+ (name "nlohmann-json")
+ (version "3.11.2")
(source
(origin
(method git-fetch)
- (uri (git-reference (url home-page)
- (commit (string-append "v" version))))
- (sha256
- (base32 "1f9mi45ilwjc2w92grjc53sw038840bjpn8yjf6wc6bxs2nijfqd"))
+ (uri (git-reference
+ (url "https://github.com/nlohmann/json")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Delete bundled software. Preserve doctest_compatibility.h, which
- ;; is a wrapper library added by this package.
- (install-file "./test/thirdparty/doctest/doctest_compatibility.h" "/tmp")
- (for-each delete-file-recursively
- '("./third_party" "./test/thirdparty"))
- (install-file "/tmp/doctest_compatibility.h" "./test/thirdparty/doctest")
-
- ;; Adjust for the unbundled fifo_map and doctest.
- (substitute* "./test/thirdparty/doctest/doctest_compatibility.h"
- (("#include \"doctest\\.h\"")
- "#include <doctest/doctest.h>"))
- (with-directory-excursion "test/src"
- (let ((files (find-files "." "\\.cpp$")))
- (substitute* files
- (("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
- (string-append
- "#include <fifo_map/" fifo-map-hpp ">")))))))))
+ (sha256
+ (base32 "0g6rfsbkvrxmacchz4kbr741yybj7mls3r4hgyfdd3pdbqhn2is9"))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags
- (list "-DJSON_MultipleHeaders=ON" ; For json_fwd.hpp.
- (string-append "-DJSON_TestDataDirectory="
- (dirname
- (search-input-directory %build-inputs
- "json_nlohmann_tests"))))
- #:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
- (if tests?
- ;; Some tests need git and a full checkout, skip those.
- (invoke "ctest" "-LE" "git_required"
- "-j" (if parallel-tests?
- (number->string (parallel-job-count))
- "1"))
- (format #t "test suite not run~%")))))))
+ (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
- (list amalgamate
- (let ((version "3.0.0"))
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/nlohmann/json_test_data")
- (commit (string-append "v" version))))
- (file-name (git-file-name "json_test_data" version))
- (sha256
- (base32
- "0nzsjzlvk14dazwh7k2jb1dinb0pv9jbx5jsyn264wvva0y7daiv"))))))
- (inputs
- (list doctest fifo-map))
- (synopsis "JSON parser and printer library for C++")
- (description "JSON for Modern C++ is a C++ JSON library that provides
-intuitive syntax and trivial integration.")
+ `(("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 xtl
--
2.39.1
J
[PATCH 2/3] gnu: json-modern-cxx: Remove deprecated package.
(name . jgart)(address . jgart@dismail.de)
20230223051201.17541-2-jgart@dismail.de
* gnu/packages/cpp.scm (json-modern-cxx): Delete variable.
---
gnu/packages/cpp.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 7091459d97..d4d4173675 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -595,6 +595,9 @@ (define-public json-dto
data transfer object.")
(license license:bsd-3)))
+(define-public json-modern-cxx
+ (deprecated-package "json-modern-cxx" nlohmann-json))
+
(define-public nlohmann-json
(package
(name "nlohmann-json")
--
2.39.1
J
[PATCH 3/3] gnu: Refactor packages to use new nlohmann-json variable.
(name . jgart)(address . jgart@dismail.de)
20230223051201.17541-3-jgart@dismail.de
* gnu/packages/build-tools.scm (bear): Use new variable.
[inputs]: Use variable.
* gnu/packages/cpp.scm (xtl): Use new variable.
[inputs]: Use variable.
* gnu/packages/cpp.scm (jsonnet): Use new variable.
[inputs]: Use variable.
* gnu/packages/cybersecurity.scm (blacksmith): Use new variable.
[inputs]: Use variable.
* gnu/packages/games.scm (openrct2): Use new variable.
[inputs]: Use variable.
* gnu/packages/graphics.scm (f3d): Use new variable.
[native-inputs]: Use variable.
* gnu/packages/hardware.scm (openrgb): Use new variable.
[arguments]: Use variable.
[inputs]: Use variable.
* gnu/packages/irods.scm (irods): Use new variable.
[inputs]: Use variable.
* gnu/packages/jupyter.scm (xeus): Use new variable.
[inputs]: Use variable.
* gnu/packages/messaging.scm (mtxclient): Use new variable.
[inputs]: Use variable.
* gnu/packages/text-editors.scm (jucipp): Use new variable.
[inputs]: Use variable.
* gnu/packages/video.scm (mkvtoolnix): Use new variable.
[inputs]: Use variable.
* gnu/packages/xdisorg.scm (nwg-launchers): Use new variable.
[native-inputs]: Use variable.
---
gnu/packages/build-tools.scm | 2 +-
gnu/packages/cpp.scm | 4 ++--
gnu/packages/cybersecurity.scm | 2 +-
gnu/packages/games.scm | 2 +-
gnu/packages/graphics.scm | 2 +-
gnu/packages/hardware.scm | 4 ++--
gnu/packages/irods.scm | 4 ++--
gnu/packages/jupyter.scm | 2 +-
gnu/packages/messaging.scm | 4 ++--
gnu/packages/text-editors.scm | 2 +-
gnu/packages/video.scm | 2 +-
gnu/packages/xdisorg.scm | 2 +-
12 files changed, 16 insertions(+), 16 deletions(-)

Toggle diff (194 lines)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 3d03c37a2c..0e043b5cf6 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -147,7 +147,7 @@ (define-public bear
`(("c-ares" ,c-ares)
("fmt" ,fmt-8)
("grpc" ,grpc)
- ("json-modern-cxx" ,json-modern-cxx)
+ ("nlohmann-json" ,nlohmann-json)
("protobuf" ,protobuf)
("python" ,python-wrapper)
("re2" ,re2)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index d4d4173675..d365c2ba74 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -659,7 +659,7 @@ (define-public xtl
"134pgvmf9cx5dxs0m0m3qhp3m3r1gl86ic3xax21zc4sdj8sdq46"))
(file-name (git-file-name name version))))
(native-inputs
- (list doctest googletest json-modern-cxx))
+ (list doctest googletest nlohmann-json))
(arguments
'(#:configure-flags
'("-DBUILD_TESTS=ON")
@@ -1808,7 +1808,7 @@ (define-public jsonnet
(native-inputs
(list googletest pkg-config))
(inputs
- (list json-modern-cxx))
+ (list nlohmann-json))
(home-page "https://jsonnet.org/")
(synopsis "Data templating language")
(description "Jsonnet is a templating language extending JSON
diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm
index 7bca251d06..cb03cbd5aa 100644
--- a/gnu/packages/cybersecurity.scm
+++ b/gnu/packages/cybersecurity.scm
@@ -89,7 +89,7 @@ (define-public blacksmith
(native-inputs
(list pkg-config))
(inputs
- (list argagg asmjit json-modern-cxx))
+ (list argagg asmjit nlohmann-json))
(home-page "https://comsec.ethz.ch/research/dram/blacksmith")
(synopsis "Rowhammer fuzzer with non-uniform and frequency-based patterns")
(description
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index e1639a8c64..10a22fe031 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4763,7 +4763,7 @@ (define-public openrct2
("freetype" ,freetype)
("icu4c" ,icu4c)
("jansson" ,jansson)
- ("json-modern-cxx" ,json-modern-cxx)
+ ("nlohmann-json" ,nlohmann-json)
("libpng" ,libpng)
("libzip" ,libzip)
("mesa" ,mesa)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 94b93970b1..cc3ae9909f 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2556,7 +2556,7 @@ (define-public f3d
(native-inputs
(list cxxopts
help2man
- json-modern-cxx))
+ nlohmann-json))
(inputs
(list alembic
assimp
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index c00a6e2d91..9fb896a36a 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -1070,7 +1070,7 @@ (define-public openrgb
(string-append #$(this-package-input "hueplusplus")
"/include/hueplusplus"))
(("dependencies/json")
- (string-append #$(this-package-input "json-modern-cxx")
+ (string-append #$(this-package-input "nlohmann-json")
"/include/nlohmann")))))
;; Call qmake instead of configure to create a Makefile.
(replace 'configure
@@ -1078,7 +1078,7 @@ (define-public openrgb
(inputs
(list hidapi
hueplusplus
- json-modern-cxx
+ nlohmann-json
libusb
mbedtls-apache
qtbase-5))
diff --git a/gnu/packages/irods.scm b/gnu/packages/irods.scm
index 5c9b66000c..a14ac87aa2 100644
--- a/gnu/packages/irods.scm
+++ b/gnu/packages/irods.scm
@@ -143,7 +143,7 @@ (define-public irods
("boost" ,boost-for-irods)
("cppzmq" ,cppzmq)
("fmt" ,fmt-6)
- ("json" ,json-modern-cxx)
+ ("json" ,nlohmann-json)
("libarchive" ,libarchive)
("libcxxabi" ,libcxxabi-6) ; we need this for linking with -lc++abi
("linux-pam" ,linux-pam)
@@ -247,7 +247,7 @@ (define-public irods-client-icommands
("cppzmq" ,cppzmq)
("fmt" ,fmt-6)
("irods" ,irods)
- ("json" ,json-modern-cxx)
+ ("json" ,nlohmann-json)
("libarchive" ,libarchive)
("libcxxabi" ,libcxxabi-6) ; we need this for linking with -lc++abi
("mit-krb5" ,mit-krb5)
diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm
index 20c72a7437..cfc7ff0451 100644
--- a/gnu/packages/jupyter.scm
+++ b/gnu/packages/jupyter.scm
@@ -195,7 +195,7 @@ (define-public xeus
python-jupyter-client))
(inputs
(list xtl
- json-modern-cxx
+ nlohmann-json
cppzmq
zeromq
openssl
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index d540309a8f..f3456f7eaf 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2331,7 +2331,7 @@ (define-public mtxclient
(list boost
coeurl
curl
- json-modern-cxx
+ nlohmann-json
libevent
libsodium
olm
@@ -2414,7 +2414,7 @@ (define-public nheko
gst-plugins-base
gst-plugins-bad ; sdp & webrtc for voip
gst-plugins-good-qt ; rtpmanager for voip
- json-modern-cxx
+ nlohmann-json
libevent
libnice ; for voip
olm
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 16400481b0..56da6139f9 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -390,7 +390,7 @@ (define-public jucipp
clang-11 ;XXX: must be the same version as Mesas LLVM
gtkmm-3
gtksourceviewmm
- json-modern-cxx
+ nlohmann-json
libgit2
universal-ctags))
(synopsis "Lightweight C++ IDE")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index fcbafdb846..7638412227 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1049,7 +1049,7 @@ (define-public mkvtoolnix
("gettext" ,gettext-minimal)
("googletest" ,googletest)
("libxslt" ,libxslt)
- ("json-modern-cxx" ,json-modern-cxx)
+ ("nlohmann-json" ,nlohmann-json)
("perl" ,perl)
("pkg-config" ,pkg-config)
("po4a" ,po4a)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index ddb70bd817..574a28cdaa 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -3114,7 +3114,7 @@ (define-public nwg-launchers
(base32
"0hq2qiqxvrw3g515ywcb676ljc8mdw3pyslgxr3vahizfljah1pv"))))
(build-system meson-build-system)
- (native-inputs (list json-modern-cxx pkg-config))
+ (native-inputs (list nlohmann-json pkg-config))
(inputs (list gtk-layer-shell gtkmm-3 librsvg))
(home-page "https://github.com/nwg-piotr/nwg-launchers")
(synopsis "Application launchers for wlroots")
--
2.39.1
L
L
Liliana Marie Prikler wrote on 23 Feb 2023 18:57
Re: [PATCH 1/3] gnu: Add nlohmann-json.
(address . control@debbugs.gnu.org)
3fe4ac9696ec9c962e4a120ca1292ab4fc0e7b70.camel@gmail.com
merge 61672 61724
thanks

Hi jgart,

Am Donnerstag, dem 23.02.2023 um 06:11 +0100 schrieb jgart:
Toggle quote (32 lines)
> * gnu/packages/cpp.scm (nlohmann-json): New variable.
> ---
>  gnu/packages/cpp.scm | 98 +++++++++++++++++-------------------------
> --
>  1 file changed, 37 insertions(+), 61 deletions(-)
>
> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> index ed6ae69198..7091459d97 100644
> --- a/gnu/packages/cpp.scm
> +++ b/gnu/packages/cpp.scm
> @@ -22,7 +22,7 @@
>  ;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
>  ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
>  ;;; Copyright © 2021 Nikolay Korotkiy <sikmir@disroot.org>
> -;;; Copyright © 2021 jgart <jgart@dismail.de>
> +;;; Copyright © 2021, 2023 jgart <jgart@dismail.de>
>  ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
>  ;;; Copyright © 2021 Disseminate Dissent
> <disseminatedissent@protonmail.com>
>  ;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
> @@ -595,74 +595,50 @@ (define-public json-dto
>  data transfer object.")
>      (license license:bsd-3)))
>  
> -(define-public json-modern-cxx
> +(define-public nlohmann-json
>    (package
> -    (name "json-modern-cxx")
> -    (version "3.10.5")
> -    (home-page "https://github.com/nlohmann/json")
> +    (name "nlohmann-json")
> +    (version "3.11.2")
Perform one logical change at a time:
1. Updating is a logical change.
2. Renaming and adjusting dependant packages is a logical change.
When adding a deprecated alias, it should be done in the same commit as
the rename (2).

The order of commits between (1) and (2) doesn't matter.

Cheers
J
[PATCH v2 1/2] gnu: Add nlohmann-json.
20230223201724.28695-1-jgart@dismail.de
* gnu/packages/cpp.scm (nlohmann-json): New variable.
---

hi lilyp,

thanks for the review and tips!

wdyt of v2

all best,

jgart

gnu/packages/cpp.scm | 98 +++++++++++++++++---------------------------
1 file changed, 37 insertions(+), 61 deletions(-)

Toggle diff (126 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index ed6ae69198..7091459d97 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -22,7 +22,7 @@
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Nikolay Korotkiy <sikmir@disroot.org>
-;;; Copyright © 2021 jgart <jgart@dismail.de>
+;;; Copyright © 2021, 2023 jgart <jgart@dismail.de>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 Disseminate Dissent <disseminatedissent@protonmail.com>
;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
@@ -595,74 +595,50 @@ (define-public json-dto
data transfer object.")
(license license:bsd-3)))
-(define-public json-modern-cxx
+(define-public nlohmann-json
(package
- (name "json-modern-cxx")
- (version "3.10.5")
- (home-page "https://github.com/nlohmann/json")
+ (name "nlohmann-json")
+ (version "3.11.2")
(source
(origin
(method git-fetch)
- (uri (git-reference (url home-page)
- (commit (string-append "v" version))))
- (sha256
- (base32 "1f9mi45ilwjc2w92grjc53sw038840bjpn8yjf6wc6bxs2nijfqd"))
+ (uri (git-reference
+ (url "https://github.com/nlohmann/json")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Delete bundled software. Preserve doctest_compatibility.h, which
- ;; is a wrapper library added by this package.
- (install-file "./test/thirdparty/doctest/doctest_compatibility.h" "/tmp")
- (for-each delete-file-recursively
- '("./third_party" "./test/thirdparty"))
- (install-file "/tmp/doctest_compatibility.h" "./test/thirdparty/doctest")
-
- ;; Adjust for the unbundled fifo_map and doctest.
- (substitute* "./test/thirdparty/doctest/doctest_compatibility.h"
- (("#include \"doctest\\.h\"")
- "#include <doctest/doctest.h>"))
- (with-directory-excursion "test/src"
- (let ((files (find-files "." "\\.cpp$")))
- (substitute* files
- (("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
- (string-append
- "#include <fifo_map/" fifo-map-hpp ">")))))))))
+ (sha256
+ (base32 "0g6rfsbkvrxmacchz4kbr741yybj7mls3r4hgyfdd3pdbqhn2is9"))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags
- (list "-DJSON_MultipleHeaders=ON" ; For json_fwd.hpp.
- (string-append "-DJSON_TestDataDirectory="
- (dirname
- (search-input-directory %build-inputs
- "json_nlohmann_tests"))))
- #:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
- (if tests?
- ;; Some tests need git and a full checkout, skip those.
- (invoke "ctest" "-LE" "git_required"
- "-j" (if parallel-tests?
- (number->string (parallel-job-count))
- "1"))
- (format #t "test suite not run~%")))))))
+ (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
- (list amalgamate
- (let ((version "3.0.0"))
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/nlohmann/json_test_data")
- (commit (string-append "v" version))))
- (file-name (git-file-name "json_test_data" version))
- (sha256
- (base32
- "0nzsjzlvk14dazwh7k2jb1dinb0pv9jbx5jsyn264wvva0y7daiv"))))))
- (inputs
- (list doctest fifo-map))
- (synopsis "JSON parser and printer library for C++")
- (description "JSON for Modern C++ is a C++ JSON library that provides
-intuitive syntax and trivial integration.")
+ `(("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 xtl
--
2.39.1
J
[PATCH v2 2/2] gnu: Refactor packages to use new nlohmann-json variable.
(name . jgart)(address . jgart@dismail.de)
20230223201724.28695-2-jgart@dismail.de
* gnu/packages/cpp.scm (json-modern-cxx): Delete variable.
* gnu/packages/cpp.scm (xtl): Use new variable.
[inputs]: Use variable.
* gnu/packages/cpp.scm (jsonnet): Use new variable.
[inputs]: Use variable.
* gnu/packages/cybersecurity.scm (blacksmith): Use new variable.
[inputs]: Use variable.
* gnu/packages/build-tools.scm (bear): Use new variable.
[inputs]: Use variable.
* gnu/packages/games.scm (openrct2): Use new variable.
[inputs]: Use variable.
* gnu/packages/graphics.scm (f3d): Use new variable.
[native-inputs]: Use variable.
* gnu/packages/hardware.scm (openrgb): Use new variable.
[arguments]: Use variable.
[inputs]: Use variable.
* gnu/packages/irods.scm (irods): Use new variable.
[inputs]: Use variable.
* gnu/packages/jupyter.scm (xeus): Use new variable.
[inputs]: Use variable.
* gnu/packages/messaging.scm (mtxclient): Use new variable.
[inputs]: Use variable.
* gnu/packages/text-editors.scm (jucipp): Use new variable.
[inputs]: Use variable.
* gnu/packages/video.scm (mkvtoolnix): Use new variable.
[inputs]: Use variable.
* gnu/packages/xdisorg.scm (nwg-launchers): Use new variable.
[native-inputs]: Use variable.
---
gnu/packages/build-tools.scm | 2 +-
gnu/packages/cpp.scm | 7 +++++--
gnu/packages/cybersecurity.scm | 2 +-
gnu/packages/games.scm | 2 +-
gnu/packages/graphics.scm | 2 +-
gnu/packages/hardware.scm | 4 ++--
gnu/packages/irods.scm | 4 ++--
gnu/packages/jupyter.scm | 2 +-
gnu/packages/messaging.scm | 4 ++--
gnu/packages/text-editors.scm | 2 +-
gnu/packages/video.scm | 2 +-
gnu/packages/xdisorg.scm | 2 +-
12 files changed, 19 insertions(+), 16 deletions(-)

Toggle diff (204 lines)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 3d03c37a2c..0e043b5cf6 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -147,7 +147,7 @@ (define-public bear
`(("c-ares" ,c-ares)
("fmt" ,fmt-8)
("grpc" ,grpc)
- ("json-modern-cxx" ,json-modern-cxx)
+ ("nlohmann-json" ,nlohmann-json)
("protobuf" ,protobuf)
("python" ,python-wrapper)
("re2" ,re2)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 7091459d97..d365c2ba74 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -595,6 +595,9 @@ (define-public json-dto
data transfer object.")
(license license:bsd-3)))
+(define-public json-modern-cxx
+ (deprecated-package "json-modern-cxx" nlohmann-json))
+
(define-public nlohmann-json
(package
(name "nlohmann-json")
@@ -656,7 +659,7 @@ (define-public xtl
"134pgvmf9cx5dxs0m0m3qhp3m3r1gl86ic3xax21zc4sdj8sdq46"))
(file-name (git-file-name name version))))
(native-inputs
- (list doctest googletest json-modern-cxx))
+ (list doctest googletest nlohmann-json))
(arguments
'(#:configure-flags
'("-DBUILD_TESTS=ON")
@@ -1805,7 +1808,7 @@ (define-public jsonnet
(native-inputs
(list googletest pkg-config))
(inputs
- (list json-modern-cxx))
+ (list nlohmann-json))
(home-page "https://jsonnet.org/")
(synopsis "Data templating language")
(description "Jsonnet is a templating language extending JSON
diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm
index 7bca251d06..cb03cbd5aa 100644
--- a/gnu/packages/cybersecurity.scm
+++ b/gnu/packages/cybersecurity.scm
@@ -89,7 +89,7 @@ (define-public blacksmith
(native-inputs
(list pkg-config))
(inputs
- (list argagg asmjit json-modern-cxx))
+ (list argagg asmjit nlohmann-json))
(home-page "https://comsec.ethz.ch/research/dram/blacksmith")
(synopsis "Rowhammer fuzzer with non-uniform and frequency-based patterns")
(description
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index e1639a8c64..10a22fe031 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4763,7 +4763,7 @@ (define-public openrct2
("freetype" ,freetype)
("icu4c" ,icu4c)
("jansson" ,jansson)
- ("json-modern-cxx" ,json-modern-cxx)
+ ("nlohmann-json" ,nlohmann-json)
("libpng" ,libpng)
("libzip" ,libzip)
("mesa" ,mesa)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 94b93970b1..cc3ae9909f 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2556,7 +2556,7 @@ (define-public f3d
(native-inputs
(list cxxopts
help2man
- json-modern-cxx))
+ nlohmann-json))
(inputs
(list alembic
assimp
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index c00a6e2d91..9fb896a36a 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -1070,7 +1070,7 @@ (define-public openrgb
(string-append #$(this-package-input "hueplusplus")
"/include/hueplusplus"))
(("dependencies/json")
- (string-append #$(this-package-input "json-modern-cxx")
+ (string-append #$(this-package-input "nlohmann-json")
"/include/nlohmann")))))
;; Call qmake instead of configure to create a Makefile.
(replace 'configure
@@ -1078,7 +1078,7 @@ (define-public openrgb
(inputs
(list hidapi
hueplusplus
- json-modern-cxx
+ nlohmann-json
libusb
mbedtls-apache
qtbase-5))
diff --git a/gnu/packages/irods.scm b/gnu/packages/irods.scm
index 5c9b66000c..a14ac87aa2 100644
--- a/gnu/packages/irods.scm
+++ b/gnu/packages/irods.scm
@@ -143,7 +143,7 @@ (define-public irods
("boost" ,boost-for-irods)
("cppzmq" ,cppzmq)
("fmt" ,fmt-6)
- ("json" ,json-modern-cxx)
+ ("json" ,nlohmann-json)
("libarchive" ,libarchive)
("libcxxabi" ,libcxxabi-6) ; we need this for linking with -lc++abi
("linux-pam" ,linux-pam)
@@ -247,7 +247,7 @@ (define-public irods-client-icommands
("cppzmq" ,cppzmq)
("fmt" ,fmt-6)
("irods" ,irods)
- ("json" ,json-modern-cxx)
+ ("json" ,nlohmann-json)
("libarchive" ,libarchive)
("libcxxabi" ,libcxxabi-6) ; we need this for linking with -lc++abi
("mit-krb5" ,mit-krb5)
diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm
index 20c72a7437..cfc7ff0451 100644
--- a/gnu/packages/jupyter.scm
+++ b/gnu/packages/jupyter.scm
@@ -195,7 +195,7 @@ (define-public xeus
python-jupyter-client))
(inputs
(list xtl
- json-modern-cxx
+ nlohmann-json
cppzmq
zeromq
openssl
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index d540309a8f..f3456f7eaf 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2331,7 +2331,7 @@ (define-public mtxclient
(list boost
coeurl
curl
- json-modern-cxx
+ nlohmann-json
libevent
libsodium
olm
@@ -2414,7 +2414,7 @@ (define-public nheko
gst-plugins-base
gst-plugins-bad ; sdp & webrtc for voip
gst-plugins-good-qt ; rtpmanager for voip
- json-modern-cxx
+ nlohmann-json
libevent
libnice ; for voip
olm
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 16400481b0..56da6139f9 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -390,7 +390,7 @@ (define-public jucipp
clang-11 ;XXX: must be the same version as Mesas LLVM
gtkmm-3
gtksourceviewmm
- json-modern-cxx
+ nlohmann-json
libgit2
universal-ctags))
(synopsis "Lightweight C++ IDE")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index fcbafdb846..7638412227 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1049,7 +1049,7 @@ (define-public mkvtoolnix
("gettext" ,gettext-minimal)
("googletest" ,googletest)
("libxslt" ,libxslt)
- ("json-modern-cxx" ,json-modern-cxx)
+ ("nlohmann-json" ,nlohmann-json)
("perl" ,perl)
("pkg-config" ,pkg-config)
("po4a" ,po4a)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index ddb70bd817..574a28cdaa 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -3114,7 +3114,7 @@ (define-public nwg-launchers
(base32
"0hq2qiqxvrw3g515ywcb676ljc8mdw3pyslgxr3vahizfljah1pv"))))
(build-system meson-build-system)
- (native-inputs (list json-modern-cxx pkg-config))
+ (native-inputs (list nlohmann-json pkg-config))
(inputs (list gtk-layer-shell gtkmm-3 librsvg))
(home-page "https://github.com/nwg-piotr/nwg-launchers")
(synopsis "Application launchers for wlroots")
--
2.39.1
L
L
Liliana Marie Prikler wrote on 23 Feb 2023 21:59
Re: [PATCH v2 1/2] gnu: Add nlohmann-json.
a065c8abaed0689296ce0583d99fd932876e85f0.camel@gmail.com
Am Donnerstag, dem 23.02.2023 um 21:17 +0100 schrieb jgart:
Toggle quote (2 lines)
> wdyt of v2

Am Donnerstag, dem 23.02.2023 um 18:57 +0100 schrieb Liliana Marie
Prikler:
Toggle quote (6 lines)
> Perform one logical change at a time:
> 1. Updating is a logical change.
> 2. Renaming and adjusting dependant packages is a logical change.
> When adding a deprecated alias, it should be done in the same commit
> as the rename (2).

Cheers
J
93c2e217aa44ea79264fafa7aa8c7f5c@dismail.de
Hi lilyp,

Is there anything else I need to do on my end for this patch before it gets pushed?

Any need for revision or ready?

all the best,

jgart
L
L
Liliana Marie Prikler wrote on 10 Mar 2023 06:18
e699862439d15bd7f60df89aa3e69b2ecb863cef.camel@gmail.com
Am Freitag, dem 10.03.2023 um 01:58 +0000 schrieb jgart:
Toggle quote (6 lines)
> Hi lilyp,
>
> Is there anything else I need to do on my end for this patch before
> it gets pushed?
>
> Any need for revision or ready?
v2 1/2 mixes functional and stylistic changes in a rather
unconventional manner (reverting to old-style inputs). Is there
nothing you can do about this to make the patch look nicer?

Cheers
L
L
Liliana Marie Prikler wrote on 28 Apr 2023 21:55
[PATCH v3 3/3] gnu: nlohmann-json: Improve package style.
(address . 61724@debbugs.gnu.org)(name . jgart)(address . jgart@dismail.de)
89cb6548f34a6a4b3e83441d5dfdeacd12b44a17.camel@gmail.com
* gnu/package/cpp.scm (nlohmann-json)[source]<snippet>: Fit to 80 chars width.
Use G-Expressions.
[arguments]: Use G-Expressions.
---
gnu/packages/cpp.scm | 72 +++++++++++++++++++++++---------------------
1 file changed, 38 insertions(+), 34 deletions(-)

Toggle diff (87 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 05208422ec..3a8c9fe1bf 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -610,42 +610,46 @@ (define-public nlohmann-json
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
- '(begin
- ;; Delete bundled software. Preserve doctest_compatibility.h, which
- ;; is a wrapper library added by this package.
- (install-file "./test/thirdparty/doctest/doctest_compatibility.h" "/tmp")
- (for-each delete-file-recursively
- '("./third_party" "./test/thirdparty"))
- (install-file "/tmp/doctest_compatibility.h" "./test/thirdparty/doctest")
-
- ;; Adjust for the unbundled fifo_map and doctest.
- (substitute* "./test/thirdparty/doctest/doctest_compatibility.h"
- (("#include \"doctest\\.h\"")
- "#include <doctest/doctest.h>"))
- (with-directory-excursion "test/src"
- (let ((files (find-files "." "\\.cpp$")))
- (substitute* files
- (("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
- (string-append
- "#include <fifo_map/" fifo-map-hpp ">")))))))))
+ #~(begin
+ ;; Delete bundled software. Preserve doctest_compatibility.h, which
+ ;; is a wrapper library added by this package.
+ (install-file "./test/thirdparty/doctest/doctest_compatibility.h"
+ "/tmp")
+ (for-each delete-file-recursively
+ '("./third_party" "./test/thirdparty"))
+ (install-file "/tmp/doctest_compatibility.h"
+ "./test/thirdparty/doctest")
+
+ ;; Adjust for the unbundled fifo_map and doctest.
+ (substitute* "./test/thirdparty/doctest/doctest_compatibility.h"
+ (("#include \"doctest\\.h\"")
+ "#include <doctest/doctest.h>"))
+ (with-directory-excursion "test/src"
+ (let ((files (find-files "." "\\.cpp$")))
+ (substitute* files
+ (("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
+ (string-append
+ "#include <fifo_map/" fifo-map-hpp ">")))))))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags
- (list "-DJSON_MultipleHeaders=ON" ; For json_fwd.hpp.
- (string-append "-DJSON_TestDataDirectory="
- (dirname
- (search-input-directory %build-inputs
- "json_nlohmann_tests"))))
- #:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
- (if tests?
- ;; Some tests need git and a full checkout, skip those.
- (invoke "ctest" "-LE" "git_required"
- "-j" (if parallel-tests?
- (number->string (parallel-job-count))
- "1"))
- (format #t "test suite not run~%")))))))
+ (list
+ #:configure-flags
+ #~(list "-DJSON_MultipleHeaders=ON" ; For json_fwd.hpp.
+ (string-append "-DJSON_TestDataDirectory="
+ (dirname
+ (search-input-directory %build-inputs
+ "json_nlohmann_tests"))))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
+ (if tests?
+ ;; Some tests need git and a full checkout, skip those.
+ (invoke "ctest" "-LE" "git_required"
+ "-j" (if parallel-tests?
+ (number->string (parallel-job-count))
+ "1"))
+ (format #t "test suite not run~%")))))))
(native-inputs
(list amalgamate
(let ((version "3.0.0"))
--
2.39.2
L
L
Liliana Marie Prikler wrote on 28 Apr 2023 21:50
[PATCH v3 2/3] gnu: nlohmann-json: Update to 3.11.2.
(address . 61724@debbugs.gnu.org)(name . jgart)(address . jgart@dismail.de)
65c99f52c66ada297a6570a2fefea8769087be1f.camel@gmail.com
* gnu/packages/cpp.scm (nlohmann-json): Update to 3.11.2.
---
gnu/packages/cpp.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 556a1aca39..05208422ec 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -598,7 +598,7 @@ (define-public json-dto
(define-public nlohmann-json
(package
(name "nlohmann-json")
- (version "3.10.5")
+ (version "3.11.2")
(home-page "https://github.com/nlohmann/json")
(source
(origin
@@ -606,7 +606,7 @@ (define-public nlohmann-json
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(sha256
- (base32 "1f9mi45ilwjc2w92grjc53sw038840bjpn8yjf6wc6bxs2nijfqd"))
+ (base32 "0g6rfsbkvrxmacchz4kbr741yybj7mls3r4hgyfdd3pdbqhn2is9"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
--
2.39.2
L
L
Liliana Marie Prikler wrote on 27 Apr 2023 20:57
[PATCH v3 1/3] gnu: Rename json-modern-cxx to nlohmann-json.
(address . 61724@debbugs.gnu.org)(name . jgart)(address . jgart@dismail.de)
c112a13010c6e48fb1efc05d24ec204e27269a25.camel@gmail.com
* gnu/packages/cpp.scm (nlohmann-json): New variable.
(json-modern-cxx): Mark as deprecated alias.
(xtl, jsonnet)[inputs]: Use nlohmann-json.
* gnu/packages/build-tools.scm (bear)[inputs]: Likewise.
* gnu/packages/cybersecurity.scm (blacksmith)[inputs]: Likewise.
* gnu/packages/databases.scm (sqlitebrowser)[inputs]: Adjust comment.
* gnu/packages/games.scm (openrct2)[inputs]: Use nlohmann-json.
* gnu/packages/graphics.scm (f3d)[native-inputs]: Likewise.
* gnu/packages/hardware.scm (openrgb)[inputs]: Likewise.
[arguments]: Adjust accordingly.
* gnu/packages/image-processing.scm (paraview)[inputs]: Adjust comment.
* gnu/packages/irods.scm (irods, irods-client-icommands)[inputs]: Use
nlohmann-json.
* gnu/packages/jupyter.scm (xeus)[inputs]: Likewise.
* gnu/packages/messaging.scm (mtxclient, nheko)[inputs]: Likewise.
* gnu/packages/text-editors.scm (jucipp)[inputs]: Likewise.
* gnu/packages/video.scm (mktoolnix)[inputs]: Likewise.
* gnu/packages/xdisorg.scm (nwg-launchers)[inputs]: Likewise.
---
gnu/packages/build-tools.scm | 2 +-
gnu/packages/cpp.scm | 13 ++++++++-----
gnu/packages/cybersecurity.scm | 2 +-
gnu/packages/databases.scm | 2 +-
gnu/packages/games.scm | 2 +-
gnu/packages/graphics.scm | 2 +-
gnu/packages/hardware.scm | 4 ++--
gnu/packages/image-processing.scm | 2 +-
gnu/packages/irods.scm | 4 ++--
gnu/packages/jupyter.scm | 2 +-
gnu/packages/messaging.scm | 4 ++--
gnu/packages/text-editors.scm | 2 +-
gnu/packages/video.scm | 2 +-
gnu/packages/xdisorg.scm | 2 +-
14 files changed, 24 insertions(+), 21 deletions(-)

Toggle diff (247 lines)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index bcca229466..573ea675c0 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -148,7 +148,7 @@ (define-public bear
`(("c-ares" ,c-ares)
("fmt" ,fmt-8)
("grpc" ,grpc)
- ("json-modern-cxx" ,json-modern-cxx)
+ ("nlohmann-json" ,json-modern-cxx)
("protobuf" ,protobuf)
("python" ,python-wrapper)
("re2" ,re2)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index bb1f216e2a..556a1aca39 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -595,9 +595,9 @@ (define-public json-dto
data transfer object.")
(license license:bsd-3)))
-(define-public json-modern-cxx
+(define-public nlohmann-json
(package
- (name "json-modern-cxx")
+ (name "nlohmann-json")
(version "3.10.5")
(home-page "https://github.com/nlohmann/json")
(source
@@ -661,10 +661,13 @@ (define-public json-modern-cxx
(inputs
(list doctest fifo-map))
(synopsis "JSON parser and printer library for C++")
- (description "JSON for Modern C++ is a C++ JSON library that provides
+ (description "@code{nlohmann::json} is a C++ JSON library that provides
intuitive syntax and trivial integration.")
(license license:expat)))
+(define json-modern-cxx
+ (deprecated-package "json-modern-cxx" nlohmann-json))
+
(define-public xtl
(package
(name "xtl")
@@ -680,7 +683,7 @@ (define-public xtl
"134pgvmf9cx5dxs0m0m3qhp3m3r1gl86ic3xax21zc4sdj8sdq46"))
(file-name (git-file-name name version))))
(native-inputs
- (list doctest googletest json-modern-cxx))
+ (list doctest googletest nlohmann-json))
(arguments
'(#:configure-flags
'("-DBUILD_TESTS=ON")
@@ -1867,7 +1870,7 @@ (define-public jsonnet
(native-inputs
(list googletest pkg-config))
(inputs
- (list json-modern-cxx))
+ (list nlohmann-json))
(home-page "https://jsonnet.org/")
(synopsis "Data templating language")
(description "Jsonnet is a templating language extending JSON
diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm
index 7bca251d06..cb03cbd5aa 100644
--- a/gnu/packages/cybersecurity.scm
+++ b/gnu/packages/cybersecurity.scm
@@ -89,7 +89,7 @@ (define-public blacksmith
(native-inputs
(list pkg-config))
(inputs
- (list argagg asmjit json-modern-cxx))
+ (list argagg asmjit nlohmann-json))
(home-page "https://comsec.ethz.ch/research/dram/blacksmith")
(synopsis "Rowhammer fuzzer with non-uniform and frequency-based patterns")
(description
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 4cd0d61da8..ae06fd3599 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -5023,7 +5023,7 @@ (define-public sqlitebrowser
(build-system qt-build-system)
(arguments
(list #:configure-flags
- ;; TODO: Unbundle json (json-modern-cxx).
+ ;; TODO: Unbundle json (nlohmann-json).
#~(list (string-append "-DQSCINTILLA_INCLUDE_DIR="
#$(this-package-input "qscintilla")
"/include/Qsci")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 3391c141e4..72dee4b50b 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4897,7 +4897,7 @@ (define-public openrct2
("freetype" ,freetype)
("icu4c" ,icu4c)
("jansson" ,jansson)
- ("json-modern-cxx" ,json-modern-cxx)
+ ("nlohmann-json" ,json-modern-cxx)
("libpng" ,libpng)
("libzip" ,libzip)
("mesa" ,mesa)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 261fcf9547..0951770b12 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2535,7 +2535,7 @@ (define-public f3d
(native-inputs
(list cxxopts
help2man
- json-modern-cxx))
+ nlohmann-json))
(inputs
(list alembic
assimp
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 5b85ad9b2e..c23299d1db 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -1059,7 +1059,7 @@ (define-public openrgb
(string-append #$(this-package-input "hueplusplus")
"/include/hueplusplus"))
(("dependencies/json")
- (string-append #$(this-package-input "json-modern-cxx")
+ (string-append #$(this-package-input "nlohmann-json")
"/include/nlohmann")))))
;; Call qmake instead of configure to create a Makefile.
(replace 'configure
@@ -1067,7 +1067,7 @@ (define-public openrgb
(inputs
(list hidapi
hueplusplus
- json-modern-cxx
+ nlohmann-json
libusb
mbedtls-apache
qtbase-5))
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index cc0d5789b3..0aaac00870 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -1213,7 +1213,7 @@ (define-public paraview
glew
gmsh
hdf5
- ;;json-modern-cxx ;For ParFlow; build fails
+ ;;nlohmann-json ;For ParFlow; build fails
jsoncpp
libjpeg-turbo
libogg
diff --git a/gnu/packages/irods.scm b/gnu/packages/irods.scm
index 5c9b66000c..a14ac87aa2 100644
--- a/gnu/packages/irods.scm
+++ b/gnu/packages/irods.scm
@@ -143,7 +143,7 @@ (define-public irods
("boost" ,boost-for-irods)
("cppzmq" ,cppzmq)
("fmt" ,fmt-6)
- ("json" ,json-modern-cxx)
+ ("json" ,nlohmann-json)
("libarchive" ,libarchive)
("libcxxabi" ,libcxxabi-6) ; we need this for linking with -lc++abi
("linux-pam" ,linux-pam)
@@ -247,7 +247,7 @@ (define-public irods-client-icommands
("cppzmq" ,cppzmq)
("fmt" ,fmt-6)
("irods" ,irods)
- ("json" ,json-modern-cxx)
+ ("json" ,nlohmann-json)
("libarchive" ,libarchive)
("libcxxabi" ,libcxxabi-6) ; we need this for linking with -lc++abi
("mit-krb5" ,mit-krb5)
diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm
index d0fcc82076..9337197cb2 100644
--- a/gnu/packages/jupyter.scm
+++ b/gnu/packages/jupyter.scm
@@ -196,7 +196,7 @@ (define-public xeus
python-jupyter-client))
(inputs
(list xtl
- json-modern-cxx
+ nlohmann-json
cppzmq
zeromq
openssl
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 2fa1c45f98..8441e41351 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2325,7 +2325,7 @@ (define-public mtxclient
(list boost
coeurl
curl
- json-modern-cxx
+ nlohmann-json
libevent
libsodium
olm
@@ -2408,7 +2408,7 @@ (define-public nheko
gst-plugins-base
gst-plugins-bad ; sdp & webrtc for voip
gst-plugins-good-qt ; rtpmanager for voip
- json-modern-cxx
+ nlohmann-json
libevent
libnice ; for voip
olm
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 8714940d1c..b23c5ba2be 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -393,7 +393,7 @@ (define-public jucipp
clang-11 ;XXX: must be the same version as Mesas LLVM
gtkmm-3
gtksourceviewmm
- json-modern-cxx
+ nlohmann-json
libgit2
universal-ctags))
(synopsis "Lightweight C++ IDE")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 838dfe7aab..0512801ad8 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1027,7 +1027,7 @@ (define-public mkvtoolnix
("gettext" ,gettext-minimal)
("googletest" ,googletest)
("libxslt" ,libxslt)
- ("json-modern-cxx" ,json-modern-cxx)
+ ("nlohmann-json" ,json-modern-cxx)
("perl" ,perl)
("pkg-config" ,pkg-config)
("po4a" ,po4a)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index f4ddd15aaa..3e9d424863 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -3150,7 +3150,7 @@ (define-public nwg-launchers
(base32
"0hq2qiqxvrw3g515ywcb676ljc8mdw3pyslgxr3vahizfljah1pv"))))
(build-system meson-build-system)
- (native-inputs (list json-modern-cxx pkg-config))
+ (native-inputs (list nlohmann-json pkg-config))
(inputs (list gtk-layer-shell gtkmm-3 librsvg))
(home-page "https://github.com/nwg-piotr/nwg-launchers")
(synopsis "Application launchers for wlroots")
--
2.39.2
J
Re: [PATCH v3 2/3] gnu: nlohmann-json: Update to 3.11.2.
921f4a827bc29e0fee6e627d57bab80f@dismail.de
Cool, feel free to work on this package if you're interested. I don't think I'll find the time to hack on it for a while.

I was mostly interested in updating it in order to update the nix package manager since we have a pretty old version.

all best,

jgart
L
L
Liliana Marie Prikler wrote on 27 Apr 2023 20:57
[PATCH v4 1/7] gnu: Rename json-modern-cxx to nlohmann-json.
(address . 61724@debbugs.gnu.org)
7429efc0ff6e48ddd1169a5353abbe6226edaaeb.1683475550.git.liliana.prikler@gmail.com
* gnu/packages/cpp.scm (nlohmann-json): New variable.
(json-modern-cxx): Mark as deprecated alias.
(xtl, jsonnet)[inputs]: Use nlohmann-json.
* gnu/packages/build-tools.scm (bear)[inputs]: Likewise.
* gnu/packages/cybersecurity.scm (blacksmith)[inputs]: Likewise.
* gnu/packages/databases.scm (sqlitebrowser)[inputs]: Adjust comment.
* gnu/packages/games.scm (openrct2)[inputs]: Use nlohmann-json.
* gnu/packages/graphics.scm (f3d)[native-inputs]: Likewise.
* gnu/packages/hardware.scm (openrgb)[inputs]: Likewise.
[arguments]: Adjust accordingly.
* gnu/packages/image-processing.scm (paraview)[inputs]: Adjust comment.
* gnu/packages/irods.scm (irods, irods-client-icommands)[inputs]: Use
nlohmann-json.
* gnu/packages/jupyter.scm (xeus)[inputs]: Likewise.
* gnu/packages/messaging.scm (mtxclient, nheko)[inputs]: Likewise.
* gnu/packages/text-editors.scm (jucipp)[inputs]: Likewise.
* gnu/packages/video.scm (mktoolnix)[inputs]: Likewise.
* gnu/packages/xdisorg.scm (nwg-launchers)[inputs]: Likewise.
---
gnu/packages/build-tools.scm | 2 +-
gnu/packages/cpp.scm | 13 ++++++++-----
gnu/packages/cybersecurity.scm | 2 +-
gnu/packages/databases.scm | 2 +-
gnu/packages/games.scm | 2 +-
gnu/packages/graphics.scm | 2 +-
gnu/packages/hardware.scm | 4 ++--
gnu/packages/image-processing.scm | 2 +-
gnu/packages/irods.scm | 4 ++--
gnu/packages/jupyter.scm | 2 +-
gnu/packages/messaging.scm | 4 ++--
gnu/packages/text-editors.scm | 2 +-
gnu/packages/video.scm | 2 +-
gnu/packages/xdisorg.scm | 2 +-
14 files changed, 24 insertions(+), 21 deletions(-)

Toggle diff (249 lines)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 33d91e6043..fb2deaa384 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -148,7 +148,7 @@ (define-public bear
`(("c-ares" ,c-ares)
("fmt" ,fmt-8)
("grpc" ,grpc)
- ("json-modern-cxx" ,json-modern-cxx)
+ ("nlohmann-json" ,json-modern-cxx)
("protobuf" ,protobuf)
("python" ,python-wrapper)
("re2" ,re2)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 023d1c0337..a041b4a3bb 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -595,9 +595,9 @@ (define-public json-dto
data transfer object.")
(license license:bsd-3)))
-(define-public json-modern-cxx
+(define-public nlohmann-json
(package
- (name "json-modern-cxx")
+ (name "nlohmann-json")
(version "3.10.5")
(home-page "https://github.com/nlohmann/json")
(source
@@ -661,10 +661,13 @@ (define-public json-modern-cxx
(inputs
(list doctest fifo-map))
(synopsis "JSON parser and printer library for C++")
- (description "JSON for Modern C++ is a C++ JSON library that provides
+ (description "@code{nlohmann::json} is a C++ JSON library that provides
intuitive syntax and trivial integration.")
(license license:expat)))
+(define-public json-modern-cxx
+ (deprecated-package "json-modern-cxx" nlohmann-json))
+
(define-public xtl
(package
(name "xtl")
@@ -680,7 +683,7 @@ (define-public xtl
"134pgvmf9cx5dxs0m0m3qhp3m3r1gl86ic3xax21zc4sdj8sdq46"))
(file-name (git-file-name name version))))
(native-inputs
- (list doctest googletest json-modern-cxx))
+ (list doctest googletest nlohmann-json))
(arguments
'(#:configure-flags
'("-DBUILD_TESTS=ON")
@@ -1859,7 +1862,7 @@ (define-public jsonnet
(native-inputs
(list googletest pkg-config))
(inputs
- (list json-modern-cxx))
+ (list nlohmann-json))
(home-page "https://jsonnet.org/")
(synopsis "Data templating language")
(description "Jsonnet is a templating language extending JSON
diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm
index 7bca251d06..cb03cbd5aa 100644
--- a/gnu/packages/cybersecurity.scm
+++ b/gnu/packages/cybersecurity.scm
@@ -89,7 +89,7 @@ (define-public blacksmith
(native-inputs
(list pkg-config))
(inputs
- (list argagg asmjit json-modern-cxx))
+ (list argagg asmjit nlohmann-json))
(home-page "https://comsec.ethz.ch/research/dram/blacksmith")
(synopsis "Rowhammer fuzzer with non-uniform and frequency-based patterns")
(description
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 4cd0d61da8..ae06fd3599 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -5023,7 +5023,7 @@ (define-public sqlitebrowser
(build-system qt-build-system)
(arguments
(list #:configure-flags
- ;; TODO: Unbundle json (json-modern-cxx).
+ ;; TODO: Unbundle json (nlohmann-json).
#~(list (string-append "-DQSCINTILLA_INCLUDE_DIR="
#$(this-package-input "qscintilla")
"/include/Qsci")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 4fb9775e8d..f7140fdadc 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4890,7 +4890,7 @@ (define-public openrct2
("freetype" ,freetype)
("icu4c" ,icu4c)
("jansson" ,jansson)
- ("json-modern-cxx" ,json-modern-cxx)
+ ("nlohmann-json" ,json-modern-cxx)
("libpng" ,libpng)
("libzip" ,libzip)
("mesa" ,mesa)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 261fcf9547..0951770b12 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2535,7 +2535,7 @@ (define-public f3d
(native-inputs
(list cxxopts
help2man
- json-modern-cxx))
+ nlohmann-json))
(inputs
(list alembic
assimp
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 5b85ad9b2e..c23299d1db 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -1059,7 +1059,7 @@ (define-public openrgb
(string-append #$(this-package-input "hueplusplus")
"/include/hueplusplus"))
(("dependencies/json")
- (string-append #$(this-package-input "json-modern-cxx")
+ (string-append #$(this-package-input "nlohmann-json")
"/include/nlohmann")))))
;; Call qmake instead of configure to create a Makefile.
(replace 'configure
@@ -1067,7 +1067,7 @@ (define-public openrgb
(inputs
(list hidapi
hueplusplus
- json-modern-cxx
+ nlohmann-json
libusb
mbedtls-apache
qtbase-5))
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index cc0d5789b3..0aaac00870 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -1213,7 +1213,7 @@ (define-public paraview
glew
gmsh
hdf5
- ;;json-modern-cxx ;For ParFlow; build fails
+ ;;nlohmann-json ;For ParFlow; build fails
jsoncpp
libjpeg-turbo
libogg
diff --git a/gnu/packages/irods.scm b/gnu/packages/irods.scm
index 5c9b66000c..a14ac87aa2 100644
--- a/gnu/packages/irods.scm
+++ b/gnu/packages/irods.scm
@@ -143,7 +143,7 @@ (define-public irods
("boost" ,boost-for-irods)
("cppzmq" ,cppzmq)
("fmt" ,fmt-6)
- ("json" ,json-modern-cxx)
+ ("json" ,nlohmann-json)
("libarchive" ,libarchive)
("libcxxabi" ,libcxxabi-6) ; we need this for linking with -lc++abi
("linux-pam" ,linux-pam)
@@ -247,7 +247,7 @@ (define-public irods-client-icommands
("cppzmq" ,cppzmq)
("fmt" ,fmt-6)
("irods" ,irods)
- ("json" ,json-modern-cxx)
+ ("json" ,nlohmann-json)
("libarchive" ,libarchive)
("libcxxabi" ,libcxxabi-6) ; we need this for linking with -lc++abi
("mit-krb5" ,mit-krb5)
diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm
index d0fcc82076..9337197cb2 100644
--- a/gnu/packages/jupyter.scm
+++ b/gnu/packages/jupyter.scm
@@ -196,7 +196,7 @@ (define-public xeus
python-jupyter-client))
(inputs
(list xtl
- json-modern-cxx
+ nlohmann-json
cppzmq
zeromq
openssl
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 2fa1c45f98..8441e41351 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2325,7 +2325,7 @@ (define-public mtxclient
(list boost
coeurl
curl
- json-modern-cxx
+ nlohmann-json
libevent
libsodium
olm
@@ -2408,7 +2408,7 @@ (define-public nheko
gst-plugins-base
gst-plugins-bad ; sdp & webrtc for voip
gst-plugins-good-qt ; rtpmanager for voip
- json-modern-cxx
+ nlohmann-json
libevent
libnice ; for voip
olm
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 8714940d1c..b23c5ba2be 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -393,7 +393,7 @@ (define-public jucipp
clang-11 ;XXX: must be the same version as Mesas LLVM
gtkmm-3
gtksourceviewmm
- json-modern-cxx
+ nlohmann-json
libgit2
universal-ctags))
(synopsis "Lightweight C++ IDE")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 65fd92ea48..5fc23b777c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1027,7 +1027,7 @@ (define-public mkvtoolnix
("gettext" ,gettext-minimal)
("googletest" ,googletest)
("libxslt" ,libxslt)
- ("json-modern-cxx" ,json-modern-cxx)
+ ("nlohmann-json" ,json-modern-cxx)
("perl" ,perl)
("pkg-config" ,pkg-config)
("po4a" ,po4a)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index bee9711a74..3d66ddc862 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -3149,7 +3149,7 @@ (define-public nwg-launchers
(base32
"0hq2qiqxvrw3g515ywcb676ljc8mdw3pyslgxr3vahizfljah1pv"))))
(build-system meson-build-system)
- (native-inputs (list json-modern-cxx pkg-config))
+ (native-inputs (list nlohmann-json pkg-config))
(inputs (list gtk-layer-shell gtkmm-3 librsvg))
(home-page "https://github.com/nwg-piotr/nwg-launchers")
(synopsis "Application launchers for wlroots")

base-commit: 4c3532d7ab81a20e21d23bcf25e06999fcee2571
--
2.39.2
L
L
Liliana Marie Prikler wrote on 28 Apr 2023 21:55
[PATCH v4 3/7] gnu: nlohmann-json: Improve package style.
(address . 61724@debbugs.gnu.org)
911d4ae047d69888fe33fde18c832fc536837677.1683475550.git.liliana.prikler@gmail.com
* gnu/package/cpp.scm (nlohmann-json)[source]<snippet>: Fit to 80 chars width.
Use G-Expressions.
[arguments]: Use G-Expressions.
---
gnu/packages/cpp.scm | 70 +++++++++++++++++++++++---------------------
1 file changed, 37 insertions(+), 33 deletions(-)

Toggle diff (85 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 5c2e6d2425..e797020124 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -610,41 +610,45 @@ (define-public nlohmann-json
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
- '(begin
- ;; Delete bundled software. Preserve doctest_compatibility.h, which
- ;; is a wrapper library added by this package.
- (install-file "./tests/thirdparty/doctest/doctest_compatibility.h" "/tmp")
- (delete-file-recursively "./tests/thirdparty")
- (install-file "/tmp/doctest_compatibility.h" "./tests/thirdparty/doctest")
-
- ;; Adjust for the unbundled fifo_map and doctest.
- (substitute* (find-files "./tests/" "\\.h(pp)?")
- (("#include \"doctest\\.h\"") "#include <doctest/doctest.h>")
- (("#include <doctest\\.h>") "#include <doctest/doctest.h>"))
- (with-directory-excursion "tests/src"
- (let ((files (find-files "." "\\.cpp$")))
- (substitute* files
- (("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
- (string-append
- "#include <fifo_map/" fifo-map-hpp ">")))))))))
+ #~(begin
+ ;; Delete bundled software. Preserve doctest_compatibility.h, which
+ ;; is a wrapper library added by this package.
+ (install-file "./tests/thirdparty/doctest/doctest_compatibility.h"
+ "/tmp")
+ (delete-file-recursively "./tests/thirdparty")
+ (install-file "/tmp/doctest_compatibility.h"
+ "./tests/thirdparty/doctest")
+
+ ;; Adjust for the unbundled fifo_map and doctest.
+ (substitute* (find-files "./tests/" "\\.h(pp)?")
+ (("#include \"doctest\\.h\"") "#include <doctest/doctest.h>")
+ (("#include <doctest\\.h>") "#include <doctest/doctest.h>"))
+ (with-directory-excursion "tests/src"
+ (let ((files (find-files "." "\\.cpp$")))
+ (substitute* files
+ (("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
+ (string-append
+ "#include <fifo_map/" fifo-map-hpp ">")))))))))
(build-system cmake-build-system)
(arguments
- '(#:configure-flags
- (list "-DJSON_MultipleHeaders=ON" ; For json_fwd.hpp.
- (string-append "-DJSON_TestDataDirectory="
- (dirname
- (search-input-directory %build-inputs
- "json_nlohmann_tests"))))
- #:phases (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
- (if tests?
- ;; Some tests need git and a full checkout, skip those.
- (invoke "ctest" "-LE" "git_required"
- "-j" (if parallel-tests?
- (number->string (parallel-job-count))
- "1"))
- (format #t "test suite not run~%")))))))
+ (list
+ #:configure-flags
+ #~(list "-DJSON_MultipleHeaders=ON" ; For json_fwd.hpp.
+ (string-append "-DJSON_TestDataDirectory="
+ (dirname
+ (search-input-directory %build-inputs
+ "json_nlohmann_tests"))))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
+ (if tests?
+ ;; Some tests need git and a full checkout, skip those.
+ (invoke "ctest" "-LE" "git_required"
+ "-j" (if parallel-tests?
+ (number->string (parallel-job-count))
+ "1"))
+ (format #t "test suite not run~%")))))))
(native-inputs
(list amalgamate
(let ((version "3.1.0"))
--
2.39.2
L
L
Liliana Marie Prikler wrote on 28 Apr 2023 21:50
[PATCH v4 2/7] gnu: nlohmann-json: Update to 3.11.2.
(address . 61724@debbugs.gnu.org)
7fff809117a7e9a66267143a00b6e927ac96d5be.1683475550.git.liliana.prikler@gmail.com
* gnu/packages/cpp.scm (nlohmann-json): Update to 3.11.2.
[source]<snippet>: Adjust accordingly.
[native-inputs]<json_test_data>: Update to 3.1.0.
---
gnu/packages/cpp.scm | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)

Toggle diff (65 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index a041b4a3bb..5c2e6d2425 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -598,7 +598,7 @@ (define-public json-dto
(define-public nlohmann-json
(package
(name "nlohmann-json")
- (version "3.10.5")
+ (version "3.11.2")
(home-page "https://github.com/nlohmann/json")
(source
(origin
@@ -606,23 +606,22 @@ (define-public nlohmann-json
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(sha256
- (base32 "1f9mi45ilwjc2w92grjc53sw038840bjpn8yjf6wc6bxs2nijfqd"))
+ (base32 "0g6rfsbkvrxmacchz4kbr741yybj7mls3r4hgyfdd3pdbqhn2is9"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete bundled software. Preserve doctest_compatibility.h, which
;; is a wrapper library added by this package.
- (install-file "./test/thirdparty/doctest/doctest_compatibility.h" "/tmp")
- (for-each delete-file-recursively
- '("./third_party" "./test/thirdparty"))
- (install-file "/tmp/doctest_compatibility.h" "./test/thirdparty/doctest")
+ (install-file "./tests/thirdparty/doctest/doctest_compatibility.h" "/tmp")
+ (delete-file-recursively "./tests/thirdparty")
+ (install-file "/tmp/doctest_compatibility.h" "./tests/thirdparty/doctest")
;; Adjust for the unbundled fifo_map and doctest.
- (substitute* "./test/thirdparty/doctest/doctest_compatibility.h"
- (("#include \"doctest\\.h\"")
- "#include <doctest/doctest.h>"))
- (with-directory-excursion "test/src"
+ (substitute* (find-files "./tests/" "\\.h(pp)?")
+ (("#include \"doctest\\.h\"") "#include <doctest/doctest.h>")
+ (("#include <doctest\\.h>") "#include <doctest/doctest.h>"))
+ (with-directory-excursion "tests/src"
(let ((files (find-files "." "\\.cpp$")))
(substitute* files
(("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
@@ -648,7 +647,7 @@ (define-public nlohmann-json
(format #t "test suite not run~%")))))))
(native-inputs
(list amalgamate
- (let ((version "3.0.0"))
+ (let ((version "3.1.0"))
(origin
(method git-fetch)
(uri (git-reference
@@ -657,7 +656,7 @@ (define-public nlohmann-json
(file-name (git-file-name "json_test_data" version))
(sha256
(base32
- "0nzsjzlvk14dazwh7k2jb1dinb0pv9jbx5jsyn264wvva0y7daiv"))))))
+ "0nbirc428qx0lpi940p7y24fzdjbwl6xig3h5rdbihyymmdzhvbc"))))))
(inputs
(list doctest fifo-map))
(synopsis "JSON parser and printer library for C++")
--
2.39.2
L
L
Liliana Marie Prikler wrote on 7 May 2023 18:50
Re: [PATCH v4 3/3] gnu: nlohmann-json: Improve package style. (was [PATCH v4 3/7] gnu: nlohmann-json: Improve package style.)
(address . 61724@debbugs.gnu.org)
9f155fbe5ec48e744544103bae59d1587f2c2e80.camel@gmail.com
Am Freitag, dem 28.04.2023 um 21:55 +0200 schrieb Liliana Marie
Prikler:
Toggle quote (4 lines)
> * gnu/package/cpp.scm (nlohmann-json)[source]<snippet>: Fit to 80
> chars width.
> Use G-Expressions.
> [arguments]: Use G-Expressions.
There are no 4..7/7 – those four extra commits come from the functional
C++ packages I also plan to apply next week.

Cheers
S
S
Simon Tournier wrote on 11 May 2023 14:53
Re: [bug#61724] [PATCH v4 1/7] gnu: Rename json-modern-cxx to nlohmann-json.
87mt2b3u86.fsf@gmail.com
Hi,

On jeu., 27 avril 2023 at 20:57, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:

Toggle quote (11 lines)
> diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
> index 33d91e6043..fb2deaa384 100644
> --- a/gnu/packages/build-tools.scm
> +++ b/gnu/packages/build-tools.scm
> @@ -148,7 +148,7 @@ (define-public bear
> `(("c-ares" ,c-ares)
> ("fmt" ,fmt-8)
> ("grpc" ,grpc)
> - ("json-modern-cxx" ,json-modern-cxx)
> + ("nlohmann-json" ,json-modern-cxx)

Typo, I guess. Instead,

+ ("nlohmann-json" ,nlohmann-json)

Toggle quote (11 lines)
> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index 4fb9775e8d..f7140fdadc 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -4890,7 +4890,7 @@ (define-public openrct2
> ("freetype" ,freetype)
> ("icu4c" ,icu4c)
> ("jansson" ,jansson)
> - ("json-modern-cxx" ,json-modern-cxx)
> + ("nlohmann-json" ,json-modern-cxx)

Idem.


[...]

Toggle quote (11 lines)
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index 65fd92ea48..5fc23b777c 100644
> --- a/gnu/packages/video.scm
> +++ b/gnu/packages/video.scm
> @@ -1027,7 +1027,7 @@ (define-public mkvtoolnix
> ("gettext" ,gettext-minimal)
> ("googletest" ,googletest)
> ("libxslt" ,libxslt)
> - ("json-modern-cxx" ,json-modern-cxx)
> + ("nlohmann-json" ,json-modern-cxx)

Idem.


Cheers,
simon
L
L
Liliana Marie Prikler wrote on 11 May 2023 20:48
3fa2a30c3f4f900a8fd2be39e692312d22cdd955.camel@gmail.com
Am Donnerstag, dem 11.05.2023 um 14:53 +0200 schrieb Simon Tournier:
Toggle quote (20 lines)
> Hi,
>
> On jeu., 27 avril 2023 at 20:57, Liliana Marie Prikler
> <liliana.prikler@gmail.com> wrote:
>
> > diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-
> > tools.scm
> > index 33d91e6043..fb2deaa384 100644
> > --- a/gnu/packages/build-tools.scm
> > +++ b/gnu/packages/build-tools.scm
> > @@ -148,7 +148,7 @@ (define-public bear
> >       `(("c-ares" ,c-ares)
> >         ("fmt" ,fmt-8)
> >         ("grpc" ,grpc)
> > -       ("json-modern-cxx" ,json-modern-cxx)
> > +       ("nlohmann-json" ,json-modern-cxx)
>
> Typo, I guess.  Instead,
>
>  +       ("nlohmann-json" ,nlohmann-json)
Indeed, I missed the /g in my sed. Will fix.

Toggle quote (1 lines)
>
Cheers
L
L
Liliana Marie Prikler wrote on 14 May 2023 12:24
86ddd780cfada40b0a6fe478b4fe1e24a0f6c401.camel@gmail.com
Am Donnerstag, dem 11.05.2023 um 20:48 +0200 schrieb Liliana Marie
Prikler:
Toggle quote (22 lines)
> Am Donnerstag, dem 11.05.2023 um 14:53 +0200 schrieb Simon Tournier:
> > Hi,
> >
> > On jeu., 27 avril 2023 at 20:57, Liliana Marie Prikler
> > <liliana.prikler@gmail.com> wrote:
> >
> > > diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-
> > > tools.scm
> > > index 33d91e6043..fb2deaa384 100644
> > > --- a/gnu/packages/build-tools.scm
> > > +++ b/gnu/packages/build-tools.scm
> > > @@ -148,7 +148,7 @@ (define-public bear
> > >       `(("c-ares" ,c-ares)
> > >         ("fmt" ,fmt-8)
> > >         ("grpc" ,grpc)
> > > -       ("json-modern-cxx" ,json-modern-cxx)
> > > +       ("nlohmann-json" ,json-modern-cxx)
> >
> > Typo, I guess.  Instead,
> >
> >  +       ("nlohmann-json" ,nlohmann-json)
> Indeed, I missed the /g in my sed.  Will fix.
And pushed with said fix.

Thanks
Closed
?