diff options
| author | John Turner <jturner.usa@gmail.com> | 2025-12-22 19:53:29 -0500 |
|---|---|---|
| committer | John Turner <jturner.usa@gmail.com> | 2025-12-22 19:53:29 -0500 |
| commit | bf9413df643adb3bdd7a60073bb4030d01c2b44a (patch) | |
| tree | 9ff5b629e493f0fcc4c63c8aafe510442580449c /mesonbuild | |
| parent | 124f237c9e8c0a09737571aac92095461a2c689d (diff) | |
| download | meson-bf9413df643adb3bdd7a60073bb4030d01c2b44a.tar.gz | |
Diffstat (limited to 'mesonbuild')
| -rw-r--r-- | mesonbuild/cargo/interpreter.py | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/mesonbuild/cargo/interpreter.py b/mesonbuild/cargo/interpreter.py index 5b003c6b4..f052aecd3 100644 --- a/mesonbuild/cargo/interpreter.py +++ b/mesonbuild/cargo/interpreter.py @@ -91,6 +91,10 @@ class PackageState: # If this package is member of a workspace. ws_subdir: T.Optional[str] = None ws_member: T.Optional[str] = None + + # If this package is downloaded from git + git: bool = False + # Package configuration state cfg: T.Optional[PackageConfiguration] = None @@ -203,7 +207,13 @@ class PackageState: return abis def get_subproject_name(self) -> str: - return _dependency_name(self.manifest.package.name, self.manifest.package.api) + + print(f"{self.manifest.package=}") + + if self.git: + return self.manifest.package.name + else: + return _dependency_name(self.manifest.package.name, self.manifest.package.api) def abi_resolve_default(self, rust_abi: T.Optional[RUST_ABI]) -> RUST_ABI: supported_abis = self.supported_abis() @@ -507,11 +517,14 @@ class Interpreter: manifest, _ = self._load_manifest(subdir) downloaded = \ subp_name in self.environment.wrap_resolver.wraps and \ - self.environment.wrap_resolver.wraps[subp_name].type is not None - + self.environment.wrap_resolver.wraps[subp_name].type is not None + git = \ + subp_name in self.environment.wrap_resolver.wraps and \ + self.environment.wrap_resolver.wraps[subp_name].type == "git" ws = self._get_workspace(manifest, subdir, downloaded=downloaded) member = ws.packages_to_member[package_name] pkg = self._require_workspace_member(ws, member) + pkg.git = git return pkg def _prepare_package(self, pkg: PackageState) -> None: |
