aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-08-08 20:19:43 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2023-08-28 09:55:48 +0200
commitedc2107895007d621fe474d58bcb99036c8e55d2 (patch)
tree8e1efc72f064ddd0f0cc3431fa555553479c7942
parent7c3fb52bcdaef85b15a91b3ca4d1516f9d9b5402 (diff)
downloadqemu-edc2107895007d621fe474d58bcb99036c8e55d2.zip
qemu-edc2107895007d621fe474d58bcb99036c8e55d2.tar.gz
qemu-edc2107895007d621fe474d58bcb99036c8e55d2.tar.bz2
python: use vendored tomli
Debian only introduced tomli in the bookworm release. Use a vendored wheel to avoid requiring a package that is only in bullseye-backports and is also absent in Ubuntu 20.04. While at it, fix an issue in the vendor.py scripts which does not add a newline after each package and hash. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rwxr-xr-xconfigure6
-rwxr-xr-xpython/scripts/vendor.py5
-rw-r--r--python/wheels/tomli-2.0.1-py3-none-any.whlbin0 -> 12757 bytes
3 files changed, 10 insertions, 1 deletions
diff --git a/configure b/configure
index f13f066..3471537 100755
--- a/configure
+++ b/configure
@@ -1018,6 +1018,12 @@ fi
python="$python -B"
mkvenv="$python ${source_path}/python/scripts/mkvenv.py"
+# Finish preparing the virtual environment using vendored .whl files
+
+if $python -c 'import sys; sys.exit(sys.version_info >= (3,11))'; then
+ $mkvenv ensure --dir "${source_path}/python/wheels" \
+ 'tomli>=1.2.0' || exit 1
+fi
if ! $mkvenv ensure \
--dir "${source_path}/python/wheels" \
--diagnose "meson" \
diff --git a/python/scripts/vendor.py b/python/scripts/vendor.py
index 34486a5..7627487 100755
--- a/python/scripts/vendor.py
+++ b/python/scripts/vendor.py
@@ -43,13 +43,16 @@ def main() -> int:
packages = {
"meson==0.63.3":
"d677b809c4895dcbaac9bf6c43703fcb3609a4b24c6057c78f828590049cf43a",
+
+ "tomli==2.0.1":
+ "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc",
}
vendor_dir = Path(__file__, "..", "..", "wheels").resolve()
with tempfile.NamedTemporaryFile(mode="w", encoding="utf-8") as file:
for dep_spec, checksum in packages.items():
- file.write(f"{dep_spec} --hash=sha256:{checksum}")
+ print(f"{dep_spec} --hash=sha256:{checksum}", file=file)
file.flush()
cli_args = [
diff --git a/python/wheels/tomli-2.0.1-py3-none-any.whl b/python/wheels/tomli-2.0.1-py3-none-any.whl
new file mode 100644
index 0000000..29670b9
--- /dev/null
+++ b/python/wheels/tomli-2.0.1-py3-none-any.whl
Binary files differ