From c7ab342a366a9372d9c6a670a460edaeb8c550a5 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 14 Jul 2020 01:18:11 -0400 Subject: gnu: Add ruby-gimme. * gnu/packages/ruby.scm (ruby-gimme): New variable. --- gnu/packages/ruby.scm | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 5666e0c1e9..ce41b41b4e 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1462,6 +1462,69 @@ (define-public ruby-rubocop-performance (home-page "https://docs.rubocop.org/rubocop-performance/") (license license:expat))) +(define-public ruby-gimme + (let ((revision "1") + (commit "4e71f0236f1271871916dd403261d26533db34c0")) + (package + (name "ruby-gimme") + (version (git-version "0.5.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/searls/gimme.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hrd32ygvf3i7h47ak8f623cz8ns9q7g60nnnvvlnywbggjaz3h6")))) + (build-system ruby-build-system) + (native-inputs + `(("ruby-coveralls" ,ruby-coveralls) + ("ruby-cucumber" ,ruby-cucumber) + ("ruby-pry" ,ruby-pry) + ("ruby-simplecov" ,ruby-simplecov) + ("ruby-rspec-given" ,ruby-rspec-given))) + (arguments + `(;; The cucumber task fails with error: "index 3 out of matches + ;; (IndexError)", apparently due to our newer Cucumber version. + ;; TODO: Try the "default" task with a future release. + #:test-target "spec" + #:phases + (modify-phases %standard-phases + (add-after 'extract-gemspec 'prepare-for-tests + (lambda _ + ;; Delete failing tests (possibly due to our newer rspec + ;; version). + (delete-file "spec/gimme/gives_class_methods_spec.rb") + (delete-file "spec/gimme/rspec_adapter_spec.rb") + (delete-file "spec/gimme/verifies_class_methods_spec.rb") + ;; Fix duplicate version requirements and de-register files. + (delete-file "Gemfile") + (delete-file "Gemfile.lock") + (substitute* "gimme.gemspec" + ((".*\"Gemfile\".*") "") + ((".*\"Gemfile\\.lock\",.*") "") + ((".*(rspec|cucumber).*\">= 0\".*") "") + (("\"spec/gimme/gives_class_methods_spec.rb\",") "") + (("\"spec/gimme/rspec_adapter_spec.rb\",") "") + (("\"spec/gimme/verifies_class_methods_spec.rb\",") "") + ;; All of these gems relate to development, and are + ;; unnecessary when running the tests. + ((".*(add|gem).*guard-.*") "") + ((".*(add|gem).*jeweler.*") "") + ((".*(add|gem).*pry.*") "") + ((".*(add|gem).*growl.*") "") + ((".*(add|gem).*rb-fsevent.*") "")) + #t))))) + (synopsis "Lightweight test double library for Ruby") + (description "Gimme is a very lightweight test double library for Ruby, +based on Mockito (a mocking framework for Java). It is an opinionated (but +not noisy) means to facilitate test-driving by enabling the authors to specify +only what they care about.") + (home-page "https://github.com/searls/gimme") + (license license:expat)))) + (define-public ruby-ast (package (name "ruby-ast") -- cgit v1.2.3