summaryrefslogtreecommitdiff
path: root/dev-ruby
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby')
-rw-r--r--dev-ruby/chronic/chronic-0.10.2-r1.ebuild2
-rw-r--r--dev-ruby/domain_name/domain_name-0.5.20190701-r2.ebuild50
-rw-r--r--dev-ruby/domain_name/files/domain_name-0.5.20190701-drop-unf.patch126
-rw-r--r--dev-ruby/ethon/ethon-0.15.0.ebuild4
-rw-r--r--dev-ruby/ethon/ethon-0.16.0.ebuild4
-rw-r--r--dev-ruby/google-protobuf/Manifest2
-rw-r--r--dev-ruby/google-protobuf/google-protobuf-3.14.0.ebuild34
-rw-r--r--dev-ruby/google-protobuf/google-protobuf-3.19.3.ebuild35
-rw-r--r--dev-ruby/gpgme/gpgme-2.0.22.ebuild4
-rw-r--r--dev-ruby/hiera-eyaml-gpg/hiera-eyaml-gpg-0.7.4-r1.ebuild2
-rw-r--r--dev-ruby/hiera-eyaml-plaintext/hiera-eyaml-plaintext-0.6-r2.ebuild2
-rw-r--r--dev-ruby/hiera-eyaml/hiera-eyaml-3.3.0-r1.ebuild2
-rw-r--r--dev-ruby/highline/highline-2.1.0.ebuild2
-rw-r--r--dev-ruby/http-cookie/http-cookie-1.0.5-r1.ebuild30
-rw-r--r--dev-ruby/httpclient/httpclient-2.8.3-r3.ebuild78
-rw-r--r--dev-ruby/optimist/optimist-3.0.1.ebuild4
-rw-r--r--dev-ruby/rrdtool-bindings/rrdtool-bindings-1.8.0.ebuild4
-rw-r--r--dev-ruby/shoulda-matchers/shoulda-matchers-3.1.3-r2.ebuild2
-rw-r--r--dev-ruby/shoulda-matchers/shoulda-matchers-5.3.0.ebuild26
-rw-r--r--dev-ruby/shoulda/shoulda-3.6.0-r2.ebuild2
-rw-r--r--dev-ruby/spring/spring-4.1.1.ebuild3
21 files changed, 327 insertions, 91 deletions
diff --git a/dev-ruby/chronic/chronic-0.10.2-r1.ebuild b/dev-ruby/chronic/chronic-0.10.2-r1.ebuild
index e0b73a7ec84e..2c1c5867f934 100644
--- a/dev-ruby/chronic/chronic-0.10.2-r1.ebuild
+++ b/dev-ruby/chronic/chronic-0.10.2-r1.ebuild
@@ -15,7 +15,7 @@ DESCRIPTION="Chronic is a natural language date/time parser written in pure Ruby
HOMEPAGE="https://github.com/mojombo/chronic"
LICENSE="MIT"
-KEYWORDS="amd64 ~hppa ppc ppc64 ~sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm64 ~hppa ppc ppc64 ~sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT="0"
IUSE=""
diff --git a/dev-ruby/domain_name/domain_name-0.5.20190701-r2.ebuild b/dev-ruby/domain_name/domain_name-0.5.20190701-r2.ebuild
new file mode 100644
index 000000000000..507e95cdd339
--- /dev/null
+++ b/dev-ruby/domain_name/domain_name-0.5.20190701-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-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="none"
+RUBY_FAKEGEM_TASK_DOC=""
+RUBY_FAKEGEM_EXTRADOC="README.md"
+
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Domain Name manipulation library for Ruby"
+HOMEPAGE="https://github.com/knu/ruby-domain_name"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+IUSE="test"
+
+ruby_add_bdepend "
+ test? (
+ >=dev-ruby/test-unit-2.5.5
+ dev-ruby/shoulda
+ )"
+
+PATCHES=(
+ # Pending upstream and conceptually acked, unf is obsolete
+ # with > ruby22.
+ "${FILESDIR}"/${PN}-0.5.20190701-drop-unf.patch
+)
+
+all_ruby_prepare() {
+ sed -i -e '/bundler/,/end/ d' test/helper.rb || die
+ rm Gemfile* || die
+
+ # Remove development dependencies
+ sed -i -e '/dependency.*\(shoulda\|bundler\|jeweler\|rdoc\)/d' \
+ ${RUBY_FAKEGEM_GEMSPEC} || die
+
+ # Avoid dependency on git.
+ sed -i -e 's/`git ls-files`/""/' ${RUBY_FAKEGEM_GEMSPEC} || die
+}
+
+each_ruby_test() {
+ ruby-ng_testrb-2 -Ilib:test test/test_*.rb
+}
diff --git a/dev-ruby/domain_name/files/domain_name-0.5.20190701-drop-unf.patch b/dev-ruby/domain_name/files/domain_name-0.5.20190701-drop-unf.patch
new file mode 100644
index 000000000000..d9b6c4df65a5
--- /dev/null
+++ b/dev-ruby/domain_name/files/domain_name-0.5.20190701-drop-unf.patch
@@ -0,0 +1,126 @@
+https://github.com/knu/ruby-domain_name/pull/11
+(see also https://github.com/knu/ruby-domain_name/pull/22)
+
+From 28db4ddb42adb827fc54935a6308bae03d7e8e6c Mon Sep 17 00:00:00 2001
+From: tayler1 <mtayler@gmx.com>
+Date: Sat, 4 Feb 2017 18:20:07 +0300
+Subject: [PATCH 1/3] Removed unf dependency for ruby > 2.2
+
+--- a/domain_name.gemspec
++++ b/domain_name.gemspec
+@@ -28,7 +28,7 @@ Suffix List.
+ "README.md"
+ ]
+
+- gem.add_runtime_dependency("unf", ["< 1.0.0", ">= 0.0.5"])
++ gem.add_runtime_dependency("unf", ["< 1.0.0", ">= 0.0.5"]) if RUBY_VERSION < "2.2"
+ gem.add_development_dependency("test-unit", "~> 2.5.5")
+ gem.add_development_dependency("bundler", [">= 1.2.0"])
+ gem.add_development_dependency("rake", [">= 0.9.2.2", *("< 11" if RUBY_VERSION < "1.9")])
+--- a/lib/domain_name.rb
++++ b/lib/domain_name.rb
+@@ -8,7 +8,7 @@
+ require 'domain_name/version'
+ require 'domain_name/punycode'
+ require 'domain_name/etld_data'
+-require 'unf'
++require 'unf' if RUBY_VERSION < '2.2'
+ require 'ipaddr'
+
+ # Represents a domain name ready for extracting its registered domain
+@@ -286,7 +286,11 @@ class << self
+ # Normalizes a _domain_ using the Punycode algorithm as necessary.
+ # The result will be a downcased, ASCII-only string.
+ def normalize(domain)
+- DomainName::Punycode.encode_hostname(domain.chomp(DOT).to_nfc).downcase
++ if RUBY_VERSION >= '2.2'
++ DomainName::Punycode.encode_hostname(domain.chomp(DOT).unicode_normalize).downcase
++ else
++ DomainName::Punycode.encode_hostname(domain.chomp(DOT).to_nfc).downcase
++ end
+ end
+ end
+ end
+--- a/test/test_domain_name-punycode.rb
++++ b/test/test_domain_name-punycode.rb
+@@ -91,7 +91,12 @@ class TestDomainName < Test::Unit::TestCase
+ '-> $1.00 <--']
+ ].each { |title, cps, punycode|
+ assert_equal punycode, DomainName::Punycode.encode(cps.pack('U*')), title
+- assert_equal cps.pack('U*').to_nfc, DomainName::Punycode.decode(punycode), title
++ cps_norm = if RUBY_VERSION >= '2.2'
++ cps.pack('U*').unicode_normalize
++ else
++ cps.pack('U*').to_nfc
++ end
++ assert_equal cps_norm, DomainName::Punycode.decode(punycode), title
+ }
+ end
+ end
+
+From 9d2912428799cd860d96c24d51292f2b03e857e2 Mon Sep 17 00:00:00 2001
+From: tayler1 <mtayler@gmx.com>
+Date: Mon, 6 Feb 2017 01:46:03 +0300
+Subject: [PATCH 2/3] fix
+
+--- a/lib/domain_name.rb
++++ b/lib/domain_name.rb
+@@ -8,8 +8,12 @@
+ require 'domain_name/version'
+ require 'domain_name/punycode'
+ require 'domain_name/etld_data'
+-require 'unf' if RUBY_VERSION < '2.2'
+ require 'ipaddr'
++if RUBY_VERSION < '2.2'
++ require 'unf'
++else
++ require 'unicode_normalize/normalize'
++end
+
+ # Represents a domain name ready for extracting its registered domain
+ # and TLD.
+@@ -285,11 +289,15 @@ def inspect
+ class << self
+ # Normalizes a _domain_ using the Punycode algorithm as necessary.
+ # The result will be a downcased, ASCII-only string.
+- def normalize(domain)
+- if RUBY_VERSION >= '2.2'
+- DomainName::Punycode.encode_hostname(domain.chomp(DOT).unicode_normalize).downcase
+- else
+- DomainName::Punycode.encode_hostname(domain.chomp(DOT).to_nfc).downcase
++ if RUBY_VERSION >= '2.2'
++ def normalize(domain)
++ domain.chomp!(DOT)
++ DomainName::Punycode.encode_hostname(domain.unicode_normalize).downcase
++ end
++ else
++ def normalize(domain)
++ domain.chomp!(DOT)
++ DomainName::Punycode.encode_hostname(domain.to_nfc).downcase
+ end
+ end
+ end
+
+From 6d76a14ba3b7c42d4fd3f4fab30c0099ffc51c2b Mon Sep 17 00:00:00 2001
+From: tayler1 <mtayler@gmx.com>
+Date: Mon, 6 Feb 2017 02:35:55 +0300
+Subject: [PATCH 3/3] Fix frozen string
+
+--- a/lib/domain_name.rb
++++ b/lib/domain_name.rb
+@@ -291,13 +291,11 @@ class << self
+ # The result will be a downcased, ASCII-only string.
+ if RUBY_VERSION >= '2.2'
+ def normalize(domain)
+- domain.chomp!(DOT)
+- DomainName::Punycode.encode_hostname(domain.unicode_normalize).downcase
++ DomainName::Punycode.encode_hostname(domain.chomp(DOT).unicode_normalize).downcase
+ end
+ else
+ def normalize(domain)
+- domain.chomp!(DOT)
+- DomainName::Punycode.encode_hostname(domain.to_nfc).downcase
++ DomainName::Punycode.encode_hostname(domain.chomp(DOT).to_nfc).downcase
+ end
+ end
+ end
diff --git a/dev-ruby/ethon/ethon-0.15.0.ebuild b/dev-ruby/ethon/ethon-0.15.0.ebuild
index 6d7ded2b089d..dceca5a0aed6 100644
--- a/dev-ruby/ethon/ethon-0.15.0.ebuild
+++ b/dev-ruby/ethon/ethon-0.15.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby27 ruby30 ruby31"
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
diff --git a/dev-ruby/ethon/ethon-0.16.0.ebuild b/dev-ruby/ethon/ethon-0.16.0.ebuild
index 6d7ded2b089d..dceca5a0aed6 100644
--- a/dev-ruby/ethon/ethon-0.16.0.ebuild
+++ b/dev-ruby/ethon/ethon-0.16.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby27 ruby30 ruby31"
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
diff --git a/dev-ruby/google-protobuf/Manifest b/dev-ruby/google-protobuf/Manifest
index 423c478f0c4f..29e07de8ed7b 100644
--- a/dev-ruby/google-protobuf/Manifest
+++ b/dev-ruby/google-protobuf/Manifest
@@ -1,3 +1 @@
-DIST google-protobuf-3.14.0-ruby.tar.gz 5319779 BLAKE2B cea083eea4d7fec441536effdfe2bf1811913154b0cc0da2f14f4edeb0efb200236da102c36700e24fab73fd9883aa90576ad64603a7f175ebf5cef0dc29aae5 SHA512 9dabba81119cb6196ef5de382a1032c57f6e69038f4dce0156f8671b98e51bb5095915fb6d05bb5a8ad8b17b559e652e1e9a392dd30c7ed8dcf1d986c137be11
-DIST google-protobuf-3.19.3-ruby.tar.gz 5293258 BLAKE2B c05b70ffca97f7166ea6a511a36907eed125edf1ebf17f908718221d9b851be84dfb2b1b39973f2faf35f6ade630e6ba4f9e8b91b8fbc922c5db97079323ee6e SHA512 1c003e7cbc8eae6a038f46e688b401ee202ba47f502561e909df79770f6e8b7daf3dc1ccc727e31bfb5b52cd04cb4fef7d2d2a28d650c13f396872ad4aa076c6
DIST google-protobuf-3.19.6-ruby.tar.gz 5299501 BLAKE2B 3121f76b95f83c5309ce49ce296b738eff7be9d3a5093c564fbe2339fb5f3729e406f1b44bfcc05feb0d31ab63838bb4f54685017977c73a33b91215a6776072 SHA512 8f92242f2be8e1bbfba41341c87709ad91ad83b8b3e3df88bb430411541d3399295f49291fd52b50e3487b0fce33181cb4d175685fd25aac72adfaee26a612d4
diff --git a/dev-ruby/google-protobuf/google-protobuf-3.14.0.ebuild b/dev-ruby/google-protobuf/google-protobuf-3.14.0.ebuild
deleted file mode 100644
index a59259f3ae89..000000000000
--- a/dev-ruby/google-protobuf/google-protobuf-3.14.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-USE_RUBY="ruby25 ruby26 ruby27 ruby30"
-
-RUBY_FAKEGEM_EXTRADOC="README.md"
-
-RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
-
-RUBY_FAKEGEM_EXTENSIONS=(ext/google/protobuf_c/extconf.rb)
-RUBY_FAKEGEM_EXTENSION_LIBDIR=lib/google
-
-inherit ruby-fakegem
-
-DESCRIPTION="Protocol Buffers are Google's data interchange format"
-HOMEPAGE="https://developers.google.com/protocol-buffers"
-SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}-ruby.tar.gz"
-RUBY_S="protobuf-${PV}/ruby"
-
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND+=" test? ( >=dev-libs/protobuf-3.12.0 )"
-
-all_ruby_prepare() {
- sed -e '/extensiontask/ s:^:#:' \
- -e '/ExtensionTask/,/^ end/ s:^:#:' \
- -e 's:../src/protoc:protoc:' \
- -e 's/:compile,//' \
- -i Rakefile || die
-}
diff --git a/dev-ruby/google-protobuf/google-protobuf-3.19.3.ebuild b/dev-ruby/google-protobuf/google-protobuf-3.19.3.ebuild
deleted file mode 100644
index a2c1a888a26a..000000000000
--- a/dev-ruby/google-protobuf/google-protobuf-3.19.3.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-USE_RUBY="ruby26 ruby27 ruby30"
-
-RUBY_FAKEGEM_EXTRADOC="README.md"
-
-RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
-
-RUBY_FAKEGEM_EXTENSIONS=(ext/google/protobuf_c/extconf.rb)
-RUBY_FAKEGEM_EXTENSION_LIBDIR=lib/google
-
-inherit ruby-fakegem
-
-DESCRIPTION="Protocol Buffers are Google's data interchange format"
-HOMEPAGE="https://developers.google.com/protocol-buffers"
-SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}-ruby.tar.gz"
-RUBY_S="protobuf-${PV}/ruby"
-
-LICENSE="BSD"
-SLOT="3"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND+=" test? ( >=dev-libs/protobuf-3.19.0 )"
-
-all_ruby_prepare() {
- sed -e '/extensiontask/ s:^:#:' \
- -e '/ExtensionTask/,/^ end/ s:^:#:' \
- -e 's:../src/protoc:protoc:' \
- -e 's/:compile,//' \
- -e '/:test/ s/:build,//' \
- -i Rakefile || die
-}
diff --git a/dev-ruby/gpgme/gpgme-2.0.22.ebuild b/dev-ruby/gpgme/gpgme-2.0.22.ebuild
index d37942b409b7..da428ea4f85e 100644
--- a/dev-ruby/gpgme/gpgme-2.0.22.ebuild
+++ b/dev-ruby/gpgme/gpgme-2.0.22.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,7 @@ RUBY_S="ruby-${P}"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
IUSE=""
RDEPEND="
diff --git a/dev-ruby/hiera-eyaml-gpg/hiera-eyaml-gpg-0.7.4-r1.ebuild b/dev-ruby/hiera-eyaml-gpg/hiera-eyaml-gpg-0.7.4-r1.ebuild
index 066740cd6a9c..cf46e672e926 100644
--- a/dev-ruby/hiera-eyaml-gpg/hiera-eyaml-gpg-0.7.4-r1.ebuild
+++ b/dev-ruby/hiera-eyaml-gpg/hiera-eyaml-gpg-0.7.4-r1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="https://github.com/voxpupuli/hiera-eyaml-gpg"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
IUSE=""
ruby_add_rdepend "
diff --git a/dev-ruby/hiera-eyaml-plaintext/hiera-eyaml-plaintext-0.6-r2.ebuild b/dev-ruby/hiera-eyaml-plaintext/hiera-eyaml-plaintext-0.6-r2.ebuild
index ed7c1533f0eb..b3f13e76f889 100644
--- a/dev-ruby/hiera-eyaml-plaintext/hiera-eyaml-plaintext-0.6-r2.ebuild
+++ b/dev-ruby/hiera-eyaml-plaintext/hiera-eyaml-plaintext-0.6-r2.ebuild
@@ -15,5 +15,5 @@ HOMEPAGE="https://github.com/gtmtechltd/hiera-eyaml-plaintext"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
IUSE=""
diff --git a/dev-ruby/hiera-eyaml/hiera-eyaml-3.3.0-r1.ebuild b/dev-ruby/hiera-eyaml/hiera-eyaml-3.3.0-r1.ebuild
index 4b4f8c618ace..89b2847b8bf5 100644
--- a/dev-ruby/hiera-eyaml/hiera-eyaml-3.3.0-r1.ebuild
+++ b/dev-ruby/hiera-eyaml/hiera-eyaml-3.3.0-r1.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://github.com/voxpupuli/hiera-eyaml/archive/v${PV}.tar.gz -> ${P}.
LICENSE="MIT"
SLOT="3"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
ruby_add_rdepend ">=dev-ruby/highline-1.6.19:*"
diff --git a/dev-ruby/highline/highline-2.1.0.ebuild b/dev-ruby/highline/highline-2.1.0.ebuild
index 9721f16b0046..dc2877ea35ba 100644
--- a/dev-ruby/highline/highline-2.1.0.ebuild
+++ b/dev-ruby/highline/highline-2.1.0.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://github.com/JEG2/highline/archive/v${PV}.tar.gz -> ${P}.tar.gz"
IUSE=""
LICENSE="|| ( GPL-2 Ruby-BSD )"
SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
all_ruby_prepare() {
# fix up gemspec file not to call git
diff --git a/dev-ruby/http-cookie/http-cookie-1.0.5-r1.ebuild b/dev-ruby/http-cookie/http-cookie-1.0.5-r1.ebuild
new file mode 100644
index 000000000000..6e8ed8373fb5
--- /dev/null
+++ b/dev-ruby/http-cookie/http-cookie-1.0.5-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
+
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A ruby library to handle HTTP cookies"
+HOMEPAGE="https://github.com/sparklemotion/http-cookie"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE=""
+
+# See https://github.com/sparklemotion/http-cookie/issues/16 for dropping domain_name
+ruby_add_rdepend ">=dev-ruby/domain_name-0.5:0"
+
+all_ruby_prepare() {
+ sed -i -e "/simplecov/d" -e "/bundler/d" Rakefile || die
+}
+
+each_ruby_test() {
+ ${RUBY} -Ilib test/test_http_cookie.rb || die
+ ${RUBY} -Ilib test/test_http_cookie_jar.rb || die
+}
diff --git a/dev-ruby/httpclient/httpclient-2.8.3-r3.ebuild b/dev-ruby/httpclient/httpclient-2.8.3-r3.ebuild
new file mode 100644
index 000000000000..cabb0174ffcd
--- /dev/null
+++ b/dev-ruby/httpclient/httpclient-2.8.3-r3.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
+
+RUBY_FAKEGEM_TASK_TEST="-Ilib test"
+RUBY_FAKEGEM_TASK_DOC="doc"
+
+RUBY_FAKEGEM_DOCDIR="doc"
+
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
+
+RUBY_FAKEGEM_GEMSPEC="httpclient.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="'httpclient' gives something like the functionality of libwww-perl (LWP) in Ruby"
+HOMEPAGE="https://github.com/nahi/httpclient"
+SRC_URI="https://github.com/nahi/httpclient/archive/v${PV}.tar.gz -> ${P}.tgz"
+
+LICENSE="|| ( Ruby Ruby-BSD BSD-2 )"
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
+IUSE=""
+
+ruby_add_rdepend "virtual/ruby-ssl"
+
+ruby_add_bdepend "doc? ( dev-ruby/rdoc )"
+ruby_add_bdepend "test? ( dev-ruby/test-unit dev-ruby/http-cookie )"
+
+all_ruby_prepare() {
+ rm Gemfile || die
+ sed -i -e '/[bB]undler/s:^:#:' Rakefile || die
+
+ # Fix documentation task
+ sed -i -e 's/README.txt/README.md/' Rakefile || die
+
+ # Remove mandatory CI reports since we don't need this for testing.
+ sed -i -e '/reporter/s:^:#:' Rakefile || die
+
+ # Remove mandatory simplecov dependency
+ sed -i -e '/[Ss]imple[Cc]ov/ s:^:#:' test/helper.rb || die
+
+ # Comment out test requiring network access that makes assumptions
+ # about the environment, bug 395155
+ sed -i -e '/test_async_error/,/^ end/ s:^:#:' test/test_httpclient.rb || die
+
+ # Skip tests using rack-ntlm which is not packaged. Weirdly these
+ # only fail on jruby.
+ rm test/test_auth.rb || die
+
+ # Skip test failing due to hard-coded expired certificate
+ sed -i -e '/test_verification_without_httpclient/,/^ end/ s:^:#:' test/test_ssl.rb || die
+
+ # Skip test depending on obsolete and vulnerable SSLv3
+ sed -i -e '/test_no_sslv3/,/^ end/ s:^:#:' test/test_ssl.rb || die
+
+ # Do not use 11-year-old bundled certificates!
+ # fix this copy so it doesn't fail tests
+ ln -sf "${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ./dist_key/cacerts.pem
+ ln -sf "${EPREFIX}"/etc/ssl/certs/ca-certificates.crt ./lib/httpclient/cacert.pem
+}
+
+each_ruby_test() {
+ ${RUBY} -Ilib:test:. -e 'gem "test-unit"; Dir["test/test_*.rb"].each{|f| require f}' || die
+}
+
+each_ruby_install() {
+ each_fakegem_install
+ # Do not use 11-year-old bundled certificates!
+ # fix this copy for production systems
+ # do not ship the cacert1024.pem at all anymore, nobody should use RSA1024 certs!
+ rm -f "${ED}/$(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}/lib/httpclient/"{cacert.pem,cacert1024}.pem
+ dosym -r /etc/ssl/certs/ca-certificates.crt $(ruby_fakegem_gemsdir)/gems/${RUBY_FAKEGEM_NAME}-${RUBY_FAKEGEM_VERSION}/lib/httpclient/cacert.pem
+}
diff --git a/dev-ruby/optimist/optimist-3.0.1.ebuild b/dev-ruby/optimist/optimist-3.0.1.ebuild
index f08a822bec74..0a1b151f0b20 100644
--- a/dev-ruby/optimist/optimist-3.0.1.ebuild
+++ b/dev-ruby/optimist/optimist-3.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ DESCRIPTION="A commandline option parser for Ruby that just gets out of your way
HOMEPAGE="https://manageiq.github.io/optimist/"
LICENSE="MIT"
-KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT="3"
IUSE=""
diff --git a/dev-ruby/rrdtool-bindings/rrdtool-bindings-1.8.0.ebuild b/dev-ruby/rrdtool-bindings/rrdtool-bindings-1.8.0.ebuild
index 16eebd174a5a..f56ed895f177 100644
--- a/dev-ruby/rrdtool-bindings/rrdtool-bindings-1.8.0.ebuild
+++ b/dev-ruby/rrdtool-bindings/rrdtool-bindings-1.8.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
MY_P="${P/-bindings}"
MY_P="${MY_P/_/-}"
-USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+USE_RUBY="ruby30 ruby31 ruby32"
RUBY_FAKEGEM_TASK_DOC=""
inherit ruby-ng
diff --git a/dev-ruby/shoulda-matchers/shoulda-matchers-3.1.3-r2.ebuild b/dev-ruby/shoulda-matchers/shoulda-matchers-3.1.3-r2.ebuild
index 9f3464d654ae..be9755d8f490 100644
--- a/dev-ruby/shoulda-matchers/shoulda-matchers-3.1.3-r2.ebuild
+++ b/dev-ruby/shoulda-matchers/shoulda-matchers-3.1.3-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-USE_RUBY="ruby27 ruby30 ruby31"
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
RUBY_FAKEGEM_TASK_DOC=""
diff --git a/dev-ruby/shoulda-matchers/shoulda-matchers-5.3.0.ebuild b/dev-ruby/shoulda-matchers/shoulda-matchers-5.3.0.ebuild
index f4717a8de584..0e847b4ec193 100644
--- a/dev-ruby/shoulda-matchers/shoulda-matchers-5.3.0.ebuild
+++ b/dev-ruby/shoulda-matchers/shoulda-matchers-5.3.0.ebuild
@@ -3,8 +3,8 @@
EAPI=8
-USE_RUBY="ruby27 ruby30 ruby31"
-RUBY_FAKEGEM_RECIPE_TEST="none"
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_EXTRAINSTALL="CHANGELOG.md README.md"
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
RUBY_FAKEGEM_BINWRAP=""
@@ -19,8 +19,30 @@ LICENSE="MIT"
SLOT="$(ver_cut 1)"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# Fedora manage to run the tests, but it's still pretty tricky.
+# https://src.fedoraproject.org/rpms/rubygem-shoulda-matchers/blob/rawhide/f/rubygem-shoulda-matchers.spec
+RESTRICT="test"
+
ruby_add_rdepend ">=dev-ruby/activesupport-5.2.0:*"
all_ruby_prepare() {
sed -i -e '/pry/ s:^:#:' spec/spec_helper.rb || die
+
+ #rm Gemfile.lock || die
+
+ # Avoid Appraisal and Bundler.
+ #sed -i "/current_bundle/ s/^/#/" \
+ # spec/acceptance_spec_helper.rb \
+ # spec/support/unit/load_environment.rb || die
+ #sed -i "/CurrentBundle/ s/^/#/" \
+ # spec/acceptance_spec_helper.rb \
+ # spec/support/unit/load_environment.rb || die
+
+ # Avoid git and sprockets dependencies.
+ #sed -i '/def rails_new_command/,/^ end$/ {
+ # /rails new/ s/"$/ --skip-git --skip-asset-pipeline&/
+ #}' spec/support/unit/rails_application.rb || die
+ #sed -i '/def rails_new_command/,/^ end$/ {
+ # /rails new/ s/"$/ --skip-git --skip-asset-pipeline&/
+ #}' spec/support/acceptance/helpers/step_helpers.rb || die
}
diff --git a/dev-ruby/shoulda/shoulda-3.6.0-r2.ebuild b/dev-ruby/shoulda/shoulda-3.6.0-r2.ebuild
index e28f86a1700f..c72100541a6a 100644
--- a/dev-ruby/shoulda/shoulda-3.6.0-r2.ebuild
+++ b/dev-ruby/shoulda/shoulda-3.6.0-r2.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-USE_RUBY="ruby27 ruby30 ruby31"
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_EXTRADOC="README.md"
diff --git a/dev-ruby/spring/spring-4.1.1.ebuild b/dev-ruby/spring/spring-4.1.1.ebuild
index e881ec944281..1fa7ba65bccf 100644
--- a/dev-ruby/spring/spring-4.1.1.ebuild
+++ b/dev-ruby/spring/spring-4.1.1.ebuild
@@ -2,7 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby27 ruby30 ruby31"
+
+USE_RUBY="ruby27 ruby30 ruby31 ruby32"
RUBY_FAKEGEM_TASK_DOC=""
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"