Skip to content

Commit

Permalink
python: use vendored tomli
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
bonzini committed Aug 28, 2023
1 parent 7c3fb52 commit edc2107
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 1 deletion.
6 changes: 6 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -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" \
Expand Down
5 changes: 4 additions & 1 deletion python/scripts/vendor.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 = [
Expand Down
Binary file added python/wheels/tomli-2.0.1-py3-none-any.whl
Binary file not shown.

0 comments on commit edc2107

Please sign in to comment.