commit:     fec067921d96e1e5b9d9a77c8715aabfe4778d8a
Author:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Mon Mar  8 11:09:17 2021 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Mon Mar  8 11:09:30 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fec06792

dev-ruby/coderay: fix tests with ruby30

Package-Manager: Portage-3.0.13, Repoman-3.0.2
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>

 dev-ruby/coderay/coderay-1.1.3-r1.ebuild          |  4 +-
 dev-ruby/coderay/files/coderay-1.1.3-ruby30.patch | 51 +++++++++++++++++++++++
 2 files changed, 54 insertions(+), 1 deletion(-)

diff --git a/dev-ruby/coderay/coderay-1.1.3-r1.ebuild 
b/dev-ruby/coderay/coderay-1.1.3-r1.ebuild
index d940e89b484..7d653974d29 100644
--- a/dev-ruby/coderay/coderay-1.1.3-r1.ebuild
+++ b/dev-ruby/coderay/coderay-1.1.3-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+USE_RUBY="ruby25 ruby26 ruby27"
 
 # The test target also contains test:exe but that requires
 # shoulda-context which we do not have packaged yet.
@@ -27,6 +27,8 @@ SLOT="0"
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~s390 ~sparc ~x86 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris 
~x64-solaris ~x86-solaris"
 IUSE=""
 
+PATCHES=("${FILESDIR}/${P}-ruby30.patch")
+
 # Redcloth is an optional but automagically tested dependency. This
 # requires redcloth-4.2.2. We don't depend on this version to make
 # bootstrapping rspec with new versions easier, since redcloth depends

diff --git a/dev-ruby/coderay/files/coderay-1.1.3-ruby30.patch 
b/dev-ruby/coderay/files/coderay-1.1.3-ruby30.patch
new file mode 100644
index 00000000000..99ce3053a1d
--- /dev/null
+++ b/dev-ruby/coderay/files/coderay-1.1.3-ruby30.patch
@@ -0,0 +1,51 @@
+From c1c15034749684fcad91ad2bcb2fcd2056faf18d Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <[email protected]>
+Date: Sun, 21 Feb 2021 23:04:03 +0900
+Subject: [PATCH] Fix test suite for ruby 3.0 change for methods on subclass of
+ Array
+
+With ruby 3.0, especially with https://github.com/ruby/ruby/pull/3690 ,
+for subclass of Array, `flatten` method now returns the instance of Array,
+not of the subclass.
+
+To keep the object instance of the subclass, use `flatten!` instead.
+---
+ test/unit/debug.rb     | 3 ++-
+ test/unit/statistic.rb | 5 +++--
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/test/unit/debug.rb b/test/unit/debug.rb
+index 88baf563..b694f21e 100644
+--- a/test/unit/debug.rb
++++ b/test/unit/debug.rb
+@@ -24,7 +24,8 @@ def test_creation
+     ["   \n", :space],
+     ["[]", :method],
+     [:end_line, :head],
+-  ].flatten
++  ]
++  TEST_INPUT.flatten!
+   TEST_OUTPUT = <<-'DEBUG'.chomp
+ integer(10)operator((\\\))string<content(test)>head[
+ 
+diff --git a/test/unit/statistic.rb b/test/unit/statistic.rb
+index 1326dca6..776774d4 100644
+--- a/test/unit/statistic.rb
++++ b/test/unit/statistic.rb
+@@ -24,7 +24,8 @@ def test_creation
+     ["   \n", :space],
+     ["[]", :method],
+     [:end_line, :test],
+-  ].flatten
++  ]
++  TEST_INPUT.flatten!
+   TEST_OUTPUT = <<-'DEBUG'
+ 
+ Code Statistics
+@@ -56,4 +57,4 @@ def test_filtering_text_tokens
+     assert_equal TEST_OUTPUT, TEST_INPUT.statistic
+   end
+   
+-end
+\ No newline at end of file
++end

Reply via email to