diff mbox series

[3/4] cargo: Move vendor directory to registry/src

Message ID 20231230154953.8135-3-alex.kiernan@gmail.com
State New
Headers show
Series [1/4] rust: Move RUST_DIST_SERVER to rust-config.inc | expand

Commit Message

Alex Kiernan Dec. 30, 2023, 3:49 p.m. UTC
rust 1.75 has an assumption from 85c0ce24cc74 ("remap cargo dependencies
to /rust/deps") that unpacked crates (vendored or otherwise)
are found in .../registry/src (usually in ~/.cargo). Moving our vendor
directory to match is the easiest workaround to avoid the upstream
assumption causing issues.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
This requires the concomitant change in bitbake to use
CARGO_VENDORING_DIRECTORY for unpacking crates into.

 meta/classes-recipe/cargo_common.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Richard Purdie Dec. 30, 2023, 11:46 p.m. UTC | #1
On Sat, 2023-12-30 at 15:49 +0000, Alex Kiernan wrote:
> rust 1.75 has an assumption from 85c0ce24cc74 ("remap cargo dependencies
> to /rust/deps") that unpacked crates (vendored or otherwise)
> are found in .../registry/src (usually in ~/.cargo). Moving our vendor
> directory to match is the easiest workaround to avoid the upstream
> assumption causing issues.
> Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> ---
> This requires the concomitant change in bitbake to use
> CARGO_VENDORING_DIRECTORY for unpacking crates into.
> 
>  meta/classes-recipe/cargo_common.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/classes-recipe/cargo_common.bbclass b/meta/classes-recipe/cargo_common.bbclass
> index e932ada862bd..3cb21cfddcb6 100644
> --- a/meta/classes-recipe/cargo_common.bbclass
> +++ b/meta/classes-recipe/cargo_common.bbclass
> @@ -31,7 +31,7 @@ export PKG_CONFIG_ALLOW_CROSS = "1"
>  CARGO_DISABLE_BITBAKE_VENDORING ??= "0"
>  
>  # Used by libstd-rs to point to the vendor dir included in rustc src
> -CARGO_VENDORING_DIRECTORY ??= "${CARGO_HOME}/bitbake"
> +CARGO_VENDORING_DIRECTORY ??= "${CARGO_HOME}/registry/src"
>  
>  # The directory of the Cargo.toml relative to the root directory, per default
>  # assume there's a Cargo.toml directly in the root directory

I think the patchdir in SRC_URI of the librsvg recipe needs updating to
match that else you see:

https://autobuilder.yoctoproject.org/typhoon/#/builders/57/builds/8232/steps/11/logs/stdio

Cheers,

Richard
diff mbox series

Patch

diff --git a/meta/classes-recipe/cargo_common.bbclass b/meta/classes-recipe/cargo_common.bbclass
index e932ada862bd..3cb21cfddcb6 100644
--- a/meta/classes-recipe/cargo_common.bbclass
+++ b/meta/classes-recipe/cargo_common.bbclass
@@ -31,7 +31,7 @@  export PKG_CONFIG_ALLOW_CROSS = "1"
 CARGO_DISABLE_BITBAKE_VENDORING ??= "0"
 
 # Used by libstd-rs to point to the vendor dir included in rustc src
-CARGO_VENDORING_DIRECTORY ??= "${CARGO_HOME}/bitbake"
+CARGO_VENDORING_DIRECTORY ??= "${CARGO_HOME}/registry/src"
 
 # The directory of the Cargo.toml relative to the root directory, per default
 # assume there's a Cargo.toml directly in the root directory