summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-04 13:47:16 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-06 00:08:05 -0400
commitbc27d83b96bfa45727eaa168079fc9217e9cba8a (patch)
treeb04afe25f6a43024484650089e499629d4e431d3 /gnu
parente05b284dc2fbf9d69989339f9ccc5897b8939d82 (diff)
downloadguix-bc27d83b96bfa45727eaa168079fc9217e9cba8a.tar.gz
gnu: Add json-dto.
* gnu/packages/cpp.scm (json-dto): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/cpp.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index c789303823..928ae5e7e5 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -31,6 +31,7 @@
 ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2022 David Elsing <david.elsing@posteo.net>
 ;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -554,6 +555,37 @@ container which uses the order in which keys were inserted to the container
 as ordering relation.")
     (license license:expat)))
 
+(define-public json-dto
+  (package
+    (name "json-dto")
+    (version "0.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Stiffstream/json_dto")
+                    (commit (string-append "v." version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0wr1srp08fr2mv4fmnqr626pwiw60svn6wkvy2xg7j080mgwb3ml"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:configure-flags #~(list "-DJSON_DTO_INSTALL_SAMPLES=OFF")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'change-directory
+            (lambda _
+              (chdir "dev"))))))
+    (native-inputs (list catch2))
+    (propagated-inputs (list rapidjson))    ;#include'd
+    (home-page "https://github.com/Stiffstream/json_dto")
+    (synopsis "JSON to C++ structures conversion library")
+    (description "@code{json_dto} library is a small header-only helper for
+converting data between JSON representation and C++ structs.  DTO stands for
+data transfer object.")
+    (license license:bsd-3)))
+
 (define-public json-modern-cxx
   (package
     (name "json-modern-cxx")