ulm points out that estack.eclass is particularly inefficient (although
it'll get slightly better once https://github.com/gentoo/gentoo/pull/31437
is fixed).

Let's just manually roll it like llvm.eclass does.

Bug: https://bugs.gentoo.org/908465
Signed-off-by: Sam James <s...@gentoo.org>
---
 eclass/ruby-ng.eclass | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 14f4414337d6f..8fe26057e7ffe 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -163,7 +163,8 @@ _RUBY_ATOMS_SAMELIB_RESULT=""
 _ruby_atoms_samelib() {
        _RUBY_ATOMS_SAMELIB_RESULT=""
 
-       eshopts_push -o noglob
+        local shopt_save=$(shopt -p -o noglob)
+       set -f
        local token
        local atoms=" RUBYTARGET? ("
        for token in $*; do
@@ -177,7 +178,7 @@ _ruby_atoms_samelib() {
                esac
        done
        atoms+=" ) "
-       eshopts_pop
+       ${shopt_save}
 
        _ruby_set_globals_invalidate_if_stale
        local _ruby_implementation
-- 
2.41.0


Reply via email to