From b283b87fb36137f8242049486cbbd88d1d4ae998 Mon Sep 17 00:00:00 2001 From: Mirko Galimberti Date: Sun, 26 May 2024 14:22:12 +0200 Subject: [PATCH] Use parse from packaging.version instead of distutils LooseVersion --- buildozer/targets/android.py | 4 ++-- setup.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/buildozer/targets/android.py b/buildozer/targets/android.py index 6b419527f..2b4e28182 100644 --- a/buildozer/targets/android.py +++ b/buildozer/targets/android.py @@ -33,7 +33,7 @@ from time import sleep import traceback -from distutils.version import LooseVersion +import packaging import pexpect import buildozer.buildops as buildops @@ -1306,7 +1306,7 @@ def build_package(self): pass build_tools_versions = os.listdir(join(self.android_sdk_dir, "build-tools")) - build_tools_versions = sorted(build_tools_versions, key=LooseVersion) + build_tools_versions = sorted(build_tools_versions, key=packaging.version.parse) build_tools_version = build_tools_versions[-1] gradle_files = ["build.gradle", "gradle", "gradlew"] is_gradle_build = build_tools_version >= "25.0" and any( diff --git a/setup.py b/setup.py index 25f2bcc00..a6f1e03e5 100644 --- a/setup.py +++ b/setup.py @@ -72,6 +72,7 @@ def find_version(*file_paths): include_package_data=True, install_requires=[ 'pexpect', + 'packaging', # Cython is required by both kivy-ios and python-for-android. # However, python-for-android does not include it in its dependencies # and kivy-ios's dependencies are not always checked, so it is included