gnu: json-modern-cxx: Update to 3.9.0.

* gnu/packages/cpp.scm (json-modern-cxx): Update to 3.9.0.
[arguments]: New field.
[native-inputs]: Add "json_test_data" origin.
parent 4146cf86
......@@ -11,6 +11,7 @@
;;; Copyright © 2020 Ricardo Wurmus <>
;;; Copyright © 2020 Brice Waegeneire <>
;;; Copyright © 2020 Vinicius Monego <>
;;; Copyright © 2020 Marius Bakke <>
;;; This file is part of GNU Guix.
......@@ -246,7 +247,7 @@ as ordering relation.")
(define-public json-modern-cxx
(name "json-modern-cxx")
(version "3.7.3")
(version "3.9.0")
(home-page "")
......@@ -255,7 +256,7 @@ as ordering relation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(modules '((guix build utils)))
......@@ -278,12 +279,51 @@ as ordering relation.")
"#include <fifo_map/" fifo-map-hpp ">")))))
(build-system cmake-build-system)
(list (string-append "-DJSON_TestDataDirectory="
(assoc-ref %build-inputs "json_test_data")))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'fix-pkg-config-install
(lambda _
;; This phase can be removed for versions >= 3.9.1.
(substitute* "CMakeLists.txt"
;; Look for the generated .pc in the right place ...
;; ... and install it to the libdir.
(("DESTINATION lib/pkgconfig")
;; XXX: When tests are enabled, the install phase will cause
;; a needless rebuild without the given configure flags,
;; ultimately creating both $out/lib and $out/lib64. Move
;; the check phase after install to work around it.
(delete 'check)
(add-after 'install 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
;; Some tests need git and a full checkout, skip those.
(invoke "ctest" "-LE" "git_required")
(format #t "test suite not run~%"))
`(("amalgamate" ,amalgamate)
("doctest" ,doctest)))
("doctest" ,doctest)
,(let ((version "3.0.0"))
(method git-fetch)
(uri (git-reference
(url "")
(commit (string-append "v" version))))
(file-name (git-file-name "json_test_data" version))
`(("fifo-map" ,fifo-map)))
(build-system cmake-build-system)
(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.")
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment