summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Manifest30
-rw-r--r--Manifest.files.gzbin29622 -> 29627 bytes
-rw-r--r--dev-db/Manifest.gzbin15759 -> 15756 bytes
-rw-r--r--dev-db/rqlite/Manifest2
-rw-r--r--dev-db/rqlite/rqlite-7.9.0.ebuild36
-rw-r--r--dev-ruby/Manifest.gzbin110475 -> 112243 bytes
-rw-r--r--dev-ruby/async-container/Manifest3
-rw-r--r--dev-ruby/async-container/async-container-0.16.12.ebuild39
-rw-r--r--dev-ruby/async-container/metadata.xml11
-rw-r--r--dev-ruby/async-io/Manifest3
-rw-r--r--dev-ruby/async-io/async-io-1.34.0.ebuild32
-rw-r--r--dev-ruby/async-io/metadata.xml11
-rw-r--r--dev-ruby/async-rspec/Manifest3
-rw-r--r--dev-ruby/async-rspec/async-rspec-1.16.1.ebuild34
-rw-r--r--dev-ruby/async-rspec/metadata.xml11
-rw-r--r--dev-ruby/async/Manifest5
-rw-r--r--dev-ruby/async/async-1.30.3.ebuild40
-rw-r--r--dev-ruby/async/async-2.1.0.ebuild40
-rw-r--r--dev-ruby/async/metadata.xml11
-rw-r--r--dev-ruby/console/Manifest3
-rw-r--r--dev-ruby/console/console-1.15.3.ebuild28
-rw-r--r--dev-ruby/console/metadata.xml11
-rw-r--r--dev-ruby/ffi-compiler/Manifest2
-rw-r--r--dev-ruby/ffi-compiler/ffi-compiler-1.0.1-r2.ebuild22
-rw-r--r--dev-ruby/ffi-compiler/files/respect-cflags.patch17
-rw-r--r--dev-ruby/ffi/Manifest3
-rw-r--r--dev-ruby/ffi/ffi-1.15.5-r1.ebuild71
-rw-r--r--dev-ruby/ffi/files/backport-pr-962.patch48
-rw-r--r--dev-ruby/ffi/files/pr-957-sparc.patch42
-rw-r--r--dev-ruby/fiber-local/Manifest3
-rw-r--r--dev-ruby/fiber-local/fiber-local-1.0.0.ebuild25
-rw-r--r--dev-ruby/fiber-local/metadata.xml11
-rw-r--r--dev-ruby/http/Manifest2
-rw-r--r--dev-ruby/http/http-5.1.0.ebuild59
-rw-r--r--dev-ruby/io-event/Manifest3
-rw-r--r--dev-ruby/io-event/io-event-1.0.9.ebuild31
-rw-r--r--dev-ruby/io-event/metadata.xml11
-rw-r--r--dev-ruby/llhttp-ffi/Manifest3
-rw-r--r--dev-ruby/llhttp-ffi/llhttp-ffi-0.4.0.ebuild40
-rw-r--r--dev-ruby/llhttp-ffi/metadata.xml11
-rw-r--r--dev-ruby/rack-test/Manifest5
-rw-r--r--dev-ruby/rack-test/files/backport-b1084c1-issue-323.patch29
-rw-r--r--dev-ruby/rack-test/rack-test-1.1.0-r1.ebuild2
-rw-r--r--dev-ruby/rack-test/rack-test-2.0.2.ebuild2
-rw-r--r--dev-ruby/rspec-files/Manifest3
-rw-r--r--dev-ruby/rspec-files/metadata.xml11
-rw-r--r--dev-ruby/rspec-files/rspec-files-1.1.2.ebuild26
-rw-r--r--dev-ruby/rspec-memory/Manifest3
-rw-r--r--dev-ruby/rspec-memory/metadata.xml11
-rw-r--r--dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild26
-rw-r--r--dev-ruby/sinatra/Manifest4
-rw-r--r--dev-ruby/sinatra/files/backport-pr-1519.patch122
-rw-r--r--dev-ruby/sinatra/sinatra-2.2.0-r1.ebuild38
-rw-r--r--dev-ruby/sinatra/sinatra-2.2.1.ebuild6
-rw-r--r--dev-ruby/sus/Manifest3
-rw-r--r--dev-ruby/sus/metadata.xml11
-rw-r--r--dev-ruby/sus/sus-0.13.0.ebuild28
-rw-r--r--dev-util/Manifest.gzbin69169 -> 69167 bytes
-rw-r--r--dev-util/dmake/Manifest2
-rw-r--r--dev-util/dmake/dmake-4.13.1.ebuild2
-rw-r--r--metadata/Manifest.gzbin3863 -> 3860 bytes
-rw-r--r--metadata/dtd/timestamp.chk2
-rw-r--r--metadata/glsa/Manifest28
-rw-r--r--metadata/glsa/timestamp.chk2
-rw-r--r--metadata/md5-cache/Manifest.gzbin28279 -> 28285 bytes
-rw-r--r--metadata/md5-cache/dev-db/Manifest.gzbin30643 -> 30803 bytes
-rw-r--r--metadata/md5-cache/dev-db/rqlite-7.9.013
-rw-r--r--metadata/md5-cache/dev-ruby/Manifest.gzbin197689 -> 200328 bytes
-rw-r--r--metadata/md5-cache/dev-ruby/async-1.30.317
-rw-r--r--metadata/md5-cache/dev-ruby/async-2.1.017
-rw-r--r--metadata/md5-cache/dev-ruby/async-container-0.16.1217
-rw-r--r--metadata/md5-cache/dev-ruby/async-io-1.34.017
-rw-r--r--metadata/md5-cache/dev-ruby/async-rspec-1.16.117
-rw-r--r--metadata/md5-cache/dev-ruby/console-1.15.317
-rw-r--r--metadata/md5-cache/dev-ruby/ffi-1.15.5-r117
-rw-r--r--metadata/md5-cache/dev-ruby/ffi-compiler-1.0.1-r217
-rw-r--r--metadata/md5-cache/dev-ruby/fiber-local-1.0.017
-rw-r--r--metadata/md5-cache/dev-ruby/http-5.1.017
-rw-r--r--metadata/md5-cache/dev-ruby/io-event-1.0.917
-rw-r--r--metadata/md5-cache/dev-ruby/llhttp-ffi-0.4.017
-rw-r--r--metadata/md5-cache/dev-ruby/rack-test-1.1.0-r112
-rw-r--r--metadata/md5-cache/dev-ruby/rack-test-2.0.22
-rw-r--r--metadata/md5-cache/dev-ruby/rspec-files-1.1.217
-rw-r--r--metadata/md5-cache/dev-ruby/rspec-memory-1.0.317
-rw-r--r--metadata/md5-cache/dev-ruby/sinatra-2.2.0-r117
-rw-r--r--metadata/md5-cache/dev-ruby/sinatra-2.2.112
-rw-r--r--metadata/md5-cache/dev-ruby/sus-0.13.017
-rw-r--r--metadata/md5-cache/dev-util/Manifest.gzbin135959 -> 135957 bytes
-rw-r--r--metadata/md5-cache/dev-util/dmake-4.13.14
-rw-r--r--metadata/md5-cache/sys-kernel/Manifest.gzbin19990 -> 19989 bytes
-rw-r--r--metadata/md5-cache/sys-kernel/vanilla-sources-6.0.3 (renamed from metadata/md5-cache/sys-kernel/vanilla-sources-6.0.2)4
-rw-r--r--metadata/news/Manifest28
-rw-r--r--metadata/news/timestamp.chk2
-rw-r--r--metadata/timestamp2
-rw-r--r--metadata/timestamp.chk2
-rw-r--r--metadata/timestamp.commit2
-rw-r--r--metadata/timestamp.x2
-rw-r--r--metadata/xml-schema/timestamp.chk2
-rw-r--r--sys-kernel/Manifest.gzbin4413 -> 4414 bytes
-rw-r--r--sys-kernel/vanilla-sources/Manifest4
-rw-r--r--sys-kernel/vanilla-sources/vanilla-sources-6.0.3.ebuild (renamed from sys-kernel/vanilla-sources/vanilla-sources-6.0.2.ebuild)0
101 files changed, 1409 insertions, 77 deletions
diff --git a/Manifest b/Manifest
index 3d2cef85c6be..5ff12f623fef 100644
--- a/Manifest
+++ b/Manifest
@@ -1,23 +1,23 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
-MANIFEST Manifest.files.gz 29622 BLAKE2B 008f992b7be1da60ab88d08f4569217044b88642120bbbfd3a0f5e544770f53955637c0db686325183138f2fcf39d25b3041f2bdacef2225a5ca94263b48343f SHA512 d9b9978e75102ffbeb47e7d6e893a9ca0608e14d7a21cf1a2ec612a5882ee1c971fcc61e7ad0622717d7f7368b4691fd483c13e970af41a26a79585b2248045b
-TIMESTAMP 2022-10-22T20:09:44Z
+MANIFEST Manifest.files.gz 29627 BLAKE2B de83238c6f9b55ddf4cd10225cd281104a6ecdc765668c79941b5e965ab39146e1aeaab78bb642888c364061f3f43f612eca78318b23e603fbaee87de04d2dd6 SHA512 d1b4a899f5ca113820003bc0497a3f7ffd09cf4b28616d8dc20bc69de6f0a22838e79aaa7f158ae2652c9f0895a2c37e9e9b41d6b2dd7b6a5573e11051c0cb50
+TIMESTAMP 2022-10-23T02:13:10Z
-----BEGIN PGP SIGNATURE-----
-iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmNUTghfFIAAAAAALgAo
+iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmNUozZfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
-klARrw/9F3J6X0ehfTT1EWRGiR0Dn26NIvdWrNKbVzju6XYQIUJFVAGg7bHsWhch
-l+3/78Rrhv6uCWfFS3t2xY3Pa74FDKQDJ/g23wfA4ysZWX0vxJ3G932YXg4naSQf
-D8k79b2IeJrtGq+mw2twcF6gQ4hSFnl4SVOBeo3zmDOtcMMjkBFxs3OALpx2Nrkl
-ba71hloie9BQs7Iyr6rocfuX1sfbfJgX33AlPJTXWC3NqF/WxPP9aVpjKgqkb6tp
-/KaCrLeG91iga9r/DoKbTYwbZD0d+gxE4NH8/9+s65bTwoeNYSHlLF6hN2Ivivzt
-VQrxFDzwVFXWq3TzI1D3SEy6EIQPyBnoqTlRcGGrp/ltZ6HG8LZQNGZ+zYCs4T7T
-Ja4Q0xnix8ZkifsmtvVC9YdK+4v6Z0h55pOxwZP40fxD8ho8YqIbjNG0ylwFG0AW
-Q2L4LLBmpdJxmK5yQpdXKkaqfc1Wlc2nIHDMw55Pxz+ZwVaUfP55+Sd0Ppli/Hv3
-XHI2MoDId6spvkprxNor60Il0HjE7vAdj9kBUqbxhSsxUOnmqmW5YNtOzPj6N2pb
-TLSWu0fbWy91VgcyyAWrYGoT+P79KrDlpSD9QVeskvwiH7EGu/L8JtYp2tkMBM4w
-2nCANrHkTrYiRe0fprnqrf2wvQPijf1qwCQXQSshF/v4dccfUKE=
-=MIGQ
+klDRARAAjwZYoRj5sX47Da/Y+QLVy6FKkQzClBdxauU0fPkZYJ/zcPNc+DU71nDI
+gnQWx0vXwj2J8TrzSNY2zlVwsIXgBzOsNr8+mtJhup65TK4ncR11k0lKko3wEfld
+95rw3fD/IqaNiAIh5aaoIkLQGy3GwyfmUvfgb1+PhnVL84sgLb3d40WaxI6f9q7a
+uuEO1QeEG4kjO001geu7yASSarvC/LUHwQ2h4qcvIuSdmY9IvRnc0DV5coAoQDCv
+sAu43mkJfw5yo+KP8xJ3UQkYr2qjQTpbxHDAgPQnsNQed8WiyJCF2t0Zkw4wtP54
+iVQz9jiKpQs++G/7+T9OPPfySHhQ7YwYiS67GDBiDIc6jw+BdYZDuq3PXNSXbdVw
+GQpUtRPpXaq2Og0KzBg5AOecNzUoRpgeWYLlTi4h9HeVLFo7nrPPvHiuH2qjSGPw
+Y7wiiu1nxtXFwFTjJjdzF3pU7k7JdrxZ8KXlrAd8M1bUP+JINPEuut9MKy/NNahY
+9DJp/FeE1LZalzuoozL/TR1szBgGsU0/HMxVMURzAMDM3luaLmfn9DOnkQ6ZLI9/
+GUc3pYOEa5+QTj4rCvlLRIaCnMehVCFHaEwzW90wBVjd4zy+JfWukEmK3dN4kVTD
+vS6LTn6K3uSVsFermw71rJVLNXGeQGk8jnrKvDsiK0KNW7xsEN8=
+=BJGz
-----END PGP SIGNATURE-----
diff --git a/Manifest.files.gz b/Manifest.files.gz
index ef3246e44eef..77076d3454fd 100644
--- a/Manifest.files.gz
+++ b/Manifest.files.gz
Binary files differ
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz
index 1c107478deab..6dc56a3725a9 100644
--- a/dev-db/Manifest.gz
+++ b/dev-db/Manifest.gz
Binary files differ
diff --git a/dev-db/rqlite/Manifest b/dev-db/rqlite/Manifest
index 5ac7501fa84d..4d2509e421c1 100644
--- a/dev-db/rqlite/Manifest
+++ b/dev-db/rqlite/Manifest
@@ -1,6 +1,8 @@
DIST rqlite-7.7.2-deps.tar.xz 83998504 BLAKE2B df32a7b9a664f79241033d92dd4d0c71c9f5d24b08847d09320cd672bdc74e03c49af74a7f314f368a5e197becc1dec91b362b0f6148fccd7ba206068eb0c3e6 SHA512 04fb93912b5ac549657d9690e18554006ae55bfe66d08b1e5558bb29e636ceac5ee5f6af386f56ff10880e56d9b6599450ad2719e4422705aa359d85ca18ac0e
DIST rqlite-7.7.2.tar.gz 473521 BLAKE2B fc3d48854ed6e0eca6897504b999a72e8b5503c263195078fea4f0719ca48757b4f2ca52c1d63dffab9d6f6788b1e36ea5bd53e32512862d7cd581bebeed6ba2 SHA512 6f5756005d72f1c97b71866b3f341ec5959f53178cf99c6bb3315bb45cf44e81c4d2807aebd3ccc858e2c6b9e3cc7d1e9a86c3f6c3dd6272ab3f7fb7550a632f
DIST rqlite-7.8.0.tar.gz 476401 BLAKE2B b87c5996fbb62503add3afd0e3526b1545670ede6ade0bd589e33d97ed489f3f93a027c565102de1737fb9b13a6f6f9cc5be346fe4e9cbca35b045b8982d1c91 SHA512 555bfaf1f95d890d8d0e73e0c52b94f323c4198cd2d61ab6bfbb95b9e908475b75fb409944162ca19709273c069c2263fa6f1d86c8ca73b96eab803bde9d72c6
+DIST rqlite-7.9.0.tar.gz 478284 BLAKE2B bcb60f771397b067e1479a12603458e7823839a8ff174b30479a3a14dda72b7f3f3b717875a0aea8cd03f469f3da3d418ea3334211e3d39adf6b20d1947b68ec SHA512 c898b8b96def0a4d01bd1b98de952dece520d8b8ac7fcf12f4d81affab76095cb4a9898d1c7aeb9bc67462e5069e01012cda37073455f3382228194db6cda3e7
EBUILD rqlite-7.7.2.ebuild 884 BLAKE2B 10648283b728ca99dff0ec8f63f45eedf7c2f477255101871722b41b5fe79f5dbc76d6832be7400c6517c75b262dcc0a82d4f9b04f75252447e2f6ec5029bb8e SHA512 bfdd17f61c887630598b2f50671679886a9b7a9d8402c69179afeb3f98a2981f33caee25b8315a63e31b640bd93c6cd5cc5005e846d778f155ce791be2b1d7d2
EBUILD rqlite-7.8.0.ebuild 892 BLAKE2B b0b196ea4262c22d3c9a5553dbf62af0605a543260fe24eccc3d02ce5514c92a1fe7543b4efdef333f42af95c0b95e59c7ef11d38f97c0e5b52090fb6d2d3417 SHA512 52efbfd0bcb6a76430f2fdb015ed9b7191279dd99bb0efdea6a9dcd98f4d9c3ce736179c5062be80123bdf6c8cbe170585b227d11d974333970fe3d6e0be9631
+EBUILD rqlite-7.9.0.ebuild 892 BLAKE2B d05f4b8389e7c216e31946c97eba48c3224b191c923c2bb67f913ddcb57bdb2631179aa63a9fdbab22d2e09b328d9876bd2ca8db1f3bad37ba4a0f61ddb2c5c0 SHA512 6395ccf089b9e4adb0621e1601c2681f217774144a3ab8e2cce036e195c8b61b972c79557d3dc47370624a1a009026aea938cca019ec59068e4200f403eafa7d
MISC metadata.xml 305 BLAKE2B 43bc299dae9450677761bfaeaa02ac649ac4ecdbb35e3242c8525db13ef0471397a352b2a8aa751ec725ff8e9c86c2a8a19caf71bbe0de206f266d945f287561 SHA512 3dbddc6b5e4e6d8cd82beb722b5b45af6621e8fb84a1d3a1ec5c444026f595fd14babadc92084afe122202c9b940be21b2e1af145d24846de4225582e5e4d5de
diff --git a/dev-db/rqlite/rqlite-7.9.0.ebuild b/dev-db/rqlite/rqlite-7.9.0.ebuild
new file mode 100644
index 000000000000..2bdaf3c1b92c
--- /dev/null
+++ b/dev-db/rqlite/rqlite-7.9.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit go-module
+EGIT_COMMIT=61aa316141d12c5a67481af2a3fd4282ab858d3e
+
+DESCRIPTION="Replicated SQLite using the Raft consensus protocol"
+HOMEPAGE="https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/"
+SRC_URI="https://github.com/rqlite/rqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~zmedico/dist/rqlite-7.7.2-deps.tar.xz"
+
+LICENSE="MIT Apache-2.0 BSD CC0-1.0 MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+src_compile() {
+ GOBIN="${S}/bin" \
+ go install \
+ -ldflags="-X main.version=v${PV}
+ -X main.branch=master
+ -X main.commit=${EGIT_COMMIT}
+ -X main.buildtime=$(date +%Y-%m-%dT%T%z)" \
+ ./cmd/... || die
+}
+
+src_test() {
+ GOBIN="${S}/bin" \
+ go test ./... || die
+}
+
+src_install() {
+ dobin bin/*
+ dodoc -r *.md DOC
+}
diff --git a/dev-ruby/Manifest.gz b/dev-ruby/Manifest.gz
index bc1eb8e24a57..baa0d313cda8 100644
--- a/dev-ruby/Manifest.gz
+++ b/dev-ruby/Manifest.gz
Binary files differ
diff --git a/dev-ruby/async-container/Manifest b/dev-ruby/async-container/Manifest
new file mode 100644
index 000000000000..59f443773ea5
--- /dev/null
+++ b/dev-ruby/async-container/Manifest
@@ -0,0 +1,3 @@
+DIST async-container-0.16.12.tar.gz 22626 BLAKE2B 8e850ebededcc0110a8ddf79c23287d816973fee1c32b7e7b76a7158995ffca5476d8701b3b4499aa3c0fd023ee9f253e4d07bc9ad0562a32d529678d0569701 SHA512 d71bdd1dc22a7ebecd4fed7e17b28c9ae1c875e111db4fb9cddda3508113e3cb7fc72b820c447cac27f047606d20f62180b203e58164da18dc47cff385262441
+EBUILD async-container-0.16.12.ebuild 1259 BLAKE2B f75dd8b3baad6753e5be739ae1e1547675a07b7e534e0cfc7585c0681ff602192a458779b653a1cb4ff25aa58f173d4717a651d6862683d22f0bc41c9be8bf2b SHA512 91f62615f2043c8c7103a7f937a0cf3e847173364ac83178b5f7983d11afb441a3bcb045aa11205b5535edb9e8bba2bead1842654a0b2952cd9d5acea9f5aa24
+MISC metadata.xml 351 BLAKE2B 671a90bb6d0e6ee6c41c96beaefba1bf84f236b557c8116d8489da01f034edbd3a122063df64a85c587cc114455b9d9e00404307d1539c8fd8e79c781297e337 SHA512 402376317da59de4bc9f10422743898870efb6f9429ba07fc37861e3c4752b4ef2197051b81bef300d07279c6bf55f9c5796a5b5c84cab8dcaef9a07537ff725
diff --git a/dev-ruby/async-container/async-container-0.16.12.ebuild b/dev-ruby/async-container/async-container-0.16.12.ebuild
new file mode 100644
index 000000000000..bacc76a095b5
--- /dev/null
+++ b/dev-ruby/async-container/async-container-0.16.12.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+inherit ruby-fakegem
+
+DESCRIPTION="Abstract container-based parallelism using threads and processes"
+HOMEPAGE="https://github.com/socketry/async-container"
+SRC_URI="https://github.com/socketry/async-container/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~sparc"
+IUSE=""
+
+ruby_add_rdepend "dev-ruby/async
+ dev-ruby/async-io"
+
+ruby_add_bdepend "test? (
+ dev-ruby/bundler
+ >=dev-ruby/async-rspec-1.1:1
+)"
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+
+ # spec/async/container/notify/pipe_spec.rb directly executes "bundler" command,
+ # so we can't just wipe out gems.rb as usual. also must remove covered from gemspec
+ # for this reason.
+ sed -i -E 's/gem ".+"//g' "gems.rb" || die
+ sed -i -E 's/spec.add_development_dependency "covered"//g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+
+ sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die
+}
diff --git a/dev-ruby/async-container/metadata.xml b/dev-ruby/async-container/metadata.xml
new file mode 100644
index 000000000000..4f03304084d0
--- /dev/null
+++ b/dev-ruby/async-container/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">socketry/async-container</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/async-io/Manifest b/dev-ruby/async-io/Manifest
new file mode 100644
index 000000000000..3ae333f7f621
--- /dev/null
+++ b/dev-ruby/async-io/Manifest
@@ -0,0 +1,3 @@
+DIST async-io-1.34.0.tar.gz 34147 BLAKE2B 85cb79423bcbcc45e7c3f703d5ce7866522e66c55f866a0545369b65eda9c8a4b5637eaeeb7e17a5a8ee7256c6a991871dbb96244e4647fa19f8f027fad37961 SHA512 d35389ebfb748ea1c44f4a7ea7707511e32d40e98ae3fd7e8a5b22fdbb5f8f5a00933ec48346e2ed44c679ee6121a6fdf980c8ee6a1da609fb7571abb703aa02
+EBUILD async-io-1.34.0.ebuild 938 BLAKE2B 226169bac443a6edd3844f1efd35293d0bc7973826949d7eab3641aa702d00049c360c29bd485f878eda57bf34ea86b100efeb17f9f1f3aecd9d416b9d85fd7c SHA512 4bc7a2b34403b937c6ef90024dfa2f5b8709b9e7698bf794416f6136bf6f2f3c756126a283790057a4796bddf9437cfec07ca5c250e839c832657617bbc1a728
+MISC metadata.xml 344 BLAKE2B 7fb67688ba60d30637605ba7a2020cb328e18ffebd9fd6fed09114cc14596836b0dcc4d1590fd3755952baa52c258bdb9a935c47b1a4ef4f2d5e545e931d40fe SHA512 6ea960fe1feb969df78e66ae985b6ac95faa09a248d694aaa47876634f84a09a3807effc2b4289d35dbeaee3793c2c73276fd0f8b87375ab99e813085edd12af
diff --git a/dev-ruby/async-io/async-io-1.34.0.ebuild b/dev-ruby/async-io/async-io-1.34.0.ebuild
new file mode 100644
index 000000000000..75b432695d8b
--- /dev/null
+++ b/dev-ruby/async-io/async-io-1.34.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_EXTRA_DOC="README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+inherit ruby-fakegem
+
+DESCRIPTION="Provides support for asynchonous TCP, UDP, UNIX and SSL sockets"
+HOMEPAGE="https://github.com/socketry/async-io"
+SRC_URI="https://github.com/socketry/async-io/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~sparc"
+IUSE=""
+
+ruby_add_rdepend "dev-ruby/async"
+
+ruby_add_bdepend "test? (
+ >=dev-ruby/async-container-0.15:0
+ >=dev-ruby/async-rspec-1.10:1
+ dev-ruby/rack-test
+)"
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+ sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die
+}
diff --git a/dev-ruby/async-io/metadata.xml b/dev-ruby/async-io/metadata.xml
new file mode 100644
index 000000000000..2b591f89a8e8
--- /dev/null
+++ b/dev-ruby/async-io/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">socketry/async-io</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/async-rspec/Manifest b/dev-ruby/async-rspec/Manifest
new file mode 100644
index 000000000000..40d9c0b4eb2a
--- /dev/null
+++ b/dev-ruby/async-rspec/Manifest
@@ -0,0 +1,3 @@
+DIST async-rspec-1.16.1.tar.gz 7775 BLAKE2B a1ff314fbe3e42b9b25e1c891bf1a336644fa5183b6f504b06e0747c127e712a66a0fbb2f18695bd7cba91ec8a4e8af887a25fe3e9887f86fb5f17873e26f51f SHA512 5c2bc5cf5ff4ca25cad67e251b5e078ac9f6f2d0f5d50f67584d4a043040c4e9e9e51d3a9e2727f08de3eba39d46be66461e691af8b86e173d8b70b589161a29
+EBUILD async-rspec-1.16.1.ebuild 946 BLAKE2B 61ab59840ce19e6eccb9e5a68beaa2525183da67c4efa4d117dfe8f1ea7d1008db9b3a3821d7e4ea8359e09f371d4bcc8f18557bd242371fcb05d5612aa034f8 SHA512 91462ae9b56499dfb1c74f5ce5536770526cf0a16fcd08ac5ffcac8095a2b8a3d63c6f7ea23647706ef21ac93caf8217086d0401747ac7c6d6ef9a34bbe0a6fd
+MISC metadata.xml 347 BLAKE2B d18d791313af87bcb00267fa7886d513738c127ca281e4e3f2eca2d3a345748097016ee229ea663efae9980d5fee97d27b800923021e682a9a9bb28bd031c0a5 SHA512 6396202046253385c58f6b5d1762800d596027e1d7ad7e95d69695023dacffa0bd32f2d0efa396fafd5e65bafd55376018f27e127752d5109f537339ac06584f
diff --git a/dev-ruby/async-rspec/async-rspec-1.16.1.ebuild b/dev-ruby/async-rspec/async-rspec-1.16.1.ebuild
new file mode 100644
index 000000000000..c920dff8061b
--- /dev/null
+++ b/dev-ruby/async-rspec/async-rspec-1.16.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+inherit ruby-fakegem
+
+DESCRIPTION="Helpers for writing specs against the async gem"
+HOMEPAGE="https://github.com/socketry/async-rspec"
+SRC_URI="https://github.com/socketry/async-rspec/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~sparc"
+IUSE=""
+
+ruby_add_rdepend ">=dev-ruby/rspec-3.0:3
+ >=dev-ruby/rspec-files-1.0:1
+ >=dev-ruby/rspec-memory-1.0:1
+"
+
+ruby_add_bdepend "test? (
+ dev-ruby/async
+ dev-ruby/async-io
+)"
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+ sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die
+}
diff --git a/dev-ruby/async-rspec/metadata.xml b/dev-ruby/async-rspec/metadata.xml
new file mode 100644
index 000000000000..e5fb9fc23587
--- /dev/null
+++ b/dev-ruby/async-rspec/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">socketry/async-rspec</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/async/Manifest b/dev-ruby/async/Manifest
new file mode 100644
index 000000000000..37e07817bd76
--- /dev/null
+++ b/dev-ruby/async/Manifest
@@ -0,0 +1,5 @@
+DIST async-1.30.3.tar.gz 92599 BLAKE2B 69db66676adf2dd0f77142bffc55b1e90a6983c53c7fac444f72b9365f6907e4d2ec45579ea267f3a8f31fc45af63c3517908c353749b288d1873e2cf720f96b SHA512 337a51ca8fd0e6685528e2eca9b584344ba583f7254f2600110ee62da6e4ccabeb471e7d94f36ab6f8d0eb3eada9e23335a262a50c8d035f67708fce0a590e5e
+DIST async-2.1.0.tar.gz 75110 BLAKE2B 6226cd64f62d42a57d46f1c31287e403af5c645343a2de899a090f986e2b669dc96f1019629cf32ed46809fbfcbb5716375ef4560358676759dcad0e17d02849 SHA512 85f02004f7851757425f6e30c364ad9cb52ac4ad4559fa3a4a9b933fc5df1f10f6975233df6057da479dc28b5188d9e6d0b70e215a4a99b7864938260571089c
+EBUILD async-1.30.3.ebuild 1167 BLAKE2B 70b6c57bd9e265ef7567bebcaac567db362ea298507c553e4538d463b903ae29982b388dda34a4b87810f93055db914afc7785a3bad216000d390bba1e19cf4f SHA512 ce75d8a5673b082e77c380b98c009bdeb072aca85b7aa1a2500e50eee7252647ceb74fe7d4f01e84ffc35f88ccc48133efd9dad446442a71c358ff9db30bbde5
+EBUILD async-2.1.0.ebuild 1043 BLAKE2B a6f3405645f902b9056cdba8e348b2e3b324bd77ada85e7d1ad055b8ac74fd7b32fb7f39f38c8194263091c68dce616dabf29cb1058c375745c0eebee8249bd9 SHA512 a7ebe894207e53747527918f738e93557829b1ebc6902b815106a012e5a254b87b80bcf950b15f0f4e1de78f77efc2e13230f53409d19ee3730ca7157f7e4270
+MISC metadata.xml 341 BLAKE2B acbe731aefbd211b23790c22ed97fbc1f83c45cf5ed786aa99fedafa5ca930081e71b3466584846f6e2f7a793da65c82bb4c9c85c15a669ebf5e7db47b74836f SHA512 d96626a4c34ef4981c11dcd07f51a9940d29b2bd8013868f3e5778d2f62a59bf3ca864a370a4d7951ca98079d6d5939d9aa9a4f4ed0233ec5f7fe544fa64fa26
diff --git a/dev-ruby/async/async-1.30.3.ebuild b/dev-ruby/async/async-1.30.3.ebuild
new file mode 100644
index 000000000000..f4164212833c
--- /dev/null
+++ b/dev-ruby/async/async-1.30.3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+inherit ruby-fakegem
+
+DESCRIPTION="A concurrency framework for Ruby"
+HOMEPAGE="https://github.com/socketry/async"
+SRC_URI="https://github.com/socketry/async/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~sparc"
+IUSE=""
+
+ruby_add_rdepend ">=dev-ruby/console-1.10:1
+ >=dev-ruby/nio4r-2.3:2
+ >=dev-ruby/timers-4.1:4"
+
+ruby_add_bdepend "test? (
+ >=dev-ruby/async-rspec-1.1:1
+ dev-ruby/benchmark-ips
+)"
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+
+ # network tests
+ rm -f "spec/async/scheduler_spec.rb" "spec/async/scheduler/address_spec.rb" "spec/async/scheduler/io_spec.rb" || die
+
+ # broken on ruby 3.x
+ rm -f "spec/async/condition_spec.rb" "spec/async/notification_spec.rb" || die
+
+ sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die
+}
diff --git a/dev-ruby/async/async-2.1.0.ebuild b/dev-ruby/async/async-2.1.0.ebuild
new file mode 100644
index 000000000000..07e5ba91db6c
--- /dev/null
+++ b/dev-ruby/async/async-2.1.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_EXTRADOC="readme.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+inherit ruby-fakegem
+
+DESCRIPTION="A concurrency framework for Ruby"
+HOMEPAGE="https://github.com/socketry/async"
+SRC_URI="https://github.com/socketry/async/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~sparc"
+IUSE=""
+
+ruby_add_rdepend ">=dev-ruby/console-1.10:1
+ >=dev-ruby/io-event-1.0.0:1/1.0
+ >=dev-ruby/timers-4.1:4"
+
+ruby_add_bdepend "test? (
+ >=dev-ruby/async-rspec-1.1:1
+ dev-ruby/benchmark-ips
+)"
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+
+ # network tests
+ rm -f \
+ "spec/net/http_spec.rb" \
+ "spec/async/scheduler/address_spec.rb" \
+ "spec/async/scheduler/io_spec.rb" || die
+
+ sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die
+}
diff --git a/dev-ruby/async/metadata.xml b/dev-ruby/async/metadata.xml
new file mode 100644
index 000000000000..c7864b34a68a
--- /dev/null
+++ b/dev-ruby/async/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">socketry/async</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/console/Manifest b/dev-ruby/console/Manifest
new file mode 100644
index 000000000000..b43d8b217364
--- /dev/null
+++ b/dev-ruby/console/Manifest
@@ -0,0 +1,3 @@
+DIST console-1.15.3.tar.gz 23089 BLAKE2B 8387b0dc8ee84df3ce930ef79fcfec9e9b947b946770535beeb16fe58496c30134862b6a3fb48a842b321ab2ec493b1e4f9ec3462bdce04aa35066672ee55699 SHA512 c1d7fc987f3f6df3506c85c64d3c93b3eae6b5eca64ac7de2cf7cc0cb5572c102ebd6909d993d9d683081063ff8b7f2de46fefa255491adc47b88f13ff24ea67
+EBUILD console-1.15.3.ebuild 892 BLAKE2B 4b3904f0df21db4022c7ab237fa63d7c62952d047b26ff23b4f81ae166d1fb5219e0cd4b5419400c97ca1d9b1ec582bc0263cf2c1f743a0ef3c810c7182b6926 SHA512 97b8df7c016ca185248771bbdc519f383b165e602a32127ff5384db02224d6711899c02d3264d845cf23239a34eda56b7de0be8aafbf2932da9c1c87f007ff98
+MISC metadata.xml 343 BLAKE2B 949f3fccd0b08a5699c083eb21c119af6104cd470fe4f22f2771f5262eddf9a9819a630146ef4cf0636d52be9cca982ab73fd4443e1fb0f4ae77b5223949ed38 SHA512 f243fe8cf5c9d29a4c4f95cd9bce18f8a0ca191b7c62c1644c0b4ec4f4d14d355bc0b564a571b057eb42960997958157bca027b86917a2c43d6ec651f1804302
diff --git a/dev-ruby/console/console-1.15.3.ebuild b/dev-ruby/console/console-1.15.3.ebuild
new file mode 100644
index 000000000000..f6370717fffc
--- /dev/null
+++ b/dev-ruby/console/console-1.15.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+inherit ruby-fakegem
+
+DESCRIPTION="Beautiful logging for Ruby"
+HOMEPAGE="https://github.com/socketry/console"
+SRC_URI="https://github.com/socketry/console/archive/fc6ecb94bc02b8b75003fc31f0a8b3e1e43cafcf.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~sparc"
+IUSE=""
+RUBY_S="${PN}-fc6ecb94bc02b8b75003fc31f0a8b3e1e43cafcf"
+
+ruby_add_rdepend "dev-ruby/fiber-local"
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+ rm -f "gems.rb" || die
+ sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die
+}
diff --git a/dev-ruby/console/metadata.xml b/dev-ruby/console/metadata.xml
new file mode 100644
index 000000000000..eaf87044f48c
--- /dev/null
+++ b/dev-ruby/console/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">socketry/console</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/ffi-compiler/Manifest b/dev-ruby/ffi-compiler/Manifest
index 11e72f274646..52b78be20f59 100644
--- a/dev-ruby/ffi-compiler/Manifest
+++ b/dev-ruby/ffi-compiler/Manifest
@@ -1,3 +1,5 @@
+AUX respect-cflags.patch 682 BLAKE2B 2e3e90026961257737878e7a0b3b3d1d1d522ee4bbf12e5eed7d8fd61f49a84a7a8eaa83ffb8299d711e4d36b2aa60a9b5078fd83a0d88c689d81212d8902458 SHA512 b0f6593609237a637f78ca8128f48f5bcbb2d2637419bedda532ae8ef8d93a7e4e647e63277a9438d2f4aff9fe430176414fbc5f590fab7b1a452c1be79028a3
DIST ffi-compiler-1.0.1.gem 18432 BLAKE2B 9832d9836a0b55d3099085b53e0c8e15cc5ae79cfadadea942603ef8595b5fa4d781b5f031f0592b2688acb1416acffa9e525e3cbc004c2c51aaaea12a722706 SHA512 7a13625ab1c5748d05ec93d68708dd9435ec92dcd0c823109c44173fdaf8710aec5f5b4fb11966475f10ae91401c7ca3c620f9d36bb9ca665114e1ed70f4edd0
EBUILD ffi-compiler-1.0.1-r1.ebuild 476 BLAKE2B 74c38026898f17915585aafa81155e24cd6e93a63cd8507e86bef7ef4c01403b44035e3e4e9569110a8ae91064806095047e472fb949e81ea8f670cff95a5ea5 SHA512 05c6d8ebb4d016456840bb2366d7c5ccc65d3e8e26ee5a54a43e2f4f2e6220ec6bd53b2055b0b306446decec688f987fdd8ff1a966dc9684a16483d29df62139
+EBUILD ffi-compiler-1.0.1-r2.ebuild 525 BLAKE2B 357abb4b17e3f99bd52a65c65ae136115d94cda34869c43f03725885863adf4107d661380e683d0792405cc44e7c8f05cae99c96d36f1182b6da21526b7e3edf SHA512 e737551cf5a88bb4f5bc5b02e12f360cf137870a98a2bb3f3cecf9deb1cdcee5355d1d84ef01cfd8f4c3a9aafc529cd1e7121bde651e292bbc60c5c58fb93919
MISC metadata.xml 258 BLAKE2B 3c49249352f2cb11df010da6ecd8312a27047557ca5f2686837ad66933be9ea2627c40f91daedf8dcd9099c6cdc0dc2d2ba32aaf9d888c41fb60ee098e1c0c1e SHA512 ce517e35f3c0a2a9807ee68b0a8c84ca28db8dfabb41758cac71f9da22847fe20d259295f0681e38a52a24618450a0ca097939dc1022e3987bb0088762e48326
diff --git a/dev-ruby/ffi-compiler/ffi-compiler-1.0.1-r2.ebuild b/dev-ruby/ffi-compiler/ffi-compiler-1.0.1-r2.ebuild
new file mode 100644
index 000000000000..6a6262edb1ff
--- /dev/null
+++ b/dev-ruby/ffi-compiler/ffi-compiler-1.0.1-r2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+
+RUBY_FAKEGEM_EXTRADOC="README.md"
+
+RUBY_FAKEGEM_RECIPE_TEST="none"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Ruby FFI Rakefile generator"
+HOMEPAGE="https://github.com/ffi/ffi/wiki"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~sparc ~x86"
+IUSE=""
+# PATCHES=( "${FILESDIR}/respect-cflags.patch" )
+
+ruby_add_rdepend "dev-ruby/rake >=dev-ruby/ffi-1.0.0"
diff --git a/dev-ruby/ffi-compiler/files/respect-cflags.patch b/dev-ruby/ffi-compiler/files/respect-cflags.patch
new file mode 100644
index 000000000000..3fe68f8211cb
--- /dev/null
+++ b/dev-ruby/ffi-compiler/files/respect-cflags.patch
@@ -0,0 +1,17 @@
+diff --git a/lib/ffi-compiler/compile_task.rb b/lib/ffi-compiler/compile_task.rb
+index 363c247..637fd3d 100644
+--- a/lib/ffi-compiler/compile_task.rb
++++ b/lib/ffi-compiler/compile_task.rb
+@@ -26,9 +26,9 @@ module FFI
+ @libraries = []
+ @headers = []
+ @functions = []
+- @cflags = DEFAULT_CFLAGS.dup
+- @cxxflags = DEFAULT_CFLAGS.dup
+- @ldflags = DEFAULT_LDFLAGS.dup
++ @cflags = ENV['CFLAGS']&.split || DEFAULT_CFLAGS.dup
++ @cxxflags = ENV['CXXFLAGS']&.split || DEFAULT_CFLAGS.dup
++ @ldflags = ENV['LDFLAGS']&.split || DEFAULT_LDFLAGS.dup
+ @libs = []
+ @platform = Platform.system
+ @exports = []
diff --git a/dev-ruby/ffi/Manifest b/dev-ruby/ffi/Manifest
index 354fe9d86d96..5aff438ef78a 100644
--- a/dev-ruby/ffi/Manifest
+++ b/dev-ruby/ffi/Manifest
@@ -1,6 +1,9 @@
+AUX backport-pr-962.patch 1773 BLAKE2B b4eb227a949136143a98e8a5ed9067599d3a4ec14376c52619e2f3db56906ed028f9be889aa6eea5abe7e7ca9c3196208ede7dc5768cba43ecf9d000f1e3e1da SHA512 dc6a17bccde42b3a64e7de3bed5fe0818a4bfe9e109b665ccf06963a4939fec2a77e3fcff073cf3a4feccb68d3dc05bbb4885ebe53c2060965e114041c9e3ce5
AUX ffi-1.14.2-32bit-long-double.patch 701 BLAKE2B d8a3f2a00f8b93f42953bf5317cf6ae45ed662c81b993f83b728125d6fae15c6f75d11e0f76b0f46912b1c52c849764d3393a09c3ac1e35f3557e97bd3662364 SHA512 9cfe4e1c80e08c672eee30fe3b170d667e72cc2e047f4edd1e9573bfe6d4dca315a84baa54855756631f90c04fee59a417f286df95662f6abcfd3728c1b1a4d7
+AUX pr-957-sparc.patch 1681 BLAKE2B e08a03d5e054ce030c04cb0645ed2683faa9d0ec8782313464112e3dd3adf0b8ee40f7fbea9aec15ee7590189e93f03617fe06b506e2ea049535e48bc33a8f23 SHA512 32bd488a3cc4b0c81d8f7f9f2875e591b8de7bf741b838aab3f20ea64025984b3d83c393e1e8f0b628f009b2473d381139655f965cc746dc9074cbe57171cb7d
DIST ffi-git-1.14.2.tgz 165100 BLAKE2B 598d1771860a7884f8dc6a4cf0006cb42f741308bdd01720d7ea4b63690d42ff6e93f2d48de7132f5d82b275b30672b0bf1ac586b713994b68e98da4cf71a481 SHA512 20fffab047d810ddea1d4d2b66a563adf5787a0602a26cc59724090d393852ae57464a8c7b5a47ca0534efc453bb06d2f8fbf00a203a7060cd3ac78b683119f5
DIST ffi-git-1.15.5.tgz 168139 BLAKE2B 2ddd5bd7bfb7bcd39b6d740cbb1e0f4cd419ce6cb4ec12926f91f254b3f3142bc6166728a81a6f23dccfbf7aec911c63237c20fb0e2c70d30d48f4648e352585 SHA512 3668bafae936bf5010f014fbcf63258b023bcc318882775e7d2fcfc11334722ec2b6e8a8b9c910d406889fb173dd503c5c13f5af8e4f6927921f12f688461707
EBUILD ffi-1.14.2-r1.ebuild 1635 BLAKE2B ef999eedbb4c80ef9d64e04c21f7b8abdf390bf1189fd4c24683934930323fd71cefd70d734c76e8b908473d5167463a3da73b1bfbb2d15ddbbca6f4214b30c5 SHA512 fb9af61383048819156d2a2919c487a41bc30e67a4bf6602cd6e9c9383e63ae001f8c26c3b4562bf011234c4d16b187d418ff667ac17126ac9f265dcafdfb84e
+EBUILD ffi-1.15.5-r1.ebuild 1813 BLAKE2B d9ad8b311eacb12ae1af340d4bbd25784fea999f2bbf2b465f67910dedf3892d2900e479980c2afdbd64b80a5d36884faad6cc3a8cde1c1850526b062a735178 SHA512 f03fdfb9315896ebf50d776114c0391308ec477aa6ad946e0d55c65beedac015d2be95f0660a41a4c4cc75017e80e13c1b98384d6a3ddc39c33195e80babdf78
EBUILD ffi-1.15.5.ebuild 1679 BLAKE2B 0f21e74f3843306c7416d8b11e43ec8ab279ea1f79662d50a77b8a430806d6d526ca529b13017130f05f1ce2709d3a90b8f4a8efce5231dfd96ca944a0866d5d SHA512 460791276a6e6d158e041a9b57aba47a7535095e6e4f776d8a883d5d8b7e08c61f346ca7b5cc9180d0d4143e4967043a6c96f02a097719195034b81ee4c412ce
MISC metadata.xml 334 BLAKE2B 02ad2c909797d4aaf2a23497611777a790000683866cfbd9d12c4b19cca6de902e219584c4edc85c46b4b0dc51c63e770506a077a4c1052b46f8df19a9588c15 SHA512 e72dc6ce177ad3881f5465f10cd44ca6740b7603ab4e55cfa9e6088be3c6615abeefaee4b717e76fab2850c64d66eee626115544e10709f64c4187f1987bcfe3
diff --git a/dev-ruby/ffi/ffi-1.15.5-r1.ebuild b/dev-ruby/ffi/ffi-1.15.5-r1.ebuild
new file mode 100644
index 000000000000..98c573a70b41
--- /dev/null
+++ b/dev-ruby/ffi/ffi-1.15.5-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+RUBY_FAKEGEM_DOCDIR="doc"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+
+RUBY_FAKEGEM_GEMSPEC="ffi.gemspec"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/ffi_c/extconf.rb)
+
+inherit ruby-fakegem toolchain-funcs
+
+DESCRIPTION="Ruby extension for programmatically loading dynamic libraries"
+HOMEPAGE="https://wiki.github.com/ffi/ffi"
+
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${PN}-git-${PV}.tgz"
+
+IUSE=""
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+PATCHES=(
+ "${FILESDIR}/backport-pr-962.patch"
+ "${FILESDIR}/pr-957-sparc.patch" # submitted upstream as https://github.com/ffi/ffi/pull/957
+)
+
+RDEPEND+=" dev-libs/libffi:="
+DEPEND+=" dev-libs/libffi:="
+
+ruby_add_bdepend "dev-ruby/rake"
+
+all_ruby_prepare() {
+ sed -i -e '/tasks/ s:^:#:' \
+ -e '/Gem::Tasks/,/end/ s:^:#:' Rakefile || die
+
+ sed -e '/require/c\require "./lib/ffi/version"' \
+ -e 's/git ls-files -z/find * -print0/' \
+ -e '/^ lfs/,/^ end/ s:^:#:' \
+ -i ${RUBY_FAKEGEM_GEMSPEC} || die
+
+ # Fix Makefile for tests
+ sed -i -e '/CCACHE :=/ s:^:#:' \
+ -e 's/-O2//' \
+ -e 's/^CFLAGS =/CFLAGS +=/' spec/ffi/fixtures/GNUmakefile || die
+
+ # Remove bundled version of libffi.
+ rm -rf ext/ffi_c/libffi || die
+}
+
+each_ruby_compile() {
+ each_fakegem_compile
+
+ ${RUBY} -S rake -f gen/Rakefile || die "types.conf generation failed"
+}
+
+each_ruby_test() {
+ CC=$(tc-getCC) CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ${RUBY} -S rspec spec || die
+}
+
+all_ruby_install() {
+ all_fakegem_install
+
+ docinto examples
+ dodoc samples/*
+}
diff --git a/dev-ruby/ffi/files/backport-pr-962.patch b/dev-ruby/ffi/files/backport-pr-962.patch
new file mode 100644
index 000000000000..708c52025bd5
--- /dev/null
+++ b/dev-ruby/ffi/files/backport-pr-962.patch
@@ -0,0 +1,48 @@
+From edc54894f77d00c4ca34593c8b4c94f656f5807e Mon Sep 17 00:00:00 2001
+From: Frederick Cheung <frederick.cheung@gmail.com>
+Date: Fri, 17 Jun 2022 18:57:28 +0100
+Subject: [PATCH] Fix Pointer#initialize using NUM2LL instead of NUM2ULL
+
+If the high bit of the address was set this would raise RangeError
+(bignum too big to convert into long long). This is not uncommon on
+platforms that use the high bits of pointers for purposes such as
+pointer authentication
+
+This also now matches Pointer#address which uses ULL2NUM.
+---
+ ext/ffi_c/Pointer.c | 2 +-
+ spec/ffi/pointer_spec.rb | 8 ++++++++
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/ext/ffi_c/Pointer.c b/ext/ffi_c/Pointer.c
+index 153fff101..79886811f 100644
+--- a/ext/ffi_c/Pointer.c
++++ b/ext/ffi_c/Pointer.c
+@@ -112,7 +112,7 @@ ptr_initialize(int argc, VALUE* argv, VALUE self)
+ switch (TYPE(rbAddress)) {
+ case T_FIXNUM:
+ case T_BIGNUM:
+- p->memory.address = (void*) (uintptr_t) NUM2LL(rbAddress);
++ p->memory.address = (void*) (uintptr_t) NUM2ULL(rbAddress);
+ p->memory.size = LONG_MAX;
+ if (p->memory.address == NULL) {
+ p->memory.flags = 0;
+diff --git a/spec/ffi/pointer_spec.rb b/spec/ffi/pointer_spec.rb
+index b216a161d..7a2ac1565 100644
+--- a/spec/ffi/pointer_spec.rb
++++ b/spec/ffi/pointer_spec.rb
+@@ -237,6 +237,14 @@ def to_ptr
+ expect(FFI::Pointer.new(0).slice(0, 10).size_limit?).to be true
+ end
+ end
++
++ describe "#initialise" do
++ it 'can use adresses with high bit set' do
++ max_address = 2**FFI::Platform::ADDRESS_SIZE - 1
++ pointer = FFI::Pointer.new(:uint8, max_address)
++ expect(pointer.address).to eq(max_address)
++ end
++ end
+ end
+
+ describe "AutoPointer" do
diff --git a/dev-ruby/ffi/files/pr-957-sparc.patch b/dev-ruby/ffi/files/pr-957-sparc.patch
new file mode 100644
index 000000000000..b68b5e06a7d4
--- /dev/null
+++ b/dev-ruby/ffi/files/pr-957-sparc.patch
@@ -0,0 +1,42 @@
+From 241b10322283743b79c9489993bfb964b5167f7f Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Wed, 25 May 2022 14:23:55 -0400
+Subject: [PATCH 1/2] Rename sparc64-linux -> sparcv9-linux
+
+In https://github.com/ffi/ffi/pull/575, 64-bit sparc was changed to also
+use sparcv9 as the platform name, but the types.conf directory was never
+renamed. This breaks only on Ruby 3.0 and later due to the fileutils
+change to use keyword arguments in
+https://github.com/ruby/fileutils/commit/482de6d397742526d1111576e2791f9b7051e3c0
+---
+ lib/ffi/platform/{sparc64-linux => sparcv9-linux}/types.conf | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ rename lib/ffi/platform/{sparc64-linux => sparcv9-linux}/types.conf (100%)
+
+diff --git a/lib/ffi/platform/sparc64-linux/types.conf b/lib/ffi/platform/sparcv9-linux/types.conf
+similarity index 100%
+rename from lib/ffi/platform/sparc64-linux/types.conf
+rename to lib/ffi/platform/sparcv9-linux/types.conf
+
+From 76dc5c7d69a445268f47f5b6a9185e644bcd68e8 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Mon, 13 Jun 2022 22:56:26 -0400
+Subject: [PATCH 2/2] Also normalize sparc64 -> sparcv9 in test fixture
+
+---
+ spec/ffi/fixtures/compile.rb | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/spec/ffi/fixtures/compile.rb b/spec/ffi/fixtures/compile.rb
+index f2e831a63..58ee5611d 100644
+--- a/spec/ffi/fixtures/compile.rb
++++ b/spec/ffi/fixtures/compile.rb
+@@ -22,6 +22,8 @@ module TestLibrary
+ "powerpc64"
+ when /ppc|powerpc/
+ "powerpc"
++ when /sparcv9|sparc64/
++ "sparcv9"
+ when /^arm/
+ if RbConfig::CONFIG['host_os'] =~ /darwin/
+ "aarch64"
diff --git a/dev-ruby/fiber-local/Manifest b/dev-ruby/fiber-local/Manifest
new file mode 100644
index 000000000000..6660946ae682
--- /dev/null
+++ b/dev-ruby/fiber-local/Manifest
@@ -0,0 +1,3 @@
+DIST fiber-local-1.0.0.tar.gz 3780 BLAKE2B 5360ebdc2f3958863742e5ca1e1cdefe76e4487bad2257a1bd34a8a6769b1191e1a8f0ba8c7dfe1481f73fdd8b9ee1a014b11e5527273dbb0ee6d8a94edae2ae SHA512 5f77213c3760bb7c23a6912f138e46aa54d8508c11d02dadde5ddbc4ab03976abccb37ad2b1b43b118eddfb7a5e8ca4ee647a7fea1bac5ee4d7b39e8dc8f8424
+EBUILD fiber-local-1.0.0.ebuild 812 BLAKE2B 64b974c15f532d1b87b4624cc02b7ac16cefe675478c5cfcd78a567580f871cc39956e56db645e21f455abe3b54e738442c3800f8a976186a91302236ffdd2f2 SHA512 1ea290e9ee793b1939a0e0589a34fb5b906fda0bd2d161430198bd56dbec4189e570b0409df52ce33fdfacfb0c7d5d7b7246f05bcfc6f5b8046e88791f5f395a
+MISC metadata.xml 347 BLAKE2B 9f0304d50cdc6ea863767d44adf04062376a06e06e6d8c8e486ecd1fcce2e66133d883e991a9978c691a0942d43f2f009236f3ac949556274bf4bad101812ccc SHA512 ec53de01e6c327d2dd81117f12ccfd0f37bf9aba3b35e346c14bdf7c303e63ea935e9bc489398bd677a5ece070f19bfc5bf86f250acc9050abb64d0df1c6ce6b
diff --git a/dev-ruby/fiber-local/fiber-local-1.0.0.ebuild b/dev-ruby/fiber-local/fiber-local-1.0.0.ebuild
new file mode 100644
index 000000000000..ad2959e09769
--- /dev/null
+++ b/dev-ruby/fiber-local/fiber-local-1.0.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+inherit ruby-fakegem
+
+DESCRIPTION="Provides a class-level mixin to make fiber local state easy"
+HOMEPAGE="https://github.com/socketry/fiber-local"
+SRC_URI="https://github.com/socketry/fiber-local/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~sparc"
+IUSE=""
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+ rm -f "gems.rb" || die
+ sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die
+}
diff --git a/dev-ruby/fiber-local/metadata.xml b/dev-ruby/fiber-local/metadata.xml
new file mode 100644
index 000000000000..cbcf3060e8d9
--- /dev/null
+++ b/dev-ruby/fiber-local/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">socketry/fiber-local</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/http/Manifest b/dev-ruby/http/Manifest
index 167454e630e1..9817fbc6c981 100644
--- a/dev-ruby/http/Manifest
+++ b/dev-ruby/http/Manifest
@@ -1,4 +1,6 @@
DIST http-4.4.1.gem 75776 BLAKE2B ab34a6a567842d52f9b7cbe3fc3fb8e4757f5cf1303deacdf2f2130a44e82fde64f0db561c3f8fc28100faea277a9c4a9352f95e6cb1359730b34e83a7b36d72 SHA512 6e43a8ae379d7c8a807a9a03c87bfb5ad1719f9838e26ac7a695220ee2bc50344accc2db268d30da175328fd5468b87ec8532d17ce42a5b74d6c2c4c281d1bc9
+DIST http-5.1.0.gem 81920 BLAKE2B cc80149b89eabd5c6b468ffe28b33e17845bd996fa3bf8b9c38c517fe79994412b376b3bac365e8debbeb272cf4333aebd398d1955a358faa27ba9f124671443 SHA512 b99da5318da54e7b64abd48df0b68cde9a02e1ae92b51fc43302e3dea28ba9672e2b7a25e31c342235835e16b2e1b98c94b6d4efa7916a0aa99258fc8290260f
EBUILD http-4.4.1-r1.ebuild 1655 BLAKE2B b4aab0ac50e5c6a92b9380b94da5750df06123a143844edfb81ec999fc48abea0ed79eb3634694629ef2391592ce8701cd56be906c4c65ff2764626ed14cbef1 SHA512 831d09d20dc6f96f26bb47e89bc814f4f5947e755920d788b8fab0254bb471648fc95bff0feea19b439063896b81bca2db75d8d387eeaf0b8088ec7239fb2cc4
EBUILD http-4.4.1.ebuild 1514 BLAKE2B be5425eb0601b170113e8c732c25fb5a696c037ada34600244f3ff80f2a8ef9000028a5bbd843a06a1ac2bc18e98bfb76c43f6d8533a5d43084bfd108534bb40 SHA512 fbcd52cc5a6e95a8cac026fea2b7ea030f22fd4280818a5861f28c456a33f85ad2bd103399a002de725fb1ffb5c2d05b2e88b567c552ee597269e4200f427b3b
+EBUILD http-5.1.0.ebuild 1814 BLAKE2B 6b2500b9605383ee37414d49ad12b2c0566c201fd07d9fc20d360dca8dd8330eb9bdb65ef9c3ddc50c018fed0427dad18b27dd63b7f3c13bdc80a9ace8cdefe1 SHA512 9a0cb1d5015407a6ee68f69c40dac14b19a5682e620a1c8e06a0913372799eb0ab142c9b0e0c0b5ec82f492044d5ebffe0d1d4e6756dbf2e0b0e0e26f676996e
MISC metadata.xml 340 BLAKE2B 3f69f47d5faad39a2de9cce22c25a490645c3ca3b9bebca74e2c19bec16d5b05927e4d0a56a32d615c26d01513bd82ee09e13ab0b1b2fc9cd02f7e5723d8db34 SHA512 6cd51992e506d9df562267d357d7af6ff55aa2e9cfb8b1147b6544f12464a02c0c28b08bb5a4c00e3cb084b4f891f78b731c4bd1f8988f7d192d15986c5b2290
diff --git a/dev-ruby/http/http-5.1.0.ebuild b/dev-ruby/http/http-5.1.0.ebuild
new file mode 100644
index 000000000000..d05205e7563f
--- /dev/null
+++ b/dev-ruby/http/http-5.1.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_EXTRADOC="CHANGES.md README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+inherit ruby-fakegem
+
+DESCRIPTION="An easy-to-use client library for making requests from Ruby"
+HOMEPAGE="https://github.com/tarcieri/http"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~sparc"
+IUSE=""
+
+ruby_add_rdepend "=dev-ruby/addressable-2*
+ >=dev-ruby/addressable-2.8
+ =dev-ruby/http-cookie-1*
+ >=dev-ruby/http-form_data-2.2:2
+ >=dev-ruby/llhttp-ffi-0.4.0:0/0.4"
+
+ruby_add_bdepend "
+ test? (
+ =dev-ruby/certificate_authority-1*
+ dev-ruby/rspec-its
+ )"
+
+all_ruby_prepare() {
+ # Avoid specs that require network access
+ sed -i -e '/.persistent/,/^ end/ s:^:#:' \
+ spec/lib/http_spec.rb || die
+ sed -i -e '/with non-ASCII URLs/,/^ end/ s:^:#:' \
+ spec/lib/http/client_spec.rb || die
+
+ # Avoid spec that may fail with a running web server
+ sed -i -e '/unifies socket errors into HTTP::ConnectionError/,/^ end/ s:^:#:' spec/lib/http_spec.rb || die
+
+ # Fix spec for production release
+ sed -i -e '/User-Agent:/ s/.dev//' spec/lib/http/features/logging_spec.rb || die
+
+ # Avoid specs also failing upstream due to some certificate issue
+ sed -i -e '/context "ssl"/,/^ end/ s:^:#:' spec/lib/http_spec.rb || die
+ sed -i -e '/describe "working with SSL"/,/^ end/ s:^:#:' spec/lib/http/client_spec.rb || die
+
+ # Disable coverage
+ sed -i -e 's/require_relative ".\/support\/simplecov"//g' "spec/spec_helper.rb" || die
+
+ # Submitted upstream as https://github.com/httprb/http/pull/719
+ sed -i -e '4i require "cgi"' "spec/lib/http/client_spec.rb" || die
+}
+
+each_ruby_test() {
+ # disables dev-ruby/fuubar dep
+ CI=1 each_fakegem_test
+}
diff --git a/dev-ruby/io-event/Manifest b/dev-ruby/io-event/Manifest
new file mode 100644
index 000000000000..1d5acd96a4f1
--- /dev/null
+++ b/dev-ruby/io-event/Manifest
@@ -0,0 +1,3 @@
+DIST io-event-1.0.9.tar.gz 31984 BLAKE2B 543c460cde5ac269607e4d7ec54962879141d40d9592433a55d53e89b2a43bce4f161c1e4b21322a9b3fe60d5ab77e35692a19f899b9210d06fbcf185bca83de SHA512 d2b5903e68425bb23a7a9b861e76b2d125b9cf53f81ca0120ded010559ca26f3af002b5da28092245e00e8d9b81e94bdda72b2ea607cfae27a1e48e3f1a39130
+EBUILD io-event-1.0.9.ebuild 864 BLAKE2B 97541213e4f3c2adea19dc1b65af8d8e267116730ebe84b073155764293d5250e157fe459a235bdbab5d6af0c884a353ed7b6065f27b6cb12000434867ba1796 SHA512 0674bd2e985478d5ceff0be2337d3f71a0dce3211ac097de071d7fc10ca4cff811db91c79d7166bac4ca63c2208a626280a5a5e3c4661c8bc58ff96e0bd1d117
+MISC metadata.xml 344 BLAKE2B bb572a3bebb66073283f2eea535cb9ac95d3adba0e060350609028bb47b7a03b6ddb3294293e95a6c505fe5d9c7127a37f1d1afa9abf66312bf4b4a688b4ddf9 SHA512 9c114303bb3edf528224eac75e7095403230f94baf373649442c123cceee029258616fa2ea68823814dd1ecdfe0f9c4ef73491ca449f569f12aa159b78811ef5
diff --git a/dev-ruby/io-event/io-event-1.0.9.ebuild b/dev-ruby/io-event/io-event-1.0.9.ebuild
new file mode 100644
index 000000000000..d0b6cc652fb7
--- /dev/null
+++ b/dev-ruby/io-event/io-event-1.0.9.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby30 ruby31"
+RUBY_FAKEGEM_EXTENSIONS="ext/extconf.rb"
+RUBY_FAKEGEM_RECIPE_TEST=""
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+inherit ruby-fakegem
+
+DESCRIPTION="An event loop"
+HOMEPAGE="https://github.com/socketry/io-event"
+SRC_URI="https://github.com/socketry/io-event/archive/68cffe24077a53201acbb383e8e132b192e1fa83.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~sparc"
+IUSE=""
+RUBY_S="${PN}-68cffe24077a53201acbb383e8e132b192e1fa83"
+
+ruby_add_bdepend "test? ( >=dev-ruby/sus-0.6:0 )"
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+}
+
+each_ruby_test() {
+ "${RUBY}" -S sus-parallel || die
+}
diff --git a/dev-ruby/io-event/metadata.xml b/dev-ruby/io-event/metadata.xml
new file mode 100644
index 000000000000..0962eb7f2192
--- /dev/null
+++ b/dev-ruby/io-event/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">socketry/io-event</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/llhttp-ffi/Manifest b/dev-ruby/llhttp-ffi/Manifest
new file mode 100644
index 000000000000..b7874f5c5fe7
--- /dev/null
+++ b/dev-ruby/llhttp-ffi/Manifest
@@ -0,0 +1,3 @@
+DIST llhttp-0.4.0.tar.gz 98406 BLAKE2B 9f7358d988ed00558a36ae80e3c7d38cabb41a2233f32f4e3e6e9ed49a205f85ed84cb76cb07984f3b73b0a67eade4844ed5f4ee98b2453fa5c25d36fcb0082c SHA512 56a491763500b1619492173a83a227e3228847f4b85b8dadab1a9de34d65d5c662615c18d6cc6d5e11226df83381fd7f79f67e12f89f0e437ada8f9fd083ec26
+EBUILD llhttp-ffi-0.4.0.ebuild 1152 BLAKE2B 8acf5ebe023e9d0c1f35fc53632a8e5bfec9962c15480519cc0b6a326d7413b113c9309915325f2ffc7b6c3043e107b06ff800ee76539c11953933ec96fa038f SHA512 41a138462c857504eb41a8e68889b4a8db561853f9e3e5ddc0b3deb6047f664768fb6faf8cdc4538087438e86fe342b5007f2d4d31ef33fd62ccbbf1c131cd1b
+MISC metadata.xml 342 BLAKE2B fed02fc3abfc46f4d9c46eac8333aada41c709559f1200c9505b6e19b24cd4af9e03d36fa5a701c1cc7406bc1f8c3499c23c29d390dfcfae9e7aa2883dedd97a SHA512 582e050c2e5e5659e05d5998bffc07aebb8603d2a817bd29527ccc0b4a98fc8a5b8326664f34eca8f7267fc0f56b9d81539b49a20eb58a7b5ba133e75808d248
diff --git a/dev-ruby/llhttp-ffi/llhttp-ffi-0.4.0.ebuild b/dev-ruby/llhttp-ffi/llhttp-ffi-0.4.0.ebuild
new file mode 100644
index 000000000000..b22be2e05156
--- /dev/null
+++ b/dev-ruby/llhttp-ffi/llhttp-ffi-0.4.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Ruby FFI bindings for llhttp"
+HOMEPAGE="https://github.com/metabahn/llhttp"
+MY_PV="2021-09-09"
+SRC_URI="https://github.com/metabahn/llhttp/archive/refs/tags/${MY_PV}.tar.gz -> llhttp-${PV}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="$(ver_cut 1)/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~sparc"
+IUSE=""
+RUBY_S="llhttp-${MY_PV}/ffi"
+
+ruby_add_rdepend "=dev-ruby/ffi-compiler-1*"
+
+ruby_add_bdepend "test? ( dev-ruby/async-io )"
+
+all_ruby_prepare() {
+ sed -i -e 's/gem "rake-compiler"//g' "Gemfile" || die
+}
+
+each_ruby_compile() {
+ cd ext && "${RUBY}" -S rake || die
+ local FFI_PLATFORM_NAME="$(${RUBY} --disable=did_you_mean -e "require 'ffi' ; p \"#{FFI::Platform::ARCH}-#{FFI::Platform::OS}\"" | tr -d "\"")"
+ install -D "${FFI_PLATFORM_NAME}/libllhttp-ext.so" "../lib/${FFI_PLATFORM_NAME}/libllhttp-ext.so" || die
+}
+
+each_ruby_install() {
+ each_fakegem_install
+ ruby_fakegem_extensions_installed
+}
diff --git a/dev-ruby/llhttp-ffi/metadata.xml b/dev-ruby/llhttp-ffi/metadata.xml
new file mode 100644
index 000000000000..0b975f88294a
--- /dev/null
+++ b/dev-ruby/llhttp-ffi/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">metabahn/llhttp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/rack-test/Manifest b/dev-ruby/rack-test/Manifest
index cd797e906379..504bb6745bb1 100644
--- a/dev-ruby/rack-test/Manifest
+++ b/dev-ruby/rack-test/Manifest
@@ -1,5 +1,6 @@
+AUX backport-b1084c1-issue-323.patch 869 BLAKE2B a43d83c09ac9b0bafda3a6a49fb71446425d4f5eb5e4fa9ac006ebf94c84c61aae3baef674d811c86f183cee61c814f8a88406fc7b8720d96d211e04076f25da SHA512 9d4f3ac4a592a811f603a3401ad07ce703620d2b2dfe25c2f37fc3ec1a952e7ab708b321e817edf63452d72bfa0ed2738c69b0a4063f8ac1dd0b0584c4d4b274
DIST rack-test-1.1.0.tar.gz 27035 BLAKE2B 640de2303850662c3b6a8fc17f2344223c9928b48abde6d1b251a634689793158f35498c4736e4e2d069efa921d37bc32da92a7e17c0761a6f6111b345b54c1a SHA512 36d947d9b13d33ee8322e5b9d18fe8266787ccb7703f1fafadc040123e34dd44e98e7faf8b6dd816e51ed167065b2ffe79e9bcee74564dc324ba2b7dba76f82a
DIST rack-test-2.0.2.tar.gz 30651 BLAKE2B 82ffa59cca24cbb42a885bf05792cb603c44881886b716698a1ebd6857231bfdfafd9a8e68f2fd2e1d795c167886db44db5a620eac35e3824c8fe7fa1148718a SHA512 de91787563546a3f12da15f665975bf3d68f7633e277c86a529a728cb8ba9d78bac5c30c2ec1ece9aab5341571ceb23d8089d0da542409bdba23ebe93d75e2a5
-EBUILD rack-test-1.1.0-r1.ebuild 1069 BLAKE2B 07c2f65bd1508d1452f2452fc1f5a4fd42473521b44067d20635954fae76dab4fceb83b225b3105e84d82e65fb26bd87a23ab1a6d3dc43657a5e158d9b70d0b4 SHA512 7e6d15f29a800ce10d9c8233171b1ea68e0263d2688fd4f897740a123928a1ab38cbb94bd1b2e054bce12aa66faf47fe99633a79283f2a5d0a7fa647ea71a966
-EBUILD rack-test-2.0.2.ebuild 875 BLAKE2B aadf359ffca68edc6faec0d15f30263e77eec1b35ac51df1e5ba86c084c90b885acf184819c7c7f55064deedecf043dbedf20f9ada2dad32dad2dc76e2437275 SHA512 d88073cbda41abccd802007e5487b05e79387fa08771cd47f98e6c0d22a70e5fd779c558f8c81ca0fbe96019d92b13754af9b6a38d9731338d7079fbedf8e0b4
+EBUILD rack-test-1.1.0-r1.ebuild 1076 BLAKE2B 1656ff7e1b56fc9f3d1b27fd3862ceecd63fb03e600e2259f0312c429131d0079b5763757b0bf9643f3d17eb364f0c8a55819411d75507bdba451702c2281a19 SHA512 4653a807bea38fcdae0ec39aaa140d663a2008a848f4faea0fc470ad59e9afeb33c3eb7ac29d2d726021148cd3345dec5074e03b49b0be3311aa82b8705d7d4e
+EBUILD rack-test-2.0.2.ebuild 982 BLAKE2B c1c1414c4b6f018ba2463923592f3af8bffad7611a8a07f9375d860caf62f2bd2a400823154f6c3058b5a6e7d772e36473203bf9b36c35bfa394170304067b07 SHA512 e0882e5308dfff5c56e229bf9df612c113dedfe99d53b7315332a9bcb29fd8a424f6490fc3363c9588485337e593888e30585c9a67ae069edf6220aca569f6da
MISC metadata.xml 344 BLAKE2B e30c148bc0cfee01a015a9f33b641e93cafb8791f46ea7c1ec56942da88eec469d0259780c697b3bae0cbaf806dc47f919b78f2aca4d7565effd47a630f6485b SHA512 93102d50461492b9a866f74783d9d6c3d04698a8766535064d1b3c2600c11f1002b3a8bba79c81b4294e19a33cb06f8b407442c73d24fd2efcf361e39623ad9e
diff --git a/dev-ruby/rack-test/files/backport-b1084c1-issue-323.patch b/dev-ruby/rack-test/files/backport-b1084c1-issue-323.patch
new file mode 100644
index 000000000000..84b3b2307aeb
--- /dev/null
+++ b/dev-ruby/rack-test/files/backport-b1084c1-issue-323.patch
@@ -0,0 +1,29 @@
+https://github.com/rack/rack-test/issues/323
+
+From b1084c1f7b04f6bdaad73c9d1ffc1b279af55e78 Mon Sep 17 00:00:00 2001
+From: Jeremy Evans <code@jeremyevans.net>
+Date: Wed, 28 Sep 2022 18:33:43 -0700
+Subject: [PATCH] Make the UploadedFile GC finalizer test more reliable on
+ CRuby
+
+---
+ spec/rack/test/uploaded_file_spec.rb | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/spec/rack/test/uploaded_file_spec.rb b/spec/rack/test/uploaded_file_spec.rb
+index 2cb56ac..67bfbc5 100644
+--- a/spec/rack/test/uploaded_file_spec.rb
++++ b/spec/rack/test/uploaded_file_spec.rb
+@@ -69,8 +69,10 @@ def file_path
+ System.gc
+ end
+ else
+- c.new(file_path)
+- GC.start
++ 50.times do |_i|
++ c.new(file_path)
++ GC.start
++ end
+ end
+
+ # Due to CRuby's conservative garbage collection, you can never guarantee
diff --git a/dev-ruby/rack-test/rack-test-1.1.0-r1.ebuild b/dev-ruby/rack-test/rack-test-1.1.0-r1.ebuild
index 0c5ce5f3d97a..4197fc6b4827 100644
--- a/dev-ruby/rack-test/rack-test-1.1.0-r1.ebuild
+++ b/dev-ruby/rack-test/rack-test-1.1.0-r1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby26 ruby27 ruby30"
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
diff --git a/dev-ruby/rack-test/rack-test-2.0.2.ebuild b/dev-ruby/rack-test/rack-test-2.0.2.ebuild
index 15c959648795..1791e958884f 100644
--- a/dev-ruby/rack-test/rack-test-2.0.2.ebuild
+++ b/dev-ruby/rack-test/rack-test-2.0.2.ebuild
@@ -19,6 +19,8 @@ SLOT="$(ver_cut 1)"
KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE=""
+PATCHES=( "${FILESDIR}/backport-b1084c1-issue-323.patch" ) # https://github.com/rack/rack-test/issues/323
+
ruby_add_rdepend ">=dev-ruby/rack-1.3:*"
ruby_add_bdepend "
test? ( dev-ruby/minitest:5 dev-ruby/minitest-global_expectations )"
diff --git a/dev-ruby/rspec-files/Manifest b/dev-ruby/rspec-files/Manifest
new file mode 100644
index 000000000000..010d0677ba97
--- /dev/null
+++ b/dev-ruby/rspec-files/Manifest
@@ -0,0 +1,3 @@
+DIST rspec-files-1.1.2.tar.gz 4546 BLAKE2B fc3c3cc2acbac23e36ec6f85f6f58c8243f9ca769a16cfbdab6a4660dd9a22ba40fe1108b319206e9a6b5aaa4094ec372205ca33d00d2030476f1050448ef21d SHA512 af64435572b61ae4eaaed922160b8db5dca8a64987a3c24f2d15d1ec92abd2655d0e408ff2c7b4aeae29189ef1047901adc7c9e2af8a21f65dfafc974a4661ec
+EBUILD rspec-files-1.1.2.ebuild 814 BLAKE2B 381949887a7f18a83fb88c49e2e26a5babf7dfec9233273085a90435c7e03f2f0de05aa86e3c774858eed611545d3915efe308955c884a32f4b0d578a57e44cc SHA512 61841106f074f846dcf437e566934a0a2cfb8ebb535393a62458272e4e8419920537f21111f2914505e16e694700ddbf12b74c04991bea016365818247918292
+MISC metadata.xml 347 BLAKE2B e6a2b14dc5577c957615c2c3d71e92e18102743c117277b90b6b7f95bea1d54b0a80137e309b55439b3532e7617a68332c8bdc92cf017fb7fe2cdd179dcb1441 SHA512 cb62bb2293ffcda6670a6c2a1c4dfe6d724690b2059097bf7a9fa311feb2ce9ccf98f42069bcb296d981507692fa88430df5c3a2c1cd04052c462b9d85516232
diff --git a/dev-ruby/rspec-files/metadata.xml b/dev-ruby/rspec-files/metadata.xml
new file mode 100644
index 000000000000..dfae27f7746a
--- /dev/null
+++ b/dev-ruby/rspec-files/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">socketry/rspec-files</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/rspec-files/rspec-files-1.1.2.ebuild b/dev-ruby/rspec-files/rspec-files-1.1.2.ebuild
new file mode 100644
index 000000000000..b1009e5db552
--- /dev/null
+++ b/dev-ruby/rspec-files/rspec-files-1.1.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+inherit ruby-fakegem
+
+DESCRIPTION="RSpec helpers for buffering and detecting file descriptor leaks"
+HOMEPAGE="https://github.com/socketry/rspec-files"
+SRC_URI="https://github.com/socketry/rspec-files/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~sparc"
+IUSE=""
+
+ruby_add_rdepend "dev-ruby/rspec:3"
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+ sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die
+}
diff --git a/dev-ruby/rspec-memory/Manifest b/dev-ruby/rspec-memory/Manifest
new file mode 100644
index 000000000000..90dfdbd0723d
--- /dev/null
+++ b/dev-ruby/rspec-memory/Manifest
@@ -0,0 +1,3 @@
+DIST rspec-memory-1.0.3.tar.gz 5248 BLAKE2B cf2cb55a6c3d155a739f1cbe3f307016d9446f9edde8554b6336602b86d95a369b152a413426082061c68d2e4015c68d31a34d7d80706ba09986fb8c8952d670 SHA512 1077bd6cb73ada029fc42f820e42792b58f8e06feeda711725d6f2a7a2af9151f72330d3e5a9d0fa7493eeb42f65ddf02a93fac00f5e24f2596f7df0da9439a3
+EBUILD rspec-memory-1.0.3.ebuild 798 BLAKE2B bbee1b34e1ecf72ee0bb3472b112ea125b8c32cc607885944944f3e21d20683ea2f8cbf426848c85ef5ed64ee0cd6807e8ee87c67de3682015bf4463a2a13589 SHA512 575b2f5a61ee04754085ab36fa7f8231f766797752f8decb1a3535e18ff5578f072409c1b2b8a8a3de29bd9e3a90ab8c58c357c4bc5206505fe5301cf96e8124
+MISC metadata.xml 348 BLAKE2B b7ddddc65f6c8375f9da0d18e67571a92901cbd4b769e5fddbb32b967013e49004c6818bc4cb986b45166fccd252d1166c813e8e6093093cdbe030ab2c95776d SHA512 808154b4c3f75888c7c278b12a0b8a626638369f609a854129b51ee8b569f98b9e2f4e13ead899d7a3f287e9f62776443f5f79befd7a0a1c8628cc9d28e976ee
diff --git a/dev-ruby/rspec-memory/metadata.xml b/dev-ruby/rspec-memory/metadata.xml
new file mode 100644
index 000000000000..87c955dadfb9
--- /dev/null
+++ b/dev-ruby/rspec-memory/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">socketry/rspec-memory</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild b/dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild
new file mode 100644
index 000000000000..0c30ccc070b1
--- /dev/null
+++ b/dev-ruby/rspec-memory/rspec-memory-1.0.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+RUBY_FAKEGEM_EXTRADOC="README.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+inherit ruby-fakegem
+
+DESCRIPTION="RSpec helpers for checking memory allocations"
+HOMEPAGE="https://github.com/socketry/rspec-memory"
+SRC_URI="https://github.com/socketry/rspec-memory/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~sparc"
+IUSE=""
+
+ruby_add_rdepend "dev-ruby/rspec:3"
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+ sed -i -E 's/require '"'"'covered\/rspec'"'"'//g' "spec/spec_helper.rb" || die
+}
diff --git a/dev-ruby/sinatra/Manifest b/dev-ruby/sinatra/Manifest
index 0bebcbdbcb8f..3a11f5ca32d2 100644
--- a/dev-ruby/sinatra/Manifest
+++ b/dev-ruby/sinatra/Manifest
@@ -1,10 +1,12 @@
+AUX backport-pr-1519.patch 3860 BLAKE2B 6bfd7e434af9e3f66517a568fc076eb138e16133b8463c072c3475c0749410f2ba838b825bd07bed14cfd08b7288c4a72e9891976099db10486d86bee0037e4e SHA512 620fb520f36dd2793d52d5472a43731f938438f74b29a4877528210bd06eb831279413692de43539a81b5c1e261f907c2b52c850593d1f4d264376ce46887dcb
DIST sinatra-2.2.0.tar.gz 513752 BLAKE2B e407b9241cab27e326c0a2d4d83593e292de902b6ed19a12f17b0cd114230b0d10f1ffaa8f8b8237d17b547c7e012c57456af357019b228f3d7a88847220cf33 SHA512 be9432a8efa93578accc836cd0fecca128e56989d8596f1b3d33d2d956e90acd80244b98473fff2adae13ed4a1e933c41e73c80755a6f3418a65cdf33c011145
DIST sinatra-2.2.1.tar.gz 513047 BLAKE2B 38cec7c3b2e27ac795044d7d64a00deb09707523a13338328bb1d7657b3d8eee9ab9730c6eb903c04f64acca6d24b8f191f825056baa0e705bf7ebf5594c0d46 SHA512 73f35428e259867a9b9adbf7344dd78dfe3c5ae2749902d438e2bcd95c4e7e9935ecb7761a4c52928e3e05fd99f8497db3fc049c868f9b2e76c653b4271c87b5
DIST sinatra-2.2.2.tar.gz 513056 BLAKE2B 80904850ce577131ecc6c28917772cda6ab606ff1b4a71b733cde98d56e2906bb0dc5b65c83465e65686571e8752ec7935d89734e7d2e45c544fe14a2c8046d4 SHA512 e69a36738a7c1095968a343113ddba414ff685e941a8b55575e4b2ffa5a8e7394d874966d5532643cdfec997ac4c825c293185f6688c715006e37159eedd2be8
DIST sinatra-3.0.1.tar.gz 265781 BLAKE2B e4fc5dec7045f5a906a91fa8d71ea32e4e1491939047cdfece7d27df3c784a5c3779a4e5de243d87f1eb7e272e3aeeda9fbfc560b1cfaf2cf628d30106567825 SHA512 717d4caff1193b158128a22737340329e5d96bea5718702c22b8c8e2c72652b1048352b36454da410a57288c852de2f04bbee6335dfd4ee977eda62093a1a94a
DIST sinatra-3.0.2.tar.gz 265824 BLAKE2B 87739d8863dd9959b8c3530b19a3f52de31636fcdd77fe1558930749498c73ec4cf0ddf998a9f6029c46842656059f8bd76d1781beb277608ccf265577561447 SHA512 57094e00ca8280401ed76f5c52dded82d42a4a81290a9a990f464ac43abbf350e8325b8f60505bfd005b6c7d92283a3f7a9345c0ccbf227530a8c3cb93c0af38
+EBUILD sinatra-2.2.0-r1.ebuild 1178 BLAKE2B 72e9d9cbe13398c4fd717ae69789a40414a5f62c6e0c8beb6e100cc78915532560900c339b34e201a9b349819fd40ac1b75e44d9d30724dd651e18c1eff4b498 SHA512 06d51f06b2845304a7756c0bf7266819fe1c40009889392fac950821d67e17afc266a85b8903316c3ead75c0e1e7c2cdd4fe3f140057242e4667ccb4e701ed0a
EBUILD sinatra-2.2.0.ebuild 1012 BLAKE2B e5748efcee47332e37a741df852b5851956bac34bdc4d50c6bbf23287c143b324a0ede69a14a3153ce3d68aa3ee76244d00ddfb6b0f527c8ae98e4a880a36790 SHA512 a96d186b6330bc65b95643543d6d1816bea49fc5016baa476c75d20fad140ffcd64973a43c7dc3167bfaea4d009f71873d525cbfe6a57bdd551e627ec8eb35d9
-EBUILD sinatra-2.2.1.ebuild 1006 BLAKE2B 681f6b2f9b17b7ac7d9656dcef754dcd1db17f1a42071e132c4ceed0d8af9a0ae15ca52fabcde0a33bae544a4e7dc53b8afcb2989c637935e6002e3fc16ac4b9 SHA512 dad05b778dd62a7d05865452c0de421e68faa80fd7c02f2fab0a1f581b6de98e746dd21e0546ca0f36a98f2ece46ae9fb23d486127b09101641b91713281623c
+EBUILD sinatra-2.2.1.ebuild 1159 BLAKE2B 22a3c11de592a4ac843f24f36313ce98e15a9f6a092e537ee9d59b985f105ea8ce08159c8159d7e178e65d7766d7027ce7185d2f9f648226d8e05404863fd725 SHA512 7cc6aa34ce962441a11e9a3e019e984fa1340c5d28e064d14d0e7c25a6c5e2de9114d0542adcc8bc53c38f8291547862f1529db2c9babf0d710659a199799649
EBUILD sinatra-2.2.2.ebuild 1006 BLAKE2B 02051754d7ceead4327c603836d52b6d4344e9c1ab4d3ae6fc3a7dc2ded7a2ee8540702aaca19f3eb388e064bfa990637776e400b068f1ee0702fc5917da5eb3 SHA512 2552c3e63d0b62838d631551b2a135822df89c2ec6758a34ec058989f47925525cf0c3a984f777166404449c0ec09e16b4cd4d5672a1d01d43769c6e486a483c
EBUILD sinatra-3.0.1.ebuild 1032 BLAKE2B a318d2bb27f201493c9b1b07d741af8f97ad03c6bea074cfc99946f89fb8513770ef3f584beff328767723b954e4f657c5ae64541ebab365fe322e7bba0c78e5 SHA512 43124a035900095395901af2c0e1766987401eaba394e56c8e830214ff7fd3469f1b5f4bc3a1bd0cdc01a03889b6a57b2837aca1db43a5a8fd4dea42c12e480c
EBUILD sinatra-3.0.2.ebuild 1032 BLAKE2B a318d2bb27f201493c9b1b07d741af8f97ad03c6bea074cfc99946f89fb8513770ef3f584beff328767723b954e4f657c5ae64541ebab365fe322e7bba0c78e5 SHA512 43124a035900095395901af2c0e1766987401eaba394e56c8e830214ff7fd3469f1b5f4bc3a1bd0cdc01a03889b6a57b2837aca1db43a5a8fd4dea42c12e480c
diff --git a/dev-ruby/sinatra/files/backport-pr-1519.patch b/dev-ruby/sinatra/files/backport-pr-1519.patch
new file mode 100644
index 000000000000..cc344621c3b6
--- /dev/null
+++ b/dev-ruby/sinatra/files/backport-pr-1519.patch
@@ -0,0 +1,122 @@
+https://github.com/sinatra/sinatra/pull/1519
+
+From 6d34a2a1bee48961c25e1b53edac874a31c42060 Mon Sep 17 00:00:00 2001
+From: Jordan Owens <jkowens@gmail.com>
+Date: Thu, 31 Jan 2019 22:32:45 -0500
+Subject: [PATCH] Internal Sinatra errors now extend Sinatra::Error
+
+By extending Sinatra::Error, an error class can set the http status
+code on the response to a value other than 500. This commit fixes
+issues #1204 and #1518 where an error raised by a third party library
+that responded to http_status could set the status on the response.
+Any error outside of Sinatra errors will now always return a 500 status.
+
+This fixes an issue where an exception could leak sensitive data in
+the message to the browser. Errors that have http_status code 400 or
+404 use the message as the body of the response. This is why it is
+imperative that these errors extend Sinatra::Error so that this is
+an explicit decision.
+---
+ lib/sinatra/base.rb | 22 ++++++++++++++--------
+ test/mapped_error_test.rb | 6 +++---
+ test/result_test.rb | 15 +++++++++++++++
+ 3 files changed, 32 insertions(+), 11 deletions(-)
+
+diff --git a/lib/sinatra/base.rb b/lib/sinatra/base.rb
+index 6dbb3ae57..4dfc9a8ae 100644
+--- a/lib/sinatra/base.rb
++++ b/lib/sinatra/base.rb
+@@ -255,11 +255,14 @@ def call(env)
+ end
+ end
+
+- class BadRequest < TypeError #:nodoc:
++ class Error < StandardError #:nodoc:
++ end
++
++ class BadRequest < Error #:nodoc:
+ def http_status; 400 end
+ end
+
+- class NotFound < NameError #:nodoc:
++ class NotFound < Error #:nodoc:
+ def http_status; 404 end
+ end
+
+@@ -1149,14 +1152,17 @@ def handle_exception!(boom)
+ end
+ @env['sinatra.error'] = boom
+
+- if boom.respond_to? :http_status and boom.http_status.between? 400, 599
+- status(boom.http_status)
+- elsif settings.use_code? and boom.respond_to? :code and boom.code.between? 400, 599
+- status(boom.code)
+- else
+- status(500)
++ http_status = if boom.kind_of? Sinatra::Error
++ if boom.respond_to? :http_status
++ boom.http_status
++ elsif settings.use_code? && boom.respond_to?(:code)
++ boom.code
++ end
+ end
+
++ http_status = 500 unless http_status && http_status.between?(400, 599)
++ status(http_status)
++
+ if server_error?
+ dump_errors! boom if settings.dump_errors?
+ raise boom if settings.show_exceptions? and settings.show_exceptions != :after_handler
+diff --git a/test/mapped_error_test.rb b/test/mapped_error_test.rb
+index cb158a268..562e509dc 100644
+--- a/test/mapped_error_test.rb
++++ b/test/mapped_error_test.rb
+@@ -6,15 +6,15 @@ class FooError < RuntimeError
+ class FooNotFound < Sinatra::NotFound
+ end
+
+-class FooSpecialError < RuntimeError
++class FooSpecialError < Sinatra::Error
+ def http_status; 501 end
+ end
+
+-class FooStatusOutOfRangeError < RuntimeError
++class FooStatusOutOfRangeError < Sinatra::Error
+ def code; 4000 end
+ end
+
+-class FooWithCode < RuntimeError
++class FooWithCode < Sinatra::Error
+ def code; 419 end
+ end
+
+diff --git a/test/result_test.rb b/test/result_test.rb
+index cbb781319..67d163fc4 100644
+--- a/test/result_test.rb
++++ b/test/result_test.rb
+@@ -1,5 +1,9 @@
+ require File.expand_path('../helper', __FILE__)
+
++class ThirdPartyError < RuntimeError
++ def http_status; 400 end
++end
++
+ class ResultTest < Minitest::Test
+ it "sets response.body when result is a String" do
+ mock_app { get('/') { 'Hello World' } }
+@@ -73,4 +77,15 @@ def res.each ; yield call ; end
+ assert_equal 205, status
+ assert_equal '', body
+ end
++
++ it "sets status to 500 when raised error is not Sinatra::Error" do
++ mock_app do
++ set :raise_errors, false
++ get('/') { raise ThirdPartyError }
++ end
++
++ get '/'
++ assert_equal 500, status
++ assert_equal '<h1>Internal Server Error</h1>', body
++ end
+ end
diff --git a/dev-ruby/sinatra/sinatra-2.2.0-r1.ebuild b/dev-ruby/sinatra/sinatra-2.2.0-r1.ebuild
new file mode 100644
index 000000000000..4a36cb96c31f
--- /dev/null
+++ b/dev-ruby/sinatra/sinatra-2.2.0-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby26 ruby27 ruby30 ruby31"
+
+RUBY_FAKEGEM_TASK_TEST="MT_NO_PLUGINS=true test:core"
+
+RUBY_FAKEGEM_EXTRADOC="README.md AUTHORS.md CHANGELOG.md"
+
+RUBY_FAKEGEM_GEMSPEC="sinatra.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A DSL for quickly creating web applications in Ruby with minimal effort"
+HOMEPAGE="http://www.sinatrarb.com/"
+SRC_URI="https://github.com/sinatra/sinatra/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="2"
+KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE=""
+
+# https://github.com/sinatra/sinatra/pull/1519 from master.
+# https://github.com/sinatra/sinatra/issues/1774
+PATCHES=( "${FILESDIR}/backport-pr-1519.patch" )
+
+ruby_add_rdepend "
+ dev-ruby/mustermann:1
+ dev-ruby/rack:2.2
+ ~dev-ruby/rack-protection-${PV}
+ dev-ruby/tilt:2"
+ruby_add_bdepend "test? ( >=dev-ruby/rack-test-0.5.6 dev-ruby/erubis dev-ruby/builder <dev-ruby/activesupport-7 )"
+ruby_add_bdepend "doc? ( dev-ruby/yard )"
+
+all_ruby_prepare() {
+ sed -i -e '/active_support\/core_ext\/hash/igem "activesupport", "<7"' test/helper.rb || die
+}
diff --git a/dev-ruby/sinatra/sinatra-2.2.1.ebuild b/dev-ruby/sinatra/sinatra-2.2.1.ebuild
index 20f026413a36..26896805eb10 100644
--- a/dev-ruby/sinatra/sinatra-2.2.1.ebuild
+++ b/dev-ruby/sinatra/sinatra-2.2.1.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby27 ruby30"
+USE_RUBY="ruby27 ruby30 ruby31"
RUBY_FAKEGEM_TASK_TEST="MT_NO_PLUGINS=true test:core"
@@ -21,6 +21,10 @@ SLOT="2"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE=""
+# https://github.com/sinatra/sinatra/pull/1519
+# https://github.com/sinatra/sinatra/issues/1774
+PATCHES=( "${FILESDIR}/backport-pr-1519.patch" )
+
ruby_add_rdepend "
dev-ruby/mustermann:1
dev-ruby/rack:2.2
diff --git a/dev-ruby/sus/Manifest b/dev-ruby/sus/Manifest
new file mode 100644
index 000000000000..bead1940a119
--- /dev/null
+++ b/dev-ruby/sus/Manifest
@@ -0,0 +1,3 @@
+DIST sus-0.13.0.tar.gz 23399 BLAKE2B f96717409f5f14727b359e39bc1bb4726fe1cae98de46bf06e6e008df9a23746219decdb8de171cbc1c6c39ac84b4011e475daa43c7996c01968f4acc5289c84 SHA512 c0cb1b1d02e2fc812c6b3cf555af59f543bcdd82829d744d0e4fafb9043e503e8c9ebb52da33e56703d23ccaeaff583abf72e1df55a726ceca59d50d21b51eb3
+EBUILD sus-0.13.0.ebuild 814 BLAKE2B dca4143816b09ca42de7d48e1a8cf51f82ccf5406884a04090244221c869be29bb89c7986f896b4f0497e89d7a9e44f740dc66ac0ee58a04c6e6a5535b61eb47 SHA512 9e17bc2fdfc1f9e41f5d3775b211f538de8e48eef8075ca2ec1ff2d56be110bfa4c336b858ce6fde294f98f46cb447c7f80e70c96a1f7ba37c58cd393cfb1fb7
+MISC metadata.xml 339 BLAKE2B a89a738b1bc39d01b68a8ff2f6ea0b7edbb35c6c9cad01b7762e2ee4e99b00bd72b87752832fb2a09017836a648334aefaf3009d6912917e490c13557427f963 SHA512 bcc9d407a5fb5159fc2910fa0eab40d3654d78907a0b1812351adf85cf577d3cef53550ebcd86aa40ddc6c03714df97469615dccab9ec4388728ab1106cf6cd0
diff --git a/dev-ruby/sus/metadata.xml b/dev-ruby/sus/metadata.xml
new file mode 100644
index 000000000000..2a4c88d07149
--- /dev/null
+++ b/dev-ruby/sus/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ioquatix/sus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/sus/sus-0.13.0.ebuild b/dev-ruby/sus/sus-0.13.0.ebuild
new file mode 100644
index 000000000000..713c073218b5
--- /dev/null
+++ b/dev-ruby/sus/sus-0.13.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby27 ruby30 ruby31"
+RUBY_FAKEGEM_RECIPE_TEST=""
+RUBY_FAKEGEM_EXTRADOC="readme.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+inherit ruby-fakegem
+
+DESCRIPTION="A fast and scalable test runner"
+HOMEPAGE="https://github.com/ioquatix/sus"
+SRC_URI="https://github.com/ioquatix/sus/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE=""
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+ sed -i -E '/^#/!d' "config/${PN}.rb" || die # remove covered coverage
+}
+
+each_ruby_test() {
+ "${RUBY}" "bin/sus-parallel" || die
+}
diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz
index 56a9479e852d..913d23a797b3 100644
--- a/dev-util/Manifest.gz
+++ b/dev-util/Manifest.gz
Binary files differ
diff --git a/dev-util/dmake/Manifest b/dev-util/dmake/Manifest
index 6101a21b6670..68cfcb271222 100644
--- a/dev-util/dmake/Manifest
+++ b/dev-util/dmake/Manifest
@@ -1,5 +1,5 @@
DIST dmake-4.12.2.tar.bz2 461738 BLAKE2B 2a80f5a566f9981d61472717f1df8dcb9634975356c2ca0d4d7053ea32e74f57e5daccd11c41b81bddc7994e57e2b001fc9610800f6d949146a23b1b065b9b16 SHA512 f09453205bd425882d933a7b2cf879d69d795765bb7586e1e35ca5c9e39444cb70cfe56ed9b350f12fae8d484670b4ae418bb5d2da7c0c2ff229d9165caff45b
DIST dmake-4.13.1.tar.gz 677296 BLAKE2B e56966569a00f5d13396ff59536194831757bd8e19a3cb66dbf28c0f7189a2791938173b94ce56c96bc5e2cbec34f48b0cba4b8ed7034b73095a0a6c4a9b477f SHA512 fc1b6cddcba174d34e709dd39f98f363ab0dff85f55c672cb231ab18c6dd045c7a3ae7483fa256effef4f5b876e71e860d0354426a30f55c30d4b04127cb3954
EBUILD dmake-4.12.2.ebuild 678 BLAKE2B 7f3ba1357d2471e5c2e1899ac504ce5a1b1ca50d3ac9fd3e1ae986b54113d5a02cba72ea97857a49b0b2bbc159c8b9b38cfd37059686bdbcedfe5a62ee91f1e3 SHA512 3d1db0871fc5b4cb39b8c26c03a3a8140bab5aa010fe00a4aec35fbd506fa46dc3c4215a1ecd70cabfed683175951577892e8e8db14f7fc7b713cb1a9dff1390
-EBUILD dmake-4.13.1.ebuild 546 BLAKE2B 24a1be3badcdc815fa1eed65aa4f98289bc7653fa62c3e7c90c6605e8d87e7ed3f28d13dc53e4cf8d40c5a33283c45465650862f12299f115c324919e09830bf SHA512 ac3758906c2ba12544c0247f497d7f5ffa783375b0ef73cc600a71bba920389e258163b2bc185462610abba4db3336973f4f1bcbd200d7b7e4b7df7428d674ef
+EBUILD dmake-4.13.1.ebuild 553 BLAKE2B 477a7ff441a66d32e89e3bc136bbea5d18b7fc22aa4d87800d8b33c0e81e0cab1ab80bdea3d08d20429850c1a7a1099277efb042d90b9d0b6fcf588a564d58aa SHA512 4a54a4ced039776485c0d0c84f9174cd2b40025fe398d0c85729d9642cd974f97024883ccbd29b0c3fab880f9fff21dd0ea2f8fd35fa40b5a5d9b10abb089861
MISC metadata.xml 345 BLAKE2B 10a7cae86f300e8f060b80f18cb33e87cc5eadfbd34f94e6db8597c4e112fa8d9b0200fe17c8754bf0c3e3bbf9116beab5fb84ff20fbf76ea50524645055fb78 SHA512 a05e8e10ec95cfa3abd41fadfd806af6b71619982f7c1efbd833ef8bf307fa79b01de4cd17a77e8d8a025193db6ec2612c35f7c17cfca410f9a020b44a50c2a3
diff --git a/dev-util/dmake/dmake-4.13.1.ebuild b/dev-util/dmake/dmake-4.13.1.ebuild
index 7f1f0cc92563..2b106f632d52 100644
--- a/dev-util/dmake/dmake-4.13.1.ebuild
+++ b/dev-util/dmake/dmake-4.13.1.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/jimjag/${PN}/archive/v${PV}/${P}.tar.gz"
LICENSE="GPL-1"
SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="amd64 ppc ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
BDEPEND="
app-arch/unzip
diff --git a/metadata/Manifest.gz b/metadata/Manifest.gz
index eed3fc6b47c1..1c55f030eee5 100644
--- a/metadata/Manifest.gz
+++ b/metadata/Manifest.gz
Binary files differ
diff --git a/metadata/dtd/timestamp.chk b/metadata/dtd/timestamp.chk
index 0ec4210ec014..5de9c7316de5 100644
--- a/metadata/dtd/timestamp.chk
+++ b/metadata/dtd/timestamp.chk
@@ -1 +1 @@
-Sat, 22 Oct 2022 20:09:40 +0000
+Sun, 23 Oct 2022 02:13:06 +0000
diff --git a/metadata/glsa/Manifest b/metadata/glsa/Manifest
index cd75b0e4dc22..efe0bdf9c519 100644
--- a/metadata/glsa/Manifest
+++ b/metadata/glsa/Manifest
@@ -2,22 +2,22 @@
Hash: SHA512
MANIFEST Manifest.files.gz 530688 BLAKE2B 1384754019a41108cd5a577394c6aafe7ddaa1600e86ddd30f667b8ffcd2a271d1d63c110dd32bcc5d2cdf57213dc2ed2ad65288c00d7dd764fc88a2a5ad121f SHA512 08bf73bc99a66d9fbe7dcf764826772bf00488ab216fa1e39298dffc1fef683f7a82d65031193ede26cf629f7bb21ac7a709099a37a9c6772e7b4eacbf503986
-TIMESTAMP 2022-10-22T20:09:43Z
+TIMESTAMP 2022-10-23T02:13:09Z
-----BEGIN PGP SIGNATURE-----
-iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmNUTgdfFIAAAAAALgAo
+iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmNUozVfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
-klBOYQ//RwvXtOfiehC7fWdidQTZC0rU84iCP2aGXvTiGIn1t9j5owtxsy76E630
-CON3oMEv8xGi/6LQ0fhdQyTXgPTNUC8unFWovyvzNsceFdgr0YMH+YcpVJu2IYTj
-oFGgFMdu65dwKuM49oOgzU6QLoKjh2xc4kd5IVEiB8V7geZZhdtQpuJhXrLEn4F+
-P+/6Reaoigdcx9Jzf6aLY2NHjdJnvFGIYA3KBHVB6Hs3DSMp/3Yib10q7RcnCo+y
-yKpMFHC2Mfo/I/kfYkHU3z4mHAICvQ36qMOzh1XR7PCWtXk5ZBcEmkeffUp+fvmB
-e6oidR+rtyZutDrmzAuIU12zqK7NWLutbasJ+qVGcCpz0yIVh8ucX8Iyv+yupRsT
-+vL/XX1horEKw8bFnKhZ3dXoVYBZZyfTDEj4ouGTBziG1EWt3TmZVlCkUqjQ76FF
-prBtEQTRD4SmSXCL3IN3i7OIx9v2AHQBMysfYJwcrkSC6GacV36maV7PcDyNxXar
-kvc1yD2rw1VaYAhhkvMSWErGbo1vN2fV+DxvDoK+ePLVcqM/84ApSTDB8lwsyfBW
-ewpnmyuoP3rVrJjyinvDHnNsZPHRC94b9D09BvgGRco6rw3xBAn7VRC/SD0/yAse
-F41F/NXlp3XqY2rbpgPsopjhwGGdAoc5U0GQLDFvxdraKEpIsEE=
-=zEgV
+klCwgBAAh9LuQNvu8NfRG9TBjgH1bo6IdgMtbI+UONv6aMze5iECPpc4hhx/UPVp
+hEjUu9/cZbzoNbFpeoEuBN4BUPcj8ZUPc6iVoaCm0vjfjHUi8PKGPNpZjyJnBh+r
+hUea6uaaqn1OTODflutftAWwqKoh/ZCAeQxI/4bUqMklxRDekhiUGYVBJmN7H6C/
+2hVrnApV/14upfuMQy+wsbpMnh9Xo2+LbOBvHE33klBmsk8gxHErp+GbrIy0MJK4
+MxF+kn82E8jGm3DnETLaxS/DB+rsRhtywjqbZMSUjplw0ScI1icZIhl2pCCJaXiO
+CezYUbjgK7/CcLnbEtt7I4MV9XINAgdIDN5ieT1BbjbUaBwcHty8/+T9yH3jdsfA
+spYJpQP9cR2Ye1tMqfpVi66aGiIZ0AnWJ+tpuD4i9/AknBU67G3MPtO512Sqe4lc
++kAE6rl7A6o6LFoLvVxdoqCWkAry78DA9y+XT5Cfqm/ZwXvW0qC6G/TW59IVzGxg
+jFqOv700KlIoN5oW9GuhvKR7UnXBc68Be4Y2VF9Xd/x7WY0FeZBHZp0HNSNa76tz
+nfMM0jkz7pLKwEAAh6czdWpcJlVg5qt+yzTgk0uWZ/Eva7AztYloHSlgV6e1e2oP
+xBvGLzfah1+evVZgHTGFSNgUWBy3yBuQz5kyT+z+t7vuCN4xMgw=
+=M/2D
-----END PGP SIGNATURE-----
diff --git a/metadata/glsa/timestamp.chk b/metadata/glsa/timestamp.chk
index 0ec4210ec014..5de9c7316de5 100644
--- a/metadata/glsa/timestamp.chk
+++ b/metadata/glsa/timestamp.chk
@@ -1 +1 @@
-Sat, 22 Oct 2022 20:09:40 +0000
+Sun, 23 Oct 2022 02:13:06 +0000
diff --git a/metadata/md5-cache/Manifest.gz b/metadata/md5-cache/Manifest.gz
index 8e1b28947879..728a5e0d6188 100644
--- a/metadata/md5-cache/Manifest.gz
+++ b/metadata/md5-cache/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-db/Manifest.gz b/metadata/md5-cache/dev-db/Manifest.gz
index 898dfe000f59..132a3d12f34e 100644
--- a/metadata/md5-cache/dev-db/Manifest.gz
+++ b/metadata/md5-cache/dev-db/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-db/rqlite-7.9.0 b/metadata/md5-cache/dev-db/rqlite-7.9.0
new file mode 100644
index 000000000000..ca1f917ce57b
--- /dev/null
+++ b/metadata/md5-cache/dev-db/rqlite-7.9.0
@@ -0,0 +1,13 @@
+BDEPEND=>=dev-lang/go-1.18 app-arch/unzip
+DEFINED_PHASES=compile install test unpack
+DESCRIPTION=Replicated SQLite using the Raft consensus protocol
+EAPI=7
+HOMEPAGE=https://github.com/rqlite/rqlite https://www.philipotoole.com/tag/rqlite/
+INHERIT=go-module
+KEYWORDS=~amd64 ~x86
+LICENSE=MIT Apache-2.0 BSD CC0-1.0 MPL-2.0
+RESTRICT=strip
+SLOT=0
+SRC_URI=https://github.com/rqlite/rqlite/archive/v7.9.0.tar.gz -> rqlite-7.9.0.tar.gz https://dev.gentoo.org/~zmedico/dist/rqlite-7.7.2-deps.tar.xz
+_eclasses_=go-module 15312495dc4fd84f8c37bbe228ea2abd
+_md5_=26b4cd4d10786aa1e44e0d94725a075c
diff --git a/metadata/md5-cache/dev-ruby/Manifest.gz b/metadata/md5-cache/dev-ruby/Manifest.gz
index c84152798533..a984defeb651 100644
--- a/metadata/md5-cache/dev-ruby/Manifest.gz
+++ b/metadata/md5-cache/dev-ruby/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-ruby/async-1.30.3 b/metadata/md5-cache/dev-ruby/async-1.30.3
new file mode 100644
index 000000000000..2c7e22947e81
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/async-1.30.3
@@ -0,0 +1,17 @@
+BDEPEND=test? ( ruby_targets_ruby27? ( >=dev-ruby/console-1.10:1[ruby_targets_ruby27(-)] >=dev-ruby/nio4r-2.3:2[ruby_targets_ruby27(-)] >=dev-ruby/timers-4.1:4[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( >=dev-ruby/console-1.10:1[ruby_targets_ruby30(-)] >=dev-ruby/nio4r-2.3:2[ruby_targets_ruby30(-)] >=dev-ruby/timers-4.1:4[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( >=dev-ruby/console-1.10:1[ruby_targets_ruby31(-)] >=dev-ruby/nio4r-2.3:2[ruby_targets_ruby31(-)] >=dev-ruby/timers-4.1:4[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( >=dev-ruby/async-rspec-1.1:1[ruby_targets_ruby27(-)] dev-ruby/benchmark-ips[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( >=dev-ruby/async-rspec-1.1:1[ruby_targets_ruby30(-)] dev-ruby/benchmark-ips[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( >=dev-ruby/async-rspec-1.1:1[ruby_targets_ruby31(-)] dev-ruby/benchmark-ips[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=A concurrency framework for Ruby
+EAPI=8
+HOMEPAGE=https://github.com/socketry/async
+INHERIT=ruby-fakegem
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+KEYWORDS=~amd64 ~sparc
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby27? ( >=dev-ruby/console-1.10:1[ruby_targets_ruby27(-)] >=dev-ruby/nio4r-2.3:2[ruby_targets_ruby27(-)] >=dev-ruby/timers-4.1:4[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( >=dev-ruby/console-1.10:1[ruby_targets_ruby30(-)] >=dev-ruby/nio4r-2.3:2[ruby_targets_ruby30(-)] >=dev-ruby/timers-4.1:4[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( >=dev-ruby/console-1.10:1[ruby_targets_ruby31(-)] >=dev-ruby/nio4r-2.3:2[ruby_targets_ruby31(-)] >=dev-ruby/timers-4.1:4[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
+SLOT=1/1.30
+SRC_URI=https://github.com/socketry/async/archive/refs/tags/v1.30.3.tar.gz -> async-1.30.3.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=233df9038e783eea7abf31d53fbc3b7c
diff --git a/metadata/md5-cache/dev-ruby/async-2.1.0 b/metadata/md5-cache/dev-ruby/async-2.1.0
new file mode 100644
index 000000000000..7a1bcdd5808c
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/async-2.1.0
@@ -0,0 +1,17 @@
+BDEPEND=test? ( ruby_targets_ruby31? ( >=dev-ruby/console-1.10:1[ruby_targets_ruby31(-)] >=dev-ruby/io-event-1.0.0:1/1.0[ruby_targets_ruby31(-)] >=dev-ruby/timers-4.1:4[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby31? ( test? ( >=dev-ruby/async-rspec-1.1:1[ruby_targets_ruby31(-)] dev-ruby/benchmark-ips[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=A concurrency framework for Ruby
+EAPI=8
+HOMEPAGE=https://github.com/socketry/async
+INHERIT=ruby-fakegem
+IUSE=test ruby_targets_ruby31 doc test test
+KEYWORDS=~amd64 ~sparc
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby31? ( >=dev-ruby/console-1.10:1[ruby_targets_ruby31(-)] >=dev-ruby/io-event-1.0.0:1/1.0[ruby_targets_ruby31(-)] >=dev-ruby/timers-4.1:4[ruby_targets_ruby31(-)] ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
+SLOT=2
+SRC_URI=https://github.com/socketry/async/archive/refs/tags/v2.1.0.tar.gz -> async-2.1.0.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=a144d9dc2af7832ef4ed772b0efc3ea8
diff --git a/metadata/md5-cache/dev-ruby/async-container-0.16.12 b/metadata/md5-cache/dev-ruby/async-container-0.16.12
new file mode 100644
index 000000000000..4572cd6d2509
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/async-container-0.16.12
@@ -0,0 +1,17 @@
+BDEPEND=test? ( ruby_targets_ruby27? ( dev-ruby/async[ruby_targets_ruby27(-)] dev-ruby/async-io[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/async[ruby_targets_ruby30(-)] dev-ruby/async-io[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/async[ruby_targets_ruby31(-)] dev-ruby/async-io[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/bundler[ruby_targets_ruby27(-)] >=dev-ruby/async-rspec-1.1:1[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/bundler[ruby_targets_ruby30(-)] >=dev-ruby/async-rspec-1.1:1[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/bundler[ruby_targets_ruby31(-)] >=dev-ruby/async-rspec-1.1:1[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=Abstract container-based parallelism using threads and processes
+EAPI=8
+HOMEPAGE=https://github.com/socketry/async-container
+INHERIT=ruby-fakegem
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+KEYWORDS=~amd64 ~sparc
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby27? ( dev-ruby/async[ruby_targets_ruby27(-)] dev-ruby/async-io[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/async[ruby_targets_ruby30(-)] dev-ruby/async-io[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/async[ruby_targets_ruby31(-)] dev-ruby/async-io[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
+SLOT=0/0.16
+SRC_URI=https://github.com/socketry/async-container/archive/refs/tags/v0.16.12.tar.gz -> async-container-0.16.12.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=7846e1600dd323d8deb5514422402593
diff --git a/metadata/md5-cache/dev-ruby/async-io-1.34.0 b/metadata/md5-cache/dev-ruby/async-io-1.34.0
new file mode 100644
index 000000000000..6596268d6df6
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/async-io-1.34.0
@@ -0,0 +1,17 @@
+BDEPEND=test? ( ruby_targets_ruby27? ( dev-ruby/async[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/async[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/async[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( >=dev-ruby/async-container-0.15:0[ruby_targets_ruby27(-)] >=dev-ruby/async-rspec-1.10:1[ruby_targets_ruby27(-)] dev-ruby/rack-test[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( >=dev-ruby/async-container-0.15:0[ruby_targets_ruby30(-)] >=dev-ruby/async-rspec-1.10:1[ruby_targets_ruby30(-)] dev-ruby/rack-test[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( >=dev-ruby/async-container-0.15:0[ruby_targets_ruby31(-)] >=dev-ruby/async-rspec-1.10:1[ruby_targets_ruby31(-)] dev-ruby/rack-test[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=Provides support for asynchonous TCP, UDP, UNIX and SSL sockets
+EAPI=8
+HOMEPAGE=https://github.com/socketry/async-io
+INHERIT=ruby-fakegem
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+KEYWORDS=~amd64 ~sparc
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby27? ( dev-ruby/async[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/async[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/async[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
+SLOT=1/1.34
+SRC_URI=https://github.com/socketry/async-io/archive/refs/tags/v1.34.0.tar.gz -> async-io-1.34.0.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=226a6d16dd0243a6a17ab082f6f4d223
diff --git a/metadata/md5-cache/dev-ruby/async-rspec-1.16.1 b/metadata/md5-cache/dev-ruby/async-rspec-1.16.1
new file mode 100644
index 000000000000..470be2db94e4
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/async-rspec-1.16.1
@@ -0,0 +1,17 @@
+BDEPEND=test? ( ruby_targets_ruby27? ( >=dev-ruby/rspec-3.0:3[ruby_targets_ruby27(-)] >=dev-ruby/rspec-files-1.0:1[ruby_targets_ruby27(-)] >=dev-ruby/rspec-memory-1.0:1[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( >=dev-ruby/rspec-3.0:3[ruby_targets_ruby30(-)] >=dev-ruby/rspec-files-1.0:1[ruby_targets_ruby30(-)] >=dev-ruby/rspec-memory-1.0:1[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( >=dev-ruby/rspec-3.0:3[ruby_targets_ruby31(-)] >=dev-ruby/rspec-files-1.0:1[ruby_targets_ruby31(-)] >=dev-ruby/rspec-memory-1.0:1[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/async[ruby_targets_ruby27(-)] dev-ruby/async-io[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/async[ruby_targets_ruby30(-)] dev-ruby/async-io[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/async[ruby_targets_ruby31(-)] dev-ruby/async-io[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=Helpers for writing specs against the async gem
+EAPI=8
+HOMEPAGE=https://github.com/socketry/async-rspec
+INHERIT=ruby-fakegem
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+KEYWORDS=~amd64 ~sparc
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby27? ( >=dev-ruby/rspec-3.0:3[ruby_targets_ruby27(-)] >=dev-ruby/rspec-files-1.0:1[ruby_targets_ruby27(-)] >=dev-ruby/rspec-memory-1.0:1[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( >=dev-ruby/rspec-3.0:3[ruby_targets_ruby30(-)] >=dev-ruby/rspec-files-1.0:1[ruby_targets_ruby30(-)] >=dev-ruby/rspec-memory-1.0:1[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( >=dev-ruby/rspec-3.0:3[ruby_targets_ruby31(-)] >=dev-ruby/rspec-files-1.0:1[ruby_targets_ruby31(-)] >=dev-ruby/rspec-memory-1.0:1[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
+SLOT=1/1.16
+SRC_URI=https://github.com/socketry/async-rspec/archive/refs/tags/v1.16.1.tar.gz -> async-rspec-1.16.1.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=9a0173eb1f945b635ea8853e97d52e0a
diff --git a/metadata/md5-cache/dev-ruby/console-1.15.3 b/metadata/md5-cache/dev-ruby/console-1.15.3
new file mode 100644
index 000000000000..d0871beb40c5
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/console-1.15.3
@@ -0,0 +1,17 @@
+BDEPEND=test? ( ruby_targets_ruby27? ( dev-ruby/fiber-local[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/fiber-local[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/fiber-local[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=Beautiful logging for Ruby
+EAPI=8
+HOMEPAGE=https://github.com/socketry/console
+INHERIT=ruby-fakegem
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+KEYWORDS=~amd64 ~sparc
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby27? ( dev-ruby/fiber-local[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/fiber-local[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/fiber-local[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
+SLOT=1/1.15
+SRC_URI=https://github.com/socketry/console/archive/fc6ecb94bc02b8b75003fc31f0a8b3e1e43cafcf.tar.gz -> console-1.15.3.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=88d2e21b234786fb0d41555d6df240f6
diff --git a/metadata/md5-cache/dev-ruby/ffi-1.15.5-r1 b/metadata/md5-cache/dev-ruby/ffi-1.15.5-r1
new file mode 100644
index 000000000000..72e4f5afe8df
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/ffi-1.15.5-r1
@@ -0,0 +1,17 @@
+BDEPEND=ruby_targets_ruby27? ( dev-ruby/rake[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/rake[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/rake[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ) virtual/pkgconfig
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=dev-libs/libffi:= ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=Ruby extension for programmatically loading dynamic libraries
+EAPI=8
+HOMEPAGE=https://wiki.github.com/ffi/ffi
+INHERIT=ruby-fakegem toolchain-funcs
+IUSE=ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+KEYWORDS=amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris
+LICENSE=BSD
+RDEPEND=dev-libs/libffi:= ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test )
+SLOT=0
+SRC_URI=https://github.com/ffi/ffi/archive/v1.15.5.tar.gz -> ffi-git-1.15.5.tgz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=388ede817fe0217c3c650fc05c680ef4
diff --git a/metadata/md5-cache/dev-ruby/ffi-compiler-1.0.1-r2 b/metadata/md5-cache/dev-ruby/ffi-compiler-1.0.1-r2
new file mode 100644
index 000000000000..048d0cc17efb
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/ffi-compiler-1.0.1-r2
@@ -0,0 +1,17 @@
+BDEPEND=test? ( ruby_targets_ruby27? ( dev-ruby/rake[ruby_targets_ruby27(-)] >=dev-ruby/ffi-1.0.0[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/rake[ruby_targets_ruby30(-)] >=dev-ruby/ffi-1.0.0[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/rake[ruby_targets_ruby31(-)] >=dev-ruby/ffi-1.0.0[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=Ruby FFI Rakefile generator
+EAPI=8
+HOMEPAGE=https://github.com/ffi/ffi/wiki
+INHERIT=ruby-fakegem
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test
+KEYWORDS=~amd64 ~arm ~arm64 ~hppa ~ppc64 ~sparc ~x86
+LICENSE=Apache-2.0
+RDEPEND=ruby_targets_ruby27? ( dev-ruby/rake[ruby_targets_ruby27(-)] >=dev-ruby/ffi-1.0.0[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/rake[ruby_targets_ruby30(-)] >=dev-ruby/ffi-1.0.0[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/rake[ruby_targets_ruby31(-)] >=dev-ruby/ffi-1.0.0[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test )
+SLOT=0
+SRC_URI=https://rubygems.org/gems/ffi-compiler-1.0.1.gem
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=d188fa98b5ba97534343276e6f81c2b5
diff --git a/metadata/md5-cache/dev-ruby/fiber-local-1.0.0 b/metadata/md5-cache/dev-ruby/fiber-local-1.0.0
new file mode 100644
index 000000000000..358795ec85f2
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/fiber-local-1.0.0
@@ -0,0 +1,17 @@
+BDEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=Provides a class-level mixin to make fiber local state easy
+EAPI=8
+HOMEPAGE=https://github.com/socketry/fiber-local
+INHERIT=ruby-fakegem
+IUSE=ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+KEYWORDS=~amd64 ~sparc
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test )
+SLOT=1/1.0
+SRC_URI=https://github.com/socketry/fiber-local/archive/refs/tags/v1.0.0.tar.gz -> fiber-local-1.0.0.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=a4948b6c9828ccb92ccfabbff66cb9f0
diff --git a/metadata/md5-cache/dev-ruby/http-5.1.0 b/metadata/md5-cache/dev-ruby/http-5.1.0
new file mode 100644
index 000000000000..6dd63adcdfb0
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/http-5.1.0
@@ -0,0 +1,17 @@
+BDEPEND=test? ( ruby_targets_ruby27? ( =dev-ruby/addressable-2*[ruby_targets_ruby27(-)] >=dev-ruby/addressable-2.8[ruby_targets_ruby27(-)] =dev-ruby/http-cookie-1*[ruby_targets_ruby27(-)] >=dev-ruby/http-form_data-2.2:2[ruby_targets_ruby27(-)] >=dev-ruby/llhttp-ffi-0.4.0:0/0.4[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( =dev-ruby/addressable-2*[ruby_targets_ruby30(-)] >=dev-ruby/addressable-2.8[ruby_targets_ruby30(-)] =dev-ruby/http-cookie-1*[ruby_targets_ruby30(-)] >=dev-ruby/http-form_data-2.2:2[ruby_targets_ruby30(-)] >=dev-ruby/llhttp-ffi-0.4.0:0/0.4[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( =dev-ruby/addressable-2*[ruby_targets_ruby31(-)] >=dev-ruby/addressable-2.8[ruby_targets_ruby31(-)] =dev-ruby/http-cookie-1*[ruby_targets_ruby31(-)] >=dev-ruby/http-form_data-2.2:2[ruby_targets_ruby31(-)] >=dev-ruby/llhttp-ffi-0.4.0:0/0.4[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( =dev-ruby/certificate_authority-1*[ruby_targets_ruby27(-)] dev-ruby/rspec-its[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( =dev-ruby/certificate_authority-1*[ruby_targets_ruby30(-)] dev-ruby/rspec-its[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( =dev-ruby/certificate_authority-1*[ruby_targets_ruby31(-)] dev-ruby/rspec-its[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=An easy-to-use client library for making requests from Ruby
+EAPI=8
+HOMEPAGE=https://github.com/tarcieri/http
+INHERIT=ruby-fakegem
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+KEYWORDS=~amd64 ~sparc
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby27? ( =dev-ruby/addressable-2*[ruby_targets_ruby27(-)] >=dev-ruby/addressable-2.8[ruby_targets_ruby27(-)] =dev-ruby/http-cookie-1*[ruby_targets_ruby27(-)] >=dev-ruby/http-form_data-2.2:2[ruby_targets_ruby27(-)] >=dev-ruby/llhttp-ffi-0.4.0:0/0.4[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( =dev-ruby/addressable-2*[ruby_targets_ruby30(-)] >=dev-ruby/addressable-2.8[ruby_targets_ruby30(-)] =dev-ruby/http-cookie-1*[ruby_targets_ruby30(-)] >=dev-ruby/http-form_data-2.2:2[ruby_targets_ruby30(-)] >=dev-ruby/llhttp-ffi-0.4.0:0/0.4[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( =dev-ruby/addressable-2*[ruby_targets_ruby31(-)] >=dev-ruby/addressable-2.8[ruby_targets_ruby31(-)] =dev-ruby/http-cookie-1*[ruby_targets_ruby31(-)] >=dev-ruby/http-form_data-2.2:2[ruby_targets_ruby31(-)] >=dev-ruby/llhttp-ffi-0.4.0:0/0.4[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
+SLOT=5
+SRC_URI=https://rubygems.org/gems/http-5.1.0.gem
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=47cd0b3b68e064b2abd85391fcaef296
diff --git a/metadata/md5-cache/dev-ruby/io-event-1.0.9 b/metadata/md5-cache/dev-ruby/io-event-1.0.9
new file mode 100644
index 000000000000..e4d401580e54
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/io-event-1.0.9
@@ -0,0 +1,17 @@
+BDEPEND=ruby_targets_ruby30? ( test? ( >=dev-ruby/sus-0.6:0[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( >=dev-ruby/sus-0.6:0[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) ) virtual/pkgconfig
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=An event loop
+EAPI=8
+HOMEPAGE=https://github.com/socketry/io-event
+INHERIT=ruby-fakegem
+IUSE=ruby_targets_ruby30 ruby_targets_ruby31 doc test
+KEYWORDS=~amd64 ~sparc
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test )
+SLOT=1/1.0
+SRC_URI=https://github.com/socketry/io-event/archive/68cffe24077a53201acbb383e8e132b192e1fa83.tar.gz -> io-event-1.0.9.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=0bffea332dd42fb9bd8e2e5f039476aa
diff --git a/metadata/md5-cache/dev-ruby/llhttp-ffi-0.4.0 b/metadata/md5-cache/dev-ruby/llhttp-ffi-0.4.0
new file mode 100644
index 000000000000..a4c1d7bb2a32
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/llhttp-ffi-0.4.0
@@ -0,0 +1,17 @@
+BDEPEND=test? ( ruby_targets_ruby27? ( =dev-ruby/ffi-compiler-1*[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( =dev-ruby/ffi-compiler-1*[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( =dev-ruby/ffi-compiler-1*[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/async-io[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/async-io[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/async-io[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rake[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rake[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rake[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=Ruby FFI bindings for llhttp
+EAPI=8
+HOMEPAGE=https://github.com/metabahn/llhttp
+INHERIT=ruby-fakegem
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+KEYWORDS=~amd64 ~sparc
+LICENSE=MPL-2.0
+RDEPEND=ruby_targets_ruby27? ( =dev-ruby/ffi-compiler-1*[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( =dev-ruby/ffi-compiler-1*[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( =dev-ruby/ffi-compiler-1*[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
+SLOT=0/0.4
+SRC_URI=https://github.com/metabahn/llhttp/archive/refs/tags/2021-09-09.tar.gz -> llhttp-0.4.0.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=e2ab3351890f255d3e0a6296b4bdc702
diff --git a/metadata/md5-cache/dev-ruby/rack-test-1.1.0-r1 b/metadata/md5-cache/dev-ruby/rack-test-1.1.0-r1
index 1c6658c84f03..13eadeea0d0d 100644
--- a/metadata/md5-cache/dev-ruby/rack-test-1.1.0-r1
+++ b/metadata/md5-cache/dev-ruby/rack-test-1.1.0-r1
@@ -1,17 +1,17 @@
-BDEPEND=test? ( ruby_targets_ruby27? ( >=dev-ruby/rack-1.0:*[ruby_targets_ruby27(-)] <dev-ruby/rack-3:*[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( >=dev-ruby/rack-1.0:*[ruby_targets_ruby30(-)] <dev-ruby/rack-3:*[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/sinatra:2[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/sinatra:2[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) )
+BDEPEND=test? ( ruby_targets_ruby27? ( >=dev-ruby/rack-1.0:*[ruby_targets_ruby27(-)] <dev-ruby/rack-3:*[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( >=dev-ruby/rack-1.0:*[ruby_targets_ruby30(-)] <dev-ruby/rack-3:*[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( >=dev-ruby/rack-1.0:*[ruby_targets_ruby31(-)] <dev-ruby/rack-3:*[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/sinatra:2[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/sinatra:2[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/sinatra:2[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] )
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
DESCRIPTION=Rack::Test is a small, simple testing API for Rack apps
EAPI=8
HOMEPAGE=https://github.com/rack-test/rack-test
INHERIT=ruby-fakegem
-IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 doc test test
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
KEYWORDS=amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86
LICENSE=MIT
-RDEPEND=ruby_targets_ruby27? ( >=dev-ruby/rack-1.0:*[ruby_targets_ruby27(-)] <dev-ruby/rack-3:*[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( >=dev-ruby/rack-1.0:*[ruby_targets_ruby30(-)] <dev-ruby/rack-3:*[ruby_targets_ruby30(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] )
-REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 )
+RDEPEND=ruby_targets_ruby27? ( >=dev-ruby/rack-1.0:*[ruby_targets_ruby27(-)] <dev-ruby/rack-3:*[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( >=dev-ruby/rack-1.0:*[ruby_targets_ruby30(-)] <dev-ruby/rack-3:*[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( >=dev-ruby/rack-1.0:*[ruby_targets_ruby31(-)] <dev-ruby/rack-3:*[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
SLOT=1.0
SRC_URI=https://github.com/rack-test/rack-test/archive/v1.1.0.tar.gz -> rack-test-1.1.0.tar.gz
_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
-_md5_=83382e6e7cfdec5db9f7445841e5146c
+_md5_=8edb63683cc67dc8aebbf4eb26d017af
diff --git a/metadata/md5-cache/dev-ruby/rack-test-2.0.2 b/metadata/md5-cache/dev-ruby/rack-test-2.0.2
index 5be10b3fe4ad..cac0d39059e8 100644
--- a/metadata/md5-cache/dev-ruby/rack-test-2.0.2
+++ b/metadata/md5-cache/dev-ruby/rack-test-2.0.2
@@ -14,4 +14,4 @@ RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
SLOT=2
SRC_URI=https://github.com/rack-test/rack-test/archive/v2.0.2.tar.gz -> rack-test-2.0.2.tar.gz
_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
-_md5_=e21bc675f39661c17193085e91f0d0ad
+_md5_=39c08e66e28e4e548a03cae5ce000803
diff --git a/metadata/md5-cache/dev-ruby/rspec-files-1.1.2 b/metadata/md5-cache/dev-ruby/rspec-files-1.1.2
new file mode 100644
index 000000000000..a1fdb78b75eb
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/rspec-files-1.1.2
@@ -0,0 +1,17 @@
+BDEPEND=test? ( ruby_targets_ruby27? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=RSpec helpers for buffering and detecting file descriptor leaks
+EAPI=8
+HOMEPAGE=https://github.com/socketry/rspec-files
+INHERIT=ruby-fakegem
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+KEYWORDS=~amd64 ~sparc
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby27? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
+SLOT=1
+SRC_URI=https://github.com/socketry/rspec-files/archive/refs/tags/v1.1.2.tar.gz -> rspec-files-1.1.2.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=cae02b00b8daf9a91ad16115b2326a03
diff --git a/metadata/md5-cache/dev-ruby/rspec-memory-1.0.3 b/metadata/md5-cache/dev-ruby/rspec-memory-1.0.3
new file mode 100644
index 000000000000..b08d973c4a9b
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/rspec-memory-1.0.3
@@ -0,0 +1,17 @@
+BDEPEND=test? ( ruby_targets_ruby27? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=RSpec helpers for checking memory allocations
+EAPI=8
+HOMEPAGE=https://github.com/socketry/rspec-memory
+INHERIT=ruby-fakegem
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+KEYWORDS=~amd64 ~sparc
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby27? ( dev-ruby/rspec:3[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/rspec:3[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/rspec:3[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
+SLOT=1
+SRC_URI=https://github.com/socketry/rspec-memory/archive/refs/tags/v1.0.3.tar.gz -> rspec-memory-1.0.3.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=16a4024a420539e8eb802535711fa284
diff --git a/metadata/md5-cache/dev-ruby/sinatra-2.2.0-r1 b/metadata/md5-cache/dev-ruby/sinatra-2.2.0-r1
new file mode 100644
index 000000000000..cbe2571f9e06
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/sinatra-2.2.0-r1
@@ -0,0 +1,17 @@
+BDEPEND=test? ( ruby_targets_ruby27? ( dev-ruby/mustermann:1[ruby_targets_ruby27(-)] dev-ruby/rack:2.2[ruby_targets_ruby27(-)] ~dev-ruby/rack-protection-2.2.0[ruby_targets_ruby27(-)] dev-ruby/tilt:2[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/mustermann:1[ruby_targets_ruby30(-)] dev-ruby/rack:2.2[ruby_targets_ruby30(-)] ~dev-ruby/rack-protection-2.2.0[ruby_targets_ruby30(-)] dev-ruby/tilt:2[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/mustermann:1[ruby_targets_ruby31(-)] dev-ruby/rack:2.2[ruby_targets_ruby31(-)] ~dev-ruby/rack-protection-2.2.0[ruby_targets_ruby31(-)] dev-ruby/tilt:2[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( >=dev-ruby/rack-test-0.5.6[ruby_targets_ruby27(-)] dev-ruby/erubis[ruby_targets_ruby27(-)] dev-ruby/builder[ruby_targets_ruby27(-)] <dev-ruby/activesupport-7[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( >=dev-ruby/rack-test-0.5.6[ruby_targets_ruby30(-)] dev-ruby/erubis[ruby_targets_ruby30(-)] dev-ruby/builder[ruby_targets_ruby30(-)] <dev-ruby/activesupport-7[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( >=dev-ruby/rack-test-0.5.6[ruby_targets_ruby31(-)] dev-ruby/erubis[ruby_targets_ruby31(-)] dev-ruby/builder[ruby_targets_ruby31(-)] <dev-ruby/activesupport-7[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( doc? ( dev-ruby/yard[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/yard[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/yard[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rake[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rake[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rake[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=A DSL for quickly creating web applications in Ruby with minimal effort
+EAPI=8
+HOMEPAGE=http://www.sinatrarb.com/
+INHERIT=ruby-fakegem
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
+KEYWORDS=amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby27? ( dev-ruby/mustermann:1[ruby_targets_ruby27(-)] dev-ruby/rack:2.2[ruby_targets_ruby27(-)] ~dev-ruby/rack-protection-2.2.0[ruby_targets_ruby27(-)] dev-ruby/tilt:2[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/mustermann:1[ruby_targets_ruby30(-)] dev-ruby/rack:2.2[ruby_targets_ruby30(-)] ~dev-ruby/rack-protection-2.2.0[ruby_targets_ruby30(-)] dev-ruby/tilt:2[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/mustermann:1[ruby_targets_ruby31(-)] dev-ruby/rack:2.2[ruby_targets_ruby31(-)] ~dev-ruby/rack-protection-2.2.0[ruby_targets_ruby31(-)] dev-ruby/tilt:2[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
+SLOT=2
+SRC_URI=https://github.com/sinatra/sinatra/archive/v2.2.0.tar.gz -> sinatra-2.2.0.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=6e27281cad683e1e6b67cff43b6e50b0
diff --git a/metadata/md5-cache/dev-ruby/sinatra-2.2.1 b/metadata/md5-cache/dev-ruby/sinatra-2.2.1
index ee282b7508d8..99ac327236e5 100644
--- a/metadata/md5-cache/dev-ruby/sinatra-2.2.1
+++ b/metadata/md5-cache/dev-ruby/sinatra-2.2.1
@@ -1,17 +1,17 @@
-BDEPEND=test? ( ruby_targets_ruby27? ( dev-ruby/mustermann:1[ruby_targets_ruby27(-)] dev-ruby/rack:2.2[ruby_targets_ruby27(-)] ~dev-ruby/rack-protection-2.2.1[ruby_targets_ruby27(-)] dev-ruby/tilt:2[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/mustermann:1[ruby_targets_ruby30(-)] dev-ruby/rack:2.2[ruby_targets_ruby30(-)] ~dev-ruby/rack-protection-2.2.1[ruby_targets_ruby30(-)] dev-ruby/tilt:2[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby27? ( test? ( >=dev-ruby/rack-test-0.5.6[ruby_targets_ruby27(-)] dev-ruby/erubis[ruby_targets_ruby27(-)] dev-ruby/builder[ruby_targets_ruby27(-)] <dev-ruby/activesupport-7[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( >=dev-ruby/rack-test-0.5.6[ruby_targets_ruby30(-)] dev-ruby/erubis[ruby_targets_ruby30(-)] dev-ruby/builder[ruby_targets_ruby30(-)] <dev-ruby/activesupport-7[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby27? ( doc? ( dev-ruby/yard[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/yard[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rake[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rake[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) )
+BDEPEND=test? ( ruby_targets_ruby27? ( dev-ruby/mustermann:1[ruby_targets_ruby27(-)] dev-ruby/rack:2.2[ruby_targets_ruby27(-)] ~dev-ruby/rack-protection-2.2.1[ruby_targets_ruby27(-)] dev-ruby/tilt:2[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/mustermann:1[ruby_targets_ruby30(-)] dev-ruby/rack:2.2[ruby_targets_ruby30(-)] ~dev-ruby/rack-protection-2.2.1[ruby_targets_ruby30(-)] dev-ruby/tilt:2[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/mustermann:1[ruby_targets_ruby31(-)] dev-ruby/rack:2.2[ruby_targets_ruby31(-)] ~dev-ruby/rack-protection-2.2.1[ruby_targets_ruby31(-)] dev-ruby/tilt:2[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( >=dev-ruby/rack-test-0.5.6[ruby_targets_ruby27(-)] dev-ruby/erubis[ruby_targets_ruby27(-)] dev-ruby/builder[ruby_targets_ruby27(-)] <dev-ruby/activesupport-7[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( >=dev-ruby/rack-test-0.5.6[ruby_targets_ruby30(-)] dev-ruby/erubis[ruby_targets_ruby30(-)] dev-ruby/builder[ruby_targets_ruby30(-)] <dev-ruby/activesupport-7[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( >=dev-ruby/rack-test-0.5.6[ruby_targets_ruby31(-)] dev-ruby/erubis[ruby_targets_ruby31(-)] dev-ruby/builder[ruby_targets_ruby31(-)] <dev-ruby/activesupport-7[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( doc? ( dev-ruby/yard[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/yard[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/yard[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( test? ( dev-ruby/rake[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( test? ( dev-ruby/rake[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( test? ( dev-ruby/rake[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
DEFINED_PHASES=compile configure install prepare setup test unpack
-DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] )
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
DESCRIPTION=A DSL for quickly creating web applications in Ruby with minimal effort
EAPI=8
HOMEPAGE=http://www.sinatrarb.com/
INHERIT=ruby-fakegem
-IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 doc test test
+IUSE=test ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test test
KEYWORDS=~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86
LICENSE=MIT
-RDEPEND=ruby_targets_ruby27? ( dev-ruby/mustermann:1[ruby_targets_ruby27(-)] dev-ruby/rack:2.2[ruby_targets_ruby27(-)] ~dev-ruby/rack-protection-2.2.1[ruby_targets_ruby27(-)] dev-ruby/tilt:2[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/mustermann:1[ruby_targets_ruby30(-)] dev-ruby/rack:2.2[ruby_targets_ruby30(-)] ~dev-ruby/rack-protection-2.2.1[ruby_targets_ruby30(-)] dev-ruby/tilt:2[ruby_targets_ruby30(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] )
-REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 )
+RDEPEND=ruby_targets_ruby27? ( dev-ruby/mustermann:1[ruby_targets_ruby27(-)] dev-ruby/rack:2.2[ruby_targets_ruby27(-)] ~dev-ruby/rack-protection-2.2.1[ruby_targets_ruby27(-)] dev-ruby/tilt:2[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( dev-ruby/mustermann:1[ruby_targets_ruby30(-)] dev-ruby/rack:2.2[ruby_targets_ruby30(-)] ~dev-ruby/rack-protection-2.2.1[ruby_targets_ruby30(-)] dev-ruby/tilt:2[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( dev-ruby/mustermann:1[ruby_targets_ruby31(-)] dev-ruby/rack:2.2[ruby_targets_ruby31(-)] ~dev-ruby/rack-protection-2.2.1[ruby_targets_ruby31(-)] dev-ruby/tilt:2[ruby_targets_ruby31(-)] ) ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
RESTRICT=!test? ( test ) !test? ( test ) !test? ( test )
SLOT=2
SRC_URI=https://github.com/sinatra/sinatra/archive/v2.2.1.tar.gz -> sinatra-2.2.1.tar.gz
_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
-_md5_=b9f99fcae17c56ab036444b96e827be7
+_md5_=b6215dbbeb43d3ede97aec219f08b87b
diff --git a/metadata/md5-cache/dev-ruby/sus-0.13.0 b/metadata/md5-cache/dev-ruby/sus-0.13.0
new file mode 100644
index 000000000000..969e093144bd
--- /dev/null
+++ b/metadata/md5-cache/dev-ruby/sus-0.13.0
@@ -0,0 +1,17 @@
+BDEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby27(-)] ) ) ruby_targets_ruby30? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby30(-)] ) ) ruby_targets_ruby31? ( doc? ( dev-ruby/rdoc[ruby_targets_ruby31(-)] ) ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) test? ( ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] ) )
+DEFINED_PHASES=compile configure install prepare setup test unpack
+DEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+DESCRIPTION=A fast and scalable test runner
+EAPI=8
+HOMEPAGE=https://github.com/ioquatix/sus
+INHERIT=ruby-fakegem
+IUSE=ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 doc test
+KEYWORDS=~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
+LICENSE=MIT
+RDEPEND=ruby_targets_ruby27? ( dev-lang/ruby:2.7 ) ruby_targets_ruby30? ( dev-lang/ruby:3.0 ) ruby_targets_ruby31? ( dev-lang/ruby:3.1 ) ruby_targets_ruby27? ( virtual/rubygems[ruby_targets_ruby27(-)] ) ruby_targets_ruby30? ( virtual/rubygems[ruby_targets_ruby30(-)] ) ruby_targets_ruby31? ( virtual/rubygems[ruby_targets_ruby31(-)] )
+REQUIRED_USE=|| ( ruby_targets_ruby27 ruby_targets_ruby30 ruby_targets_ruby31 )
+RESTRICT=!test? ( test )
+SLOT=0
+SRC_URI=https://github.com/ioquatix/sus/archive/refs/tags/v0.13.0.tar.gz -> sus-0.13.0.tar.gz
+_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 multilib 5ca4e49abed8e3a2f7b56920eadee157 ruby-fakegem b4704898f1b861fc19d465c8af7abe9c ruby-ng 1147c87e94def682fd485ce7a14a86c2 ruby-utils 97c8e15d89dc6537e36cddedf413ed22 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
+_md5_=b30c0351b6b96b2188a6d5f75b2a570d
diff --git a/metadata/md5-cache/dev-util/Manifest.gz b/metadata/md5-cache/dev-util/Manifest.gz
index 5d8fc90d6964..f7eb31b52a79 100644
--- a/metadata/md5-cache/dev-util/Manifest.gz
+++ b/metadata/md5-cache/dev-util/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/dev-util/dmake-4.13.1 b/metadata/md5-cache/dev-util/dmake-4.13.1
index b3d296a7150c..19daf050caed 100644
--- a/metadata/md5-cache/dev-util/dmake-4.13.1
+++ b/metadata/md5-cache/dev-util/dmake-4.13.1
@@ -3,8 +3,8 @@ DEFINED_PHASES=install prepare
DESCRIPTION=Improved make
EAPI=7
HOMEPAGE=https://jimjag.github.io/dmake/
-KEYWORDS=amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos
+KEYWORDS=amd64 ppc ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos
LICENSE=GPL-1
SLOT=0
SRC_URI=https://github.com/jimjag/dmake/archive/v4.13.1/dmake-4.13.1.tar.gz
-_md5_=8f9f3c58abfcd724a87f68da15883284
+_md5_=2612e7103245e7db436828eb16bf0360
diff --git a/metadata/md5-cache/sys-kernel/Manifest.gz b/metadata/md5-cache/sys-kernel/Manifest.gz
index 28b42e2d3a4b..d6c4273b303b 100644
--- a/metadata/md5-cache/sys-kernel/Manifest.gz
+++ b/metadata/md5-cache/sys-kernel/Manifest.gz
Binary files differ
diff --git a/metadata/md5-cache/sys-kernel/vanilla-sources-6.0.2 b/metadata/md5-cache/sys-kernel/vanilla-sources-6.0.3
index 652b44dc4bbd..598db41e2885 100644
--- a/metadata/md5-cache/sys-kernel/vanilla-sources-6.0.2
+++ b/metadata/md5-cache/sys-kernel/vanilla-sources-6.0.3
@@ -9,7 +9,7 @@ KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sp
LICENSE=GPL-2
RDEPEND=!build? ( app-arch/cpio dev-lang/perl sys-devel/bc sys-devel/bison sys-devel/flex sys-devel/make >=sys-libs/ncurses-5.2 virtual/libelf virtual/pkgconfig )
RESTRICT=binchecks strip
-SLOT=6.0.2
-SRC_URI=https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.0.2.xz https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.0.tar.xz
+SLOT=6.0.3
+SRC_URI=https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.0.3.xz https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.0.tar.xz
_eclasses_=estack 055c42df72f76a4f45ec92b35e83cd56 kernel-2 6058f6e6a6269e48cd88f4956944c8d5 multilib 5ca4e49abed8e3a2f7b56920eadee157 multiprocessing b4e253ab22cef7b1085e9b67c7a3b730 toolchain-funcs 441f754fd75cd4fd1fa06fbc17da6144
_md5_=5e76cbc485785140dfc1cbb402aa4bcc
diff --git a/metadata/news/Manifest b/metadata/news/Manifest
index 09d1ce4a4616..83cb5d6b7215 100644
--- a/metadata/news/Manifest
+++ b/metadata/news/Manifest
@@ -2,22 +2,22 @@
Hash: SHA512
MANIFEST Manifest.files.gz 14053 BLAKE2B c0a5bea7cd069c2e9b07dab158b876c74e027945a8fdd50fee280ec7abb59b03a223e89d53d1563fc784c8a353890e9928577f3cf4c4daaf3eebee6f871aa5c0 SHA512 43691780e35724149b779ecf32c3d83556a2e30fb3c35c56b8841fc4c866de83cb09e4b9be3071940181a4933de197417647dd3921df2f61e100510b23a9e327
-TIMESTAMP 2022-10-22T20:09:43Z
+TIMESTAMP 2022-10-23T02:13:09Z
-----BEGIN PGP SIGNATURE-----
-iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmNUTgdfFIAAAAAALgAo
+iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmNUozZfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
-klD0lg/+PkAVQe6pGEhID4sM+M1Wh+ukxBtKS0GsrWp9bwNDJALrU2+0K+JC5TpK
-+ApGgMO5cT0XB59i7cftpTG3okhaF0St2xB4iBUFFhRY+0kQLemGvM/VT9VpnDZZ
-4iB4hB2YCLLj2KsbT+gNys5xtw4XBTwodQccjHw2CnQ/MLx4Kdl0SBjm44TJGMEk
-YOV45Jnja/Qmk70CzI0pdYxtpMimRjLl2w/prOyexydClKRs2hVw6/AjtNgsXQ9/
-YRmrqYbxsCMQ0dMobGKQbD8FxhoXDuwPiQUmN0ctoxX6MfTZnZzq85/Phkxh8Cxe
-JdjE7FmvVl2dcGgAQLscEHBqhk0f+9Y5IoLa6CtHpg5chy5BoCH3q2CcDD1rhxoI
-Gkb3pW014I/LiYyeB50gWugNfgPTjGqJgoJhtxEHtUGmIOPOdd3Tx+nJUdZbzulA
-uIaVI/rPSltd3LOR8tKqmRXE44Jc6XkchemxVpMW0b2CftdxQZbPzRwmIZwa1R8a
-p4sri2B9wFN5BIPrnKABOu3wtV05+rHCaXM4yDjGmXQtWeYh1fkHuJ20YO9ccDh2
-nFZ8vCqXJePKrPDxsonQivxX4yJX4SL/EpB5je6D/5/xdOZr0SY/2FYjxiozTpuz
-yFJ8D6A62ZK3lQFTTWm1cpEbv0TXovwLsTiYQCENk7g1jeJkncA=
-=YDSj
+klCzsA/9E3d0CJNoDAKd2meO5ndk8z8ht4y05W2ou1s0Vu3TsUDPlUeD/Dcd4SOR
+3cyHaUNmN563DSGsaJNz0/LTn+UtV9rohCVRHNWveo4CCSuFw4Go+brJeSNa2j0w
+pdwg6AuVC0v36UOPCvAfNlPclj8+yN569ZhgBBVQXNp0o9kKRfJQbVQQCdikG1Jo
+9O63skz+1V1TxtY9V9Mg+PUW2lER0MUkgXVKw1WNK2YaFLS+Z7rDw0K2NFPogppR
+gYKeELs1IMzRoG3bUja+873yrkQwNU629fiVJe76gLXBpEP3HQnKq518FFCGrqIz
+CUpC2WDuKxAOVS0Ws0uJAY8KLuf9Y6SIIa41LKN4JkktiI1oZYr4z7T1ElQoH2qs
+g+GeZNgxq4II5FgnaezdpN3AXDzN1MW9ZCyoxyAAh6k02WFovIgw571Z6BpYZGAK
+VIgfhOLz/Flx6hgHZZfPS8HYiytcWX1LLJdRkr1JL7QKAxwecVxLuPPWZd3J3w0u
+pnK4HVD3xDj0iMAAfUEUqbOhdEthUJYCHbEzZPvnITu4MqtmVkzVXgBY7x/ChcPo
+0vcRHT+T9VutZOdXJs4V4HdL0Oo4XRy/JhT8at5ziVtt0OkjR/DKdEYtLjr3NxiY
+w2cuI7QKzJ8r9XkdM3sjIFYLeIjgE8hT0b4RTuqa6L15UuHcMuM=
+=cMKK
-----END PGP SIGNATURE-----
diff --git a/metadata/news/timestamp.chk b/metadata/news/timestamp.chk
index 0ec4210ec014..5de9c7316de5 100644
--- a/metadata/news/timestamp.chk
+++ b/metadata/news/timestamp.chk
@@ -1 +1 @@
-Sat, 22 Oct 2022 20:09:40 +0000
+Sun, 23 Oct 2022 02:13:06 +0000
diff --git a/metadata/timestamp b/metadata/timestamp
index 60f7eff8997b..1940f1d566da 100644
--- a/metadata/timestamp
+++ b/metadata/timestamp
@@ -1 +1 @@
-Sat Oct 22 08:09:40 PM UTC 2022
+Sun Oct 23 02:13:05 AM UTC 2022
diff --git a/metadata/timestamp.chk b/metadata/timestamp.chk
index 891a2d0a4ef4..c26220765865 100644
--- a/metadata/timestamp.chk
+++ b/metadata/timestamp.chk
@@ -1 +1 @@
-Sat, 22 Oct 2022 20:15:01 +0000
+Sun, 23 Oct 2022 02:15:01 +0000
diff --git a/metadata/timestamp.commit b/metadata/timestamp.commit
index 2766b8710e98..6118a357bbcf 100644
--- a/metadata/timestamp.commit
+++ b/metadata/timestamp.commit
@@ -1 +1 @@
-e83179d47a2ad459ed43efe94d080f1dd81d16f1 1666467380 2022-10-22T19:36:20+00:00
+659f068492aff6728274489ee2b58628e995a48e 1666477032 2022-10-22T22:17:12+00:00
diff --git a/metadata/timestamp.x b/metadata/timestamp.x
index 967c47b859e4..6b2f3b94c146 100644
--- a/metadata/timestamp.x
+++ b/metadata/timestamp.x
@@ -1 +1 @@
-1666469401 Sat 22 Oct 2022 08:10:01 PM UTC
+1666491001 Sun 23 Oct 2022 02:10:01 AM UTC
diff --git a/metadata/xml-schema/timestamp.chk b/metadata/xml-schema/timestamp.chk
index 0ec4210ec014..5de9c7316de5 100644
--- a/metadata/xml-schema/timestamp.chk
+++ b/metadata/xml-schema/timestamp.chk
@@ -1 +1 @@
-Sat, 22 Oct 2022 20:09:40 +0000
+Sun, 23 Oct 2022 02:13:06 +0000
diff --git a/sys-kernel/Manifest.gz b/sys-kernel/Manifest.gz
index 3d62756f291a..ac1f8d26f4df 100644
--- a/sys-kernel/Manifest.gz
+++ b/sys-kernel/Manifest.gz
Binary files differ
diff --git a/sys-kernel/vanilla-sources/Manifest b/sys-kernel/vanilla-sources/Manifest
index e66b445155cc..58dc64bd66fc 100644
--- a/sys-kernel/vanilla-sources/Manifest
+++ b/sys-kernel/vanilla-sources/Manifest
@@ -13,7 +13,7 @@ DIST patch-5.10.149.xz 3741308 BLAKE2B 0a28427c3f2f303a65d0f10598e8ff0b09cba8593
DIST patch-5.15.74.xz 2819580 BLAKE2B d8ac75f9fbf69e393b23014c1bc44b51982e40f767bd2fbb2fcc6f130c4458a70118991378f743c8ececf09e68dcb4cf6da8fa673f1706b19edd4833bfe3c0c4 SHA512 c48120c5067003deb6b6ee057a1e6a3b635e2c1ff72435ced83d894d1b4ee03ca792d72777185db94e844e7fb5a4a49a98e6c906eb2cfaef87b96b7c8de5f622
DIST patch-5.19.16.xz 864880 BLAKE2B b06e618246af0dc9c3bf0f050cba36e054377ec7ba2845e4ab6b8287ff828629c8e20ac89107f101395a94ebca4f3d200f82a19f9c8c951f24e51b231c3b3649 SHA512 b5a1df4158a0e1fb303fbbd9ef2c1acd5fdf725e285ed42d66224c91ae1bd6fa2e784e1a537a73ad9a56fe522cb6413042d24f10d049868ac7b7e232f01cafe5
DIST patch-5.4.219.xz 4273732 BLAKE2B 158be8c3a2e9212f9db93c3cb2f01d6a32d7f5944d26b6c37aec82c5b98db75a72577a5795dc040b5fe27fcbf26fe6041d1e22fafe843ac7b1e2f8503a97d59d SHA512 6d953eb0458cd102cf09baff20b47404f0fced2b43be7b6ddfc6b09dfd2c70e00ccb60cb9abf48c6a307522b943c3587a4d4ffe95f77a6415e844639685d242b
-DIST patch-6.0.2.xz 20776 BLAKE2B a112b9b62b2084ff4721a10fbe699e3b93ab591a34fb13dc3088a85209b638bfbd6067e81a6c225dd0825bffbfdb902292d2d8edd8f80f5abd6111c62315f80a SHA512 10b2c1af9cbf2335a1b449de3ee674c68ae2ae1ac4bdc27b6e7692c5152fb3cd096388044c0e0ee6054b106d6eface9af41d746adf8f8264d738e9c8f73a3784
+DIST patch-6.0.3.xz 268364 BLAKE2B 6b3b4e0853e93aa162bf3e1836e38e62fb3be764bc07dcb4ecce1e36a1cad947553b4ae1ac2ac943b0cc66be2a408d4319e720b86ff5fffc166dfe292bc3c455 SHA512 fb819870e62e823bc7b91fad83baf2c8481859837e861e1db241d017b9d5f1121df4bb892edce35c0c5653252fbaca7b9c1c0eaacda30063523c608a839afd51
EBUILD vanilla-sources-4.14.295.ebuild 432 BLAKE2B dda6f8423db373ff759a5e27c8f6cf326e02492808a2988a5951c341b6fe1a04c0227177d5ee976407105283f373dc2873b17ee9d9f8f5932a0543e1fcab2b5f SHA512 db937cc0131f564666e60b413339241c1281b4a4be7dd6cf8191f4738ada75890caa09f25bdb6ff9ac6b4ff01afb21837eeb86ae632448525f5aab560380f942
EBUILD vanilla-sources-4.19.261.ebuild 432 BLAKE2B dda6f8423db373ff759a5e27c8f6cf326e02492808a2988a5951c341b6fe1a04c0227177d5ee976407105283f373dc2873b17ee9d9f8f5932a0543e1fcab2b5f SHA512 db937cc0131f564666e60b413339241c1281b4a4be7dd6cf8191f4738ada75890caa09f25bdb6ff9ac6b4ff01afb21837eeb86ae632448525f5aab560380f942
EBUILD vanilla-sources-4.9.330.ebuild 432 BLAKE2B dda6f8423db373ff759a5e27c8f6cf326e02492808a2988a5951c341b6fe1a04c0227177d5ee976407105283f373dc2873b17ee9d9f8f5932a0543e1fcab2b5f SHA512 db937cc0131f564666e60b413339241c1281b4a4be7dd6cf8191f4738ada75890caa09f25bdb6ff9ac6b4ff01afb21837eeb86ae632448525f5aab560380f942
@@ -21,5 +21,5 @@ EBUILD vanilla-sources-5.10.149.ebuild 432 BLAKE2B dda6f8423db373ff759a5e27c8f6c
EBUILD vanilla-sources-5.15.74.ebuild 432 BLAKE2B dda6f8423db373ff759a5e27c8f6cf326e02492808a2988a5951c341b6fe1a04c0227177d5ee976407105283f373dc2873b17ee9d9f8f5932a0543e1fcab2b5f SHA512 db937cc0131f564666e60b413339241c1281b4a4be7dd6cf8191f4738ada75890caa09f25bdb6ff9ac6b4ff01afb21837eeb86ae632448525f5aab560380f942
EBUILD vanilla-sources-5.19.16.ebuild 432 BLAKE2B dda6f8423db373ff759a5e27c8f6cf326e02492808a2988a5951c341b6fe1a04c0227177d5ee976407105283f373dc2873b17ee9d9f8f5932a0543e1fcab2b5f SHA512 db937cc0131f564666e60b413339241c1281b4a4be7dd6cf8191f4738ada75890caa09f25bdb6ff9ac6b4ff01afb21837eeb86ae632448525f5aab560380f942
EBUILD vanilla-sources-5.4.219.ebuild 432 BLAKE2B dda6f8423db373ff759a5e27c8f6cf326e02492808a2988a5951c341b6fe1a04c0227177d5ee976407105283f373dc2873b17ee9d9f8f5932a0543e1fcab2b5f SHA512 db937cc0131f564666e60b413339241c1281b4a4be7dd6cf8191f4738ada75890caa09f25bdb6ff9ac6b4ff01afb21837eeb86ae632448525f5aab560380f942
-EBUILD vanilla-sources-6.0.2.ebuild 432 BLAKE2B dda6f8423db373ff759a5e27c8f6cf326e02492808a2988a5951c341b6fe1a04c0227177d5ee976407105283f373dc2873b17ee9d9f8f5932a0543e1fcab2b5f SHA512 db937cc0131f564666e60b413339241c1281b4a4be7dd6cf8191f4738ada75890caa09f25bdb6ff9ac6b4ff01afb21837eeb86ae632448525f5aab560380f942
+EBUILD vanilla-sources-6.0.3.ebuild 432 BLAKE2B dda6f8423db373ff759a5e27c8f6cf326e02492808a2988a5951c341b6fe1a04c0227177d5ee976407105283f373dc2873b17ee9d9f8f5932a0543e1fcab2b5f SHA512 db937cc0131f564666e60b413339241c1281b4a4be7dd6cf8191f4738ada75890caa09f25bdb6ff9ac6b4ff01afb21837eeb86ae632448525f5aab560380f942
MISC metadata.xml 340 BLAKE2B e283ab9d2ebb7212e3ba37850c93761f165b4697a2ee6dbf07a67ce907df8ec71b3290a411cb81af8d8d8869b7e45c572487d4d2667dc0a0971986f0f6d1aa8e SHA512 bd0f7f570230dd5bd9f6e270345a3ebc556eb2dbcd19b04e33b5c6df8d9e6735a6e23fe934b39d9ef130ab5e78c6fdd29d7a167cb8ee4ac8ce919c75cec7425c
diff --git a/sys-kernel/vanilla-sources/vanilla-sources-6.0.2.ebuild b/sys-kernel/vanilla-sources/vanilla-sources-6.0.3.ebuild
index 39693afef068..39693afef068 100644
--- a/sys-kernel/vanilla-sources/vanilla-sources-6.0.2.ebuild
+++ b/sys-kernel/vanilla-sources/vanilla-sources-6.0.3.ebuild