Update Android to Python 3.13.13 and 3.14.4 (#2821)
This commit is contained in:
@@ -14,6 +14,7 @@ repos:
|
|||||||
exclude: (cibuildwheel/resources/pinned_docker_images.cfg)|(.svg$)
|
exclude: (cibuildwheel/resources/pinned_docker_images.cfg)|(.svg$)
|
||||||
- id: mixed-line-ending
|
- id: mixed-line-ending
|
||||||
- id: trailing-whitespace
|
- id: trailing-whitespace
|
||||||
|
exclude: ^cibuildwheel/resources/android/android.patch$
|
||||||
|
|
||||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||||
rev: c60c980e561ed3e73101667fe8365c609d19a438 # frozen: v0.15.9
|
rev: c60c980e561ed3e73101667fe8365c609d19a438 # frozen: v0.15.9
|
||||||
@@ -28,7 +29,7 @@ repos:
|
|||||||
- id: mypy
|
- id: mypy
|
||||||
name: mypy 3.11 on cibuildwheel/
|
name: mypy 3.11 on cibuildwheel/
|
||||||
args: ["--python-version=3.11"]
|
args: ["--python-version=3.11"]
|
||||||
exclude: ^cibuildwheel/resources/_cross_venv.py$ # Requires Python 3.13 or later
|
exclude: ^cibuildwheel/resources/android/_cross_venv.py$ # Requires Python 3.13 or later
|
||||||
additional_dependencies: &mypy-dependencies
|
additional_dependencies: &mypy-dependencies
|
||||||
- bracex
|
- bracex
|
||||||
- build
|
- build
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ from cibuildwheel.util.packaging import find_compatible_wheel
|
|||||||
from cibuildwheel.util.python_build_standalone import create_python_build_standalone_environment
|
from cibuildwheel.util.python_build_standalone import create_python_build_standalone_environment
|
||||||
from cibuildwheel.venv import constraint_flags, find_uv, virtualenv
|
from cibuildwheel.venv import constraint_flags, find_uv, virtualenv
|
||||||
|
|
||||||
|
RESOURCES_ANDROID = resources.PATH / "android"
|
||||||
|
|
||||||
ANDROID_TRIPLET = {
|
ANDROID_TRIPLET = {
|
||||||
"arm64_v8a": "aarch64-linux-android",
|
"arm64_v8a": "aarch64-linux-android",
|
||||||
"x86_64": "x86_64-linux-android",
|
"x86_64": "x86_64-linux-android",
|
||||||
@@ -176,6 +178,11 @@ def setup_target_python(config: PythonConfiguration, build_path: Path) -> Path:
|
|||||||
python_dir = build_path / "python"
|
python_dir = build_path / "python"
|
||||||
python_dir.mkdir()
|
python_dir.mkdir()
|
||||||
shutil.unpack_archive(python_tgz, python_dir)
|
shutil.unpack_archive(python_tgz, python_dir)
|
||||||
|
|
||||||
|
# Patch a testbed bug. This code and the patch file can both be removed once we've
|
||||||
|
# updated to Python versions that include the fix.
|
||||||
|
call("patch", "-p1", "-i", RESOURCES_ANDROID / "android.patch", cwd=python_dir)
|
||||||
|
|
||||||
return python_dir
|
return python_dir
|
||||||
|
|
||||||
|
|
||||||
@@ -350,7 +357,7 @@ def setup_android_env(
|
|||||||
) -> dict[str, str]:
|
) -> dict[str, str]:
|
||||||
site_packages = next(venv_dir.glob("lib/python*/site-packages"))
|
site_packages = next(venv_dir.glob("lib/python*/site-packages"))
|
||||||
for suffix in ["pth", "py"]:
|
for suffix in ["pth", "py"]:
|
||||||
shutil.copy(resources.PATH / f"_cross_venv.{suffix}", site_packages)
|
shutil.copy(RESOURCES_ANDROID / f"_cross_venv.{suffix}", site_packages)
|
||||||
|
|
||||||
sysconfigdata_path = Path(
|
sysconfigdata_path = Path(
|
||||||
shutil.copy(
|
shutil.copy(
|
||||||
@@ -425,7 +432,7 @@ def setup_rust(
|
|||||||
venv_bin = Path(env["VIRTUAL_ENV"]) / "bin"
|
venv_bin = Path(env["VIRTUAL_ENV"]) / "bin"
|
||||||
for tool in ["cargo", "rustup"]:
|
for tool in ["cargo", "rustup"]:
|
||||||
shim_path = venv_bin / tool
|
shim_path = venv_bin / tool
|
||||||
shutil.copy(resources.PATH / "_rust_shim.py", shim_path)
|
shutil.copy(RESOURCES_ANDROID / "rust_shim.py", shim_path)
|
||||||
shim_path.chmod(0o755)
|
shim_path.chmod(0o755)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
--- a/android.py
|
||||||
|
+++ b/android.py
|
||||||
|
@@ -1021,7 +1021,7 @@ def main():
|
||||||
|
context = parse_args()
|
||||||
|
|
||||||
|
# Set the CROSS_BUILD_DIR if an argument was provided
|
||||||
|
- if context.cross_build_dir:
|
||||||
|
+ if getattr(context, "cross_build_dir", None):
|
||||||
|
global CROSS_BUILD_DIR
|
||||||
|
CROSS_BUILD_DIR = context.cross_build_dir.resolve()
|
||||||
|
|
||||||
@@ -231,10 +231,10 @@ python_configurations = [
|
|||||||
|
|
||||||
[android]
|
[android]
|
||||||
python_configurations = [
|
python_configurations = [
|
||||||
{ identifier = "cp313-android_arm64_v8a", version = "3.13", url = "https://repo.maven.apache.org/maven2/com/chaquo/python/python/3.13.12/python-3.13.12-aarch64-linux-android.tar.gz" },
|
{ identifier = "cp313-android_arm64_v8a", version = "3.13", url = "https://repo.maven.apache.org/maven2/com/chaquo/python/python/3.13.13/python-3.13.13-aarch64-linux-android.tar.gz" },
|
||||||
{ identifier = "cp313-android_x86_64", version = "3.13", url = "https://repo.maven.apache.org/maven2/com/chaquo/python/python/3.13.12/python-3.13.12-x86_64-linux-android.tar.gz" },
|
{ identifier = "cp313-android_x86_64", version = "3.13", url = "https://repo.maven.apache.org/maven2/com/chaquo/python/python/3.13.13/python-3.13.13-x86_64-linux-android.tar.gz" },
|
||||||
{ identifier = "cp314-android_arm64_v8a", version = "3.14", url = "https://www.python.org/ftp/python/3.14.3/python-3.14.3-aarch64-linux-android.tar.gz" },
|
{ identifier = "cp314-android_arm64_v8a", version = "3.14", url = "https://www.python.org/ftp/python/3.14.4/python-3.14.4-aarch64-linux-android.tar.gz" },
|
||||||
{ identifier = "cp314-android_x86_64", version = "3.14", url = "https://www.python.org/ftp/python/3.14.3/python-3.14.3-x86_64-linux-android.tar.gz" },
|
{ identifier = "cp314-android_x86_64", version = "3.14", url = "https://www.python.org/ftp/python/3.14.4/python-3.14.4-x86_64-linux-android.tar.gz" },
|
||||||
]
|
]
|
||||||
|
|
||||||
[ios]
|
[ios]
|
||||||
|
|||||||
Reference in New Issue
Block a user