• [gentoo-dev] [PATCH] cargo.eclass: Support PKGBUMPING to avoid fetching

    From =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?@21:1/5 to All on Sun Dec 24 13:40:01 2023
    Support using the PKGBUMPING variable set by pkgbump/pkgdiff-mg to avoid respectively fetching and unpacking crates, to speed up using these
    tools.

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

    diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
    index 1e1a6e3ddfe2..b66b7247bd97 100644
    --- a/eclass/cargo.eclass
    +++ b/eclass/cargo.eclass
    @@ -175,6 +175,9 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
    # If no arguments are provided, it uses the CRATES variable.
    # The value is set as CARGO_CRATE_URIS.
    _cargo_set_crate_uris() {
    + # when called by pkgbump, do not fetch crates
    + [[ ${PKGBUMPING} == ${PVR} ]] && return
    +
    local -r regex='^([a-zA-Z0-9_\-]+)-([0-9]+\.[0-9]+\.[0-9]+.*)$'
    local crates=${1}
    local crate
    @@ -331,6 +334,9 @@ cargo_src_unpack() {
    for archive in ${A}; do
    case "${archive}" in
    *.crate)
    + # when called by pkgdiff-mg, do not unpack crates
    + [[ ${PKGBUMPING} == ${PVR} ]] && continue
    +
    ebegin "Loading ${archive} into Cargo registry"
    tar -xf "${DISTDIR}"/${archive} -C "${ECARGO_VENDOR}/" || die
    # generate sha256sum of the crate itself as cargo needs this
    --
    2