diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2020-07-14 22:36:43 -0400 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2020-07-17 23:01:32 -0400 |
commit | b6f2a8d164420213c9db223cf818626c8ae1a5ef (patch) | |
tree | 4ba8ec13f302c1bb4a0a28193430f7c78b398c27 /gnu/packages/ruby.scm | |
parent | 8aba0333b25006e4e09f7cb2b817eea12c4d77a8 (diff) | |
download | guix-b6f2a8d164420213c9db223cf818626c8ae1a5ef.tar guix-b6f2a8d164420213c9db223cf818626c8ae1a5ef.tar.gz |
gnu: Add ruby-regexp-parser.
* gnu/packages/ruby.scm (ruby-regexp-parser): New variable.
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r-- | gnu/packages/ruby.scm | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d0c6ccb9c1..f80bba9b5f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6588,6 +6588,47 @@ they match.") (home-page "https://github.com/jaynetics/regexp_property_values") (license license:expat))) +(define-public ruby-regexp-parser + (package + (name "ruby-regexp-parser") + (version "1.7.1") + (source + (origin + (method git-fetch) ;bin/test missing from gem + (uri (git-reference + (url "https://github.com/ammar/regexp_parser.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dk9d4vpw31cc06s29fqyr1kq0kipym1mydifkcrnppvpl3pd53r")))) + (build-system ruby-build-system) + (arguments + '(#:test-target "default" + #:phases (modify-phases %standard-phases + (add-before 'build 'compile-scanner.rb + (lambda _ + (invoke "rake" "build") + ;; XXX: This is needed otherwise the install + ;; phase fails to delete the installed cached + ;; gem file. + (delete-file-recursively "pkg") + #t))))) + (native-inputs + `(("ragel" ,ragel) + ("ruby-regexp-property-values" ,ruby-regexp-property-values) + ("ruby-rspec" ,ruby-rspec))) + (synopsis "A regular expression parser library for Ruby ") + (description "A Ruby gem for tokenizing, parsing, and transforming regular +expressions. It comprises the following components: +@itemize +@item A scanner/tokenizer based on Ragel, +@item A lexer that produces a stream of token objects, +@item A parser that produces a tree of Expression objects. +@end itemize") + (home-page "https://github.com/ammar/regexp_parser") + (license license:expat))) + (define-public ruby-rubocop (package (name "ruby-rubocop") |