public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-ruby/thor/files/, dev-ruby/thor/
@ 2023-03-18  0:02 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2023-03-18  0:02 UTC (permalink / raw
  To: gentoo-commits

commit:     557922daa276be471bff9f1fbfc9e4ee3fbbe6c9
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 15 07:37:12 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 18 00:02:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=557922da

dev-ruby/thor: enable ruby32

```
Finished in 0.6724 seconds (files took 0.35272 seconds to load)
800 examples, 0 failures, 1 pending
```

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-ruby/thor/files/thor-1.2.1-tests.patch | 211 +++++++++++++++++++++++++++++
 dev-ruby/thor/thor-1.2.1-r1.ebuild         |  74 ++++++++++
 2 files changed, 285 insertions(+)

diff --git a/dev-ruby/thor/files/thor-1.2.1-tests.patch b/dev-ruby/thor/files/thor-1.2.1-tests.patch
new file mode 100644
index 000000000000..bd59deda2338
--- /dev/null
+++ b/dev-ruby/thor/files/thor-1.2.1-tests.patch
@@ -0,0 +1,211 @@
+https://github.com/rails/thor/issues/817
+https://github.com/rails/thor/commit/0def4cfba5bf470f76877eb3b8a8895f0018e574
+https://github.com/rails/thor/commit/46d1422902e1c66b31fae79be7dca79ff8b2e81b
+
+From 0def4cfba5bf470f76877eb3b8a8895f0018e574 Mon Sep 17 00:00:00 2001
+From: Tim Diggins <tim@red56.uk>
+Date: Fri, 4 Mar 2022 12:16:58 +0000
+Subject: [PATCH] fix expectations for ruby 3 treatment of hash arg
+
+--- a/spec/line_editor_spec.rb
++++ b/spec/line_editor_spec.rb
+@@ -13,7 +13,7 @@
+   describe ".readline" do
+     it "uses the Readline line editor" do
+       editor = double("Readline")
+-      expect(Thor::LineEditor::Readline).to receive(:new).with("Enter your name ", :default => "Brian").and_return(editor)
++      expect(Thor::LineEditor::Readline).to receive(:new).with("Enter your name ", {:default => "Brian"}).and_return(editor)
+       expect(editor).to receive(:readline).and_return("George")
+       expect(Thor::LineEditor.readline("Enter your name ", :default => "Brian")).to eq("George")
+     end
+@@ -35,7 +35,7 @@
+   describe ".readline" do
+     it "uses the Basic line editor" do
+       editor = double("Basic")
+-      expect(Thor::LineEditor::Basic).to receive(:new).with("Enter your name ", :default => "Brian").and_return(editor)
++      expect(Thor::LineEditor::Basic).to receive(:new).with("Enter your name ", {:default => "Brian"}).and_return(editor)
+       expect(editor).to receive(:readline).and_return("George")
+       expect(Thor::LineEditor.readline("Enter your name ", :default => "Brian")).to eq("George")
+     end
+--- a/spec/shell/basic_spec.rb
++++ b/spec/shell/basic_spec.rb
+@@ -70,80 +70,80 @@ def shell
+ 
+     it "prints a message to the user with the available options, expects case-sensitive matching, and determines the correctness of the answer" do
+       flavors = %w(strawberry chocolate vanilla)
+-      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? [strawberry, chocolate, vanilla] ', :limited_to => flavors).and_return("chocolate")
++      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? [strawberry, chocolate, vanilla] ', {:limited_to => flavors}).and_return("chocolate")
+       expect(shell.ask('What\'s your favorite Neopolitan flavor?', :limited_to => flavors)).to eq("chocolate")
+     end
+ 
+     it "prints a message to the user with the available options, expects case-sensitive matching, and reasks the question after an incorrect response" do
+       flavors = %w(strawberry chocolate vanilla)
+       expect($stdout).to receive(:print).with("Your response must be one of: [strawberry, chocolate, vanilla]. Please try again.\n")
+-      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? [strawberry, chocolate, vanilla] ', :limited_to => flavors).and_return("moose tracks", "chocolate")
++      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? [strawberry, chocolate, vanilla] ', {:limited_to => flavors}).and_return("moose tracks", "chocolate")
+       expect(shell.ask('What\'s your favorite Neopolitan flavor?', :limited_to => flavors)).to eq("chocolate")
+     end
+ 
+     it "prints a message to the user with the available options, expects case-sensitive matching, and reasks the question after a case-insensitive match" do
+       flavors = %w(strawberry chocolate vanilla)
+       expect($stdout).to receive(:print).with("Your response must be one of: [strawberry, chocolate, vanilla]. Please try again.\n")
+-      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? [strawberry, chocolate, vanilla] ', :limited_to => flavors).and_return("cHoCoLaTe", "chocolate")
++      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? [strawberry, chocolate, vanilla] ', {:limited_to => flavors}).and_return("cHoCoLaTe", "chocolate")
+       expect(shell.ask('What\'s your favorite Neopolitan flavor?', :limited_to => flavors)).to eq("chocolate")
+     end
+ 
+     it "prints a message to the user with the available options, expects case-insensitive matching, and determines the correctness of the answer" do
+       flavors = %w(strawberry chocolate vanilla)
+-      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? [strawberry, chocolate, vanilla] ', :limited_to => flavors, :case_insensitive => true).and_return("CHOCOLATE")
++      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? [strawberry, chocolate, vanilla] ', {:limited_to => flavors, :case_insensitive => true}).and_return("CHOCOLATE")
+       expect(shell.ask('What\'s your favorite Neopolitan flavor?', :limited_to => flavors, :case_insensitive => true)).to eq("chocolate")
+     end
+ 
+     it "prints a message to the user with the available options, expects case-insensitive matching, and reasks the question after an incorrect response" do
+       flavors = %w(strawberry chocolate vanilla)
+       expect($stdout).to receive(:print).with("Your response must be one of: [strawberry, chocolate, vanilla]. Please try again.\n")
+-      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? [strawberry, chocolate, vanilla] ', :limited_to => flavors, :case_insensitive => true).and_return("moose tracks", "chocolate")
++      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? [strawberry, chocolate, vanilla] ', {:limited_to => flavors, :case_insensitive => true}).and_return("moose tracks", "chocolate")
+       expect(shell.ask('What\'s your favorite Neopolitan flavor?', :limited_to => flavors, :case_insensitive => true)).to eq("chocolate")
+     end
+ 
+     it "prints a message to the user containing a default and sets the default if only enter is pressed" do
+-      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? (vanilla) ', :default => "vanilla").and_return("")
++      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? (vanilla) ', {:default => "vanilla"}).and_return("")
+       expect(shell.ask('What\'s your favorite Neopolitan flavor?', :default => "vanilla")).to eq("vanilla")
+     end
+ 
+     it "prints a message to the user with the available options and reasks the question after an incorrect response and then returns the default" do
+       flavors = %w(strawberry chocolate vanilla)
+       expect($stdout).to receive(:print).with("Your response must be one of: [strawberry, chocolate, vanilla]. Please try again.\n")
+-      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? [strawberry, chocolate, vanilla] (vanilla) ', :default => "vanilla", :limited_to => flavors).and_return("moose tracks", "")
++      expect(Thor::LineEditor).to receive(:readline).with('What\'s your favorite Neopolitan flavor? [strawberry, chocolate, vanilla] (vanilla) ', {:default => "vanilla", :limited_to => flavors}).and_return("moose tracks", "")
+       expect(shell.ask("What's your favorite Neopolitan flavor?", :default => "vanilla", :limited_to => flavors)).to eq("vanilla")
+     end
+   end
+ 
+   describe "#yes?" do
+     it "asks the user and returns true if the user replies yes" do
+-      expect(Thor::LineEditor).to receive(:readline).with("Should I overwrite it? ", :add_to_history => false).and_return("y")
++      expect(Thor::LineEditor).to receive(:readline).with("Should I overwrite it? ", {:add_to_history => false}).and_return("y")
+       expect(shell.yes?("Should I overwrite it?")).to be true
+     end
+ 
+     it "asks the user and returns false if the user replies no" do
+-      expect(Thor::LineEditor).to receive(:readline).with("Should I overwrite it? ", :add_to_history => false).and_return("n")
++      expect(Thor::LineEditor).to receive(:readline).with("Should I overwrite it? ", {:add_to_history => false}).and_return("n")
+       expect(shell.yes?("Should I overwrite it?")).not_to be true
+     end
+ 
+     it "asks the user and returns false if the user replies with an answer other than yes or no" do
+-      expect(Thor::LineEditor).to receive(:readline).with("Should I overwrite it? ", :add_to_history => false).and_return("foobar")
++      expect(Thor::LineEditor).to receive(:readline).with("Should I overwrite it? ", {:add_to_history => false}).and_return("foobar")
+       expect(shell.yes?("Should I overwrite it?")).to be false
+     end
+   end
+ 
+   describe "#no?" do
+     it "asks the user and returns true if the user replies no" do
+-      expect(Thor::LineEditor).to receive(:readline).with("Should I overwrite it? ", :add_to_history => false).and_return("n")
++      expect(Thor::LineEditor).to receive(:readline).with("Should I overwrite it? ", {:add_to_history => false}).and_return("n")
+       expect(shell.no?("Should I overwrite it?")).to be true
+     end
+ 
+     it "asks the user and returns false if the user replies yes" do
+-      expect(Thor::LineEditor).to receive(:readline).with("Should I overwrite it? ", :add_to_history => false).and_return("Yes")
++      expect(Thor::LineEditor).to receive(:readline).with("Should I overwrite it? ", {:add_to_history => false}).and_return("Yes")
+       expect(shell.no?("Should I overwrite it?")).to be false
+     end
+ 
+     it "asks the user and returns false if the user replies with an answer other than yes or no" do
+-      expect(Thor::LineEditor).to receive(:readline).with("Should I overwrite it? ", :add_to_history => false).and_return("foobar")
++      expect(Thor::LineEditor).to receive(:readline).with("Should I overwrite it? ", {:add_to_history => false}).and_return("foobar")
+       expect(shell.no?("Should I overwrite it?")).to be false
+     end
+   end
+@@ -431,13 +431,13 @@ def  #456  Lanç...
+       expect(content).to eq(<<-TABLE)
+ Name  Number         Color
+ Erik  1234567890123  green
+-TABLE
++      TABLE
+     end
+   end
+ 
+   describe "#file_collision" do
+     it "shows a menu with options" do
+-      expect(Thor::LineEditor).to receive(:readline).with('Overwrite foo? (enter "h" for help) [Ynaqh] ', :add_to_history => false).and_return("n")
++      expect(Thor::LineEditor).to receive(:readline).with('Overwrite foo? (enter "h" for help) [Ynaqh] ', {:add_to_history => false}).and_return("n")
+       shell.file_collision("foo")
+     end
+ 
+@@ -478,7 +478,7 @@ def  #456  Lanç...
+     end
+ 
+     it "always returns true if the user chooses always" do
+-      expect(Thor::LineEditor).to receive(:readline).with('Overwrite foo? (enter "h" for help) [Ynaqh] ', :add_to_history => false).and_return("a")
++      expect(Thor::LineEditor).to receive(:readline).with('Overwrite foo? (enter "h" for help) [Ynaqh] ', {:add_to_history => false}).and_return("a")
+ 
+       expect(shell.file_collision("foo")).to be true
+ 
+@@ -488,7 +488,7 @@ def  #456  Lanç...
+ 
+     describe "when a block is given" do
+       it "displays diff and merge options to the user" do
+-        expect(Thor::LineEditor).to receive(:readline).with('Overwrite foo? (enter "h" for help) [Ynaqdhm] ', :add_to_history => false).and_return("s")
++        expect(Thor::LineEditor).to receive(:readline).with('Overwrite foo? (enter "h" for help) [Ynaqdhm] ', {:add_to_history => false}).and_return("s")
+         shell.file_collision("foo") {}
+       end
+ 
+From 46d1422902e1c66b31fae79be7dca79ff8b2e81b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?David=20Rodr=C3=ADguez?= <deivid.rodriguez@riseup.net>
+Date: Wed, 15 Jun 2022 19:35:27 +0200
+Subject: [PATCH] Reimplement did_you_mean suggestions to keep behaviour
+ accross rubies
+
+Ruby 3.2 will introduce `Exception#detailed_message` and `did_you_mean`
+has been already updated in Ruby 3.2 to use that.
+
+The new behaviour means not changing the original `Exception#message`.
+That means it is hard to get the previous error output, because
+`Exception#detailed_message` includes not only `did_you_mean`
+decorations, but also additional information like the exception class.
+
+To fix this, I bring the old did_you_mean behavior into Thor, so that
+the above changes do not affect us.
+--- a/lib/thor/error.rb
++++ b/lib/thor/error.rb
+@@ -11,7 +11,15 @@ def initialize(dictionary)
+                     end
+                   end
+ 
+-                  DidYouMean::Correctable
++                  Module.new do
++                    def to_s
++                      super + DidYouMean.formatter.message_for(corrections)
++                    end
++
++                    def corrections
++                      @corrections ||= self.class.const_get(:SpellChecker).new(self).corrections
++                    end
++                  end
+                 end
+ 
+   # Thor::Error is raised when it's caused by wrong usage of thor classes. Those
+@@ -100,16 +108,4 @@ class RequiredArgumentMissingError < InvocationError
+ 
+   class MalformattedArgumentError < InvocationError
+   end
+-
+-  if Correctable
+-    if DidYouMean.respond_to?(:correct_error)
+-      DidYouMean.correct_error(Thor::UndefinedCommandError, UndefinedCommandError::SpellChecker)
+-      DidYouMean.correct_error(Thor::UnknownArgumentError, UnknownArgumentError::SpellChecker)
+-    else
+-      DidYouMean::SPELL_CHECKERS.merge!(
+-        'Thor::UndefinedCommandError' => UndefinedCommandError::SpellChecker,
+-        'Thor::UnknownArgumentError' => UnknownArgumentError::SpellChecker
+-      )
+-    end
+-  end
+ end

diff --git a/dev-ruby/thor/thor-1.2.1-r1.ebuild b/dev-ruby/thor/thor-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..42cd077c6593
--- /dev/null
+++ b/dev-ruby/thor/thor-1.2.1-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2000-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_DOCDIR="rdoc"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_BINWRAP="thor"
+
+RUBY_FAKEGEM_GEMSPEC="thor.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A scripting framework that replaces rake and sake"
+HOMEPAGE="http://whatisthor.com/"
+
+SRC_URI="https://github.com/erikhuda/${PN}/archive/v${PV}.tar.gz -> ${PN}-git-${PV}.tgz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux"
+IUSE="doc"
+
+USE_RUBY="ruby27" ruby_add_bdepend "
+	test? (
+		dev-ruby/childlabor
+		dev-ruby/webmock
+	)"
+
+RDEPEND+=" !<dev-ruby/thor-0.20.3-r1:0"
+
+PATCHES=(
+	"${FILESDIR}"/thor-1.2.1-tests.patch
+)
+
+all_ruby_prepare() {
+	# Remove rspec default options (as we might not have the last
+	# rspec).
+	rm .rspec || die
+
+	# Remove Bundler
+	#rm Gemfile || die
+	sed -i -e '/[Bb]undler/d' Thorfile || die
+
+	# Remove mandatory coverage collection using simplecov which is not
+	# packaged.
+	sed -i -e '/require .simplecov/,/^end/ s:^:#:' spec/helper.rb || die
+
+	# Avoid a spec that requires UTF-8 support, so LANG=C still works,
+	# bug 430402
+	sed -i -e '/uses maximum terminal width/,/end/ s:^:#:' spec/shell/basic_spec.rb || die
+
+	# Avoid specs depending on git, bug 724058
+	rm -f spec/quality_spec.rb || die
+
+	# Avoid currently broken readline specs (already fixed upstream)
+	#rm -f spec/line_editor/readline_spec.rb spec/line_editor_spec.rb || die
+
+	# Avoid spec failing on whitespace difference in error message
+	sed -i -e '/raises an error for unknown switches/askip "whitespace differences"' spec/parser/options_spec.rb || die
+}
+
+each_ruby_test() {
+	case ${RUBY} in
+		*ruby30|*ruby31|*ruby32)
+			einfo "Skipping tests due to circular dependencies"
+			;;
+		*)
+			RSPEC_VERSION=3 ruby-ng_rspec spec || die
+			;;
+	esac
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-ruby/thor/files/, dev-ruby/thor/
@ 2023-06-12  2:27 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2023-06-12  2:27 UTC (permalink / raw
  To: gentoo-commits

commit:     93a0ca1d70c27ba565874b3fa8fd51f7d8cd50c1
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 12 01:53:49 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 12 02:27:22 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93a0ca1d

dev-ruby/thor: add 1.2.2

Patch is easier than sed here (with how the file is now laid out
in >=1.2.2).

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-ruby/thor/Manifest                           |  1 +
 dev-ruby/thor/files/thor-1.2.2-no-coverage.patch | 29 +++++++++
 dev-ruby/thor/thor-1.2.2.ebuild                  | 78 ++++++++++++++++++++++++
 3 files changed, 108 insertions(+)

diff --git a/dev-ruby/thor/Manifest b/dev-ruby/thor/Manifest
index a89e5dfe47d4..38005b2f9056 100644
--- a/dev-ruby/thor/Manifest
+++ b/dev-ruby/thor/Manifest
@@ -1 +1,2 @@
 DIST thor-git-1.2.1.tgz 96638 BLAKE2B 03826d2545c61f5fd433325bc65b244921fd0ed0f030ea173fa6f558ca9fd62ac52dca829c66de32569321b3d52353f306559fa34c34e472b1aa52184ba3d812 SHA512 88e58b6ca6c812cb84ab59e0ee8afcd8fa70b6c24d403cd5ea05d1d40ac30e85f2c7412611cc176eb541d16878e309d25c7e4284f64c760475925ffe359250b9
+DIST thor-git-1.2.2.tgz 98213 BLAKE2B e71ee51eb5c982c585cf9bd9dffda8933975c9d0df8096015d125eefd0597a653887db1acfc132ce1f5a2e8ce4ab71c790a6c0bf39edd7c5e4c85a75de963944 SHA512 2c8af5d59f33691af63e813ba8dfe3392c279593f3e3ccf0ab2d6eb2ccce4220d93b7cb3413ad853e4bba14f4e2182c54caaf4944627cbcbefa31cdc0fabefc7

diff --git a/dev-ruby/thor/files/thor-1.2.2-no-coverage.patch b/dev-ruby/thor/files/thor-1.2.2-no-coverage.patch
new file mode 100644
index 000000000000..f57cbfeb63f5
--- /dev/null
+++ b/dev-ruby/thor/files/thor-1.2.2-no-coverage.patch
@@ -0,0 +1,29 @@
+--- a/spec/helper.rb
++++ b/spec/helper.rb
+@@ -1,17 +1,5 @@
+ $TESTING = true
+ 
+-if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.6.0")
+-  require "simplecov"
+-  require "coveralls"
+-
+-  SimpleCov.formatters = [SimpleCov::Formatter::HTMLFormatter, Coveralls::SimpleCov::Formatter]
+-
+-  SimpleCov.start do
+-    add_filter "/spec"
+-    minimum_coverage(90)
+-  end
+-end
+-
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
+ require "thor"
+ require "thor/group"
+@@ -22,8 +10,6 @@ require "rspec"
+ require "diff/lcs" # You need diff/lcs installed to run specs (but not to run Thor).
+ require "webmock/rspec"
+ 
+-WebMock.disable_net_connect!(:allow => "coveralls.io")
+-
+ # Set shell to basic
+ ENV["THOR_COLUMNS"] = "10000"
+ $0 = "thor"

diff --git a/dev-ruby/thor/thor-1.2.2.ebuild b/dev-ruby/thor/thor-1.2.2.ebuild
new file mode 100644
index 000000000000..86f805fb7395
--- /dev/null
+++ b/dev-ruby/thor/thor-1.2.2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 2000-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby30 ruby31 ruby32"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_DOCDIR="rdoc"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_BINWRAP="thor"
+
+RUBY_FAKEGEM_GEMSPEC="thor.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Simple and efficient tool for building self-documenting command line utilities"
+HOMEPAGE="http://whatisthor.com/"
+SRC_URI="https://github.com/erikhuda/${PN}/archive/v${PV}.tar.gz -> ${PN}-git-${PV}.tgz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux"
+IUSE="doc"
+
+# For initial target porting (new rubies), we can make these test deps
+# conditional with:
+# 1. USE_RUBY="<old rubies>" ruby_add_bdepend ...
+# 2. skip logic in each_ruby_test
+USE_RUBY="ruby30 ruby31 ruby32" ruby_add_bdepend "
+	test? (
+		dev-ruby/childlabor
+		dev-ruby/webmock
+	)"
+
+RDEPEND+=" !<dev-ruby/thor-0.20.3-r1:0"
+
+PATCHES=(
+	"${FILESDIR}"/thor-1.2.2-no-coverage.patch
+)
+
+all_ruby_prepare() {
+	# Remove rspec default options (as we might not have the last
+	# rspec).
+	rm .rspec || die
+
+	# Remove Bundler
+	#rm Gemfile || die
+	sed -i -e '/[Bb]undler/d' Thorfile || die
+
+	# Remove mandatory coverage collection using simplecov which is not
+	# packaged.
+	#sed -i -e '/require "simplecov"/,/^end/ s:^:#:' spec/helper.rb || die
+
+	# Avoid a spec that requires UTF-8 support, so LANG=C still works,
+	# bug 430402
+	#sed -i -e '/uses maximum terminal width/,/end/ s:^:#:' spec/shell/basic_spec.rb || die
+
+	# Avoid specs depending on git, bug 724058
+	rm -f spec/quality_spec.rb || die
+
+	# Avoid currently broken readline specs (already fixed upstream)
+	rm -f spec/line_editor/readline_spec.rb spec/line_editor_spec.rb || die
+
+	# Avoid spec failing on whitespace difference in error message
+	sed -i -e '/raises an error for unknown switches/askip "whitespace differences"' spec/parser/options_spec.rb || die
+}
+
+each_ruby_test() {
+	case ${RUBY} in
+		*ruby33)
+			einfo "Skipping tests due to circular dependencies"
+			;;
+		*)
+			RSPEC_VERSION=3 ruby-ng_rspec spec || die
+			;;
+	esac
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-06-12  2:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-12  2:27 [gentoo-commits] repo/gentoo:master commit in: dev-ruby/thor/files/, dev-ruby/thor/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2023-03-18  0:02 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox