This might prevent an ebuild installing no files, but the main aim here is
to give a better error message earlier on rather than the classic
"Unable to generate gemspec file".
The output looks like:
```
* Failed to determine a path for ${RUBY} for USE=ruby_targets_ruby31:
* ruby_implementation_command returned an empty RUBY for ruby31
* ERROR: dev-ruby/mercenary-0.4.0-r1::gentoo failed (setup phase):
* Could not find RUBY for ruby31. Is dev-lang/ruby:3.1 installed?
```
Signed-off-by: Sam James <
sam@gentoo.org>
---
eclass/ruby-ng.eclass | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index b81038237a6b2..d808b7bd98b3a 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -419,6 +419,13 @@ _ruby_each_implementation() {
use ruby_targets_${_ruby_implementation} || continue
RUBY=$(ruby_implementation_command ${_ruby_implementation})
+
+ if [[ -z ${RUBY} ]]; then
+ eerror "Failed to determine a path for \${RUBY} for USE=ruby_targets_${_ruby_implementation}:"
+ eerror " ruby_implementation_command returned an empty RUBY for ${_ruby_implementation}"
+ die "Could not find RUBY for ${_ruby_implementation}. Is $(_ruby_implementation_depend ${_ruby_implementation}) installed?"
+ fi
+
invoked=yes
if [[ -n "$1" ]]; then
--
2.40.0
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)