summaryrefslogtreecommitdiff
path: root/eclass/ruby-ng.eclass
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-06-14 21:47:35 +0100
committerSam James <sam@gentoo.org>2023-06-15 22:13:40 +0100
commit8478835a7fc4226bcbf6c79475e1ba6d41d42298 (patch)
tree77f9e8dd73562c046246a47b5b4b19398a06438e /eclass/ruby-ng.eclass
parent52885a31b20f6af327ccefaa62ce74877b9b687d (diff)
downloadgentoo-8478835a7fc4226bcbf6c79475e1ba6d41d42298.tar.gz
gentoo-8478835a7fc4226bcbf6c79475e1ba6d41d42298.tar.bz2
gentoo-8478835a7fc4226bcbf6c79475e1ba6d41d42298.zip
ruby-ng.eclass: use shopt directly, not via estack.eclass
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 <sam@gentoo.org>
Diffstat (limited to 'eclass/ruby-ng.eclass')
-rw-r--r--eclass/ruby-ng.eclass7
1 files changed, 4 insertions, 3 deletions
diff --git a/eclass/ruby-ng.eclass b/eclass/ruby-ng.eclass
index 14f4414337d6..2f14c22ace37 100644
--- a/eclass/ruby-ng.eclass
+++ b/eclass/ruby-ng.eclass
@@ -75,7 +75,7 @@ if [[ -z ${_RUBY_NG_ECLASS} ]]; then
_RUBY_NG_ECLASS=1
[[ ${EAPI} == 6 ]] && inherit eqawarn toolchain-funcs
-inherit estack multilib ruby-utils
+inherit multilib ruby-utils
# S is no longer automatically assigned when it doesn't exist.
S="${WORKDIR}"
@@ -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