guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

11/12: gnu: json-modern-cxx: Update to 3.7.0.


From: guix-commits
Subject: 11/12: gnu: json-modern-cxx: Update to 3.7.0.
Date: Sat, 12 Oct 2019 12:43:31 -0400 (EDT)

mbakke pushed a commit to branch master
in repository guix.

commit ff97c862958095c9df0b41eb0574e7529ffab123
Author: Marius Bakke <address@hidden>
Date:   Sat Oct 12 16:49:41 2019 +0200

    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.
---
 gnu/packages/cpp.scm | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 1c98e38..6aac60d 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]