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$)
|
||||
- id: mixed-line-ending
|
||||
- id: trailing-whitespace
|
||||
exclude: ^cibuildwheel/resources/android/android.patch$
|
||||
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
rev: c60c980e561ed3e73101667fe8365c609d19a438 # frozen: v0.15.9
|
||||
@@ -28,7 +29,7 @@ repos:
|
||||
- id: mypy
|
||||
name: mypy 3.11 on cibuildwheel/
|
||||
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
|
||||
- bracex
|
||||
- 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.venv import constraint_flags, find_uv, virtualenv
|
||||
|
||||
RESOURCES_ANDROID = resources.PATH / "android"
|
||||
|
||||
ANDROID_TRIPLET = {
|
||||
"arm64_v8a": "aarch64-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.mkdir()
|
||||
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
|
||||
|
||||
|
||||
@@ -350,7 +357,7 @@ def setup_android_env(
|
||||
) -> dict[str, str]:
|
||||
site_packages = next(venv_dir.glob("lib/python*/site-packages"))
|
||||
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(
|
||||
shutil.copy(
|
||||
@@ -425,7 +432,7 @@ def setup_rust(
|
||||
venv_bin = Path(env["VIRTUAL_ENV"]) / "bin"
|
||||
for tool in ["cargo", "rustup"]:
|
||||
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)
|
||||
|
||||
|
||||
|
||||
@@ -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]
|
||||
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_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 = "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_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 = "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.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.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.4/python-3.14.4-x86_64-linux-android.tar.gz" },
|
||||
]
|
||||
|
||||
[ios]
|
||||
|
||||
Reference in New Issue
Block a user