guix-commits
[Top][All Lists]
Advanced

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

05/07: gnu: Add immer.


From: guix-commits
Subject: 05/07: gnu: Add immer.
Date: Sun, 14 May 2023 06:23:47 -0400 (EDT)

lilyp pushed a commit to branch master
in repository guix.

commit 8d6f66d621dba799213b42e7c4c7068f2b1c8a5e
Author: Liliana Marie Prikler <liliana.prikler@gmail.com>
AuthorDate: Sat May 6 15:41:55 2023 +0200

    gnu: Add immer.
    
    * gnu/packages/cpp.scm (immer): New variable.
---
 gnu/packages/cpp.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

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")



reply via email to

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