[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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 61724@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 61724
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch