summaryrefslogtreecommitdiff
path: root/dev-ruby
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ruby')
-rw-r--r--dev-ruby/curb/Manifest1
-rw-r--r--dev-ruby/curb/curb-1.1.0.ebuild48
-rw-r--r--dev-ruby/haml/Manifest1
-rw-r--r--dev-ruby/haml/files/haml-6.3.0-ruby34-backtrace.patch27
-rw-r--r--dev-ruby/haml/files/haml-6.3.0-ruby34.patch57
-rw-r--r--dev-ruby/haml/haml-6.2.3.ebuild61
-rw-r--r--dev-ruby/haml/haml-6.3.0-r1.ebuild6
-rw-r--r--dev-ruby/json/Manifest1
-rw-r--r--dev-ruby/json/json-2.13.1.ebuild56
-rw-r--r--dev-ruby/language_server-protocol/language_server-protocol-3.17.0.4-r1.ebuild (renamed from dev-ruby/language_server-protocol/language_server-protocol-3.17.0.4.ebuild)14
-rw-r--r--dev-ruby/language_server-protocol/language_server-protocol-3.17.0.5-r1.ebuild (renamed from dev-ruby/language_server-protocol/language_server-protocol-3.17.0.5.ebuild)14
-rw-r--r--dev-ruby/parser/Manifest1
-rw-r--r--dev-ruby/parser/parser-3.3.9.0.ebuild41
-rw-r--r--dev-ruby/ruby-lsp/Manifest1
-rw-r--r--dev-ruby/ruby-lsp/ruby-lsp-0.23.11-r1.ebuild (renamed from dev-ruby/ruby-lsp/ruby-lsp-0.23.11.ebuild)9
-rw-r--r--dev-ruby/ruby-lsp/ruby-lsp-0.23.23-r1.ebuild (renamed from dev-ruby/ruby-lsp/ruby-lsp-0.23.23.ebuild)9
-rw-r--r--dev-ruby/ruby-lsp/ruby-lsp-0.26.0.ebuild33
-rw-r--r--dev-ruby/sorbet-runtime/Manifest1
-rw-r--r--dev-ruby/sorbet-runtime/sorbet-runtime-0.5.12356.ebuild19
-rw-r--r--dev-ruby/temple/Manifest1
-rw-r--r--dev-ruby/temple/temple-0.10.4.ebuild32
21 files changed, 365 insertions, 68 deletions
diff --git a/dev-ruby/curb/Manifest b/dev-ruby/curb/Manifest
index bce98e665722..37a443aa42de 100644
--- a/dev-ruby/curb/Manifest
+++ b/dev-ruby/curb/Manifest
@@ -1,2 +1,3 @@
DIST curb-1.0.6.gem 92160 BLAKE2B b764611321981e1b5706c51400c3b08f1bd9a73ee1df56f3fa818ac0d7074be6e7b77969794cd1452f2d6f5685f29e772383913276cb4c81576760057f278584 SHA512 24c0e65a88bda3dd20a4d9386be22a6f09aa9a86f37c0f462048e621e95567bb3f825e41c41889a1699a966a6943ce1ce9c380287ecb120eef7e268f598a2de7
DIST curb-1.0.9.gem 97280 BLAKE2B 66a5267f5be670f13f477bfd881ee0212fc84b4955b76c535cab811f0f3ec1ff5036388e677c57cf23772eb0e5b0b7373ee46b06a0fa6bb9ba7b8b70022d40d5 SHA512 259e5fa66614451060c80522c7623473ea7c197a328e26097219bedc72316907bc12bab7eef34528911c97c2a0e4fc4d3633757c68ab0e08edad63de68f69bce
+DIST curb-1.1.0.gem 97792 BLAKE2B 1a79cec78f3a5ed3d76d73e0ace24c0bffa4a1d9262a4985eabe4c6c365f3cd2296b1bb4b29c833a7399e8e27cdb0d12a4a6a4c99dadbd98e316548ece4e0188 SHA512 7b807a0fc7002bcfcbd1c3aee72c5f572c4808543c5b53a996b2f410986143906e4ca9ad2ebd33f886c23538d2c5c0b7633055086e7073884021c2b9537a9549
diff --git a/dev-ruby/curb/curb-1.1.0.ebuild b/dev-ruby/curb/curb-1.1.0.ebuild
new file mode 100644
index 000000000000..294512f67f49
--- /dev/null
+++ b/dev-ruby/curb/curb-1.1.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby32 ruby33 ruby34"
+
+RUBY_FAKEGEM_RECIPE_TEST="rake"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/extconf.rb)
+
+inherit ruby-fakegem
+
+DESCRIPTION="Ruby-language bindings for libcurl"
+HOMEPAGE="https://github.com/taf2/curb"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+
+DEPEND=" net-misc/curl[ssl] test? ( net-misc/curl )"
+RDEPEND=" net-misc/curl[ssl]"
+
+ruby_add_bdepend "test? ( dev-ruby/webrick )"
+
+all_ruby_prepare() {
+ # avoid tests making outside network connections
+ rm tests/bug_postfields_crash.rb || die
+ sed -e '/test_easy_http_verbs_must_respond_to_str/,/^ end/ s:^:#:' \
+ -i tests/tc_curl_easy.rb || die
+ sed -e '/test_connection_keepalive/aomit "network connection needed"' \
+ -i tests/tc_curl_multi.rb || die
+
+ # avoid failing tests where failure condition seems weird, no
+ # upstream travis so not clear if the test is indeed broken.
+ sed -i -e '/test_multi_easy_http/,/^ end/ s:^:#:' tests/tc_curl_multi.rb || die
+
+ # avoid test requiring ntlm support on curl which is no longer available in gentoo
+ sed -i -e '/test_username_password/aomit "ntlm support in curl needed"' -i tests/tc_curl_easy.rb || die
+
+ # Skip tests with currently unpackaged ruby_memcheck
+ sed -i -e '/ruby_memcheck/ s:^:#: ; /RubyMemcheck/,/^end/ s:^:#:' Rakefile
+
+ # Skip test failing on an encoding issue.
+ sed -e '/test_post_streaming/aomit "Fails on encoding difference"' \
+ -i tests/tc_curl_easy.rb || die
+}
diff --git a/dev-ruby/haml/Manifest b/dev-ruby/haml/Manifest
index 112cc9c4049e..5ade4f836b4d 100644
--- a/dev-ruby/haml/Manifest
+++ b/dev-ruby/haml/Manifest
@@ -1,3 +1,2 @@
DIST haml-5.2.2.tar.gz 129833 BLAKE2B d68c24c7a3c817d6d364b2ec92b84b4f56f4fffa48b99d17b2df27da35f50b1fb1f69b184a7b21d899c476e0d4c8ad2b940a7cb2995ec24ecdafab8ef61fe393 SHA512 1aec59fab20d8139a5dfedde2007fa8137a377a345e4d30229f9d1140d56cdf970c8ae70e2647e6a408d7fa543a16050f66a8a636efa6a6b1f91ee1ffcc136c1
-DIST haml-6.2.3.tar.gz 666083 BLAKE2B 8f6c3e6b3538fdd8b6937278073d532245d7ce53bfbb81f2ebc394160af50e8022475bf7225d3e8f8846d0088120de58829dacf91864b91bab4f0ffc18479322 SHA512 28c0031b62c44cf6b057ee88ffb522d2081e92f5d70fc25999b64a59a4430acd63bb9ee4e3fc34139a1a6fe6f678cde6c3ce08b9a5ed5d433d30d661c5983b81
DIST haml-6.3.0.tar.gz 666327 BLAKE2B 0672d39857fa0dac466bc29468a76e71d583da6637ce8534eb4d84aa4388bdc0f42d747d74cc5389bd24faf428076c13cf1897edc93317b2da7b770830d53b37 SHA512 64ee2eb7fad2e0b77307dd18a268b53a7f21b78b99a8bf80831cda9f8b6d8be983e7a23ba62942d251e7baf2c9732e38c18b842052690e5bbeb27961ca139c73
diff --git a/dev-ruby/haml/files/haml-6.3.0-ruby34-backtrace.patch b/dev-ruby/haml/files/haml-6.3.0-ruby34-backtrace.patch
new file mode 100644
index 000000000000..b70ad956dd6f
--- /dev/null
+++ b/dev-ruby/haml/files/haml-6.3.0-ruby34-backtrace.patch
@@ -0,0 +1,27 @@
+From 4f36be66d080cc57433ae2dbd13984e8361dec4b Mon Sep 17 00:00:00 2001
+From: Akira Matsuda <ronnie@dio.jp>
+Date: Mon, 19 Aug 2024 04:00:31 +0900
+Subject: [PATCH] Backtrace format has been changed since Ruby 3.4
+
+Method names are quoted with ''
+https://bugs.ruby-lang.org/issues/16495
+
+Method names include method owner
+https://bugs.ruby-lang.org/issues/19117
+---
+ test/haml/engine_test.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/haml/engine_test.rb b/test/haml/engine_test.rb
+index f0fe006d7..6cebd913e 100644
+--- a/test/haml/engine_test.rb
++++ b/test/haml/engine_test.rb
+@@ -97,7 +97,7 @@ def use_test_tracing(options)
+ unless options[:filename]
+ # use caller method name as fake filename. useful for debugging
+ i = -1
+- caller[i+=1] =~ /`(.+?)'/ until $1 and $1.index('test_') == 0
++ caller[i+=1] =~ /[`'](?:.+?#)?(.+?)'/ until $1 and $1.index('test_') == 0
+ options[:filename] = "(#{$1})"
+ end
+ options
diff --git a/dev-ruby/haml/files/haml-6.3.0-ruby34.patch b/dev-ruby/haml/files/haml-6.3.0-ruby34.patch
new file mode 100644
index 000000000000..2f2878cb453e
--- /dev/null
+++ b/dev-ruby/haml/files/haml-6.3.0-ruby34.patch
@@ -0,0 +1,57 @@
+From a08d5cd792555621d8e778e4d71db5e88b7292c0 Mon Sep 17 00:00:00 2001
+From: Geremia Taglialatela <tagliala.dev@gmail.com>
+Date: Sat, 28 Dec 2024 10:27:55 +0100
+Subject: [PATCH] Test against 3.4 and fix tests for `Hash#inspect`
+
+Ref: ruby/ruby@a8a0591
+
+Close #1173
+---
+ .github/workflows/test.yml | 1 +
+ test/haml/engine/old_attribute_test.rb | 2 +-
+ test/haml/engine/text_test.rb | 2 +-
+ test/test_helper.rb | 5 +++++
+ 4 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/test/haml/engine/old_attribute_test.rb b/test/haml/engine/old_attribute_test.rb
+index c03740341..7570aefce 100644
+--- a/test/haml/engine/old_attribute_test.rb
++++ b/test/haml/engine/old_attribute_test.rb
+@@ -182,7 +182,7 @@
+
+ it 'does not join others' do
+ assert_render(<<-HTML.unindent, <<-HAML.unindent)
+- <a data-value='[{:count=&gt;1}]'></a>
++ <a data-value='[#{render_hash({ count: 1 })}]'></a>
+ HTML
+ %a{ data: { value: [count: 1] } }
+ HAML
+diff --git a/test/haml/engine/text_test.rb b/test/haml/engine/text_test.rb
+index f72e76cd0..cec239ee8 100644
+--- a/test/haml/engine/text_test.rb
++++ b/test/haml/engine/text_test.rb
+@@ -6,7 +6,7 @@
+ skip 'escape is not working well in truffleruby' if RUBY_ENGINE == 'truffleruby'
+ assert_render(<<-HTML.unindent, <<-'HAML'.unindent)
+ a3aa" [&quot;1&quot;, 2] b " !
+- a{:a=&gt;3}
++ a#{render_hash({ a: 3 })}
+ <ht2ml>
+ HTML
+ #{ "a#{3}a" }a" #{["1", 2]} b " !
+diff --git a/test/test_helper.rb b/test/test_helper.rb
+index 8a94f3578..40d89bbd4 100644
+--- a/test/test_helper.rb
++++ b/test/test_helper.rb
+@@ -46,6 +46,11 @@ def assert_haml(haml, options = {})
+ actual = render_haml(haml, options)
+ assert_equal expected, actual
+ end
++
++ # See haml/haml#1173 and ruby/ruby@a8a0591
++ def render_hash(hash)
++ Haml::Util.escape_html(hash)
++ end
+ end
+
+ class Haml::TestCase < BASE_TEST_CLASS
diff --git a/dev-ruby/haml/haml-6.2.3.ebuild b/dev-ruby/haml/haml-6.2.3.ebuild
deleted file mode 100644
index bb678ec5bb1e..000000000000
--- a/dev-ruby/haml/haml-6.2.3.ebuild
+++ /dev/null
@@ -1,61 +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_BINWRAP=""
-
-RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md FAQ.md README.md REFERENCE.md"
-
-RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
-
-inherit ruby-fakegem
-
-DESCRIPTION="A ruby web page templating engine"
-HOMEPAGE="https://haml.info/"
-SRC_URI="https://github.com/haml/haml/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-IUSE="doc test"
-
-ruby_add_rdepend ">=dev-ruby/temple-0.8.2 dev-ruby/thor dev-ruby/tilt:*"
-
-ruby_add_bdepend "
- test? (
- dev-ruby/minitest:5.15
- dev-ruby/nokogiri
- <dev-ruby/railties-7.1
- <dev-ruby/activemodel-7.1
- <dev-ruby/actionpack-7.1
- dev-ruby/unindent
- )
- doc? (
- dev-ruby/yard
- )"
-
-all_ruby_prepare() {
- sed -i -e 's/git ls-files -z/find * -print0/' ${RUBY_FAKEGEM_GEMSPEC} || die
-
- sed -i -e '/bundler/ s:^:#: ; /Bundler/,/end/ s:^:#:' Rakefile || die
- sed -i \
- -e '/bundler/I s:^:#:' \
- -e '/simplecov/I s:^:#:' \
- -e "1igem 'rails', '<7.1'" \
- test/test_helper.rb || die
- # Remove tests that fails when RedCloth is available
- rm -f test/haml/filters/markdown_test.rb || die
- # Remove tests that require coffee-script (does not work with x32
- # and coffee-script is obsolete anyway).
- rm -f test/haml/filters/coffee_test.rb || die
- sed -e '/describe.*coffee filter/,/^ end/ s:^:#:' \
- -i test/haml/line_number_test.rb || die
-}
-
-each_ruby_test() {
- ${RUBY} -Ilib:test:. -rtest_helper -e 'Dir["test/haml/**/*_test.rb"].each { require _1 }' || die
-}
diff --git a/dev-ruby/haml/haml-6.3.0-r1.ebuild b/dev-ruby/haml/haml-6.3.0-r1.ebuild
index cf0916b76cc0..4aa73c9cd239 100644
--- a/dev-ruby/haml/haml-6.3.0-r1.ebuild
+++ b/dev-ruby/haml/haml-6.3.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-USE_RUBY="ruby31 ruby32 ruby33"
+USE_RUBY="ruby32 ruby33 ruby34"
RUBY_FAKEGEM_BINWRAP=""
@@ -23,6 +23,8 @@ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~
IUSE="doc test"
+PATCHES=( "${FILESDIR}/${P}-ruby34-backtrace.patch" "${FILESDIR}/${P}-ruby34.patch" )
+
ruby_add_rdepend ">=dev-ruby/temple-0.8.2 dev-ruby/thor dev-ruby/tilt:*"
ruby_add_bdepend "
diff --git a/dev-ruby/json/Manifest b/dev-ruby/json/Manifest
index 592f21f62e51..74205fbfe9d3 100644
--- a/dev-ruby/json/Manifest
+++ b/dev-ruby/json/Manifest
@@ -3,4 +3,5 @@ DIST json-2.11.3.tar.gz 840952 BLAKE2B 33423f7508371b9052e04041664567d60819682aa
DIST json-2.12.0.tar.gz 846422 BLAKE2B 7beaa7974f34804865e21729af95ef5f3283a9eae1eef721cb3ef1bfb034434ba44cf68b63daffbecd074c5ee82089292d3df10307c9862ece1705f6d7fcf6a1 SHA512 a7707fcd318512a013887ff89c8f1489c0d35adece04cb0929129f9be7f4375db9fb8e82fcdb4b0dd1f1d385053db0f2f613e775d2fe463143270e597dbc46b9
DIST json-2.12.2.tar.gz 848560 BLAKE2B 489660e253a40c4274cc7d1c45a959a32674d2bab32fc9d16820744d6acdd0ef07cddafa586e7b1266815d68c5dc3b8a50a75242cd18d6f0503cfa6ad065bb0a SHA512 ccaf9813fb51f735d0961b97ccb6f71d9c0124d3b179dc936664b502dd2136fe48df16cc0b2384bbb46d514f29ef0241ee7bcbea5677e608935a63c8a9dacf6e
DIST json-2.13.0.tar.gz 850890 BLAKE2B 04f8042cf57c3008c835158a270e481786b135247eef499c6c7d5b6c17bdb9a5e34d684098f5fc85c78c6401d94886e8cc3a0f487f16b1c36286008edbe8e8f3 SHA512 ca9512cb6f54c3c912320f0c879cfedd65eded7e75d6914c71d4e9fcb2bfd49f93101933526b33c7ae908485a5a986ccd983b013f9ac2e75bc82dd056c08ee3a
+DIST json-2.13.1.tar.gz 851179 BLAKE2B bf8710c90572f9808beb478c0114d889416b109f8d2b00210cd05717cac497eb0e696f4abdb56c994efb7341f7ed9d7f2e92d3174654438b4160bc08a6dad430 SHA512 957b97f1940d7b21559348458766b0dd101a487551f88be7735eaa98a2de99329a979193dd17a7d9390f8cf584b2ac2313b338e3a89f0df54e383ee1ce8b3bd8
DIST json-2.7.2.tar.gz 125814 BLAKE2B 450c9495053c762446e77997bdc7e0291f8baf160a4da7e56d04ed18aa5629a11f1309e40bab0849692433392cfba8a19dda905fe5044ab363591a49e6e18b60 SHA512 5c432c293eed69b9810b5d0ca782383ba3f206d561641c354515e357c663ed4a4fb5ae35d3336d48605f9e82156d2f14a7ec6fa26642351214f60d91bac84f0e
diff --git a/dev-ruby/json/json-2.13.1.ebuild b/dev-ruby/json/json-2.13.1.ebuild
new file mode 100644
index 000000000000..35899578f2ec
--- /dev/null
+++ b/dev-ruby/json/json-2.13.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby32 ruby33 ruby34"
+
+RUBY_FAKEGEM_EXTRADOC="CHANGES.md README.md"
+RUBY_FAKEGEM_DOCDIR="doc"
+
+RUBY_FAKEGEM_GEMSPEC="json.gemspec"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/json/ext/parser/extconf.rb ext/json/ext/generator/extconf.rb)
+RUBY_FAKEGEM_EXTENSION_LIBDIR=lib/json/ext
+
+inherit ruby-fakegem
+
+DESCRIPTION="A JSON implementation as a Ruby extension"
+HOMEPAGE="https://github.com/ruby/json"
+SRC_URI="https://github.com/ruby/json/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="|| ( BSD-2 Ruby )"
+
+SLOT="$(ver_cut 1)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+
+DEPEND="dev-util/ragel"
+
+ruby_add_bdepend "dev-ruby/rake
+ doc? ( dev-ruby/rdoc )
+ test? (
+ dev-ruby/test-unit:2
+ dev-ruby/test-unit-ruby-core
+ )"
+
+all_ruby_prepare() {
+ # Avoid building the extension twice!
+ # And use rdoc instead of sdoc which we don't have packaged
+ # And don't call git to list files. We're using the pregenerated spec anyway.
+ sed -i \
+ -e '/task :test/ s|:compile||' \
+ -e 's| => :clean||' \
+ -e 's|sdoc|rdoc|' \
+ -e 's|`git ls-files`|""|' \
+ -e '/extensiontask/I s:^:#:' \
+ Rakefile || die "rakefile fix failed"
+
+ sed -e 's/__dir__/"."/' \
+ -i ${RUBY_FAKEGEM_GEMSPEC} || die
+
+ # Avoid setting gem since it will not be available yet when installing
+ sed -i -e '/gem/ s:^:#:' test/json/test_helper.rb || die
+
+ # Fix version number
+ sed -e 's/2.8.2/2.9.0/' -i lib/json/version.rb || die
+}
diff --git a/dev-ruby/language_server-protocol/language_server-protocol-3.17.0.4.ebuild b/dev-ruby/language_server-protocol/language_server-protocol-3.17.0.4-r1.ebuild
index 8ef539a4ab96..e82893c21536 100644
--- a/dev-ruby/language_server-protocol/language_server-protocol-3.17.0.4.ebuild
+++ b/dev-ruby/language_server-protocol/language_server-protocol-3.17.0.4-r1.ebuild
@@ -17,6 +17,11 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
+# TODO: if necessary create ebuilds for testing dependencies
+# most test dependencies can be satisfied aside from m (short for metal)
+# which has proven to be an entire rabbithole of extra packages
+RUBY_FAKEGEM_RECIPE_TEST="none"
+
all_ruby_unpack() {
default
@@ -29,8 +34,13 @@ each_fakegem_configure() {
# by default these lines contain code that runs unnecessary shell commands or
# searches that don't make sense with the ebuild directory structure.
# values are set independently by the eclass anyways, so can be removed
- sed -i '/^spec.files*/d' "${PN}.gemspec" || die
- sed -i '/^spec.executables*/d' "${PN}.gemspec" || die
+ sed -i '/^\s*spec.files*/d' "${PN}.gemspec" || die
+ sed -i '/^\s*spec.executables*/d' "${PN}.gemspec" || die
+
+ default
+}
+each_fakegem_test() {
+ ewarn "Tests disabled due to dependency issues"
default
}
diff --git a/dev-ruby/language_server-protocol/language_server-protocol-3.17.0.5.ebuild b/dev-ruby/language_server-protocol/language_server-protocol-3.17.0.5-r1.ebuild
index 8ef539a4ab96..e82893c21536 100644
--- a/dev-ruby/language_server-protocol/language_server-protocol-3.17.0.5.ebuild
+++ b/dev-ruby/language_server-protocol/language_server-protocol-3.17.0.5-r1.ebuild
@@ -17,6 +17,11 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
+# TODO: if necessary create ebuilds for testing dependencies
+# most test dependencies can be satisfied aside from m (short for metal)
+# which has proven to be an entire rabbithole of extra packages
+RUBY_FAKEGEM_RECIPE_TEST="none"
+
all_ruby_unpack() {
default
@@ -29,8 +34,13 @@ each_fakegem_configure() {
# by default these lines contain code that runs unnecessary shell commands or
# searches that don't make sense with the ebuild directory structure.
# values are set independently by the eclass anyways, so can be removed
- sed -i '/^spec.files*/d' "${PN}.gemspec" || die
- sed -i '/^spec.executables*/d' "${PN}.gemspec" || die
+ sed -i '/^\s*spec.files*/d' "${PN}.gemspec" || die
+ sed -i '/^\s*spec.executables*/d' "${PN}.gemspec" || die
+
+ default
+}
+each_fakegem_test() {
+ ewarn "Tests disabled due to dependency issues"
default
}
diff --git a/dev-ruby/parser/Manifest b/dev-ruby/parser/Manifest
index 1811d945c1de..d64506cad14c 100644
--- a/dev-ruby/parser/Manifest
+++ b/dev-ruby/parser/Manifest
@@ -1 +1,2 @@
DIST parser-3.3.8.0.tar.gz 334410 BLAKE2B 42a58d3e3f82bec1b8afb9ed78bb1731dd34a84d0af69607182200117b19ccde9bb2d7a6a0087752af3c7f41455c905d21e5686932e6e16ac67855eea95d15ee SHA512 e278da52ab865315afef5476cfaf7ed36c49fe916dbfe01d0ee1a327d3a951522636fb79ca4a35ca53233769467c4f12af2148a21218b1f6d5b52dbade949953
+DIST parser-3.3.9.0.tar.gz 334402 BLAKE2B 1428bd11f404a07a3fdc9b040a34eac53506e37514d87b6d6f51481b7c81c6b3926e705de9a765d8f04957c03b6b4ad1ea8a7289a1cea78775ddfd915fe206b1 SHA512 67fdb74966bdc180bd99b8919f666b4415f1f6095670e399c756fc89b670e555fe53632f108f513698692b9a09ce062e4b993643b37361f57f4f64b387740f45
diff --git a/dev-ruby/parser/parser-3.3.9.0.ebuild b/dev-ruby/parser/parser-3.3.9.0.ebuild
new file mode 100644
index 000000000000..b60d89aa491b
--- /dev/null
+++ b/dev-ruby/parser/parser-3.3.9.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby32 ruby33 ruby34"
+
+RUBY_FAKEGEM_RECIPE_DOC="yard"
+RUBY_FAKEGEM_TASK_TEST="test"
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
+
+RUBY_FAKEGEM_VERSION="${PV/_pre/.pre.}"
+
+RUBY_FAKEGEM_GEMSPEC="parser.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A production-ready Ruby parser written in pure Ruby"
+HOMEPAGE="https://github.com/whitequark/parser"
+SRC_URI="https://github.com/whitequark/parser/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~sparc"
+
+DEPEND+=" =dev-util/ragel-6*"
+
+ruby_add_bdepend "
+ test? ( dev-ruby/minitest:5 )
+ dev-ruby/cliver
+"
+ruby_add_rdepend "=dev-ruby/ast-2.4* >=dev-ruby/ast-2.4.1 dev-ruby/racc"
+
+all_ruby_prepare() {
+ sed -i -e "/[Bb]undler/d" Rakefile || die
+ sed -i -e '/simplecov/ s:^:#:' test/helper.rb || die
+}
+
+each_ruby_compile() {
+ ${RUBY} -S rake generate || die
+}
diff --git a/dev-ruby/ruby-lsp/Manifest b/dev-ruby/ruby-lsp/Manifest
index eba7a11f8097..e0f2a93e539f 100644
--- a/dev-ruby/ruby-lsp/Manifest
+++ b/dev-ruby/ruby-lsp/Manifest
@@ -1,2 +1,3 @@
DIST ruby-lsp-0.23.11.tar.gz 27071970 BLAKE2B 0a86024a40db46670e57570f1047c02f59178388933beea372ce378794f8950aa5ba4272491b2e0fe3c9a55216880c368671fd33d3234527029c8a465b77d62b SHA512 f111192710c6603bb127bff546a3e84d4ef7a3c29823e1400ade475ecee22f1272123a44e86eac89e8dcae57f1584c6f40108b52a1718ff8562c2b7bb8279ad2
DIST ruby-lsp-0.23.23.tar.gz 35014426 BLAKE2B 7baa50e4898b0d789956a7f786151dc7b11cc8e86d582bb4ce55b5840b319d7052eaec71c8d9786f07ca610db5104bbd5272b1426c25ca61fe8d44e3840fb952 SHA512 db09b0a6fd2c6b295c7635a910697e3b707bf1db1dbc03bfb9946816db7ad1826b51171a014fe9a47321960004f51edc0e4258e0cb0281e182574b7c377d8fbb
+DIST ruby-lsp-0.26.0.tar.gz 35037573 BLAKE2B 7e3746fed21e3787f88ac807304f303a4d5fd848428a49aa76e9e61169eba541dfcdf90671c9e466b80562744030817b9bf80fe1fae9ed67b425f2dbfebdbda0 SHA512 599e90083af068c7519951397c8890a5ae41244783bb42c4c7d5fb1b5baeaa4a5470290e13b4037425ffce6e50b980963a26e2bb4a4e615f75f2ef934d4f87a3
diff --git a/dev-ruby/ruby-lsp/ruby-lsp-0.23.11.ebuild b/dev-ruby/ruby-lsp/ruby-lsp-0.23.11-r1.ebuild
index 8ab20092cf5f..cd3b0fb963bb 100644
--- a/dev-ruby/ruby-lsp/ruby-lsp-0.23.11.ebuild
+++ b/dev-ruby/ruby-lsp/ruby-lsp-0.23.11-r1.ebuild
@@ -17,9 +17,18 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
+# TODO: if necessary create extra packages with test dependencies
+# currently tests would require many more gems/ebuilds
+RUBY_FAKEGEM_RECIPE_TEST="none"
+
DEPEND+="
>=dev-ruby/prism-1.2 <dev-ruby/prism-2
>=dev-ruby/rbs-3 <dev-ruby/rbs-4
=dev-ruby/language_server-protocol-3.17*
>=dev-ruby/sorbet-runtime-0.5.10782
"
+
+each_fakegem_test() {
+ ewarn "Tests disabled due requiring ~10 extra gems to be installed, most of which do not have ebuilds"
+ default
+}
diff --git a/dev-ruby/ruby-lsp/ruby-lsp-0.23.23.ebuild b/dev-ruby/ruby-lsp/ruby-lsp-0.23.23-r1.ebuild
index 0f4f8f972f45..c80a2bfc493c 100644
--- a/dev-ruby/ruby-lsp/ruby-lsp-0.23.23.ebuild
+++ b/dev-ruby/ruby-lsp/ruby-lsp-0.23.23-r1.ebuild
@@ -17,9 +17,18 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
+# TODO: if necessary create extra packages with test dependencies
+# currently tests would require many more gems/ebuilds
+RUBY_FAKEGEM_RECIPE_TEST="none"
+
DEPEND+="
>=dev-ruby/prism-1.2 <dev-ruby/prism-2
>=dev-ruby/rbs-3 <dev-ruby/rbs-5
=dev-ruby/language_server-protocol-3.17*
>=dev-ruby/sorbet-runtime-0.5.10782
"
+
+each_fakegem_test() {
+ ewarn "Tests disabled due requiring ~10 extra gems to be installed, most of which do not have ebuilds"
+ default
+}
diff --git a/dev-ruby/ruby-lsp/ruby-lsp-0.26.0.ebuild b/dev-ruby/ruby-lsp/ruby-lsp-0.26.0.ebuild
new file mode 100644
index 000000000000..267931b52069
--- /dev/null
+++ b/dev-ruby/ruby-lsp/ruby-lsp-0.26.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+RUBY_FAKEGEM_BINDIR="exe" # 'bin' contains only testing functions
+RUBY_FAKEGEM_EXTRAINSTALL="static_docs VERSION"
+USE_RUBY="ruby31 ruby32 ruby33 ruby34"
+inherit ruby-fakegem
+
+DESCRIPTION="An opinionated language server for Ruby"
+HOMEPAGE="https://shopify.github.io/ruby-lsp"
+SRC_URI="https://github.com/Shopify/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# TODO: if necessary create extra packages with test dependencies
+# currently tests would require many more gems/ebuilds
+RUBY_FAKEGEM_RECIPE_TEST="none"
+
+DEPEND+="
+ >=dev-ruby/prism-1.2 <dev-ruby/prism-2
+ >=dev-ruby/rbs-3 <dev-ruby/rbs-5
+ =dev-ruby/language_server-protocol-3.17*
+"
+
+each_fakegem_test() {
+ ewarn "Tests disabled due requiring ~10 extra gems to be installed, most of which do not have ebuilds"
+ default
+}
diff --git a/dev-ruby/sorbet-runtime/Manifest b/dev-ruby/sorbet-runtime/Manifest
index bbf770add431..5a5906357f43 100644
--- a/dev-ruby/sorbet-runtime/Manifest
+++ b/dev-ruby/sorbet-runtime/Manifest
@@ -1,2 +1,3 @@
DIST sorbet-runtime-0.5.11882.gem 89088 BLAKE2B 408059cd2e66e04bd803501de41ce395aa3413216b8098eb6d9c245e478fd9432aa5c5bd81964c79ae55bd153f9639c744b8082cdeeb1dce276f79bc514f1cb4 SHA512 8b2c1dffe58b32bddea311a4aad033b677846749c14f93fac22ae0b8c339c3aa17b81e18e045c97ec201c5f6cf1099ee26908191be6ab13290c99b55a73998d9
DIST sorbet-runtime-0.5.12134.gem 89088 BLAKE2B 4b8affd46b929e75379e09a420dd7e2d8f2670d9fb73cfa8c186ce3d52b20b30dcba709cd84c80a84913fdc849be1590d6138abdc3b19750fc09ef8e80c7df16 SHA512 f8a300263b1960b5abe2a2a5368ce7f11b8b46be83eed8bd3d856b59cd979dce4415099518547388b5507e413d18d5922a38647e41017d0e5c1bdb3f38dcd6ac
+DIST sorbet-runtime-0.5.12356.gem 90112 BLAKE2B ec834db4e1d3852febf942a7dac25aefca9265d2e0791e5403dd5893556e015c82cc7ecb8b43d5131607a9d92f77c34d4d3badb0f0854fff86631c0bf620b0a7 SHA512 87d7e06bbd058ca8ab5571aa45ea8c7395b126dd54ce1e833f1f0688d19ccf2d03ed651700fb25f8d6958e24f1948d594e584a87d733f6e7ae25d3f98497f98f
diff --git a/dev-ruby/sorbet-runtime/sorbet-runtime-0.5.12356.ebuild b/dev-ruby/sorbet-runtime/sorbet-runtime-0.5.12356.ebuild
new file mode 100644
index 000000000000..2fc2eb43a868
--- /dev/null
+++ b/dev-ruby/sorbet-runtime/sorbet-runtime-0.5.12356.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32 ruby33 ruby34"
+inherit ruby-fakegem
+
+DESCRIPTION="Sorbet's runtime static type checker component"
+HOMEPAGE="https://sorbet.org/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# sorbet itself is a huge package, with a mix of c++ & ruby
+# the tests defined in the main repo are for the full package and wouldn't
+# make sense for this gem
+RUBY_FAKEGEM_RECIPE_TEST="none"
diff --git a/dev-ruby/temple/Manifest b/dev-ruby/temple/Manifest
index a7faefed1110..6534b4926064 100644
--- a/dev-ruby/temple/Manifest
+++ b/dev-ruby/temple/Manifest
@@ -1 +1,2 @@
DIST temple-0.10.3.tar.gz 37780 BLAKE2B 9b18f9103f05935ac774423958372b0c518aa0976e46b59d4d80ab4649fae96b83486a0f650a6d3b27ae7af20ce9f9f49b50989da3313d13134e2b29bdfcd32d SHA512 3f41e5897fb43be844f7c0804c01e6bb8843034ca5cad9550eb96140136fdc3a2251ae682f4566520476d7b5e8a7e1585b65aedb5c922643d71b6c4454d3e1bd
+DIST temple-0.10.4.tar.gz 37788 BLAKE2B c49c56edb7dfd1dbd779e0ebd518f0a538cc0d76dd9690a29445156b1bf3323d2d4c7c0ae2d407ab97d7df393f178b941aad1497c4a7834de7c5e5584d25e44b SHA512 6683f33cc83adcb9a27a9b8a89cf9e68e5a42c2081eb2a5359ea4ff80e410fa97695e6ab2d74d8e99f8e104eb921d80c90e6f20686440537ddbd90bfcdacdf99
diff --git a/dev-ruby/temple/temple-0.10.4.ebuild b/dev-ruby/temple/temple-0.10.4.ebuild
new file mode 100644
index 000000000000..e60196e114c3
--- /dev/null
+++ b/dev-ruby/temple/temple-0.10.4.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby32 ruby33 ruby34"
+
+RUBY_FAKEGEM_EXTRADOC="CHANGES EXPRESSIONS.md README.md"
+RUBY_FAKEGEM_GEMSPEC="temple.gemspec"
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+inherit ruby-fakegem
+
+DESCRIPTION="An abstraction and a framework for compiling templates to pure Ruby"
+HOMEPAGE="https://github.com/judofyr/temple"
+SRC_URI="https://github.com/judofyr/temple/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0.7"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test"
+
+ruby_add_bdepend "test? (
+ dev-ruby/erubi
+ >=dev-ruby/tilt-2.0.1 )"
+
+all_ruby_prepare() {
+ sed -e 's/__FILE__/"."/' \
+ -e 's/git ls-files -z/find * -print0/' \
+ -e 's/git ls-files --/echo/' \
+ -i ${RUBY_FAKEGEM_GEMSPEC} || die
+}