diff options
author | Marius Bakke <mbakke@fastmail.com> | 2019-10-12 16:49:41 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2019-10-12 18:39:58 +0200 |
commit | ff97c862958095c9df0b41eb0574e7529ffab123 (patch) | |
tree | 7ec1247a80d6bfb7f9294db3590c31b280006fdd /gnu/packages/cpp.scm | |
parent | e14d8dcff3e2882a5d0896c164f5bbde4f7a74fd (diff) | |
download | gnu-guix-ff97c862958095c9df0b41eb0574e7529ffab123.tar gnu-guix-ff97c862958095c9df0b41eb0574e7529ffab123.tar.gz |
gnu: json-modern-cxx: Update to 3.7.0.
* gnu/packages/cpp.scm (json-modern-cxx): Update to 3.7.0.
[source](snippet): Adjust for new doctest requirement.
[native-inputs]: Add DOCTEST.
[inputs]: Remove CATCH-FRAMEWORK2.
Diffstat (limited to 'gnu/packages/cpp.scm')
-rw-r--r-- | gnu/packages/cpp.scm | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 1c98e381ab..6aac60d284 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -206,7 +206,7 @@ as ordering relation.") (define-public json-modern-cxx (package (name "json-modern-cxx") - (version "3.1.2") + (version "3.7.0") (home-page "https://github.com/nlohmann/json") (source (origin @@ -215,30 +215,34 @@ as ordering relation.") (commit (string-append "v" version)))) (sha256 (base32 - "1mpr781fb2dfbyscrr7nil75lkxsazg4wkm749168lcf2ksrrbfi")) + "0v7xih4zjixxxfvkfbs7a8j9qcvpwlsv4vrkbyns3hc7b44nb8ap")) (file-name (git-file-name name version)) (modules '((guix build utils))) (snippet '(begin - (delete-file-recursively "./third_party") - (delete-file-recursively "./test/thirdparty") - (delete-file-recursively "./benchmarks/thirdparty") - ;; Splits catch and fifo_map + ;; 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" "./benchmarks/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 ?\"(catch.hpp)\"" all catch-hpp) - (string-append "#include <catch/" catch-hpp ">"))) + (let ((files (find-files "." "\\.cpp$"))) (substitute* files (("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp) (string-append "#include <fifo_map/" fifo-map-hpp ">"))))) #t)))) (native-inputs - `(("amalgamate" ,amalgamate))) + `(("amalgamate" ,amalgamate) + ("doctest" ,doctest))) (inputs - `(("catch2" ,catch-framework2) - ("fifo-map" ,fifo-map))) + `(("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 |