This is required when cargo_live_src_unpack needs to be find a
Cargo.toml file in a directory other than ${S}

Signed-off-by: orbea <or...@riseup.net>
---
 eclass/cargo.eclass | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 3bdbb5e3ec64..692623382c56 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -116,6 +116,15 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
 # other src_functions of this eclass.
 # Note that cargo_gen_config is automatically called by cargo_src_unpack.
 
+# @ECLASS_VARIABLE: CARGO_TOML_DIR
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Optional variable containing the directory path to the Cargo.toml file.
+# Should be defined before calling cargo_live_src_unpack.
+#
+# This is required for live ebuilds when Cargo.toml in a directory other
+# than ${S}.
+
 # @ECLASS_VARIABLE: myfeatures
 # @DEFAULT_UNSET
 # @DESCRIPTION:
@@ -403,7 +412,7 @@ cargo_live_src_unpack() {
                umask "${EVCS_UMASK}" || die "Bad options to umask: 
${EVCS_UMASK}"
        fi
 
-       pushd "${S}" > /dev/null || die
+       pushd "${CARGO_TOML_DIR:-$S}" > /dev/null || die
 
        # Respect user settings before cargo_gen_config is called.
        if [[ ! ${CARGO_TERM_COLOR} ]]; then
-- 
2.41.0


Reply via email to