diff options
author | John Soo <jsoo1@asu.edu> | 2020-06-16 18:52:55 -0700 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2020-07-06 21:54:02 +0300 |
commit | 12c5d9bb44b91a14c69324b8e4f93bdda79d7aaa (patch) | |
tree | 1eb1a381fa0b051f68cb4cd7f36f5d08a3361e84 /gnu | |
parent | 0043e6a63321e319671b83b34ec707d8844d1e92 (diff) | |
download | guix-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>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/crates-io.scm | 38 |
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") |