summaryrefslogtreecommitdiff
path: root/dev-ruby
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-02 02:07:07 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-02 02:07:07 +0000
commitd4f65848c7ecabb56e2f93889cbd20078cd347f7 (patch)
tree180032f5afeb689db6a270d612f3e3364ed8fd2b /dev-ruby
parentc635a4b7ddb6105bfc6fef130b188a087726677b (diff)
gentoo auto-resync : 02:12:2024 - 02:07:07
Diffstat (limited to 'dev-ruby')
-rw-r--r--dev-ruby/Manifest.gzbin111199 -> 111047 bytes
-rw-r--r--dev-ruby/brotli/Manifest2
-rw-r--r--dev-ruby/brotli/brotli-0.6.0-r1.ebuild39
-rw-r--r--dev-ruby/brotli/files/brotli-0.6.0-definemethod.patch46
-rw-r--r--dev-ruby/io-event/Manifest4
-rw-r--r--dev-ruby/io-event/files/io-event-1.6.5-update-test-hooks.patch157
-rw-r--r--dev-ruby/io-event/io-event-1.5.1-r1.ebuild (renamed from dev-ruby/io-event/io-event-1.6.5.ebuild)4
-rw-r--r--dev-ruby/io-event/io-event-1.6.5-r1.ebuild40
-rw-r--r--dev-ruby/ruby-opengl/Manifest3
-rw-r--r--dev-ruby/ruby-opengl/metadata.xml11
-rw-r--r--dev-ruby/ruby-opengl/ruby-opengl-0.10.0-r1.ebuild39
-rw-r--r--dev-ruby/typhoeus/Manifest3
-rw-r--r--dev-ruby/typhoeus/metadata.xml12
-rw-r--r--dev-ruby/typhoeus/typhoeus-1.4.1.ebuild46
-rw-r--r--dev-ruby/with_advisory_lock/Manifest3
-rw-r--r--dev-ruby/with_advisory_lock/metadata.xml18
-rw-r--r--dev-ruby/with_advisory_lock/with_advisory_lock-5.1.0.ebuild41
17 files changed, 353 insertions, 115 deletions
diff --git a/dev-ruby/Manifest.gz b/dev-ruby/Manifest.gz
index 3d3b082a069a..c6805bc75827 100644
--- a/dev-ruby/Manifest.gz
+++ b/dev-ruby/Manifest.gz
Binary files differ
diff --git a/dev-ruby/brotli/Manifest b/dev-ruby/brotli/Manifest
index c77f25d9a07b..da90b79e0605 100644
--- a/dev-ruby/brotli/Manifest
+++ b/dev-ruby/brotli/Manifest
@@ -1,5 +1,7 @@
+AUX brotli-0.6.0-definemethod.patch 2343 BLAKE2B c7843eab1168e5dd226e1722a2eced07a8183b6ae2309f8872f20afefa4db8ab4cc7091f6527a33e6581ac4b9d2c317dbd5ef43dd4fc9a3ea41c4e6aa965102e SHA512 f62fd18a372788e2806079ce1798513522638f62c03215a987c847dceb82e1d13e9b297cc3c2e78b5a6520c0c5d01f35eda14610b233b310e1950bae5cceb360
DIST brotli-0.4.0.tar.gz 9460 BLAKE2B b5d5e490c3ab086d6817c1ecc9143aefe88487d65d6774bda939b25bdb6aaaea4e28d99e01d49b90dbbccceba6643c0b5fdab0cea930eaf1661454996e61fab7 SHA512 7d1d2a1343aec11e840d840358d7d27b4ef93954bc17170d581b16d46191902b6fdf6380344f0d172e5e7f3fc0948146312659a44dc95973ec30ac3344f4a656
DIST brotli-0.6.0.tar.gz 9546 BLAKE2B 82e6bf5d49466b1f08c3ffdf6d4607e9af33d2e5ae8b1e006c518a1effadd294068aac94ac2566a81930168525c0e55ffc6274c5a90d7429be6599734b948fa5 SHA512 b48dad753d823a4a26ca98614a681ac14b2191b0d4ea3be2a8bdc3f457ddf21504ad1703ab307821d408785301e1554ac91f8ffed35609c89a9e9a38b1640760
EBUILD brotli-0.4.0-r2.ebuild 874 BLAKE2B a1c0bdca9d4d9e9fbea0cb120f428a78151ef280b93325179bc60a24e97847ec2af25f7b622dc224f8a2f6d39f9cb02caf375d8c64224078c1d07293c06b6708 SHA512 6865caae1a0f242b3520c889a98dd01de0e3a99bb74e383972b84fe743b6ae3a0f597acc315ddaca852f20d042266f97eed40a8590210cfceb4922e11f50702f
+EBUILD brotli-0.6.0-r1.ebuild 916 BLAKE2B db5435ab6f0046de593674ae98db7e9e45bd4144570be5771b21744398e3a8a37c7f1184fcb7398046cf3d69e106f97d0eae5e3ff21257c280656526ae30761f SHA512 ae403dbb67c1694ceedf3a045a1b4ead7289d8d3958c93fbc95bde525a661e4ace4283a15670c49effc8d9fc0765ba922644526eb531b7f84aaece526e627380
EBUILD brotli-0.6.0.ebuild 864 BLAKE2B 9591c7428b0a4fa7ce31e40fa3a8f4f72924dcece46d8704987f795fc9bbbdbba6df9ecb5231057735ca8f730bd226eb29b44bcd0cbf06aed8d4e3b4b0e9e142 SHA512 93487b708083e8c970d732a1456aa69fc7a66954ce5fdddbcb36988fb26c5a3bb56b0df5c2287b6315856a3c5c40663e57dd123e6d9e961a802306ce3aa260ba
MISC metadata.xml 340 BLAKE2B 25156a37a996a4091ff75bb3cc45ba8d9fc65653fab708f0779a6606113492f0b0723b914d43e9dea4a6eb0d06325c5b4a31212b1389b82f845ef1a541a0f2fe SHA512 0b7485f8ba6fa314acda731d7f5cca43dbca1fab14cc928d2c239635b91dae19a10c2680b3c9526e6018c6f515d57ec87354e2e76ad75863408c38b9d5153ecc
diff --git a/dev-ruby/brotli/brotli-0.6.0-r1.ebuild b/dev-ruby/brotli/brotli-0.6.0-r1.ebuild
new file mode 100644
index 000000000000..82a17cf60d1f
--- /dev/null
+++ b/dev-ruby/brotli/brotli-0.6.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby31 ruby32 ruby33"
+
+RUBY_FAKEGEM_EXTRADOC="README.md"
+
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+RUBY_FAKEGEM_BINWRAP=""
+
+RUBY_FAKEGEM_GEMSPEC="brotli.gemspec"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/brotli/extconf.rb)
+
+inherit ruby-fakegem
+
+DESCRIPTION="Brotli compressor/decompressor"
+HOMEPAGE="https://github.com/miyucy/brotli"
+SRC_URI="https://github.com/miyucy/brotli/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64"
+
+RDEPEND=" >=app-arch/brotli-1.1.0"
+DEPEND=" >=app-arch/brotli-1.1.0"
+
+# Depends on the test data in app-arch/brotli
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}/${P}-definemethod.patch" )
+
+all_ruby_prepare() {
+ sed -e 's/git ls-files -z -- spec/find spec -print0/' \
+ -e 's/git ls-files -z/find * -print0/' \
+ -i ${RUBY_FAKEGEM_GEMSPEC} || die
+}
diff --git a/dev-ruby/brotli/files/brotli-0.6.0-definemethod.patch b/dev-ruby/brotli/files/brotli-0.6.0-definemethod.patch
new file mode 100644
index 000000000000..1338c5bf3be2
--- /dev/null
+++ b/dev-ruby/brotli/files/brotli-0.6.0-definemethod.patch
@@ -0,0 +1,46 @@
+From 8e589adb92a7d5c8c9e8d35bb116ad5ab0686e30 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?=
+ <shyouhei@ruby-lang.org>
+Date: Tue, 26 Nov 2024 13:42:54 +0900
+Subject: [PATCH] stop worrying and just pass bare function
+
+`rb_define_method` etc. already take care arities. You don't have
+to apply RUBY_METHOD_FUNC.
+---
+ ext/brotli/brotli.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/ext/brotli/brotli.c b/ext/brotli/brotli.c
+index cb69500..a9cc23d 100644
+--- a/ext/brotli/brotli.c
++++ b/ext/brotli/brotli.c
+@@ -475,9 +475,9 @@ Init_brotli(void)
+ rb_mBrotli = rb_define_module("Brotli");
+ rb_eBrotli = rb_define_class_under(rb_mBrotli, "Error", rb_eStandardError);
+ rb_global_variable(&rb_eBrotli);
+- rb_define_singleton_method(rb_mBrotli, "deflate", RUBY_METHOD_FUNC(brotli_deflate), -1);
+- rb_define_singleton_method(rb_mBrotli, "inflate", RUBY_METHOD_FUNC(brotli_inflate), 1);
+- rb_define_singleton_method(rb_mBrotli, "version", RUBY_METHOD_FUNC(brotli_version), 0);
++ rb_define_singleton_method(rb_mBrotli, "deflate", brotli_deflate, -1);
++ rb_define_singleton_method(rb_mBrotli, "inflate", brotli_inflate, 1);
++ rb_define_singleton_method(rb_mBrotli, "version", brotli_version, 0);
+ id_read = rb_intern("read");
+ // Brotli::Writer
+ id_write = rb_intern("write");
+@@ -485,9 +485,9 @@ Init_brotli(void)
+ id_close = rb_intern("close");
+ rb_Writer = rb_define_class_under(rb_mBrotli, "Writer", rb_cObject);
+ rb_define_alloc_func(rb_Writer, rb_writer_alloc);
+- rb_define_method(rb_Writer, "initialize", RUBY_METHOD_FUNC(rb_writer_initialize), -1);
+- rb_define_method(rb_Writer, "write", RUBY_METHOD_FUNC(rb_writer_write), 1);
+- rb_define_method(rb_Writer, "finish", RUBY_METHOD_FUNC(rb_writer_finish), 0);
+- rb_define_method(rb_Writer, "flush", RUBY_METHOD_FUNC(rb_writer_flush), 0);
+- rb_define_method(rb_Writer, "close", RUBY_METHOD_FUNC(rb_writer_close), 0);
++ rb_define_method(rb_Writer, "initialize", rb_writer_initialize, -1);
++ rb_define_method(rb_Writer, "write", rb_writer_write, 1);
++ rb_define_method(rb_Writer, "finish", rb_writer_finish, 0);
++ rb_define_method(rb_Writer, "flush", rb_writer_flush, 0);
++ rb_define_method(rb_Writer, "close", rb_writer_close, 0);
+ }
+--
+2.47.0
diff --git a/dev-ruby/io-event/Manifest b/dev-ruby/io-event/Manifest
index a55fad4e171a..ea2f0fef184d 100644
--- a/dev-ruby/io-event/Manifest
+++ b/dev-ruby/io-event/Manifest
@@ -1,3 +1,4 @@
+AUX io-event-1.6.5-update-test-hooks.patch 3793 BLAKE2B ca9deed8d71e39c10a326f3d9fade1cdf7ffd1c5ee3e0f222b260d1627106a484c53c9d023860fa36c6a459b7e71aaaa98fe9e2b0aec815ed7d91a1c7343dca9 SHA512 5830f83c308e7b0c3271ed74e2cde417b3a7a587e5594d01c17676b3d9c462045f324c3961b1d674160833412a12482c7cf29add8d6f08dc1b8b6d322dea616d
DIST io-event-1.1.7.tar.gz 35211 BLAKE2B d288ec902c4d775b49315d4eeda8bb0582b7444e7adc60846283fbffbe8ecec6e13c1bc7ce898c4aaf3e78d5eeee2602045f9bde561f6f50c797b7aecb3d7b01 SHA512 f61d0eb7203b4bd4b38d1f42a23c67d4ae04dbbb4c7018149d52db440d769131581347198f4a6da6e99aaa1ac526ad1c1cb9d56ecf48c1fc70fbf1b62fb161e7
DIST io-event-1.5.1.tar.gz 47618 BLAKE2B 239beebca88dac137ab826df0da9f4c7a0b910a9401e46a542dd73a151009ca6d3b0d94584421a039e693e1f5e3f40e37fa98611ff8f603dc5d4bd30bc0788e3 SHA512 71f343ffdcabde14f1737574e66c198934cdf5c88db0c9dc58106da588a7156d4b36cd2a3bd0552758468bcd78c8ee3ae1d59eb0432f7e66f57e3d9dfe75fa3d
DIST io-event-1.6.5.tar.gz 51000 BLAKE2B 72720b03c87afd220c083098114f45dd4a523bfd3145e8988644ad1112c52ba0eafc8082c3ca23f54253921ceb96d544097722c3585390f7793fb2bb58ead20b SHA512 fd8a6b9a8a2952a2114a325a630b8cc0455679c4538901573be8dd0d342389872d5ec613c70138155f996c11d550b58003a71bee75cfec599db51812e03ec042
@@ -5,8 +6,9 @@ DIST io-event-1.6.7.tar.gz 52366 BLAKE2B 32eec78a33d145c3bb1b0623a103bfdac269eea
DIST io-event-1.7.3.tar.gz 54709 BLAKE2B ba0abb3fadcd4e297379144d3efe2311684957168aef150c10af24791889c659f744aa490b3525de5124915960a3426ffaa98a04b562230c00f4896341d4cf2b SHA512 9393cf223f2a020b06da0cd7f160816fb7e8294a29075d7cc68441723c8b19f025e42f15a5e42bf9af01b3eb6b4dadab8dd4461fc69c932639a9bf1e522c5b9e
DIST io-event-1.7.4.tar.gz 54690 BLAKE2B 3d001c04bfa2aade9a27bb67d4bafbedcbe50069c2cd3e8206240e791fc139e20de4564192e683a7ea223b0eb0c2bda3d66d68706b52e788a745e971cc028ffa SHA512 14d703fcc6858d7bf40b17b10c2dfeccdfbf33de098c3dd17f4164fe313e841c01574d384b0b9c3ebfca3c944042c81393d303522834f7037227b790c0b4b8c5
EBUILD io-event-1.1.7.ebuild 864 BLAKE2B 037dc38604de903a4042610ba47c7328911e9092e3ca19b0822c2f7e2439d1fa013682efb1cfa34f7e1d8a2b00ee5bfa8afeb2a2694b98418686af56007ea1de SHA512 d3cc42893d9bf4a7aa00564306259bdbea3d5fbc602e8359889d023e31ad8b786595c2dc319755b6b1c2efc802efabd9b67551c1408bb1b754a97f8f9d9d3ef3
+EBUILD io-event-1.5.1-r1.ebuild 1054 BLAKE2B 903a04fa73ad119daa7ad09c0c64e36ffd04cef53ad9bb992dd14464b0b8ad05e23e878f8a314ea8bf07ce6762b46dad2cdbf87f229186870a38ffc50b82656f SHA512 1e03f38375f7d9752aefee79bca9559588dd8cd841734fd20298cb9662bf4f9813aff20d51a37e718d0d699daee86e2233bc302fe234855fedbfbca321ae0df1
EBUILD io-event-1.5.1.ebuild 988 BLAKE2B 3851f5d2a14eab4ca9d9dbd4c9d4635f126af23cd9e1162ee1076cd881f90e6c392faf74d3991298e4af6d6993d5f3fe463e118c7aa860a51b6ffc8165c7dca4 SHA512 3bcf9806b3a36bf1dd62f0175fdd37bc81573fbea315be288f9bb8fd8caa8231fb2160e45515ee116ea8d7bcc15936f9b1e3ed95570d8973e3ff335dc45524ba
-EBUILD io-event-1.6.5.ebuild 990 BLAKE2B 0ed85c57bfd4c5bb8ce3bd6f4bdd0dd1ac2de8985eb44c2ced441ceefc0416ff50c9ccac0158a1adb7c09c4eecf991de3f51d313f948921c0dffe94f56d1137d SHA512 c3034285f5ca0b111afac0b0ae54ef680435a47fbe8b89de82770a6d73cd29150216c766089748b1b4eeb899b699e0645271e8589eb15b02112ba0753279313e
+EBUILD io-event-1.6.5-r1.ebuild 1054 BLAKE2B 903a04fa73ad119daa7ad09c0c64e36ffd04cef53ad9bb992dd14464b0b8ad05e23e878f8a314ea8bf07ce6762b46dad2cdbf87f229186870a38ffc50b82656f SHA512 1e03f38375f7d9752aefee79bca9559588dd8cd841734fd20298cb9662bf4f9813aff20d51a37e718d0d699daee86e2233bc302fe234855fedbfbca321ae0df1
EBUILD io-event-1.6.7.ebuild 990 BLAKE2B 0ed85c57bfd4c5bb8ce3bd6f4bdd0dd1ac2de8985eb44c2ced441ceefc0416ff50c9ccac0158a1adb7c09c4eecf991de3f51d313f948921c0dffe94f56d1137d SHA512 c3034285f5ca0b111afac0b0ae54ef680435a47fbe8b89de82770a6d73cd29150216c766089748b1b4eeb899b699e0645271e8589eb15b02112ba0753279313e
EBUILD io-event-1.7.3.ebuild 990 BLAKE2B 0ed85c57bfd4c5bb8ce3bd6f4bdd0dd1ac2de8985eb44c2ced441ceefc0416ff50c9ccac0158a1adb7c09c4eecf991de3f51d313f948921c0dffe94f56d1137d SHA512 c3034285f5ca0b111afac0b0ae54ef680435a47fbe8b89de82770a6d73cd29150216c766089748b1b4eeb899b699e0645271e8589eb15b02112ba0753279313e
EBUILD io-event-1.7.4.ebuild 990 BLAKE2B 0ed85c57bfd4c5bb8ce3bd6f4bdd0dd1ac2de8985eb44c2ced441ceefc0416ff50c9ccac0158a1adb7c09c4eecf991de3f51d313f948921c0dffe94f56d1137d SHA512 c3034285f5ca0b111afac0b0ae54ef680435a47fbe8b89de82770a6d73cd29150216c766089748b1b4eeb899b699e0645271e8589eb15b02112ba0753279313e
diff --git a/dev-ruby/io-event/files/io-event-1.6.5-update-test-hooks.patch b/dev-ruby/io-event/files/io-event-1.6.5-update-test-hooks.patch
new file mode 100644
index 000000000000..09e2f96a2223
--- /dev/null
+++ b/dev-ruby/io-event/files/io-event-1.6.5-update-test-hooks.patch
@@ -0,0 +1,157 @@
+From c2ffc28e97a08534e003eaf25abfa35279274263 Mon Sep 17 00:00:00 2001
+From: Samuel Williams <samuel.williams@oriontransfer.co.nz>
+Date: Wed, 4 Sep 2024 20:53:04 +1200
+Subject: [PATCH] Update test before/after hooks.
+
+---
+ test/io/event/selector.rb | 12 ++++--------
+ test/io/event/selector/buffered_io.rb | 4 ++--
+ test/io/event/selector/cancellable.rb | 7 +++----
+ test/io/event/selector/file_io.rb | 4 ++--
+ test/io/event/selector/process_io.rb | 4 ++--
+ test/io/event/selector/queue.rb | 4 ++--
+ 6 files changed, 15 insertions(+), 20 deletions(-)
+
+diff --git a/test/io/event/selector.rb b/test/io/event/selector.rb
+index 760369a6..ee1a53f8 100644
+--- a/test/io/event/selector.rb
++++ b/test/io/event/selector.rb
+@@ -622,14 +622,12 @@ def transfer
+ end
+
+ with 'an instance' do
+- def before
++ before do
+ @loop = Fiber.current
+ @selector = subject.new(@loop)
+- super
+ end
+
+- def after
+- super
++ after do
+ @selector&.close
+ end
+
+@@ -642,14 +640,12 @@ def after
+ end
+
+ describe IO::Event::Debug::Selector do
+- def before
++ before do
+ @loop = Fiber.current
+ @selector = subject.new(IO::Event::Selector.new(loop))
+- super
+ end
+
+- def after
+- super
++ after do
+ @selector&.close
+ end
+
+diff --git a/test/io/event/selector/buffered_io.rb b/test/io/event/selector/buffered_io.rb
+index 3659d717..3b74d569 100644
+--- a/test/io/event/selector/buffered_io.rb
++++ b/test/io/event/selector/buffered_io.rb
+@@ -80,12 +80,12 @@
+ next unless klass.instance_methods.include?(:io_read)
+
+ describe(klass, unique: name) do
+- def before
++ before do
+ @loop = Fiber.current
+ @selector = subject.new(@loop)
+ end
+
+- def after
++ after do
+ @selector&.close
+ end
+
+diff --git a/test/io/event/selector/cancellable.rb b/test/io/event/selector/cancellable.rb
+index 2dfa2bae..cb6c1f2a 100644
+--- a/test/io/event/selector/cancellable.rb
++++ b/test/io/event/selector/cancellable.rb
+@@ -15,8 +15,7 @@
+ let(:input) {pipe.first}
+ let(:output) {pipe.last}
+
+- def after
+- super
++ after do
+ input.close
+ output.close
+ end
+@@ -70,12 +69,12 @@ def after
+ next unless klass.instance_methods.include?(:io_read)
+
+ describe(klass, unique: name) do
+- def before
++ before do
+ @loop = Fiber.current
+ @selector = subject.new(@loop)
+ end
+
+- def after
++ after do
+ @selector&.close
+ end
+
+diff --git a/test/io/event/selector/file_io.rb b/test/io/event/selector/file_io.rb
+index 70a2c962..395a45e3 100644
+--- a/test/io/event/selector/file_io.rb
++++ b/test/io/event/selector/file_io.rb
+@@ -49,12 +49,12 @@
+ next unless klass.instance_methods.include?(:io_read)
+
+ describe(klass, unique: name) do
+- def before
++ before do
+ @loop = Fiber.current
+ @selector = subject.new(@loop)
+ end
+
+- def after
++ after do
+ @selector&.close
+ end
+
+diff --git a/test/io/event/selector/process_io.rb b/test/io/event/selector/process_io.rb
+index cb8c73de..1ccff956 100644
+--- a/test/io/event/selector/process_io.rb
++++ b/test/io/event/selector/process_io.rb
+@@ -43,12 +43,12 @@
+ klass = IO::Event::Selector.const_get(name)
+
+ describe(klass, unique: name) do
+- def before
++ before do
+ @loop = Fiber.current
+ @selector = subject.new(@loop)
+ end
+
+- def after
++ after do
+ @selector&.close
+ end
+
+diff --git a/test/io/event/selector/queue.rb b/test/io/event/selector/queue.rb
+index e62af5c4..8017dc36 100644
+--- a/test/io/event/selector/queue.rb
++++ b/test/io/event/selector/queue.rb
+@@ -198,12 +198,12 @@ def object.transfer
+ klass = IO::Event::Selector.const_get(name)
+
+ describe(klass, unique: name) do
+- def before
++ before do
+ @loop = Fiber.current
+ @selector = subject.new(@loop)
+ end
+
+- def after
++ after do
+ @selector&.close
+ end
+
diff --git a/dev-ruby/io-event/io-event-1.6.5.ebuild b/dev-ruby/io-event/io-event-1.5.1-r1.ebuild
index 54d45037491d..49f3e0ca5c6d 100644
--- a/dev-ruby/io-event/io-event-1.6.5.ebuild
+++ b/dev-ruby/io-event/io-event-1.5.1-r1.ebuild
@@ -24,6 +24,10 @@ IUSE="+io-uring"
RDEPEND="io-uring? ( sys-libs/liburing:= )"
DEPEND="${RDEPEND}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.5-update-test-hooks.patch
+)
+
all_ruby_prepare() {
sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
diff --git a/dev-ruby/io-event/io-event-1.6.5-r1.ebuild b/dev-ruby/io-event/io-event-1.6.5-r1.ebuild
new file mode 100644
index 000000000000..49f3e0ca5c6d
--- /dev/null
+++ b/dev-ruby/io-event/io-event-1.6.5-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32 ruby33"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/extconf.rb)
+RUBY_FAKEGEM_EXTRADOC="readme.md"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+RUBY_FAKEGEM_RECIPE_TEST="sus"
+
+inherit ruby-fakegem
+
+DESCRIPTION="An event loop"
+HOMEPAGE="https://github.com/socketry/io-event"
+SRC_URI="https://github.com/socketry/io-event/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="+io-uring"
+
+RDEPEND="io-uring? ( sys-libs/liburing:= )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.5-update-test-hooks.patch
+)
+
+all_ruby_prepare() {
+ sed -i -E 's/require_relative "(.+)"/require File.expand_path("\1")/g' "${RUBY_FAKEGEM_GEMSPEC}" || die
+
+ # Avoid dependency on unpackaged covered package
+ rm -f config/sus.rb || die
+
+ if ! use io-uring ; then
+ sed -i -e "s:have_library('uring'):have_library('idonotexist_uring'):" ext/extconf.rb || die
+ fi
+}
diff --git a/dev-ruby/ruby-opengl/Manifest b/dev-ruby/ruby-opengl/Manifest
deleted file mode 100644
index ab228391c1ee..000000000000
--- a/dev-ruby/ruby-opengl/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST opengl-0.10.0.gem 565248 BLAKE2B e427590865e7ff13110d22a21d04a936cbdc7e559e80b37be94938a4b15c71ca6341d72bc093a45ca10e7cf419fe720e7c68866724a3c99ddc44314a4b054414 SHA512 8d85d7f8a25e429b18245a10c186d07a85fdc8dc4e158b0001cde2b6e4bacfe4b09552a3b3fba5e14439d2fdbe000ad23bba89563f58f612f79958283b588dde
-EBUILD ruby-opengl-0.10.0-r1.ebuild 846 BLAKE2B b6f14764f45b5c8faab56b28e011bea00a518e49f2f34de196268b64798c904032fd87e1d8af5137f2f95c0fb166fd41323a58066e83a8ee67c8051e6ae150fc SHA512 69907d58cb631db52946c99aea5085f910888d32002d6eca66cb2a919fd57ab662ca92deee5b3cdc06bf47cca17d9743d1ba09ed60befdcc6c4fad74dbd69dd3
-MISC metadata.xml 343 BLAKE2B 54945a00cee8667a145873b8deaf5d66c0e66a570474cf633fc2d03a9138080d4c2d37bd5f6fd222b6c0a266670cc6b9fbc82a66f10fa420c282ef595f834ad5 SHA512 4cac2d060e9080a9dfdb1cf2d58d5e37fab395cf43e08601cb4cae9d5e66295cfab373fac3bfa266e821aef98d49697cd09642688fe43503d91e1476c32fe616
diff --git a/dev-ruby/ruby-opengl/metadata.xml b/dev-ruby/ruby-opengl/metadata.xml
deleted file mode 100644
index 6db1e3c4ddd5..000000000000
--- a/dev-ruby/ruby-opengl/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?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">larskanis/opengl</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-ruby/ruby-opengl/ruby-opengl-0.10.0-r1.ebuild b/dev-ruby/ruby-opengl/ruby-opengl-0.10.0-r1.ebuild
deleted file mode 100644
index fa5b616c6674..000000000000
--- a/dev-ruby/ruby-opengl/ruby-opengl-0.10.0-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-USE_RUBY="ruby31 ruby32 ruby33"
-
-# Two tests fails but the README already indicates that this may not
-# work. Additionally these tests require access to video devices such as
-# /dev/nvidiactl.
-RUBY_FAKEGEM_TASK_TEST=""
-
-RUBY_FAKEGEM_NAME="opengl"
-
-RUBY_FAKEGEM_EXTRADOC="History.md README.rdoc"
-
-RUBY_FAKEGEM_EXTENSIONS=(ext/opengl/extconf.rb)
-RUBY_FAKEGEM_EXTENSION_LIBDIR=(lib/opengl)
-
-inherit ruby-fakegem
-
-DESCRIPTION="OpenGL / GLUT bindings for ruby"
-HOMEPAGE="https://github.com/larskanis/opengl"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ppc ppc64 x86"
-
-IUSE=""
-
-DEPEND+=" virtual/opengl
- media-libs/freeglut"
-RDEPEND+=" virtual/opengl
- media-libs/freeglut"
-
-all_ruby_install() {
- all_fakegem_install
-
- dodoc -r examples
-}
diff --git a/dev-ruby/typhoeus/Manifest b/dev-ruby/typhoeus/Manifest
deleted file mode 100644
index 4cdbe56a50ef..000000000000
--- a/dev-ruby/typhoeus/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST typhoeus-1.4.1.gem 57856 BLAKE2B a1562bcaa8a824d40184b043b85f87475f3d31e6488f5bb87d84b9b37933c3fa090cee5a9b2f4910b31c61d2642ad338b321bb741c33713cd43f8cfd77a842e3 SHA512 2970793dfa94a80abf140779a148d9b8d6ab212ca0072c5353b8d158cc625e023e4c7a28ae8471d18ae3bd8cde46f31aae54bbf7a3fde33e980b533af0f81578
-EBUILD typhoeus-1.4.1.ebuild 1329 BLAKE2B fcdf98d96d4b219a47efd8d5b8657994ffe791d424bc65606907b930a5facc07dc92821f78b75abd1940666bb89240eac448b9f0460c28e2170600a3fa55f487 SHA512 c5017c9221ccb057471806f350252f7a8d171e4ee125d4adf15916dcb96598289b03d3a310532007e4783b647662c8407a1d2b2326c12074c29921fe0ec92977
-MISC metadata.xml 384 BLAKE2B f9b2404ac92e77233601283e52811ee504d139320b17232b7ea47a43d34cfde7234f4168607c7410f87c19d738a1af7a1447a03b042c62334d0bad2908d806c6 SHA512 3a27d3081fb9b59170213edd8fe3af51fd204fca382c72b074fdbfe7b94ba3ca5d08bca123ed4acefe0f8b6763fdeeb89ef505350ca238f8a8f19b20eab0b71c
diff --git a/dev-ruby/typhoeus/metadata.xml b/dev-ruby/typhoeus/metadata.xml
deleted file mode 100644
index 6fbfacef4779..000000000000
--- a/dev-ruby/typhoeus/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?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="rubygems">typhoeus</remote-id>
- <remote-id type="github">typhoeus/typhoeus</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-ruby/typhoeus/typhoeus-1.4.1.ebuild b/dev-ruby/typhoeus/typhoeus-1.4.1.ebuild
deleted file mode 100644
index 5eda113ddead..000000000000
--- a/dev-ruby/typhoeus/typhoeus-1.4.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-USE_RUBY="ruby31 ruby32"
-
-RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md UPGRADE.md"
-RUBY_FAKEGEM_TASK_DOC=""
-
-RUBY_FAKEGEM_RECIPE_TEST="rspec3"
-
-inherit ruby-fakegem
-
-DESCRIPTION="Runs HTTP requests in parallel while cleanly encapsulating handling logic"
-HOMEPAGE="https://rubygems.org/gems/typhoeus/
- https://github.com/typhoeus/typhoeus"
-
-LICENSE="MIT"
-SLOT="1"
-KEYWORDS="~amd64"
-IUSE=""
-
-# Tests fail with ethon-0.16.0
-# https://github.com/typhoeus/typhoeus/issues/710
-ruby_add_rdepend "<dev-ruby/ethon-0.16.0"
-
-ruby_add_bdepend "test? (
- dev-ruby/json
- dev-ruby/faraday:1
- dev-ruby/rack:2.2
- >=dev-ruby/sinatra-1.3
- >=dev-ruby/redis-3.0
- >=dev-ruby/dalli-2.7.9
-)"
-
-all_ruby_prepare() {
- sed -e '/bundler/I s:^:#:' -i Rakefile spec/spec_helper.rb || die
- sed -i -e '3igem "rack", "~> 2.2.0"; gem "faraday", "<2"; require "timeout"' spec/spec_helper.rb || die
- sed -i -e '/Rack::Handler::WEBrick/ s/options/\*\*options/' spec/support/localhost_server.rb || die
-
- # Avoid specs failing because default headers are provided or
- # checked now, probably due to changes in either rack or webrick.
- sed -e '/calls on_headers and on_\(body\|complete\)/ s/it/xit/' \
- -i spec/typhoeus/request/operations_spec.rb || die
-}
diff --git a/dev-ruby/with_advisory_lock/Manifest b/dev-ruby/with_advisory_lock/Manifest
new file mode 100644
index 000000000000..ed1e97e1bedd
--- /dev/null
+++ b/dev-ruby/with_advisory_lock/Manifest
@@ -0,0 +1,3 @@
+DIST with_advisory_lock-5.1.0.tar.gz 15090 BLAKE2B a559c064793ee205785931eb38af59261b83b7264bfe80d9e5e7e5edcd21ef7e06d2e8cb7b0d4f45b820dda4fb9537925b457e5817c540868993a88d1eb623e2 SHA512 9b949a9c863e8c670230f75cdc10bcd8fe64ac8421e3a25c3c4fefc5470773e49515fe9f3093128cccafb3ef06bb435f06ed5986369c26c72cbe958b8d1a0ea2
+EBUILD with_advisory_lock-5.1.0.ebuild 1028 BLAKE2B 9c5466e51c16447a8ca1f15ba9c9ed82fa0a9014152cb2be3b02f09ce71b585055e760533b6f9c1995ac54e15c0122697fd417fde7e58854d4f390e12c90d381 SHA512 3bb95eb96038caaf0b290e65e4cc606fa2e6776626c36ff88c00eb9946e2f53cb73f5bbadf41ba5ead490bd0293dffcc38f628b12b338da08488e976ae65fa2e
+MISC metadata.xml 585 BLAKE2B 1b229b4220fc7cd00e8093bd5aa16d751262479277a1a2566c984b21f60ec25fa074d4f79ccf5695d101e22a43e0a287c5a9dba4cbea2a4f877a1f22cb702e9c SHA512 f621cac1a4f291aa631d6d8b0ae01ed9bec802ca2b4118223030df3e5c1ea8e65224ed2090dfd42b162a1f1da6570a0bdcc0c76de35f9e62d0b8274fc3d958f7
diff --git a/dev-ruby/with_advisory_lock/metadata.xml b/dev-ruby/with_advisory_lock/metadata.xml
new file mode 100644
index 000000000000..93e316aab806
--- /dev/null
+++ b/dev-ruby/with_advisory_lock/metadata.xml
@@ -0,0 +1,18 @@
+<?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>
+ </maintainer>
+ <maintainer type="person">
+ <email>azamat.hackimov@gmail.com</email>
+ <name>Azamat H. Hackimov</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ClosureTree/with_advisory_lock</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/with_advisory_lock/with_advisory_lock-5.1.0.ebuild b/dev-ruby/with_advisory_lock/with_advisory_lock-5.1.0.ebuild
new file mode 100644
index 000000000000..5e73f669115c
--- /dev/null
+++ b/dev-ruby/with_advisory_lock/with_advisory_lock-5.1.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32 ruby33"
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
+RUBY_FAKEGEM_RECIPE_TEST="rake"
+RUBY_FAKEGEM_RECIPE_DOC="none"
+
+inherit ruby-fakegem
+
+DESCRIPTION="Advisory locking for ActiveRecord"
+HOMEPAGE="https://github.com/ClosureTree/with_advisory_lock"
+SRC_URI="https://github.com/ClosureTree/with_advisory_lock/archive/refs/tags/${PN}/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+ruby_add_rdepend "
+ >=dev-ruby/activerecord-6.1:*
+ >=dev-ruby/zeitwerk-2.6
+"
+ruby_add_bdepend "test? (
+ >=dev-ruby/activerecord-6.1:*[sqlite]
+ dev-ruby/maxitest
+ dev-ruby/mocha
+)
+"
+
+all_ruby_unpack() {
+ default
+ mv "${WORKDIR}/all/${PN}-${PN}-v${PV}" "${WORKDIR}/all/${P}" || die
+}
+
+all_ruby_prepare() {
+ sed -i -e "s:require_relative 'lib:require './lib:" ${RUBY_FAKEGEM_GEMSPEC} || die
+ sed -i -e "/git ls-files/d" with_advisory_lock.gemspec || die
+}