summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorDaniel Ziltener <dziltener@lyrion.ch>2024-03-18 23:07:04 +0100
committerHilton Chain <hako@ultrarare.space>2024-04-20 09:13:47 +0800
commit0797fff8b8b3feb1e421aad170b4c12a87091663 (patch)
tree3bed35af66d102e4c0368e2537fab727097e0416 /gnu
parentd66bfbeeb2a964bdaf8e42595e18b6aad75b4778 (diff)
downloadguix-0797fff8b8b3feb1e421aad170b4c12a87091663.tar.gz
gnu: Add tomlplusplus.
* gnu/packages/cpp.scm (tomlplusplus): New variable.

Change-Id: I4b5c79e9fdcfdaa80c0c24bb89bf5b783f1a581f
Modified-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/cpp.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index a2a3eb226e..77083e9a19 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -79,6 +79,7 @@
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages c)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages cmake)
   #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
@@ -857,6 +858,41 @@ intuitive syntax and trivial integration.")
 (define-public json-modern-cxx
   (deprecated-package "json-modern-cxx" nlohmann-json))
 
+(define-public tomlplusplus
+  (package
+   (name "tomlplusplus")
+   (version "3.4.0")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://github.com/marzer/tomlplusplus")
+                  (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32
+              "1hvbifzcc97r9jwjzpnq31ynqnj5y93cjz4frmgddnkg8hxmp6w7"))))
+   (build-system meson-build-system)
+   (arguments
+    (list #:configure-flags
+          #~(list "-Dbuild_tests=true")
+          #:phases
+          #~(modify-phases %standard-phases
+              (add-after 'unpack 'set-test-locales
+                (lambda _
+                  (substitute* "tests/meson.build"
+                    (("foreach locale : test_locales" all)
+                     (format #f "test_locales = ['C', ~{'~a.utf8', ~}]~%~a"
+                             ;; %default-utf8-locales in (gnu packages base).
+                             '("de_DE" "el_GR" "en_US" "fr_FR" "tr_TR")
+                             all))))))))
+   (native-inputs (list cmake-minimal))
+   (home-page "https://marzer.github.io/tomlplusplus/")
+   (synopsis "Header-only TOML config file parser and serializer for C++17")
+   (description
+    "This package provides header-only TOML config file parser and serializer
+for C++17.")
+   (license license:expat)))
+
 (define-public xtl
   (package
     (name "xtl")