summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Soo <jsoo1@asu.edu>2020-06-16 18:52:55 -0700
committerEfraim Flashner <efraim@flashner.co.il>2020-07-06 21:54:02 +0300
commit12c5d9bb44b91a14c69324b8e4f93bdda79d7aaa (patch)
tree1eb1a381fa0b051f68cb4cd7f36f5d08a3361e84
parent0043e6a63321e319671b83b34ec707d8844d1e92 (diff)
downloadguix-patches-12c5d9bb44b91a14c69324b8e4f93bdda79d7aaa.tar
guix-patches-12c5d9bb44b91a14c69324b8e4f93bdda79d7aaa.tar.gz
gnu: Add rust-derive-more-0.99.
* gnu/packages/crates-io.scm (rust-derive-more-0.99): New variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
-rw-r--r--gnu/packages/crates-io.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c7c353b1cd..e1e70d1fc4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5071,6 +5071,44 @@ for arbitrary structs.")
(description "Internal helper library for the derive_builder crate.")
(license (list license:expat license:asl2.0))))
+(define-public rust-derive-more-0.99
+ (package
+ (name "rust-derive-more")
+ (version "0.99.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "derive-more" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0xizcpj39rx0474mbbx8m0xww98qh92zsg82gf52qnvbryqri299"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; Some test files missing.
+ #:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+ ("rust-quote" ,rust-quote-1.0)
+ ("rust-syn" ,rust-syn-1.0))
+ #:cargo-development-inputs
+ (("rust-peg" ,rust-peg-0.5)
+ ("rust-rustc-version" ,rust-rustc-version-0.2))))
+ (home-page "https://github.com/JelteF/derive_more")
+ (synopsis "Adds derive macros for more traits")
+ (description
+ "Rust has lots of builtin traits that are implemented for its basic
+types, such as @code{Add}, @code{Not}, @code{From} or @code{Display}.
+However, when wrapping these types inside your own structs or enums you lose
+the implementations of these traits and are required to recreate them. This is
+especially annoying when your own structures are very simple, such as when
+using the commonly advised newtype pattern (e.g. @code{MyInt(i32)}).
+
+This library tries to remove these annoyances and the corresponding
+boilerplate code. It does this by allowing you to derive lots of commonly used
+traits for both structs and enums.")
+ (license license:expat)))
+
(define-public rust-derive-new-0.5
(package
(name "rust-derive-new")