apteryx pushed a commit to branch master
in repository guix.
commit 2be4b3c59bd2658c192a6d103a3639cacdb6853b
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Fri Mar 17 23:57:16 2023 -0400
gnu: ruby-coveralls: Propagate ruby-simplecov and enable tests.
* gnu/packages/ruby.scm (ruby-coveralls)
[arguments]: Enable tests. Add disable-problematic-tests phase. Replace
strip-version-requirements with relax-requirements.
[native-inputs]: New field.
[propagated-inputs]: Add ruby-simplecov.
---
gnu/packages/ruby.scm | 47 ++++++++++++++++++++++++++++++++---------------
1 file changed, 32 insertions(+), 15 deletions(-)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 60be5c4932..5db81fbba7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9609,23 +9609,40 @@ tracked for coverage reporting.
(base32
"1mv4fn5lfxhy7bc2f1lpnc5yp9mvv97az77j4r7jgrxcqwn8fqxc"))))
(build-system ruby-build-system)
- ;; The test suite depends on ruby-vcr, which cannot be included in Guix
- ;; because of its nonfree, Hippocratic-derived license.
(arguments
- `(#:tests? #f
- #:phases (modify-phases %standard-phases
- (add-after 'extract-gemspec 'strip-version-requirements
- ;; Keeping strict version requirements can cause problems
- ;; to users of the library, such as: Gem::ConflictError:
- ;; Unable to activate coveralls-0.8.23, because
- ;; simplecov-0.17.1 conflicts with simplecov (~> 0.16.1).
- (lambda _
- (substitute* "coveralls-ruby.gemspec"
- (("(.*add_.*dependency\\([^,]+), .*" _ stripped)
- (string-append stripped ")\n")))
- #t)))))
+ (list #:test-target "default"
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'extract-gemspec 'disable-problematic-tests
+ (lambda _
+ (substitute* "spec/coveralls/coveralls_spec.rb"
+ ;; This test fails for unknown reasons (perhaps
+ ;; networking); skip it.
+ (("it \"sends existing test results\"" all)
+ (string-append "x" all)))
+ ;; 3 simplecov tests fail, perhaps due to using a
+ ;; newer simplecov version.
+ (delete-file "spec/coveralls/simplecov_spec.rb")
+ (substitute* "coveralls-ruby.gemspec"
+ (("\"spec/coveralls/simplecov_spec.rb\".freeze,
")
+ ""))))
+ (add-after 'extract-gemspec 'relax-requirements
+ (lambda _
+ (substitute* "coveralls-ruby.gemspec"
+ (("%q<simplecov>.freeze, \\[\"~> 0.16.1\"]")
+ "%q<simplecov>.freeze")))))))
+ (native-inputs
+ (list git-minimal/pinned
+ ruby-pry
+ ruby-rspec
+ ruby-truthy
+ ruby-vcr-expat
+ ruby-webmock))
(propagated-inputs
- (list ruby-json ruby-term-ansicolor ruby-thor ruby-tins))
+ (list ruby-json
+ ruby-term-ansicolor
+ ruby-thor
+ ruby-tins
+ ruby-simplecov))
(synopsis "Ruby implementation of the Coveralls API")
(description "This package provides a Ruby implementation of the Coveralls
API.")