commit:     107da21cdbb7f32f52206dd9f46a9eb0b2553588
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 19 19:31:42 2017 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Tue Sep 19 19:37:31 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=107da21c

dev-util/android-tools: detect rubygems interpreter for bug 631398

Fixes: https://bugs.gentoo.org/631398
Package-Manager: Portage-2.3.8, Repoman-2.3.3

 dev-util/android-tools/android-tools-6.0.1_p79.ebuild | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/dev-util/android-tools/android-tools-6.0.1_p79.ebuild 
b/dev-util/android-tools/android-tools-6.0.1_p79.ebuild
index 954e418c562..c08ea80eb0d 100644
--- a/dev-util/android-tools/android-tools-6.0.1_p79.ebuild
+++ b/dev-util/android-tools/android-tools-6.0.1_p79.ebuild
@@ -29,7 +29,7 @@ RDEPEND="sys-libs/zlib:=
        dev-libs/libpcre"
 # dev-lang/ruby is necessary for build script generation.
 DEPEND="${RDEPEND}
-       dev-lang/ruby:*"
+       virtual/rubygems"
 
 S=${WORKDIR}
 
@@ -61,8 +61,16 @@ src_prepare() {
 }
 
 src_compile() {
-       chmod +x ./generate_build.rb || die
-       ./generate_build.rb > build.sh || die
+       # Dynamically detect rubygems interpreter (bug 631398).
+       local ruby_bin=$(type -P ruby) 
ruby_error_log=${T}/generate_build.rb.log success=
+       for ruby_bin in "${ruby_bin}" "${ruby_bin}"[[:digit:]][[:digit:]]; do
+               "${ruby_bin}" ./generate_build.rb 1> build.sh 2> 
"${ruby_error_log}" && \
+                       { success=1; break; }
+       done
+       if [[ -z ${success} ]]; then
+               cat "${ruby_error_log}" >&2
+               die "${ruby_bin} ./generate_build.rb failed"
+       fi
        sed -e 's:^gcc:${CC}:' -e 's:^g++:${CXX}:' -i build.sh || die
        chmod +x build.sh || die
        tc-export CC CXX

Reply via email to