guix-commits
[Top][All Lists]
Advanced

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

02/07: gnu: Add rust-enum-dispatch-0.3.


From: guix-commits
Subject: 02/07: gnu: Add rust-enum-dispatch-0.3.
Date: Mon, 2 Oct 2023 04:41:33 -0400 (EDT)

efraim pushed a commit to branch master
in repository guix.

commit 248aa76885b051c09b60b27dc61898f6336d61a9
Author: Steve George <steve@futurile.net>
AuthorDate: Fri Jun 23 17:56:46 2023 +0100

    gnu: Add rust-enum-dispatch-0.3.
    
    * gnu/packages/crates-io.scm (rust-enum-dispatch-0.3): New variable.
    
    Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
---
 gnu/packages/crates-io.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5c0933dd34..e3727f751e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -22419,6 +22419,45 @@ accessor functions on enums.")
      "This crate provides macros for deriving additional functionality for 
enums.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-enum-dispatch-0.3
+  (package
+    (name "rust-enum-dispatch")
+    (version "0.3.11")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "enum_dispatch" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1qlxlxjvy92s0fwcwlnd2cdkkyml1755xap2lq8v4812hsanxwqi"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin (substitute* "Cargo.toml"
+                         (("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
+                          (string-append "\"^" version)))))))
+    (build-system cargo-build-system)
+    (arguments
+     (list
+       #:skip-build? #t     ; Needs newer version of rust-smol
+       #:cargo-inputs
+       `(("rust-once-cell" ,rust-once-cell-1)
+         ("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))
+       #:cargo-development-inputs
+       `(("rust-custom-derive" ,rust-custom-derive-0.1)
+         ("rust-enum-derive" ,rust-enum-derive-0.1)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-serde" ,rust-serde-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-smol" ,rust-smol-1))))
+    (home-page "https://gitlab.com/antonok/enum_dispatch";)
+    (synopsis "Faster alternative to dynamically dispatched method calls")
+    (description
+     "This crate transforms your trait objects into concrete compound types,
+increasing their method call speed up to 10x.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-enum-map-derive-0.4
   (package
     (name "rust-enum-map-derive")



reply via email to

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