summaryrefslogtreecommitdiff
path: root/gnu/packages/cpp.scm
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2023-05-06 15:41:55 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-05-14 12:22:29 +0200
commit8d6f66d621dba799213b42e7c4c7068f2b1c8a5e (patch)
tree3ff47854dc21a9cf0bfd146326559a4d4d6df4e3 /gnu/packages/cpp.scm
parent72919598c8eb2aa239495ae210f8525b41708680 (diff)
gnu: Add immer.
* gnu/packages/cpp.scm (immer): New variable.
Diffstat (limited to 'gnu/packages/cpp.scm')
-rw-r--r--gnu/packages/cpp.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 27fa9048ab..1fced95023 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -34,6 +34,7 @@
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Sughosha <Sughosha@proton.me>
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2023 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -67,6 +68,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages bdw-gc)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
@@ -1397,6 +1399,38 @@ provides a number of utilities to make coding with expected cleaner.")
(home-page "https://tl.tartanllama.xyz/")
(license license:cc0)))
+(define-public immer
+ (package
+ (name "immer")
+ (version "0.8.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arximboldi/immer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11km3l5h3rgsbj8yfyzk3fnx9na55l6zs2sxpx922yvlvs2blh27"))
+ (modules '((guix build utils)))
+ (snippet #~(begin
+ (delete-file "tools/include/doctest.h")
+ (delete-file "tools/include/catch.hpp")
+ (substitute* (find-files "test" "\\.[cih]pp")
+ (("<catch.hpp>") "<catch2/catch.hpp>")
+ (("<doctest.h>") "<doctest/doctest.h>"))
+ (substitute* (find-files "test/oss-fuzz" "\\.cpp")
+ ;; someone used the wrong header :)
+ (("<fmt/printf.h>") "<fmt/ostream.h>"))))))
+ (build-system cmake-build-system)
+ (arguments (list #:test-target "check"))
+ (inputs (list boost libgc c-rrb))
+ (native-inputs (list catch2 doctest fmt pkg-config))
+ (home-page "https://sinusoid.es/immer")
+ (synopsis "Immutable data structures")
+ (description "Immer is a library of persistent and immutable data structures
+written in C++.")
+ (license license:boost1.0)))
+
(define-public atomic-queue
(package
(name "atomic-queue")