gnu: ruby-rspec-its: Enable tests.

Enable the tests, and also tweak the synopsis and description to hopefully be
more descriptive.

* gnu/packages/ruby.scm (ruby-rspec-its)[source]: Change to GitHub, and add
patch.
[arguments]: Enabled tests, set the #:test-target to "spec", and add the
phases to tweak the Gemfile and rspec-its.gemspec.
[native-inputs]: Add bundler, ruby-cucumber and ruby-aruba.
[synopsis,description]: Make more explicit and descriptive.
This commit is contained in:
Christopher Baines 2019-01-27 12:14:26 +00:00
parent 15b16c2c46
commit 3306f02a74
No known key found for this signature in database
GPG Key ID: 5E28A33B0B84F577
1 changed files with 42 additions and 7 deletions

View File

@ -412,20 +412,55 @@ outcomes of a code example.")
(version "1.2.0") (version "1.2.0")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (rubygems-uri "rspec-its" version)) (uri (git-reference
(url "https://github.com/rspec/rspec-its.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1pwphny5jawcm1hda3vs9pjv1cybaxy17dc1s75qd7drrvx697p3")))) "190rz7v4q4wk80fzhr5hknvxx4vb2pywmqr8wc41w2blj9ylzi0f"))
(patches
(list
(origin (method url-fetch)
(uri (string-append
"https://github.com/rspec/rspec-its/commit/"
"bfaab439c7c879f5ef25552f41827891f6308373.patch"))
(file-name "ruby-rspec-its-fix-specs-for-ruby-2.4.patch")
(sha256
(base32
"0lnik0kvrpgkakvdb2fmzg22pdlraf6kiidr9sv6rnfyviiqwxgh")))))))
(build-system ruby-build-system) (build-system ruby-build-system)
(arguments (arguments
`(#:tests? #f)) ; needs cucumber. `(#:test-target "spec"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'dont-install-gems-from-gemfile
(lambda _
(substitute* "Gemfile"
(("rspec rspec-core rspec-expectations rspec-mocks rspec-support")
""))
#t))
(add-before 'build 'remove-unnecessary-dependency-versions-from-gemfile
(lambda _
(substitute* "rspec-its.gemspec"
(("rake.*") "rake'\n")
(("cucumber.*") "cucumber'\n")
(("bundler.*") "bundler'\n")
(("aruba.*") "aruba'\n"))
#t)))))
(propagated-inputs (propagated-inputs
`(("ruby-rspec-core" ,ruby-rspec-core) `(("ruby-rspec-core" ,ruby-rspec-core)
("ruby-rspec-expectations" ,ruby-rspec-expectations))) ("ruby-rspec-expectations" ,ruby-rspec-expectations)))
(synopsis "RSpec extension gem for attribute matching") (native-inputs
(description "@code{rspec-its} is an RSpec extension gem for attribute `(("bundler" ,bundler)
matching.") ("ruby-cucumber" ,ruby-cucumber)
("ruby-aruba" ,ruby-aruba)))
(synopsis "RSpec extension that provides the @code{its} method")
(description
"RSpec::Its provides the its method as a short-hand to specify the expected
value of an attribute. For example, one can use @code{its(:size)\\{should
eq(1)\\}}.")
(home-page "https://github.com/rspec/rspec-its") (home-page "https://github.com/rspec/rspec-its")
(license license:expat))) (license license:expat)))