Re: [gentoo-dev] [PATCH 1/2] ruby-ng.eclass: error out earlier if RUBY is unset

2023-04-10 Thread Sam James

Hans de Graaff  writes:

> [[PGP Signed Part:Undecided]]
> On Fri, 2023-04-07 at 11:14 +0100, Sam James wrote:
>> 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".
>
> Looks good to me. Better to error out as fast as possible with a clear
> message.

Thanks!

>
> Hans
>
> [[End of PGP Signed Part]]



signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH 1/2] ruby-ng.eclass: error out earlier if RUBY is unset

2023-04-10 Thread Hans de Graaff
On Fri, 2023-04-07 at 11:14 +0100, Sam James wrote:
> 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".

Looks good to me. Better to error out as fast as possible with a clear
message.

Hans


signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH 1/2] ruby-ng.eclass: error out earlier if RUBY is unset

2023-04-07 Thread Sam James
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 
---
 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