summaryrefslogtreecommitdiff
path: root/mesonbuild/cargo/interpreter.py
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-08-05 14:20:53 +0200
committerXavier Claessens <xclaesse@gmail.com>2025-10-17 12:48:29 -0400
commit79060420be83e04ef450403156dbb2d52d749769 (patch)
treedba96196348f8c902cc02f21eb3134b9d81d8464 /mesonbuild/cargo/interpreter.py
parent7b4c799650629b080032caa374daccf325d33cc2 (diff)
downloadmeson-79060420be83e04ef450403156dbb2d52d749769.tar.gz
cargo: extract _prepare_package
Extracted from a patch by Xavier Claessens <xclaessens@netflix.com>
Diffstat (limited to 'mesonbuild/cargo/interpreter.py')
-rw-r--r--mesonbuild/cargo/interpreter.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/mesonbuild/cargo/interpreter.py b/mesonbuild/cargo/interpreter.py
index 12b9cc283..1a2330084 100644
--- a/mesonbuild/cargo/interpreter.py
+++ b/mesonbuild/cargo/interpreter.py
@@ -149,16 +149,19 @@ class Interpreter:
return pkg, True
pkg = PackageState(manifest, downloaded)
self.packages[key] = pkg
+ self._prepare_package(pkg)
+ return pkg, False
+
+ def _prepare_package(self, pkg: PackageState) -> None:
# Merge target specific dependencies that are enabled
cfgs = self._get_cfgs(MachineChoice.HOST)
- for condition, dependencies in manifest.target.items():
+ for condition, dependencies in pkg.manifest.target.items():
if cfg.eval_cfg(condition, cfgs):
- manifest.dependencies.update(dependencies)
+ pkg.manifest.dependencies.update(dependencies)
# Fetch required dependencies recursively.
- for depname, dep in manifest.dependencies.items():
+ for depname, dep in pkg.manifest.dependencies.items():
if not dep.optional:
self._add_dependency(pkg, depname)
- return pkg, False
def _dep_package(self, pkg: PackageState, dep: Dependency) -> PackageState:
if dep.git: