commit:     7e481514292a07e83f74f6246be06a489e1fad4c
Author:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Wed Jul  9 18:47:18 2025 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Wed Jul  9 18:47:49 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e481514

dev-ruby/debug_inspector: enable ruby34

Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>

 .../debug_inspector/debug_inspector-1.2.0.ebuild   |  8 +++--
 .../files/debug_inspector-1.2.0-ruby34.patch       | 36 ++++++++++++++++++++++
 2 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/dev-ruby/debug_inspector/debug_inspector-1.2.0.ebuild 
b/dev-ruby/debug_inspector/debug_inspector-1.2.0.ebuild
index e14bbad65d44..2b12e0fb44a9 100644
--- a/dev-ruby/debug_inspector/debug_inspector-1.2.0.ebuild
+++ b/dev-ruby/debug_inspector/debug_inspector-1.2.0.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2023 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_EXTRADOC="README.md"
 
@@ -21,7 +22,8 @@ 
SRC_URI="https://github.com/banister/debug_inspector/archive/v${PV}.tar.gz -> ${
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS="~amd64"
-IUSE=""
+
+PATCHES=( "${FILESDIR}/${P}-ruby34.patch" )
 
 all_ruby_prepare() {
        sed -i -e '/extensiontask/,$ s:^:#:' Rakefile || die

diff --git a/dev-ruby/debug_inspector/files/debug_inspector-1.2.0-ruby34.patch 
b/dev-ruby/debug_inspector/files/debug_inspector-1.2.0-ruby34.patch
new file mode 100644
index 000000000000..ff01796897cf
--- /dev/null
+++ b/dev-ruby/debug_inspector/files/debug_inspector-1.2.0-ruby34.patch
@@ -0,0 +1,36 @@
+From 3984ff1756b4dd41d3f6bb8949830772a9c5d9c1 Mon Sep 17 00:00:00 2001
+From: Claudia Pellegrino <[email protected]>
+Date: Tue, 8 Jul 2025 23:14:24 +0200
+Subject: [PATCH] Make unit tests work with Ruby 3.4
+
+In Ruby versions up to 3.3, a label included just the method name.
+Since Ruby version 3.4, if a method has an owner, e.g. a class, the
+label is of the form `Owner#method`.
+
+To add Ruby 3.4 compatibility, soften up the predicate so it accepts
+either form.
+
+Fixes #41.
+
+Link: https://bugs.ruby-lang.org/issues/19117
+---
+ test/basic_test.rb | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/test/basic_test.rb b/test/basic_test.rb
+index 73e6eba..52214ad 100644
+--- a/test/basic_test.rb
++++ b/test/basic_test.rb
+@@ -3,7 +3,11 @@
+ class BasicTest < Minitest::Test
+   def setup
+     @offset = DebugInspector.open do |dc|
+-      dc.backtrace_locations.index { |loc| loc.path == __FILE__ and loc.label 
== "setup" }
++      dc.backtrace_locations.index do |loc|
++        # Since Ruby 3.4, a label includes the method owner if there is one.
++        # See also: https://bugs.ruby-lang.org/issues/19117
++        loc.path == __FILE__ and %w[setup BasicTest#setup].include?(loc.label)
++      end
+     end
+   end
+ 

Reply via email to