gnu: ruby-rubocop: Update to 1.10.0.

* gnu/packages/ruby.scm (ruby-rubocop): Update to 1.10.0.
[source]: Remove patch.
[arguments]: Remove custom 'remove-problematic-tests, 'disable-bundler,
'replace-git-ls-files phases. Add custom 'check phase.
[native-inputs]: Add ruby-memory-profiler, ruby-rake,
ruby-rubocop-minimal, ruby-rubocop-performance-minimal,
ruby-rubocop-rspec-minimal, ruby-simplecov, ruby-stackprof. Replace
ruby-webmock-2 with ruby-webmock.
(ruby-rubocop-minimal, ruby-rubocop-performance-minimal,
ruby-rubocop-rspec-minimal): New variables.
* gnu/packages/patches/ruby-rubocop-break-dependency-cycle.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
This commit is contained in:
Efraim Flashner 2021-02-17 16:06:12 +02:00
parent a4d61297e2
commit 301d1bacc1
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351
3 changed files with 49 additions and 131 deletions

View file

@ -1584,6 +1584,16 @@ enforcing & linting tool.")
(home-page "https://github.com/rubocop-hq/rubocop-rspec")
(license license:expat)))
(define-public ruby-rubocop-rspec-minimal
(hidden-package
(package
(inherit ruby-rubocop-rspec)
(arguments
(substitute-keyword-arguments (package-arguments ruby-rubocop-rspec)
((#:tests? _ #f) #f)))
(propagated-inputs '())
(native-inputs '()))))
(define-public ruby-rubocop-performance
(package
(name "ruby-rubocop-performance")
@ -1625,6 +1635,16 @@ for performance optimizations in Ruby code.")
(home-page "https://docs.rubocop.org/rubocop-performance/")
(license license:expat)))
(define-public ruby-rubocop-performance-minimal
(hidden-package
(package
(inherit ruby-rubocop-performance)
(arguments
(substitute-keyword-arguments (package-arguments ruby-rubocop-performance)
((#:tests? _ #f) #f)))
(propagated-inputs '())
(native-inputs '()))))
(define-public ruby-gimme
(let ((revision "1")
(commit "4e71f0236f1271871916dd403261d26533db34c0"))
@ -7270,7 +7290,7 @@ run.")
(define-public ruby-rubocop
(package
(name "ruby-rubocop")
(version "0.88.0")
(version "1.10.0")
(source
(origin
(method git-fetch) ;no tests in distributed gem
@ -7280,42 +7300,25 @@ run.")
(file-name (git-file-name name version))
(sha256
(base32
"1d06893jp8pd85fvgp5d16vqcf31bafi430v4f4y746ihyvhzz5r"))
(patches (search-patches "ruby-rubocop-break-dependency-cycle.patch"))))
"0wjw9vpzr4f3nf1zf010bag71w4hdi0haybdn7r5rlmw45pmim29"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "default"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-problematic-tests
;; These tests depend on Rubocop extensions, which cannot be
;; included as they cause a dependency cycle with Rubocop itself.
(lambda _
(delete-file "spec/rubocop/config_loader_spec.rb")
(substitute* "Gemfile"
((".*'rubocop-performance'.*") "")
((".*'rubocop-rspec'.*") ""))
;; Prevent "Unnecessary disabling of RSpec/* (unknown cop)"
;; errors.
(substitute* (find-files "spec/rubocop/cop/" "_spec\\.rb$")
(("# (rubocop:(enable|disable) RSpec.*)" _ what)
(string-append "# Disabled: " what)))
#t))
(add-after 'unpack 'disable-bundler
(lambda _
(substitute* "Rakefile"
(("Bundler\\.setup.*") "nil\n"))
#t))
(replace 'replace-git-ls-files
(lambda _
(substitute* "rubocop.gemspec"
(("`git ls-files(.*)`" _ files)
(format #f "`find ~a -type f| sort`" files)))
#t))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" (getcwd))
#t))
;; Rubocop depends on itself for tests, directly and indirectly. By
;; regenerating the TODO list we test rubocop against itself and
;; forgo adjusting the test suite to our environment each release.
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(make-file-writable ".rubocop_todo.yml")
(invoke "./exe/rubocop" "--auto-gen-config"))
#t))
(add-before 'check 'make-adoc-files-writable
(lambda _
(let ((adoc-files (find-files "docs/modules/ROOT/pages"
@ -7324,10 +7327,17 @@ run.")
#t)))))
(native-inputs
`(("ruby-bump" ,ruby-bump)
("ruby-memory-profiler" ,ruby-memory-profiler)
("ruby-pry" ,ruby-pry)
("ruby-rake" ,ruby-rake)
("ruby-rspec" ,ruby-rspec)
("ruby-rubocop-minimal" ,ruby-rubocop-minimal)
("ruby-rubocop-performance-minimal" ,ruby-rubocop-performance-minimal)
("ruby-rubocop-rspec-minimal" ,ruby-rubocop-rspec-minimal)
("ruby-simplecov" ,ruby-simplecov)
("ruby-stackprof" ,ruby-stackprof)
("ruby-test-queue" ,ruby-test-queue)
("ruby-webmock" ,ruby-webmock-2)
("ruby-webmock" ,ruby-webmock)
("ruby-yard" ,ruby-yard)))
(propagated-inputs
`(("ruby-parallel" ,ruby-parallel)
@ -7345,6 +7355,16 @@ the community-driven Ruby Style Guide.")
(home-page "https://github.com/rubocop-hq/rubocop")
(license license:expat)))
(define-public ruby-rubocop-minimal
(hidden-package
(package
(inherit ruby-rubocop)
(arguments
(substitute-keyword-arguments (package-arguments ruby-rubocop)
((#:tests? _ #f) #f)))
(propagated-inputs '())
(native-inputs '()))))
(define-public ruby-contest
(package
(name "ruby-contest")