summaryrefslogtreecommitdiff
path: root/gnu/packages/ruby.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-16 13:47:03 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-28 22:22:47 -0400
commite58e1e63704b20421f695023b09617486d30ea9d (patch)
treef7cdcd9a441d1c10b86a5f96a245d3a26085594d /gnu/packages/ruby.scm
parentc2753cc2740306b042ff60bafe8c59f2651f7054 (diff)
gnu: ruby-cuke-modeler: Update to 3.19.0 and enable tests.
* gnu/packages/ruby.scm (ruby-cuke-modeler): Update to 3.19.0. [source]: Fetch via git. [arguments]: Enable tests. Set the #:test-target argument. Add #:phases. [native-inputs]: New field.
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r--gnu/packages/ruby.scm56
1 files changed, 45 insertions, 11 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 8c3c9f04a8..f193bfbec6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6322,18 +6322,52 @@ for select languages.")
(define-public ruby-cuke-modeler
(package
(name "ruby-cuke-modeler")
- (version "3.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (rubygems-uri "cuke_modeler" version))
- (sha256
- (base32
- "19smj3g3wvz0203l549sadpcxgh0ir350a6k78gq0bmlv9cchmjb"))))
+ (version "3.19.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/enkessler/cuke_modeler")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0bizla3k124lj4r7f2k5cdfm2sawzd6rdmb6rgbkbng2fygxsjib"))))
(build-system ruby-build-system)
- (arguments `(#:tests? #f)) ;no test suite in gem
- (propagated-inputs
- (list ruby-cucumber-gherkin))
+ (arguments
+ (list #:test-target "default"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "Gemfile"
+ ;; Cucumber appears pinned to an older version for no
+ ;; particular reason (see:
+ ;; https://github.com/enkessler/cuke_modeler/issues/14).
+ (("'cucumber', '2.2.0'")
+ "'cucumber', '>= 2.2.0'"))
+ ;; Disable Bundler.
+ (substitute* "bin/console"
+ (("require 'bundler/setup'") ""))
+ (substitute* "rakefiles/testing_tasks.rb"
+ (("'bundle', 'exec', ") ""))
+ ;; Remove extraneous dependencies.
+ (substitute* "cuke_modeler.gemspec"
+ ((".*bundler.*") "")
+ ((".*rubocop.*") "")
+ ((".*yard.*") ""))
+ (substitute* "Rakefile"
+ (("Rainbow.enabled = true") "")
+ (("require_relative 'rakefiles/documentation_tasks'") "")
+ (("require_relative 'rakefiles/other_tasks'") "")
+ (("require_relative 'rakefiles/release_tasks'") "")))))))
+ (native-inputs
+ (list ruby-childprocess
+ ruby-cucumber
+ ruby-rainbow
+ ruby-rspec
+ ruby-simplecov
+ ruby-simplecov-lcov))
+ (propagated-inputs (list ruby-cucumber-gherkin))
(synopsis "Gherkin test suite analysis tool")
(description "CukeModeler facilitates modeling a test suite that is
written in Gherkin (e.g. Cucumber, SpecFlow, Lettuce, etc.). It does this by