dev-util/android-tools: detect rubygems interpreter for bug 631398
authorZac Medico <zmedico@gentoo.org>
Tue, 19 Sep 2017 19:31:42 +0000 (12:31 -0700)
committerZac Medico <zmedico@gentoo.org>
Tue, 19 Sep 2017 19:37:31 +0000 (12:37 -0700)
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

index 954e418c562905f0e6ed131824dcd67827286bd5..c08ea80eb0dd1a8f0555212e0c9fc5100201bbfa 100644 (file)
@@ -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