summaryrefslogtreecommitdiff
path: root/dev-ruby
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby')
-rw-r--r--dev-ruby/llhttp-ffi/files/llhttp-ffi-0.5.0-fix-rake-clean.patch18
-rw-r--r--dev-ruby/nokogiri-diff/files/nokogiri-diff-0.2.0-rspec3.patch436
-rw-r--r--dev-ruby/patron/files/patron-0.13.3-fix-warning.patch24
-rw-r--r--dev-ruby/pkg-config/Manifest1
-rw-r--r--dev-ruby/pkg-config/pkg-config-1.6.5.ebuild30
-rw-r--r--dev-ruby/ruby-gtk3/files/ruby-gtk3-4.1.2-c99.patch29
-rw-r--r--dev-ruby/stringio/stringio-3.1.7.ebuild2
-rw-r--r--dev-ruby/sus-fixtures-async/files/sus-fixtures-async-0.1.1-tests-require.patch43
-rw-r--r--dev-ruby/timers/files/timers-4.3.5-timers-slow.patch259
9 files changed, 32 insertions, 810 deletions
diff --git a/dev-ruby/llhttp-ffi/files/llhttp-ffi-0.5.0-fix-rake-clean.patch b/dev-ruby/llhttp-ffi/files/llhttp-ffi-0.5.0-fix-rake-clean.patch
deleted file mode 100644
index 23d85a4a3bbe..000000000000
--- a/dev-ruby/llhttp-ffi/files/llhttp-ffi-0.5.0-fix-rake-clean.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-https://github.com/bryanp/llhttp/commit/89551cd7fa539d7073e62ba8f6ba1dd70e73c36a
-
-From 89551cd7fa539d7073e62ba8f6ba1dd70e73c36a Mon Sep 17 00:00:00 2001
-From: Bryan Powell <bryan@metabahn.com>
-Date: Wed, 29 Mar 2023 07:27:08 -0700
-Subject: [PATCH] Fix ffi clean
-
---- a/Rakefile
-+++ b/Rakefile
-@@ -16,6 +16,8 @@ task :clean do
- [
- "./lib/llhttp/llhttp_ext.bundle"
- ].each do |file|
-+ next unless File.exist?(file)
-+
- FileUtils.rm(file)
- end
- end
diff --git a/dev-ruby/nokogiri-diff/files/nokogiri-diff-0.2.0-rspec3.patch b/dev-ruby/nokogiri-diff/files/nokogiri-diff-0.2.0-rspec3.patch
deleted file mode 100644
index c47bda03ec11..000000000000
--- a/dev-ruby/nokogiri-diff/files/nokogiri-diff-0.2.0-rspec3.patch
+++ /dev/null
@@ -1,436 +0,0 @@
-From 4683f35469dbb69fa291ea35be4e7a74090a8b24 Mon Sep 17 00:00:00 2001
-From: Balasankar C <balasankarc@autistici.org>
-Date: Sat, 28 Nov 2015 17:55:09 +0530
-Subject: [PATCH] Port tests to RSpec 3
-
----
- Rakefile | 2 +-
- gemspec.yml | 2 +-
- spec/diff_spec.rb | 226 ++++++++++++++++++++++----------------------
- spec/spec_helper.rb | 2 +-
- 4 files changed, 116 insertions(+), 116 deletions(-)
-
-diff --git a/Rakefile b/Rakefile
-index 1b8a92d..7fb967c 100644
---- a/Rakefile
-+++ b/Rakefile
-@@ -12,7 +12,7 @@ rescue LoadError => e
- end
-
- begin
-- gem 'rspec', '~> 2.4'
-+ gem 'rspec', '~> 3.0'
- require 'rspec/core/rake_task'
-
- RSpec::Core::RakeTask.new
-diff --git a/gemspec.yml b/gemspec.yml
-index 5ae611d..d775248 100644
---- a/gemspec.yml
-+++ b/gemspec.yml
-@@ -18,5 +18,5 @@ dependencies:
-
- development_dependencies:
- rubygems-tasks: ~> 0.1
-- rspec: ~> 2.4
-+ rspec: ~> 3.0
- yard: ~> 0.7
-diff --git a/spec/diff_spec.rb b/spec/diff_spec.rb
-index 6450c49..adfaaa8 100644
---- a/spec/diff_spec.rb
-+++ b/spec/diff_spec.rb
-@@ -21,197 +21,197 @@
- let(:removed_attr) { Nokogiri::XML('<div><p>one</p></div>') }
-
- it "should add #diff to Nokogiri::XML::Docuemnt" do
-- doc.should respond_to(:diff)
-+ expect(doc).to respond_to(:diff)
- end
-
- it "should add #diff to Nokogiri::XML::Element" do
-- added_element.at('div').should respond_to(:diff)
-+ expect(added_element.at('div')).to respond_to(:diff)
- end
-
- it "should add #diff to Nokogiri::XML::Text" do
-- added_text.at('p/text()').should respond_to(:diff)
-+ expect(added_text.at('p/text()')).to respond_to(:diff)
- end
-
- it "should add #diff to Nokogiri::XML::Attr" do
-- added_attr.at('p/@id').should respond_to(:diff)
-+ expect(added_attr.at('p/@id')).to respond_to(:diff)
- end
-
- it "should not compare the Document objects" do
- change = doc.diff(doc).first
-
-- change[0].should == ' '
-- change[1].should == doc.root
-+ expect(change[0]).to eq(' ')
-+ expect(change[1]).to eq(doc.root)
- end
-
- it "should determine when two different documents are identical" do
-- doc.diff(Nokogiri::XML(contents)).all? { |change,node|
-+ expect(doc.diff(Nokogiri::XML(contents)).all? { |change,node|
- change == ' '
-- }.should == true
-+ }).to eq(true)
- end
-
- it "should search down within Nokogiri::XML::Document objects" do
-- doc.diff(changed_text).any? { |change,node|
-+ expect(doc.diff(changed_text).any? { |change,node|
- change != ' '
-- }.should == true
-+ }).to eq(true)
- end
-
- it "should determine when text nodes are added" do
- changes = doc.at('div').diff(added_text.at('div')).to_a
-
-- changes.length.should == 4
-+ expect(changes.length).to eq(4)
-
-- changes[0][0].should == ' '
-- changes[0][1].should == doc.at('div')
-+ expect(changes[0][0]).to eq(' ')
-+ expect(changes[0][1]).to eq(doc.at('div'))
-
-- changes[1][0].should == ' '
-- changes[1][1].should == doc.at('//p')
-+ expect(changes[1][0]).to eq(' ')
-+ expect(changes[1][1]).to eq(doc.at('//p'))
-
-- changes[2][0].should == '+'
-- changes[2][1].should == added_text.at('//div/text()')
-+ expect(changes[2][0]).to eq('+')
-+ expect(changes[2][1]).to eq(added_text.at('//div/text()'))
-
-- changes[3][0].should == ' '
-- changes[3][1].should == doc.at('//p/text()')
-+ expect(changes[3][0]).to eq(' ')
-+ expect(changes[3][1]).to eq(doc.at('//p/text()'))
- end
-
- it "should determine when elements are added" do
- changes = doc.at('div').diff(added_element.at('div')).to_a
-
-- changes.length.should == 5
-+ expect(changes.length).to eq(5)
-
-- changes[0][0].should == ' '
-- changes[0][1].should == doc.at('div')
-+ expect(changes[0][0]).to eq(' ')
-+ expect(changes[0][1]).to eq(doc.at('div'))
-
-- changes[1][0].should == '+'
-- changes[1][1].should == added_element.at('//p[1]')
-+ expect(changes[1][0]).to eq('+')
-+ expect(changes[1][1]).to eq(added_element.at('//p[1]'))
-
-- changes[2][0].should == ' '
-- changes[2][1].should == doc.at('//p')
-+ expect(changes[2][0]).to eq(' ')
-+ expect(changes[2][1]).to eq(doc.at('//p'))
-
-- changes[3][0].should == '-'
-- changes[3][1].should == doc.at('//p/text()')
-+ expect(changes[3][0]).to eq('-')
-+ expect(changes[3][1]).to eq(doc.at('//p/text()'))
-
-- changes[4][0].should == '+'
-- changes[4][1].should == added_element.at('//p[2]/text()')
-+ expect(changes[4][0]).to eq('+')
-+ expect(changes[4][1]).to eq(added_element.at('//p[2]/text()'))
- end
-
- it "should ignore when attribute order changes" do
- changes = added_attrs.at('p').diff(changed_attr_order.at('p')).to_a
-
-- changes.all? { |change| change[0] == ' ' }.should be_true
-+ expect(changes.all? { |change| change[0] == ' ' }).to be_truthy
- end
-
- it "should determine when attributes are added" do
- changes = doc.at('p').diff(added_attr.at('p')).to_a
-
-- changes.length.should == 3
-+ expect(changes.length).to eq(3)
-
-- changes[0][0].should == ' '
-- changes[0][1].should == doc.at('p')
-+ expect(changes[0][0]).to eq(' ')
-+ expect(changes[0][1]).to eq(doc.at('p'))
-
-- changes[1][0].should == '+'
-- changes[1][1].should == added_attr.at('//p/@id')
-+ expect(changes[1][0]).to eq('+')
-+ expect(changes[1][1]).to eq(added_attr.at('//p/@id'))
-
-- changes[2][0].should == ' '
-- changes[2][1].should == doc.at('//p/text()')
-+ expect(changes[2][0]).to eq(' ')
-+ expect(changes[2][1]).to eq(doc.at('//p/text()'))
- end
-
- it "should determine when text nodes differ" do
- changes = doc.at('p').diff(changed_text.at('p')).to_a
-
-- changes.length.should == 3
-+ expect(changes.length).to eq(3)
-
-- changes[0][0].should == ' '
-- changes[0][1].should == doc.at('p')
-+ expect(changes[0][0]).to eq(' ')
-+ expect(changes[0][1]).to eq(doc.at('p'))
-
-- changes[1][0].should == '-'
-- changes[1][1].should == doc.at('//p/text()')
-+ expect(changes[1][0]).to eq('-')
-+ expect(changes[1][1]).to eq(doc.at('//p/text()'))
-
-- changes[2][0].should == '+'
-- changes[2][1].should == changed_text.at('//p/text()')
-+ expect(changes[2][0]).to eq('+')
-+ expect(changes[2][1]).to eq(changed_text.at('//p/text()'))
- end
-
- it "should determine when element names differ" do
- changes = doc.at('div').diff(changed_element.at('div')).to_a
-
-- changes.length.should == 3
-+ expect(changes.length).to eq(3)
-
-- changes[0][0].should == ' '
-- changes[0][1].should == doc.at('div')
-+ expect(changes[0][0]).to eq(' ')
-+ expect(changes[0][1]).to eq(doc.at('div'))
-
-- changes[1][0].should == '-'
-- changes[1][1].should == doc.at('p')
-+ expect(changes[1][0]).to eq('-')
-+ expect(changes[1][1]).to eq(doc.at('p'))
-
-- changes[2][0].should == '+'
-- changes[2][1].should == changed_element.at('span')
-+ expect(changes[2][0]).to eq('+')
-+ expect(changes[2][1]).to eq(changed_element.at('span'))
- end
-
- it "should determine when attribute names differ" do
- changes = added_attr.at('p').diff(changed_attr_name.at('p')).to_a
-
-- changes.length.should == 4
-+ expect(changes.length).to eq(4)
-
-- changes[0][0].should == ' '
-- changes[0][1].should == added_attr.at('p')
-+ expect(changes[0][0]).to eq(' ')
-+ expect(changes[0][1]).to eq(added_attr.at('p'))
-
-- changes[1][0].should == '-'
-- changes[1][1].should == added_attr.at('//p/@id')
-+ expect(changes[1][0]).to eq('-')
-+ expect(changes[1][1]).to eq(added_attr.at('//p/@id'))
-
-- changes[2][0].should == '+'
-- changes[2][1].should == changed_attr_name.at('//p/@i')
-+ expect(changes[2][0]).to eq('+')
-+ expect(changes[2][1]).to eq(changed_attr_name.at('//p/@i'))
-
-- changes[3][0].should == ' '
-- changes[3][1].should == added_attr.at('//p/text()')
-+ expect(changes[3][0]).to eq(' ')
-+ expect(changes[3][1]).to eq(added_attr.at('//p/text()'))
- end
-
- it "should determine when attribute values differ" do
- changes = added_attr.at('p').diff(changed_attr_value.at('p')).to_a
-
-- changes.length.should == 4
-+ expect(changes.length).to eq(4)
-
-- changes[0][0].should == ' '
-- changes[0][1].should == added_attr.at('p')
-+ expect(changes[0][0]).to eq(' ')
-+ expect(changes[0][1]).to eq(added_attr.at('p'))
-
-- changes[1][0].should == '-'
-- changes[1][1].should == added_attr.at('//p/@id')
-+ expect(changes[1][0]).to eq('-')
-+ expect(changes[1][1]).to eq(added_attr.at('//p/@id'))
-
-- changes[2][0].should == '+'
-- changes[2][1].should == changed_attr_value.at('//p/@id')
-+ expect(changes[2][0]).to eq('+')
-+ expect(changes[2][1]).to eq(changed_attr_value.at('//p/@id'))
-
-- changes[3][0].should == ' '
-- changes[3][1].should == added_attr.at('//p/text()')
-+ expect(changes[3][0]).to eq(' ')
-+ expect(changes[3][1]).to eq(added_attr.at('//p/text()'))
- end
-
- it "should determine when text nodes are removed" do
- changes = added_text.at('div').diff(removed_text.at('div')).to_a
-
-- changes.length.should == 4
-+ expect(changes.length).to eq(4)
-
-- changes[0][0].should == ' '
-- changes[0][1].should == added_text.at('div')
-+ expect(changes[0][0]).to eq(' ')
-+ expect(changes[0][1]).to eq(added_text.at('div'))
-
-- changes[1][0].should == ' '
-- changes[1][1].should == added_text.at('p')
-+ expect(changes[1][0]).to eq(' ')
-+ expect(changes[1][1]).to eq(added_text.at('p'))
-
-- changes[2][0].should == ' '
-- changes[2][1].should == added_text.at('//div/text()')
-+ expect(changes[2][0]).to eq(' ')
-+ expect(changes[2][1]).to eq(added_text.at('//div/text()'))
-
-- changes[3][0].should == '-'
-- changes[3][1].should == added_text.at('//p/text()')
-+ expect(changes[3][0]).to eq('-')
-+ expect(changes[3][1]).to eq(added_text.at('//p/text()'))
- end
-
- it "should determine when elements are removed" do
- changes = added_element.at('div').diff(removed_element.at('div')).to_a
-
-- changes.length.should == 3
-+ expect(changes.length).to eq(3)
-
-- changes[0][0].should == ' '
-- changes[0][1].should == added_element.at('div')
-+ expect(changes[0][0]).to eq(' ')
-+ expect(changes[0][1]).to eq(added_element.at('div'))
-
-- changes[1][0].should == '-'
-- changes[1][1].should == added_element.at('//p[1]')
-+ expect(changes[1][0]).to eq('-')
-+ expect(changes[1][1]).to eq(added_element.at('//p[1]'))
-
-- changes[2][0].should == '-'
-- changes[2][1].should == added_element.at('//p[2]')
-+ expect(changes[2][0]).to eq('-')
-+ expect(changes[2][1]).to eq(added_element.at('//p[2]'))
- end
-
- it "should ignore when attributes change order" do
-@@ -220,47 +220,47 @@
- it "should determine when attributes are removed" do
- changes = added_attr.at('div').diff(removed_attr.at('div')).to_a
-
-- changes.length.should == 4
-+ expect(changes.length).to eq(4)
-
-- changes[0][0].should == ' '
-- changes[0][1].should == added_attr.at('div')
-+ expect(changes[0][0]).to eq(' ')
-+ expect(changes[0][1]).to eq(added_attr.at('div'))
-
-- changes[1][0].should == ' '
-- changes[1][1].should == added_attr.at('p')
-+ expect(changes[1][0]).to eq(' ')
-+ expect(changes[1][1]).to eq(added_attr.at('p'))
-
-- changes[2][0].should == '-'
-- changes[2][1].should == added_attr.at('//p/@id')
-+ expect(changes[2][0]).to eq('-')
-+ expect(changes[2][1]).to eq(added_attr.at('//p/@id'))
-
-- changes[3][0].should == ' '
-- changes[3][1].should == added_attr.at('//p/text()')
-+ expect(changes[3][0]).to eq(' ')
-+ expect(changes[3][1]).to eq(added_attr.at('//p/text()'))
- end
-
- context ":added" do
- it "should determine only when text nodes are added" do
- changes = doc.at('div').diff(added_text.at('div'), :added => true).to_a
-
-- changes.length.should == 1
-+ expect(changes.length).to eq(1)
-
-- changes[0][0].should == '+'
-- changes[0][1].should == added_text.at('//div/text()')
-+ expect(changes[0][0]).to eq('+')
-+ expect(changes[0][1]).to eq(added_text.at('//div/text()'))
- end
-
- it "should determine only when elements are added" do
- changes = doc.at('div').diff(added_element.at('div'), :added => true).to_a
-
-- changes.length.should == 1
-+ expect(changes.length).to eq(1)
-
-- changes[0][0].should == '+'
-- changes[0][1].should == added_element.at('//div/p[2]')
-+ expect(changes[0][0]).to eq('+')
-+ expect(changes[0][1]).to eq(added_element.at('//div/p[2]'))
- end
-
- it "should determine only when attributes are added" do
- changes = doc.at('div').diff(added_attr.at('div'), :added => true).to_a
-
-- changes.length.should == 1
-+ expect(changes.length).to eq(1)
-
-- changes[0][0].should == '+'
-- changes[0][1].should == added_attr.at('//p/@id')
-+ expect(changes[0][0]).to eq('+')
-+ expect(changes[0][1]).to eq(added_attr.at('//p/@id'))
- end
- end
-
-@@ -268,28 +268,28 @@
- it "should determine only when text nodes are removed" do
- changes = doc.at('div').diff(removed_text.at('div'), :removed => true).to_a
-
-- changes.length.should == 1
-+ expect(changes.length).to eq(1)
-
-- changes[0][0].should == '-'
-- changes[0][1].should == doc.at('//p/text()')
-+ expect(changes[0][0]).to eq('-')
-+ expect(changes[0][1]).to eq(doc.at('//p/text()'))
- end
-
- it "should determine only when elements are removed" do
- changes = doc.at('div').diff(removed_element.at('div'), :removed => true).to_a
-
-- changes.length.should == 1
-+ expect(changes.length).to eq(1)
-
-- changes[0][0].should == '-'
-- changes[0][1].should == doc.at('//div/p')
-+ expect(changes[0][0]).to eq('-')
-+ expect(changes[0][1]).to eq(doc.at('//div/p'))
- end
-
- it "should determine only when attributes are removed" do
- changes = added_attr.at('div').diff(removed_attr.at('div'), :removed => true).to_a
-
-- changes.length.should == 1
-+ expect(changes.length).to eq(1)
-
-- changes[0][0].should == '-'
-- changes[0][1].should == added_attr.at('//p/@id')
-+ expect(changes[0][0]).to eq('-')
-+ expect(changes[0][1]).to eq(added_attr.at('//p/@id'))
- end
- end
- end
-diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
-index 4b9ecea..5f26cbb 100644
---- a/spec/spec_helper.rb
-+++ b/spec/spec_helper.rb
-@@ -1,2 +1,2 @@
--gem 'rspec', '~> 2.4'
-+gem 'rspec', '~> 3.0'
- require 'rspec'
diff --git a/dev-ruby/patron/files/patron-0.13.3-fix-warning.patch b/dev-ruby/patron/files/patron-0.13.3-fix-warning.patch
deleted file mode 100644
index ff33cdcc287a..000000000000
--- a/dev-ruby/patron/files/patron-0.13.3-fix-warning.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 2b84ba489fb28f474195d215be7cc6bed43c32bc Mon Sep 17 00:00:00 2001
-From: Olle Jonsson <olle.jonsson@gmail.com>
-Date: Thu, 2 Apr 2020 21:02:51 +0200
-Subject: [PATCH] Avoid warning `*' interpreted as argument prefix
-
----
- lib/patron/request.rb | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/patron/request.rb b/lib/patron/request.rb
-index 9050ef2..3ac998a 100644
---- a/lib/patron/request.rb
-+++ b/lib/patron/request.rb
-@@ -34,8 +34,8 @@ def initialize
- :low_speed_time, :low_speed_limit, :progress_callback
- ]
-
-- attr_reader *READER_VARS
-- attr_writer *WRITER_VARS
-+ attr_reader(*READER_VARS)
-+ attr_writer(*WRITER_VARS)
-
- # Set the type of authentication to use for this request.
- #
diff --git a/dev-ruby/pkg-config/Manifest b/dev-ruby/pkg-config/Manifest
index 341de215e3fa..733a2e2f7632 100644
--- a/dev-ruby/pkg-config/Manifest
+++ b/dev-ruby/pkg-config/Manifest
@@ -3,3 +3,4 @@ DIST pkg-config-1.6.1.gem 23552 BLAKE2B e48e946fcb73cd37c8039515129899024578f4b8
DIST pkg-config-1.6.2.gem 23552 BLAKE2B 885ec8e76059648a76d3a38731e42af79745bb86654724f7923d328901a23c6533ad04145f3b364d222a1bedae6629ebe79075610d64d6415f3415e105fc703e SHA512 e5cc6aeb3d907bb670e8178b07fc595bbd5fccf1575c5b1904ac4e8ff34ce78988461d04a0e8241afd1add2d145652d0a494a8c9b302359f3826515c072bda39
DIST pkg-config-1.6.3.gem 23552 BLAKE2B 183297eab8d62806c3bd7a99dcd1a0af8ff5333d54b0e95b82c137cf825c8adc4e28282b2b0419c0f4c000b6f3f249aa8c6eea68e4fc542b0c8f98445b586e52 SHA512 6556e125ed655703f92a6c7e7dbe4c0273d4a3c9c4fd238fec2c9f953fa2c6c39d1c4369708eb74249f20bea00a5129456979c71531789d758d41786d42b9449
DIST pkg-config-1.6.4.gem 24064 BLAKE2B 106b2d10ffc2e6fce8188879a563de94ea03fc4b282925d69a2d532d5d409ef191526e5a2eafdb5f367001db6809a9076d4bbe2c0babec93d1a7d77b2a7771e3 SHA512 05b5598be4076d72261d62dcd65ecd310ed47315de185f3b93d8067cbf33dbdcf093938ac00eed1ffc8f82ae265bd3b205d5b9de2c900ec673bb94ad43f14ec3
+DIST pkg-config-1.6.5.gem 24576 BLAKE2B 7423cfa36cf7590b73ebdd06d9497eef1ca79488b30a678267d8e0a92a8a86d0177244182176a5fae55705e283c468b4b739c9406685f43a731c24f6e87f4f1a SHA512 38c9064402c2f7ca30dc0dd19f946fa45deffb77761c8eda932515219e079975669b51511f0888fc58c75e66dbea85dba5fc7977c7effca198b1e5f1e9d9826e
diff --git a/dev-ruby/pkg-config/pkg-config-1.6.5.ebuild b/dev-ruby/pkg-config/pkg-config-1.6.5.ebuild
new file mode 100644
index 000000000000..7e5baabaa1cb
--- /dev/null
+++ b/dev-ruby/pkg-config/pkg-config-1.6.5.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby32 ruby33 ruby34"
+
+RUBY_FAKEGEM_EXTRADOC="README.rdoc NEWS.md"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A pkg-config implementation by Ruby"
+HOMEPAGE="https://github.com/ruby-gnome/pkg-config"
+LICENSE="|| ( LGPL-2 LGPL-2.1 LGPL-3 )"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+
+ruby_add_bdepend "test? ( >=dev-ruby/test-unit-2.5.1-r1 )"
+# this is used for testing
+DEPEND=" test? ( x11-libs/cairo )"
+
+all_ruby_prepare() {
+ sed -e '/test_cflags/aomit "Fragile on Gentoo"' -i test/test-pkg-config.rb || die
+}
+
+each_ruby_test() {
+ ruby-ng_testrb-2 -Ilib test/test-pkg-config.rb || die
+}
diff --git a/dev-ruby/ruby-gtk3/files/ruby-gtk3-4.1.2-c99.patch b/dev-ruby/ruby-gtk3/files/ruby-gtk3-4.1.2-c99.patch
deleted file mode 100644
index 0da13a4a6344..000000000000
--- a/dev-ruby/ruby-gtk3/files/ruby-gtk3-4.1.2-c99.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugs.gentoo.org/921145
-https://github.com/ruby-gnome/ruby-gnome/commit/c196bf19a5d6a395011a90c3d1cb8f039d15824d
-
-From c196bf19a5d6a395011a90c3d1cb8f039d15824d Mon Sep 17 00:00:00 2001
-From: Sutou Kouhei <kou@clear-code.com>
-Date: Sat, 19 Aug 2023 15:45:46 +0900
-Subject: [PATCH] gtk3: fix a wrong type warning
-
- compiling rb-gtk3-spin-button.c
- rb-gtk3-spin-button.c:70:15: warning: incompatible function pointer types passing 'VALUE (VALUE)' (aka 'unsigned long (unsigned long)') to parameter of type 'VALUE (*)(VALUE, VALUE)' (aka 'unsigned long (*)(unsigned long, unsigned long)') [-Wincompatible-function-pointer-types]
- rb_gtk3_spin_button_input_rescue, (VALUE)&input_data);
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- /Users/runner/hostedtoolcache/Ruby/3.2.2/x64/include/ruby-3.2.0/ruby/internal/iterator.h:364:62: note: passing argument to parameter 'r_proc' here
- VALUE rb_rescue(VALUE (*b_proc)(VALUE), VALUE data1, VALUE (*r_proc)(VALUE, VALUE), VALUE data2);
- ^
-
-Reported by MATSUMOTO Katsuyoshi. Thanks!!!
---- a/ext/gtk3/rb-gtk3-spin-button.c
-+++ b/ext/gtk3/rb-gtk3-spin-button.c
-@@ -46,7 +46,7 @@ rb_gtk3_spin_button_input_body(VALUE user_data)
- }
-
- static VALUE
--rb_gtk3_spin_button_input_rescue(VALUE user_data)
-+rb_gtk3_spin_button_input_rescue(VALUE user_data, VALUE error)
- {
- InputData *input_data = (InputData *)user_data;
- g_value_set_int(input_data->data->return_value, GTK_INPUT_ERROR);
-
diff --git a/dev-ruby/stringio/stringio-3.1.7.ebuild b/dev-ruby/stringio/stringio-3.1.7.ebuild
index 428905161cbf..4b345654e9fe 100644
--- a/dev-ruby/stringio/stringio-3.1.7.ebuild
+++ b/dev-ruby/stringio/stringio-3.1.7.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://github.com/ruby/stringio/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="test"
ruby_add_bdepend "test? ( dev-ruby/test-unit dev-ruby/test-unit-ruby-core )"
diff --git a/dev-ruby/sus-fixtures-async/files/sus-fixtures-async-0.1.1-tests-require.patch b/dev-ruby/sus-fixtures-async/files/sus-fixtures-async-0.1.1-tests-require.patch
deleted file mode 100644
index af89916b7c5f..000000000000
--- a/dev-ruby/sus-fixtures-async/files/sus-fixtures-async-0.1.1-tests-require.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-https://github.com/socketry/sus-fixtures-async/pull/2
-
-From 3d3a1016c1718a8a5eca6ee76cd65d88a66e2481 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Mon, 3 Apr 2023 00:36:26 +0100
-Subject: [PATCH] test: Fix version require
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When running e.g. 'ruby32 -S sus', I had:
-```
-🔥 Errored assertions:
-file test/sus/fixtures/async.rb:8
- âš  NameError: uninitialized constant Sus::Fixtures::Async::VERSION
- test/sus/fixtures/async.rb:8 block in <top (required)>
- /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/file.rb:10 class_eval
- /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/file.rb:10 block in <top (required)>
- /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/file.rb:39 build
- /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/file.rb:105 file
- /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/registry.rb:50 load_file
- /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/registry.rb:45 load
- /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/config.rb:95 block in load_registry
- /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/config.rb:94 each
- /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/config.rb:94 load_registry
- /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/lib/sus/config.rb:82 registry
- /usr/lib64/ruby/gems/3.2.0/gems/sus-0.20.3/bin/sus:10 <top (required)>
- /usr/bin/sus:9 load
- /usr/bin/sus:9 <main>
-```
-
-It turns out we're missing a direct require, so chuck it in.
---- a/test/sus/fixtures/async.rb
-+++ b/test/sus/fixtures/async.rb
-@@ -4,6 +4,7 @@
- # Copyright, 2022, by Samuel Williams.
-
- require 'sus/fixtures/async'
-+require 'sus/fixtures/async/version'
-
- describe Sus::Fixtures::Async::VERSION do
- it 'is a version string' do
-
diff --git a/dev-ruby/timers/files/timers-4.3.5-timers-slow.patch b/dev-ruby/timers/files/timers-4.3.5-timers-slow.patch
deleted file mode 100644
index da786b724a6d..000000000000
--- a/dev-ruby/timers/files/timers-4.3.5-timers-slow.patch
+++ /dev/null
@@ -1,259 +0,0 @@
-https://github.com/socketry/timers/issues/82
-https://github.com/socketry/timers/commit/039bbd2750d5e50721789ef5d3404b18c36517bc
-
-From 039bbd2750d5e50721789ef5d3404b18c36517bc Mon Sep 17 00:00:00 2001
-From: Samuel Williams <samuel.williams@oriontransfer.co.nz>
-Date: Wed, 12 Apr 2023 17:25:59 +1200
-Subject: [PATCH] Modernize gem (#83)
-
-* Improve robustness of `Timer#inspect`.
-
-* 100% test coverage.
---- a/fixtures/timer_quantum.rb
-+++ b/fixtures/timer_quantum.rb
-@@ -1,3 +1,5 @@
-+# frozen_string_literal: true
-+
- # Released under the MIT License.
- # Copyright, 2022, by Samuel Williams.
-
---- a/lib/timers/group.rb
-+++ b/lib/timers/group.rb
-@@ -92,8 +92,9 @@ def wait
- # - 0: timers ready to fire
- # - +ve: timers waiting to fire
- def wait_interval(offset = current_offset)
-- handle = @events.first
-- handle.time - Float(offset) if handle
-+ if handle = @events.first
-+ handle.time - Float(offset)
-+ end
- end
-
- # Fire all timers that are ready.
---- a/lib/timers/priority_heap.rb
-+++ b/lib/timers/priority_heap.rb
-@@ -84,9 +84,10 @@ def valid?
-
- private
-
-- def swap(i, j)
-- @contents[i], @contents[j] = @contents[j], @contents[i]
-- end
-+ # Left here for reference, but unused.
-+ # def swap(i, j)
-+ # @contents[i], @contents[j] = @contents[j], @contents[i]
-+ # end
-
- def bubble_up(index)
- parent_index = (index - 1) / 2 # watch out, integer division!
---- a/lib/timers/timer.rb
-+++ b/lib/timers/timer.rb
-@@ -23,12 +23,11 @@ def initialize(group, interval, recurring = false, offset = nil, &block)
- @interval = interval
- @recurring = recurring
- @block = block
-- @offset = offset
--
-+ @offset = nil
- @handle = nil
-
- # If a start offset was supplied, use that, otherwise use the current timers offset.
-- reset(@offset || @group.current_offset)
-+ reset(offset || @group.current_offset)
- end
-
- def paused?
-@@ -73,7 +72,7 @@ def cancel
- @handle = nil
-
- # This timer is no longer valid:
-- @group.timers.delete self if @group
-+ @group.timers.delete(self) if @group
- end
-
- # Reset this timer. Do not call while paused.
-@@ -117,18 +116,18 @@ def fires_in
-
- # Inspect a timer
- def inspect
-- buffer = "#{to_s[0..-2]} ".dup
-+ buffer = to_s[0..-2]
-
- if @offset
-- if fires_in >= 0
-- buffer << "fires in #{fires_in} seconds"
-+ delta_offset = @offset - @group.current_offset
-+
-+ if delta_offset > 0
-+ buffer << " fires in #{delta_offset} seconds"
- else
-- buffer << "fired #{fires_in.abs} seconds ago"
-+ buffer << " fired #{delta_offset.abs} seconds ago"
- end
-
- buffer << ", recurs every #{interval}" if recurring
-- else
-- buffer << "dead"
- end
-
- buffer << ">"
---- a/lib/timers/wait.rb
-+++ b/lib/timers/wait.rb
-@@ -17,6 +17,7 @@ def self.for(duration, &block)
-
- timeout.while_time_remaining(&block)
- else
-+ # If there is no "duration" to wait for, we wait forever.
- loop do
- yield(nil)
- end
---- a/license.md
-+++ b/license.md
-@@ -28,6 +28,7 @@ Copyright, 2017-2020, by Olle Jonsson.
- Copyright, 2020, by Tim Smith.
- Copyright, 2021, by Wander Hillen.
- Copyright, 2022, by Yoshiki Takagi.
-+Copyright, 2023, by Peter Goldstein.
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
---- a/test/timers/group.rb
-+++ b/test/timers/group.rb
-@@ -36,18 +36,31 @@
- expect(called).to be == true
- expect(fired).to be == true
- end
-+
-+ it "repeatedly calls the wait block if it sleeps less than the interval" do
-+ called = 0
-+ fired = false
-+
-+ group.after(0.1) { fired = true }
-+
-+ group.wait do |interval|
-+ called += 1
-+ sleep(0.01)
-+ end
-+
-+ expect(called).to be > 1
-+ expect(fired).to be == true
-+ end
- end
-
- it "sleeps until the next timer" do
- interval = 0.1
-- started_at = Time.now
-
- fired = false
- group.after(interval) {fired = true}
- group.wait
-
- expect(fired).to be == true
-- expect(Time.now - started_at).to be_within(TIMER_QUANTUM).of(interval)
- end
-
- it "fires instantly when next timer is in the past" do
-@@ -88,6 +101,26 @@
- end.to raise_exception(TypeError)
- end
-
-+ with "#now_and_after" do
-+ it "fires the timer immediately" do
-+ result = []
-+
-+ group.now_and_after(TIMER_QUANTUM * 2) { result << :foo }
-+
-+ expect(result).to be == [:foo]
-+ end
-+
-+ it "fires the timer at the correct time" do
-+ result = []
-+
-+ group.now_and_after(TIMER_QUANTUM * 2) { result << :foo }
-+
-+ group.wait
-+
-+ expect(result).to be == [:foo, :foo]
-+ end
-+ end
-+
- with "recurring timers" do
- it "continues to fire the timers at each interval" do
- result = []
---- a/test/timers/group/cancel.rb
-+++ b/test/timers/group/cancel.rb
-@@ -10,6 +10,17 @@
- describe Timers::Group do
- let(:group) {subject.new}
-
-+ it "can cancel a timer" do
-+ fired = false
-+
-+ timer = group.after(0.1) { fired = true }
-+ timer.cancel
-+
-+ group.wait
-+
-+ expect(fired).to be == false
-+ end
-+
- it "should be able to cancel twice" do
- fired = false
-
-@@ -51,4 +62,18 @@
- expect(group.timers).to be(:empty?)
- expect(x).to be == 0
- end
-+
-+ with "#cancel" do
-+ it "should cancel all timers" do
-+ timers = 3.times.map do
-+ group.every(0.1) {}
-+ end
-+
-+ expect(group.timers).not.to be(:empty?)
-+
-+ group.cancel
-+
-+ expect(group.timers).to be(:empty?)
-+ end
-+ end
- end
---- a/test/timers/wait.rb
-+++ b/test/timers/wait.rb
-@@ -14,9 +14,14 @@
- it "repeats until timeout expired" do
- timeout = Timers::Wait.new(interval*repeats)
- count = 0
-+ previous_remaining = nil
-
- timeout.while_time_remaining do |remaining|
-- expect(remaining).to be_within(TIMER_QUANTUM).of(timeout.duration - (count * interval))
-+ if previous_remaining
-+ expect(remaining).to be_within(TIMER_QUANTUM).of(previous_remaining - interval)
-+ end
-+
-+ previous_remaining = remaining
-
- count += 1
- sleep(interval)
-@@ -34,4 +39,18 @@
-
- expect(result).to be == :done
- end
-+
-+ with "#for" do
-+ with "no duration" do
-+ it "waits forever" do
-+ count = 0
-+ Timers::Wait.for(nil) do
-+ count += 1
-+ break if count > 10
-+ end
-+
-+ expect(count).to be > 10
-+ end
-+ end
-+ end
- end