gnu: ruby-listen: Enable running the tests.
* gnu/packages/ruby.scm (ruby-listen)[source]: Switch to the Git repository, as this includes the tests. [arguments]: Set #:test-target and tweak the Rakefile to avoid requiring Rubocop unnecessarily. [native-inputs]: Add bundler and ruby-rspec for running the test suite. [inputs]: Add ruby-thor, as this is used for bin/listen. [propagated-inputs]: Add ruby-dep, as this is listed as a runtime dependency in the gemspec.
This commit is contained in:
parent
c47e141deb
commit
35602819af
|
@ -4483,16 +4483,44 @@ a native C extension.")
|
||||||
(version "3.1.5")
|
(version "3.1.5")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
;; The gem does not include a Rakefile, so fetch from the Git
|
||||||
(uri (rubygems-uri "listen" version))
|
;; repository.
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/guard/listen.git")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"))))
|
"1hqmkfa9f2xb5jlvqbafdxjd5ax75jm8gqj5nh3k22xq0kacsvgg"))))
|
||||||
(build-system ruby-build-system)
|
(build-system ruby-build-system)
|
||||||
(arguments '(#:tests? #f)) ; no tests
|
(arguments
|
||||||
|
`(#:test-target "spec"
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'fix-files-in-gemspec
|
||||||
|
(lambda _
|
||||||
|
(substitute* "listen.gemspec"
|
||||||
|
(("`git ls-files -z`") "`find . -type f -printf '%P\\\\0' |sort -z`"))
|
||||||
|
#t))
|
||||||
|
(add-before 'check 'remove-unnecessary-dependencies'
|
||||||
|
(lambda _
|
||||||
|
(substitute* "Rakefile"
|
||||||
|
;; Rubocop is for code linting, and is unnecessary for running
|
||||||
|
;; the tests.
|
||||||
|
((".*rubocop.*") ""))
|
||||||
|
#t)))))
|
||||||
|
(native-inputs
|
||||||
|
`(("bundler" ,bundler)
|
||||||
|
("ruby-rspec" ,ruby-rspec)))
|
||||||
|
(inputs
|
||||||
|
`(;; ruby-thor is used for the command line interface, and is referenced
|
||||||
|
;; in the wrapper, and therefore just needs to be an input.
|
||||||
|
("ruby-thor" ,ruby-thor)))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("ruby-rb-inotify" ,ruby-rb-inotify)
|
`(("ruby-rb-fsevent" ,ruby-rb-fsevent)
|
||||||
("ruby-rb-fsevent" ,ruby-rb-fsevent)))
|
("ruby-rb-inotify" ,ruby-rb-inotify)
|
||||||
|
("ruby-dep" ,ruby-dep)))
|
||||||
(synopsis "Listen to file modifications")
|
(synopsis "Listen to file modifications")
|
||||||
(description "The Listen gem listens to file modifications and notifies
|
(description "The Listen gem listens to file modifications and notifies
|
||||||
you about the changes.")
|
you about the changes.")
|
||||||
|
|
Loading…
Reference in New Issue