mozjs-128: inherit cargo to fix build on rustup systems

mozjs build uses cargo deep in the build tree. The configure step tries
to find the cargo home and forcibly start with the home rustup directory
(~/.cargo) when not found. This leads to the build partially using
rustup cargo and to a build error when this cargo version is not
compatible with the OE-Core one.

To fix this, inherit cargo to inherit a working cargo environment (e.g.
CARGO_HOME). But, override do_compile to keep the previous
(base/Makefile) task.

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Yoann Congal 2025-05-08 18:13:53 +02:00 committed by Khem Raj
parent 817e5876a2
commit 6cf005f386
No known key found for this signature in database
GPG Key ID: BB053355919D3314

View File

@ -24,7 +24,7 @@ UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/firefox-${PV}"
inherit pkgconfig perlnative python3native rust
inherit pkgconfig perlnative python3native rust cargo
DEPENDS += "zlib cbindgen-native python3 icu"
DEPENDS:remove:mipsarch = "icu"
@ -83,6 +83,13 @@ do_configure() {
}
do_configure[cleandirs] += "${B}"
# The main build system is a Makefile that call cargo downstream.
# We inherit cargo to get the environnement but need to switch back to
# base_do_compile to do the Makefile base compilation.
do_compile() {
base_do_compile
}
do_install() {
oe_runmake 'DESTDIR=${D}' install
}