Re: [gentoo-dev] [PATCH] cargo.eclass: add CARGO_TOML_DIR

2024-01-24 Thread orbea
On Tue, 23 Jan 2024 11:43:13 -0800
orbea  wrote:

> On Tue, 23 Jan 2024 17:48:25 +0100
> Michał Górny  wrote:
> 
> > On Tue, 2024-01-23 at 06:13 -0800, orbea wrote:  
> > > On Tue, 23 Jan 2024 04:48:02 +0100
> > > Michał Górny  wrote:
> > > 
> > > > On Mon, 2024-01-22 at 19:32 -0800, orbea wrote:
> > > > > 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 
> > > > > ---
> > > > >  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
> > > > >  
> > > > 
> > > > Please respect the current variable style.
> > > 
> > > Sorry for being dense, but could you elaborate what you mean?
> > > 
> > 
> > You changed '${S}' to '$S' which goes against the established style.
> >   
> 
> Thanks for spelling that out, I corrected the patch.
> 
> -
> 
> This is required when cargo_live_src_unpack needs to be find a
> Cargo.toml file in a directory other than ${S}. This may happen in
> cases where the package has a rust component within a subdirectory
> where the program otherwise use another language.
> 
> Signed-off-by: orbea 
> ---
>  eclass/cargo.eclass | 11 ++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
> index 3bdbb5e3ec64..f88b3b82d8ed 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

On second thought maybe this patch is not necessary? A trivial
workaround is to just set ${S} for cargo_live_src_unpack, for example...

  S="${S}"/path/to/rust/dir \
  cargo_live_src_unpack

Would this be something that is future proof or is it better to have a
dedicated variable to handle it?




Re: [gentoo-dev] [PATCH] cargo.eclass: add CARGO_TOML_DIR

2024-01-23 Thread orbea
On Tue, 23 Jan 2024 17:48:25 +0100
Michał Górny  wrote:

> On Tue, 2024-01-23 at 06:13 -0800, orbea wrote:
> > On Tue, 23 Jan 2024 04:48:02 +0100
> > Michał Górny  wrote:
> >   
> > > On Mon, 2024-01-22 at 19:32 -0800, orbea wrote:  
> > > > 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 
> > > > ---
> > > >  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
> > > 
> > > Please respect the current variable style.  
> > 
> > Sorry for being dense, but could you elaborate what you mean?
> >   
> 
> You changed '${S}' to '$S' which goes against the established style.
> 

Thanks for spelling that out, I corrected the patch.

-

This is required when cargo_live_src_unpack needs to be find a
Cargo.toml file in a directory other than ${S}. This may happen in
cases where the package has a rust component within a subdirectory
where the program otherwise use another language.

Signed-off-by: orbea 
---
 eclass/cargo.eclass | 11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 3bdbb5e3ec64..f88b3b82d8ed 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





Re: [gentoo-dev] [PATCH] cargo.eclass: add CARGO_TOML_DIR

2024-01-23 Thread Michał Górny
On Tue, 2024-01-23 at 06:13 -0800, orbea wrote:
> On Tue, 23 Jan 2024 04:48:02 +0100
> Michał Górny  wrote:
> 
> > On Mon, 2024-01-22 at 19:32 -0800, orbea wrote:
> > > 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 
> > > ---
> > >  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  
> > 
> > Please respect the current variable style.
> 
> Sorry for being dense, but could you elaborate what you mean?
> 

You changed '${S}' to '$S' which goes against the established style.

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] [PATCH] cargo.eclass: add CARGO_TOML_DIR

2024-01-23 Thread orbea
On Tue, 23 Jan 2024 04:48:02 +0100
Michał Górny  wrote:

> On Mon, 2024-01-22 at 19:32 -0800, orbea wrote:
> > 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 
> > ---
> >  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  
> 
> Please respect the current variable style.

Sorry for being dense, but could you elaborate what you mean?

> 
> >  
> > # Respect user settings before cargo_gen_config is called.
> > if [[ ! ${CARGO_TERM_COLOR} ]]; then  
> 




Re: [gentoo-dev] [PATCH] cargo.eclass: add CARGO_TOML_DIR

2024-01-23 Thread orbea
On Mon, 22 Jan 2024 23:06:35 -0500
Eli Schwartz  wrote:

> On 1/22/24 10:32 PM, orbea wrote:
> > 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 
> > ---  
> 
> 
> Fairly confused why this email was posted to an existing thread
> instead of a new one?
> 
> Anyway, I'm sure the change is very reasonable but it is difficult to
> tell from an outside perspective just by reading the commit message --
> which doesn't detail why your Cargo.toml would be in a directory other
> than the one src_compile() starts off in.
> 
> 

My mistake in composing the e-mail in why it was posted to an existing
thread.

The program in question is:

https://github.com/Rosalie241/RMG

Which has an optional rust plugin.

https://github.com/Rosalie241/RMG/tree/master/Source/3rdParty/mupen64plus-input-gca

It seems impossible to support a live ebuild unless
cargo_live_src_unpack knows where to look.



Re: [gentoo-dev] [PATCH] cargo.eclass: add CARGO_TOML_DIR

2024-01-22 Thread Eli Schwartz
On 1/22/24 10:32 PM, orbea wrote:
> 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 
> ---


Fairly confused why this email was posted to an existing thread instead
of a new one?

Anyway, I'm sure the change is very reasonable but it is difficult to
tell from an outside perspective just by reading the commit message --
which doesn't detail why your Cargo.toml would be in a directory other
than the one src_compile() starts off in.


-- 
Eli Schwartz


OpenPGP_0x84818A6819AF4A9B.asc
Description: OpenPGP public key


OpenPGP_signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] [PATCH] cargo.eclass: add CARGO_TOML_DIR

2024-01-22 Thread Michał Górny
On Mon, 2024-01-22 at 19:32 -0800, orbea wrote:
> 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 
> ---
>  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

Please respect the current variable style.

>  
>   # Respect user settings before cargo_gen_config is called.
>   if [[ ! ${CARGO_TERM_COLOR} ]]; then

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part