• Re: [gentoo-dev] [PATCH v2 4/7] distutils-r1.eclass: Make vars local be

    From Mike Gilbert@21:1/5 to mgorny@gentoo.org on Sat Mar 9 21:10:01 2024
    On Tue, Mar 5, 2024 at 12:16 PM Michał Górny <mgorny@gentoo.org> wrote:

    Make LTO filtering local to the compilation code. This avoids disabling
    LTO for non-Python parts of an ebuild.

    Signed-off-by: Michał Górny <mgorny@gentoo.org>
    ---
    eclass/distutils-r1.eclass | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
    index ee1dcef24ff6..134cb39f276a 100644
    --- a/eclass/distutils-r1.eclass
    +++ b/eclass/distutils-r1.eclass
    @@ -1828,6 +1828,10 @@ distutils-r1_run_phase() {
    # Rust extensions are incompatible with C/C++ LTO compiler
    # see e.g. https://bugs.gentoo.org/910220
    if has cargo ${INHERITED}; then
    + local x
    + for x in $(all-flag-vars); do
    + local -x "${x}=${!x}"
    + done
    filter-lto
    fi
    fi

    I had never thought to loop over all-flag-vars like this. Added to my
    mental code repo, thanks!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)