aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/cargo/manifest.py
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2024-03-07 12:23:13 -0500
committerXavier Claessens <xclaesse@gmail.com>2024-06-14 15:59:42 -0400
commit9b8378985dbdc0112d11893dd42b33b7bc8d1e62 (patch)
tree30562084d1742491af1b044d5234ceddfe0daffa /mesonbuild/cargo/manifest.py
parentc0de2e12645b621793c62d4e2da17dc9541946f8 (diff)
downloadmeson-9b8378985dbdc0112d11893dd42b33b7bc8d1e62.zip
meson-9b8378985dbdc0112d11893dd42b33b7bc8d1e62.tar.gz
meson-9b8378985dbdc0112d11893dd42b33b7bc8d1e62.tar.bz2
cargo: Load Cargo.lock
Cargo.lock is essentially identical to subprojects/*.wrap files. When a (sub)project has a Cargo.lock file this allows automatic fallback for its cargo dependencies.
Diffstat (limited to 'mesonbuild/cargo/manifest.py')
-rw-r--r--mesonbuild/cargo/manifest.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/mesonbuild/cargo/manifest.py b/mesonbuild/cargo/manifest.py
index e6192d0..183d91e 100644
--- a/mesonbuild/cargo/manifest.py
+++ b/mesonbuild/cargo/manifest.py
@@ -225,3 +225,20 @@ class VirtualManifest(TypedDict):
"""
workspace: Workspace
+
+class CargoLockPackage(TypedDict, total=False):
+
+ """A description of a package in the Cargo.lock file format."""
+
+ name: str
+ version: str
+ source: str
+ checksum: str
+
+
+class CargoLock(TypedDict, total=False):
+
+ """A description of the Cargo.lock file format."""
+
+ version: str
+ package: T.List[CargoLockPackage]