From 82925c0d7d30ac0fe780d99877f2589b5e8cd88e Mon Sep 17 00:00:00 2001 From: Petr Hodina Date: Wed, 16 Feb 2022 02:02:29 +0100 Subject: [PATCH v2 2/3] gnu: Add rust-logos-0.12. * gnu/packages/crates-io.scm (rust-logos-0.12): New variable. diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 1cbe7d4798..8bc1031e22 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -30738,6 +30738,33 @@ (define-public rust-log-0.3 `(#:cargo-inputs (("rust-log" ,rust-log-0.4)))))) +(define-public rust-logos-0.12 + (package + (name "rust-logos") + (version "0.12.0") + (source (origin + (method url-fetch) + (uri (crate-uri "logos" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0idklzd8afh87c82n3yp3l0djjmkwrsginxgm5ni64xylny2lzj2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-logos-derive" ,rust-logos-derive-0.12)))) + (home-page "https://github.com/maciejhirsz/logos") + (synopsis "Generate fast Lexers") + (description "This package provides easy way to generate fast Lexers: +@itemize +@item Combines all token definitions into a single deterministic state machine +@item Optimizes branches into lookup tables or jump tables +@item Prevents backtracking inside token definitions +@item Unwinds loops, and batches reads to minimize bounds checking +@item Does all of that heavy lifting at compile time +@end itemize") + (license (list license:expat license:asl2.0)))) + (define-public rust-logos-derive-0.12 (package (name "rust-logos-derive") -- 2.38.1