diff options
Diffstat (limited to 'dev-ruby/rubocop/rubocop-1.68.0.ebuild')
-rw-r--r-- | dev-ruby/rubocop/rubocop-1.68.0.ebuild | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/dev-ruby/rubocop/rubocop-1.68.0.ebuild b/dev-ruby/rubocop/rubocop-1.68.0.ebuild new file mode 100644 index 00000000..9d9cfb44 --- /dev/null +++ b/dev-ruby/rubocop/rubocop-1.68.0.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +USE_RUBY="ruby31 ruby32 ruby33" + +RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" + +RUBY_FAKEGEM_RECIPE_TEST="rspec3" + +RUBY_FAKEGEM_EXTRAINSTALL="assets config" +RUBY_FAKEGEM_BINDIR="exe" + +RUBY_FAKEGEM_GEMSPEC="rubocop.gemspec" + +inherit ruby-fakegem + +DESCRIPTION="A Ruby static code analyzer" +HOMEPAGE="https://github.com/rubocop/rubocop" +SRC_URI="https://github.com/rubocop/rubocop/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" + +ruby_add_rdepend " + >=dev-ruby/json-2.3:2 + >=dev-ruby/language_server-protocol-3.17.0 + >=dev-ruby/parallel-1.10:1 + >=dev-ruby/parser-3.3.0.2 + dev-ruby/rainbow:3 + dev-ruby/regexp_parser:2 + >=dev-ruby/rubocop-ast-1.32.2:1 + >=dev-ruby/ruby-progressbar-1.7:0 + >=dev-ruby/unicode-display_width-2.4.0:2" + +ruby_add_bdepend "test? ( dev-ruby/bundler dev-ruby/rubocop-performance dev-ruby/webmock )" + +all_ruby_prepare() { + sed -e '/pry/ s:^:#:' \ + -i spec/spec_helper.rb || die + sed -i -e "s:_relative ': './:" ${RUBY_FAKEGEM_GEMSPEC} || die + + # Avoid bundler spec + sed -e '/and the gem is bundled/,/^ end/ s:^:#:' \ + -e '/when a file inherits from \(a url inheriting from a gem\|an unknown gem\)/ s/context/xcontext/' \ + -e '/returns values from the gem config with local overrides/ s/it/xit/' \ + -i spec/rubocop/config_loader_spec.rb || die + sed -i -e '/gem_versions_in_target/ s/describe/xdescribe/' spec/rubocop/config_spec.rb || die + sed -e '/when the extensions are loaded via inherit_gem/ s/context/xcontext/' \ + -i spec/rubocop/config_obsoletion_spec.rb || die + sed -i -e '/bundler integration/,/^ end/ s:^:#:' spec/rubocop/cli_spec.rb || die + rm -f spec/rubocop/cli_spec.rb spec/rubocop/cli/suggest_extensions_spec.rb spec/rubocop/lockfile_spec.rb || die + + # Avoid specs requiring rubocop-rake + sed -i -e '/compliance with rubocop/,/^ end/ s:^:#:' spec/rubocop/cop/generator_spec.rb || die + + # Avoid specs requiring many rubocop extensions + rm -f spec/rubocop/version_spec.rb || die + + # Avoid specs that are not functional and break too often in releases + sed -i -e '/has a unique contributor name/askip "too fragile"' spec/project_spec.rb || die + + # Avoid spec that breaks when YJIT is enabled + sed -i -e '/logs the RuboCop version/ s/it/xit/' spec/rubocop/lsp/server_spec.rb || die + + sed -e 's:/tmp/example:'"${TMPDIR}"'/example:' \ + -e 's:/tmp/Gemfile:'"${TMPDIR}"'/Gemfile:' \ + -i spec/rubocop/cop/team_spec.rb || die + sed -e 's:/tmp:'"${TMPDIR}"':' -i spec/rubocop/server/cli_spec.rb || die + + # Disable the strict warnings check since we will have additional dependencies with warnings. + sed -e '/StrictWarnings.enable/ s:^:#:' \ + -i spec/spec_helper.rb || die +} |