• [gentoo-dev] [PATCH 1/2] eclass/ruby-fakegem.eclass: add method to indi

    From Hans de Graaff@21:1/5 to All on Sun Nov 21 10:20:01 2021
    Add a public method ruby_fakegem_extensions_installed to add the
    marker that rubygems uses to determine if extensions have been
    installed. We were already adding this as part of the extensions code,
    but rubygems also expects this to be present for extensions that we
    either ignore or handle differently. Without this marker rubygems
    3.2.22 and newer will ignore this gem.

    Signed-off-by: Hans de Graaff <graaff@gentoo.org>
    ---
    eclass/ruby-fakegem.eclass | 24 ++++++++++++++++++++----
    1 file changed, 20 insertions(+), 4 deletions(-)

    diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
    index 1ef40aa2fad9..3832165761c9 100644
    --- a/eclass/ruby-fakegem.eclass
    +++ b/eclass/ruby-fakegem.eclass
    @@ -546,6 +546,24 @@ if [[ ${RUBY_FAKEGEM_RECIPE_TEST} != none ]]; then
    }
    fi

    +# @FUNCTION: ruby_fakegem_extensions_installed
    +# @DESCRIPTION:
    +# Install the marker indicating that extensions have been
    +# installed. This is normally done as part of the extension
    +# installation, but may be useful when we handle extensions manually. +ruby_fakegem_extensions_installed() {
    + mkdir -p "${ED}$(ruby_fakegem_extensionsdir)" || die
    + touch "${ED}$(ruby_fakegem_extensionsdir)/gem.build_complete" || die
    +}
    +
    +# @FUNCTION: ruby_fakegem_extensionsdir
    +# @DESCRIPTION:
    +# The directory where rubygems expects extensions for this package
    +# version.
    +ruby_fakegem_extensionsdir() {
    + echo "$(ruby_fakegem_gemsdir)