Skip to content

Commit ad0ec84

Browse files
committed
cargo: unify call to PackageDefinition.from_values
Signed-off-by: Paolo Bonzini <[email protected]>
1 parent 5d89529 commit ad0ec84

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

mesonbuild/cargo/interpreter.py

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -831,26 +831,29 @@ def load_cargo_lock(filename: str, subproject_dir: str) -> T.Optional[CargoLock]
831831
checksum = cargolock.metadata[f'checksum {package.name} {package.version} ({package.source})']
832832
url = f'https://crates.io/api/v1/crates/{package.name}/{package.version}/download'
833833
directory = f'{package.name}-{package.version}'
834-
if directory not in wraps:
835-
wraps[directory] = PackageDefinition.from_values(meson_depname, subproject_dir, 'file', {
836-
'directory': directory,
837-
'source_url': url,
838-
'source_filename': f'{directory}.tar.gz',
839-
'source_hash': checksum,
840-
'method': 'cargo',
841-
})
842-
wraps[directory].add_provided_dep(meson_depname)
834+
name = meson_depname
835+
cfg = {
836+
'directory': directory,
837+
'source_url': url,
838+
'source_filename': f'{directory}.tar.gz',
839+
'source_hash': checksum,
840+
'method': 'cargo',
841+
}
843842
elif package.source.startswith('git+'):
844843
url, revision, directory = _parse_git_url(package.source)
845-
if directory not in wraps:
846-
wraps[directory] = PackageDefinition.from_values(directory, subproject_dir, 'git', {
847-
'url': url,
848-
'revision': revision,
849-
'method': 'cargo',
850-
})
844+
name = directory
845+
cfg = {
846+
'url': url,
847+
'revision': revision,
848+
'method': 'cargo',
849+
}
851850
wraps[directory].add_provided_dep(meson_depname)
852851
else:
853852
mlog.warning(f'Unsupported source URL in {filename}: {package.source}')
853+
continue
854+
if directory not in wraps:
855+
wraps[directory] = PackageDefinition.from_values(name, subproject_dir, 'file', cfg)
856+
wraps[directory].add_provided_dep(meson_depname)
854857
cargolock.wraps = {w.name: w for w in wraps.values()}
855858
return cargolock
856859
return None

0 commit comments

Comments
 (0)