gitextract_039kc1dw/ ├── .coveragerc ├── .deepsource.toml ├── .dockerignore ├── .github/ │ ├── ISSUE_TEMPLATE.md │ └── workflows/ │ ├── custom-build.yml │ ├── docker.yml │ ├── no-response.yml │ ├── push.yml │ ├── pypi-release.yml │ └── support.yml ├── .gitignore ├── .projectile ├── .readthedocs.yaml ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTACT.md ├── CONTRIBUTING.md ├── Dockerfile ├── FAQ.md ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README.md ├── ci/ │ ├── __init__.py │ ├── constants.py │ ├── makefiles/ │ │ ├── android.mk │ │ └── osx.mk │ ├── rebuild_updated_recipes.py │ └── run_emulator_tests.sh ├── distribute.sh ├── doc/ │ ├── Makefile │ ├── make.bat │ ├── requirements.txt │ └── source/ │ ├── _static/ │ │ └── .empty │ ├── apis.rst │ ├── bootstraps.rst │ ├── buildoptions.rst │ ├── commands.rst │ ├── conf.py │ ├── contact.rst │ ├── contribute.rst │ ├── distutils.rst │ ├── docker.rst │ ├── faq.rst │ ├── index.rst │ ├── quickstart.rst │ ├── recipes.rst │ ├── services.rst │ ├── testing_pull_requests.rst │ └── troubleshooting.rst ├── pythonforandroid/ │ ├── __init__.py │ ├── androidndk.py │ ├── archs.py │ ├── bdistapk.py │ ├── bootstrap.py │ ├── bootstraps/ │ │ ├── __init__.py │ │ ├── _sdl_common/ │ │ │ ├── __init__.py │ │ │ └── build/ │ │ │ ├── .gitignore │ │ │ ├── blacklist.txt │ │ │ ├── jni/ │ │ │ │ └── Application.mk │ │ │ ├── src/ │ │ │ │ └── main/ │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── java/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ └── org/ │ │ │ │ │ └── kivy/ │ │ │ │ │ └── android/ │ │ │ │ │ └── launcher/ │ │ │ │ │ ├── Project.java │ │ │ │ │ ├── ProjectAdapter.java │ │ │ │ │ └── ProjectChooser.java │ │ │ │ ├── jniLibs/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── libs/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── layout/ │ │ │ │ │ ├── chooser_item.xml │ │ │ │ │ ├── main.xml │ │ │ │ │ ├── project_chooser.xml │ │ │ │ │ └── project_empty.xml │ │ │ │ ├── mipmap/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── mipmap-anydpi-v26/ │ │ │ │ └── .gitkeep │ │ │ └── templates/ │ │ │ ├── AndroidManifest.tmpl.xml │ │ │ └── strings.tmpl.xml │ │ ├── build.gradle │ │ ├── common/ │ │ │ └── build/ │ │ │ ├── ant.properties │ │ │ ├── build.py │ │ │ ├── gradle/ │ │ │ │ └── wrapper/ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ │ ├── gradlew │ │ │ ├── gradlew.bat │ │ │ ├── jni/ │ │ │ │ ├── Android.mk │ │ │ │ └── application/ │ │ │ │ ├── Android.mk │ │ │ │ └── src/ │ │ │ │ ├── Android.mk │ │ │ │ └── start.c │ │ │ ├── src/ │ │ │ │ └── main/ │ │ │ │ └── java/ │ │ │ │ └── org/ │ │ │ │ ├── kamranzafar/ │ │ │ │ │ └── jtar/ │ │ │ │ │ ├── Octal.java │ │ │ │ │ ├── TarConstants.java │ │ │ │ │ ├── TarEntry.java │ │ │ │ │ ├── TarHeader.java │ │ │ │ │ ├── TarInputStream.java │ │ │ │ │ ├── TarOutputStream.java │ │ │ │ │ └── TarUtils.java │ │ │ │ ├── kivy/ │ │ │ │ │ └── android/ │ │ │ │ │ ├── GenericBroadcastReceiver.java │ │ │ │ │ ├── GenericBroadcastReceiverCallback.java │ │ │ │ │ ├── PythonService.java │ │ │ │ │ └── PythonUtil.java │ │ │ │ └── renpy/ │ │ │ │ └── android/ │ │ │ │ ├── AssetExtract.java │ │ │ │ ├── Hardware.java │ │ │ │ └── ResourceManager.java │ │ │ ├── templates/ │ │ │ │ ├── Service.tmpl.java │ │ │ │ ├── build.properties │ │ │ │ ├── build.tmpl.gradle │ │ │ │ ├── build.tmpl.xml │ │ │ │ ├── custom_rules.tmpl.xml │ │ │ │ ├── gradle.tmpl.properties │ │ │ │ └── lottie.xml │ │ │ └── whitelist.txt │ │ ├── empty/ │ │ │ ├── __init__.py │ │ │ └── build/ │ │ │ └── .gitkeep │ │ ├── gradle.properties │ │ ├── qt/ │ │ │ ├── __init__.py │ │ │ └── build/ │ │ │ ├── .gitignore │ │ │ ├── blacklist.txt │ │ │ ├── jni/ │ │ │ │ ├── Application.mk │ │ │ │ └── application/ │ │ │ │ └── src/ │ │ │ │ ├── Android.mk │ │ │ │ ├── Android_static.mk │ │ │ │ └── bootstrap_name.h │ │ │ ├── src/ │ │ │ │ └── main/ │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── java/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ └── org/ │ │ │ │ │ └── kivy/ │ │ │ │ │ └── android/ │ │ │ │ │ └── PythonActivity.java │ │ │ │ ├── jniLibs/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── libs/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── mipmap/ │ │ │ │ └── .gitkeep │ │ │ └── templates/ │ │ │ ├── AndroidManifest.tmpl.xml │ │ │ ├── libs.tmpl.xml │ │ │ └── strings.tmpl.xml │ │ ├── sdl2/ │ │ │ ├── __init__.py │ │ │ └── build/ │ │ │ ├── jni/ │ │ │ │ └── application/ │ │ │ │ └── src/ │ │ │ │ ├── Android.mk │ │ │ │ ├── Android_static.mk │ │ │ │ └── bootstrap_name.h │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ └── java/ │ │ │ │ ├── .gitkeep │ │ │ │ └── org/ │ │ │ │ └── kivy/ │ │ │ │ └── android/ │ │ │ │ └── PythonActivity.java │ │ │ └── patches/ │ │ │ ├── SDLActivity.java.patch │ │ │ └── SDLSurface.java.patch │ │ ├── sdl3/ │ │ │ ├── __init__.py │ │ │ └── build/ │ │ │ ├── jni/ │ │ │ │ └── application/ │ │ │ │ └── src/ │ │ │ │ ├── Android.mk │ │ │ │ ├── Android_static.mk │ │ │ │ └── bootstrap_name.h │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ └── java/ │ │ │ │ └── org/ │ │ │ │ └── kivy/ │ │ │ │ └── android/ │ │ │ │ └── PythonActivity.java │ │ │ └── patches/ │ │ │ ├── SDLActivity.java.patch │ │ │ └── SDLSurface.java.patch │ │ ├── service_library/ │ │ │ ├── __init__.py │ │ │ └── build/ │ │ │ ├── jni/ │ │ │ │ ├── Application.mk │ │ │ │ └── application/ │ │ │ │ └── src/ │ │ │ │ └── bootstrap_name.h │ │ │ ├── src/ │ │ │ │ └── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── kivy/ │ │ │ │ │ └── android/ │ │ │ │ │ └── PythonActivity.java │ │ │ │ └── res/ │ │ │ │ └── mipmap/ │ │ │ │ └── .gitkeep │ │ │ └── templates/ │ │ │ ├── AndroidManifest.tmpl.xml │ │ │ └── Service.tmpl.java │ │ ├── service_only/ │ │ │ ├── __init__.py │ │ │ └── build/ │ │ │ ├── blacklist.txt │ │ │ ├── jni/ │ │ │ │ ├── Android.mk │ │ │ │ ├── Application.mk │ │ │ │ └── application/ │ │ │ │ └── src/ │ │ │ │ ├── Android.mk │ │ │ │ ├── Android_static.mk │ │ │ │ ├── bootstrap_name.h │ │ │ │ └── pyjniusjni.c │ │ │ ├── src/ │ │ │ │ └── main/ │ │ │ │ ├── assets/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── kivy/ │ │ │ │ │ └── android/ │ │ │ │ │ └── PythonActivity.java │ │ │ │ ├── jniLibs/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ └── .gitkeep │ │ │ │ └── mipmap/ │ │ │ │ └── .gitkeep │ │ │ └── templates/ │ │ │ ├── AndroidManifest.tmpl.xml │ │ │ ├── Service.tmpl.java │ │ │ └── strings.tmpl.xml │ │ ├── settings.gradle │ │ └── webview/ │ │ ├── __init__.py │ │ └── build/ │ │ ├── blacklist.txt │ │ ├── jni/ │ │ │ ├── Android.mk │ │ │ ├── Application.mk │ │ │ └── application/ │ │ │ └── src/ │ │ │ ├── Android.mk │ │ │ ├── Android_static.mk │ │ │ ├── bootstrap_name.h │ │ │ └── pyjniusjni.c │ │ ├── proguard-project.txt │ │ ├── src/ │ │ │ └── main/ │ │ │ ├── assets/ │ │ │ │ └── .gitkeep │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── kivy/ │ │ │ │ └── android/ │ │ │ │ └── PythonActivity.java │ │ │ ├── jniLibs/ │ │ │ │ └── .gitkeep │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── .gitkeep │ │ │ ├── layout/ │ │ │ │ └── main.xml │ │ │ ├── mipmap/ │ │ │ │ └── .gitkeep │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ └── .gitkeep │ │ │ └── values/ │ │ │ └── strings.xml │ │ ├── templates/ │ │ │ ├── AndroidManifest.tmpl.xml │ │ │ ├── WebViewLoader.tmpl.java │ │ │ ├── strings.tmpl.xml │ │ │ └── test/ │ │ │ ├── build.tmpl.xml │ │ │ └── build.xml.tmpl │ │ └── webview_includes/ │ │ ├── _load.html │ │ └── _loading_style.css │ ├── build.py │ ├── checkdependencies.py │ ├── distribution.py │ ├── entrypoints.py │ ├── graph.py │ ├── includes/ │ │ └── arm64-v8a/ │ │ └── machine/ │ │ └── cpu-features.h │ ├── logger.py │ ├── patching.py │ ├── prerequisites.py │ ├── pythonpackage.py │ ├── recipe.py │ ├── recipes/ │ │ ├── Pillow/ │ │ │ ├── __init__.py │ │ │ └── setup.py.patch │ │ ├── __init__.py │ │ ├── aiohttp/ │ │ │ └── __init__.py │ │ ├── android/ │ │ │ ├── __init__.py │ │ │ └── src/ │ │ │ ├── android/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _android.pyx │ │ │ │ ├── _android_billing.pyx │ │ │ │ ├── _android_billing_jni.c │ │ │ │ ├── _android_jni.c │ │ │ │ ├── _android_sound.pyx │ │ │ │ ├── _android_sound_jni.c │ │ │ │ ├── _ctypes_library_finder.py │ │ │ │ ├── activity.py │ │ │ │ ├── billing.py │ │ │ │ ├── broadcast.py │ │ │ │ ├── display_cutout.py │ │ │ │ ├── loadingscreen.py │ │ │ │ ├── mixer.py │ │ │ │ ├── permissions.py │ │ │ │ ├── runnable.py │ │ │ │ ├── storage.py │ │ │ │ └── touch.py │ │ │ └── setup.py │ │ ├── apsw/ │ │ │ └── __init__.py │ │ ├── argon2-cffi/ │ │ │ └── __init__.py │ │ ├── atom/ │ │ │ ├── __init__.py │ │ │ └── pyproject.toml.patch │ │ ├── aubio/ │ │ │ └── __init__.py │ │ ├── audiostream/ │ │ │ └── __init__.py │ │ ├── av/ │ │ │ ├── __init__.py │ │ │ └── patches/ │ │ │ └── compilation_syntax_errors.patch │ │ ├── av_codecs/ │ │ │ └── __init__.py │ │ ├── bcrypt/ │ │ │ └── __init__.py │ │ ├── bitarray/ │ │ │ └── __init__.py │ │ ├── boost/ │ │ │ ├── __init__.py │ │ │ ├── disable-so-version.patch │ │ │ ├── fix-android-issues.patch │ │ │ ├── use-android-libs.patch │ │ │ └── user-config.jam │ │ ├── brokenrecipe/ │ │ │ └── __init__.py │ │ ├── cffi/ │ │ │ ├── __init__.py │ │ │ └── disable-pkg-config.patch │ │ ├── coincurve/ │ │ │ ├── __init__.py │ │ │ └── coincurve.patch │ │ ├── coverage/ │ │ │ ├── __init__.py │ │ │ └── fallback-utf8.patch │ │ ├── cryptography/ │ │ │ └── __init__.py │ │ ├── cymunk/ │ │ │ └── __init__.py │ │ ├── cython/ │ │ │ └── __init__.py │ │ ├── decorator/ │ │ │ └── __init__.py │ │ ├── enaml/ │ │ │ ├── 0001-Update-setup.py.patch │ │ │ └── __init__.py │ │ ├── ethash/ │ │ │ └── __init__.py │ │ ├── evdev/ │ │ │ ├── __init__.py │ │ │ ├── evcnt.patch │ │ │ ├── evdev-permissions.patch │ │ │ ├── include-dir.patch │ │ │ ├── keycnt.patch │ │ │ └── remove-uinput.patch │ │ ├── feedparser/ │ │ │ └── __init__.py │ │ ├── ffmpeg/ │ │ │ ├── __init__.py │ │ │ └── patches/ │ │ │ ├── backport-Android15-MediaCodec-fix.patch │ │ │ └── configure.patch │ │ ├── ffpyplayer/ │ │ │ ├── __init__.py │ │ │ └── setup.py.patch │ │ ├── ffpyplayer_codecs/ │ │ │ └── __init__.py │ │ ├── flask/ │ │ │ └── __init__.py │ │ ├── fontconfig/ │ │ │ └── __init__.py │ │ ├── fortran/ │ │ │ └── __init__.py │ │ ├── freetype/ │ │ │ └── __init__.py │ │ ├── freetype-py/ │ │ │ ├── __init__.py │ │ │ └── fix_import.patch │ │ ├── genericndkbuild/ │ │ │ └── __init__.py │ │ ├── gevent/ │ │ │ ├── __init__.py │ │ │ └── cross_compiling.patch │ │ ├── greenlet/ │ │ │ └── __init__.py │ │ ├── groestlcoin_hash/ │ │ │ └── __init__.py │ │ ├── grpcio/ │ │ │ ├── __init__.py │ │ │ ├── comment-getserverbyport-r-args.patch │ │ │ ├── remove-android-log-write.patch │ │ │ └── use-ndk-zlib-and-openssl-recipe-include.patch │ │ ├── harfbuzz/ │ │ │ └── __init__.py │ │ ├── hostpython3/ │ │ │ ├── __init__.py │ │ │ └── fix_ensurepip.patch │ │ ├── httpx/ │ │ │ └── __init__.py │ │ ├── icu/ │ │ │ ├── __init__.py │ │ │ └── disable-libs-version.patch │ │ ├── ifaddr/ │ │ │ ├── __init__.py │ │ │ └── getifaddrs.patch │ │ ├── ifaddrs/ │ │ │ └── __init__.py │ │ ├── jedi/ │ │ │ ├── __init__.py │ │ │ └── fix_MergedNamesDict_get.patch │ │ ├── jpeg/ │ │ │ ├── Application.mk │ │ │ ├── __init__.py │ │ │ ├── build-static.patch │ │ │ └── remove-version.patch │ │ ├── kivy/ │ │ │ ├── __init__.py │ │ │ ├── no-ast-str.patch │ │ │ ├── sdl-gl-swapwindow-nogil.patch │ │ │ └── use_cython.patch │ │ ├── kivy3/ │ │ │ └── __init__.py │ │ ├── kiwisolver/ │ │ │ └── __init__.py │ │ ├── leveldb/ │ │ │ └── __init__.py │ │ ├── libbz2/ │ │ │ ├── __init__.py │ │ │ └── lib_android.patch │ │ ├── libcairo/ │ │ │ ├── __init__.py │ │ │ └── meson.patch │ │ ├── libcurl/ │ │ │ └── __init__.py │ │ ├── libexpat/ │ │ │ └── __init__.py │ │ ├── libffi/ │ │ │ ├── Application.mk │ │ │ ├── __init__.py │ │ │ ├── disable-mips-check.patch │ │ │ └── remove-version-info.patch │ │ ├── libgeos/ │ │ │ └── __init__.py │ │ ├── libglob/ │ │ │ ├── __init__.py │ │ │ └── glob.patch │ │ ├── libiconv/ │ │ │ └── __init__.py │ │ ├── liblzma/ │ │ │ └── __init__.py │ │ ├── libogg/ │ │ │ └── __init__.py │ │ ├── libopenblas/ │ │ │ └── __init__.py │ │ ├── libpcre/ │ │ │ └── __init__.py │ │ ├── libpq/ │ │ │ └── __init__.py │ │ ├── libpthread/ │ │ │ └── __init__.py │ │ ├── librt/ │ │ │ └── __init__.py │ │ ├── libsecp256k1/ │ │ │ └── __init__.py │ │ ├── libshine/ │ │ │ └── __init__.py │ │ ├── libsodium/ │ │ │ ├── __init__.py │ │ │ └── size_max_fix.patch │ │ ├── libtorrent/ │ │ │ ├── __init__.py │ │ │ ├── disable-so-version.patch │ │ │ ├── setup-lib-name.patch │ │ │ ├── use-soname-python.patch │ │ │ └── user-config-openssl.patch │ │ ├── libtribler/ │ │ │ └── __init__.py │ │ ├── libvorbis/ │ │ │ └── __init__.py │ │ ├── libvpx/ │ │ │ ├── __init__.py │ │ │ └── patches/ │ │ │ └── 0001-android-force-neon-runtime.patch │ │ ├── libwebp/ │ │ │ └── __init__.py │ │ ├── libx264/ │ │ │ └── __init__.py │ │ ├── libxml2/ │ │ │ ├── __init__.py │ │ │ ├── add-glob.c.patch │ │ │ ├── glob.c │ │ │ └── glob.h │ │ ├── libxslt/ │ │ │ ├── __init__.py │ │ │ └── fix-dlopen.patch │ │ ├── libzbar/ │ │ │ ├── __init__.py │ │ │ └── werror.patch │ │ ├── libzmq/ │ │ │ └── __init__.py │ │ ├── lxml/ │ │ │ └── __init__.py │ │ ├── m2crypto/ │ │ │ └── __init__.py │ │ ├── materialyoucolor/ │ │ │ └── __init__.py │ │ ├── matplotlib/ │ │ │ ├── __init__.py │ │ │ └── meson.patch │ │ ├── moderngl/ │ │ │ └── __init__.py │ │ ├── msgpack-python/ │ │ │ └── __init__.py │ │ ├── ndghttpsclient │ │ ├── netifaces/ │ │ │ ├── __init__.py │ │ │ └── fix-build.patch │ │ ├── numpy/ │ │ │ └── __init__.py │ │ ├── omemo/ │ │ │ └── __init__.py │ │ ├── omemo-backend-signal/ │ │ │ └── __init__.py │ │ ├── openal/ │ │ │ └── __init__.py │ │ ├── opencv/ │ │ │ ├── __init__.py │ │ │ └── patches/ │ │ │ └── p4a_build.patch │ │ ├── opencv_extras/ │ │ │ └── __init__.py │ │ ├── openssl/ │ │ │ └── __init__.py │ │ ├── pandas/ │ │ │ ├── __init__.py │ │ │ └── fix_numpy_includes.patch │ │ ├── pil/ │ │ │ └── __init__.py │ │ ├── png/ │ │ │ ├── __init__.py │ │ │ └── build_shared_library.patch │ │ ├── preppy/ │ │ │ ├── __init__.py │ │ │ └── fix-setup.patch │ │ ├── primp/ │ │ │ └── __init__.py │ │ ├── protobuf_cpp/ │ │ │ ├── __init__.py │ │ │ └── fix-python3-compatibility.patch │ │ ├── psycopg2/ │ │ │ └── __init__.py │ │ ├── py3dns/ │ │ │ ├── __init__.py │ │ │ └── patches/ │ │ │ └── android.patch │ │ ├── pyaml/ │ │ │ └── __init__.py │ │ ├── pybind11/ │ │ │ └── __init__.py │ │ ├── pycairo/ │ │ │ ├── __init__.py │ │ │ └── meson.patch │ │ ├── pycparser/ │ │ │ └── __init__.py │ │ ├── pycrypto/ │ │ │ ├── __init__.py │ │ │ └── add_length.patch │ │ ├── pycryptodome/ │ │ │ └── __init__.py │ │ ├── pydantic-core/ │ │ │ └── __init__.py │ │ ├── pygame/ │ │ │ └── __init__.py │ │ ├── pyicu/ │ │ │ ├── __init__.py │ │ │ └── locale.patch │ │ ├── pyjnius/ │ │ │ ├── __init__.py │ │ │ ├── genericndkbuild_jnienv_getter.patch │ │ │ ├── sdl3_jnienv_getter.patch │ │ │ └── use_cython.patch │ │ ├── pyleveldb/ │ │ │ ├── __init__.py │ │ │ └── bindings-only.patch │ │ ├── pymunk/ │ │ │ └── __init__.py │ │ ├── pynacl/ │ │ │ └── __init__.py │ │ ├── pyogg/ │ │ │ ├── __init__.py │ │ │ └── patches/ │ │ │ └── fix-find-lib.patch │ │ ├── pyopenal/ │ │ │ ├── __init__.py │ │ │ └── patches/ │ │ │ └── fix-find-lib.patch │ │ ├── pyopenssl/ │ │ │ ├── __init__.py │ │ │ └── fix-dlfcn.patch │ │ ├── pyproj/ │ │ │ └── __init__.py │ │ ├── pyrxp/ │ │ │ └── __init__.py │ │ ├── pysdl2/ │ │ │ └── __init__.py │ │ ├── pysha3/ │ │ │ └── __init__.py │ │ ├── python3/ │ │ │ ├── __init__.py │ │ │ └── patches/ │ │ │ ├── 3.14_armv7l_fix.patch │ │ │ ├── 3.14_fix_remote_debug.patch │ │ │ ├── cpython-311-ctypes-find-library.patch │ │ │ ├── py3.7.1_fix-ctypes-util-find-library.patch │ │ │ ├── py3.7.1_fix-zlib-version.patch │ │ │ ├── py3.7.1_fix_cortex_a8.patch │ │ │ ├── py3.8.1.patch │ │ │ ├── py3.8.1_fix_cortex_a8.patch │ │ │ ├── pyconfig_detection.patch │ │ │ └── reproducible-buildinfo.diff │ │ ├── pyusb/ │ │ │ ├── __init__.py │ │ │ └── fix-android.patch │ │ ├── pyzbar/ │ │ │ └── __init__.py │ │ ├── pyzmq/ │ │ │ └── __init__.py │ │ ├── regex/ │ │ │ └── __init__.py │ │ ├── reportlab/ │ │ │ ├── __init__.py │ │ │ └── patches/ │ │ │ └── fix-setup.patch │ │ ├── ruamel.yaml/ │ │ │ ├── __init__.py │ │ │ └── disable-pip-req.patch │ │ ├── scipy/ │ │ │ ├── __init__.py │ │ │ ├── meson.patch │ │ │ └── wrapper.py │ │ ├── scrypt/ │ │ │ ├── __init__.py │ │ │ └── remove_librt.patch │ │ ├── sdl2/ │ │ │ └── __init__.py │ │ ├── sdl2_image/ │ │ │ ├── __init__.py │ │ │ └── enable-webp.patch │ │ ├── sdl2_mixer/ │ │ │ └── __init__.py │ │ ├── sdl2_ttf/ │ │ │ └── __init__.py │ │ ├── sdl3/ │ │ │ └── __init__.py │ │ ├── sdl3_image/ │ │ │ ├── __init__.py │ │ │ └── enable-webp.patch │ │ ├── sdl3_mixer/ │ │ │ ├── __init__.py │ │ │ └── disable-libgme.patch │ │ ├── sdl3_ttf/ │ │ │ └── __init__.py │ │ ├── secp256k1/ │ │ │ ├── __init__.py │ │ │ ├── cross_compile.patch │ │ │ ├── drop_setup_requires.patch │ │ │ ├── find_lib.patch │ │ │ ├── no-download.patch │ │ │ └── pkg-config.patch │ │ ├── setuptools/ │ │ │ └── __init__.py │ │ ├── shapely/ │ │ │ ├── __init__.py │ │ │ └── setup.patch │ │ ├── snappy/ │ │ │ └── __init__.py │ │ ├── spine/ │ │ │ └── __init__.py │ │ ├── sqlalchemy/ │ │ │ └── __init__.py │ │ ├── sqlite3/ │ │ │ └── __init__.py │ │ ├── storm/ │ │ │ └── __init__.py │ │ ├── tflite-runtime/ │ │ │ ├── CMakeLists.patch │ │ │ ├── __init__.py │ │ │ └── build_with_cmake.patch │ │ ├── tiktoken/ │ │ │ └── __init__.py │ │ ├── twisted/ │ │ │ ├── __init__.py │ │ │ ├── incremental.patch │ │ │ └── remove_tests.patch │ │ ├── ujson/ │ │ │ └── __init__.py │ │ ├── uvloop/ │ │ │ └── __init__.py │ │ ├── vispy/ │ │ │ ├── __init__.py │ │ │ ├── disable_font_triage.patch │ │ │ ├── disable_freetype.patch │ │ │ ├── disable_freetype.patch_backup │ │ │ ├── remove_ati_check.patch │ │ │ └── use_es2.patch │ │ ├── vlc/ │ │ │ └── __init__.py │ │ ├── wsaccel/ │ │ │ └── __init__.py │ │ ├── x3dh/ │ │ │ ├── __init__.py │ │ │ └── requires_fix.patch │ │ ├── xeddsa/ │ │ │ ├── __init__.py │ │ │ └── remove_dependencies.patch │ │ ├── zbar/ │ │ │ ├── __init__.py │ │ │ └── zbar-0.10-python-crash.patch │ │ ├── zbarlight/ │ │ │ └── __init__.py │ │ ├── zeroconf/ │ │ │ ├── __init__.py │ │ │ └── patches/ │ │ │ └── setup.patch │ │ ├── zope/ │ │ │ └── __init__.py │ │ └── zope_interface/ │ │ ├── __init__.py │ │ ├── fix-init.patch │ │ └── no_tests.patch │ ├── recommendations.py │ ├── toolchain.py │ ├── tools/ │ │ ├── biglink │ │ ├── liblink │ │ └── liblink.sh │ └── util.py ├── setup.py ├── testapps/ │ ├── on_device_unit_tests/ │ │ ├── README.rst │ │ ├── buildozer.spec │ │ ├── setup.py │ │ ├── test_app/ │ │ │ ├── app_flask.py │ │ │ ├── app_kivy.py │ │ │ ├── app_service.py │ │ │ ├── constants.py │ │ │ ├── main.py │ │ │ ├── screen_keyboard.kv │ │ │ ├── screen_orientation.kv │ │ │ ├── screen_service.kv │ │ │ ├── screen_unittests.kv │ │ │ ├── static/ │ │ │ │ ├── Blanka-Regular.otf │ │ │ │ └── flask.css │ │ │ ├── templates/ │ │ │ │ ├── base.html │ │ │ │ ├── index.html │ │ │ │ ├── page2.html │ │ │ │ └── unittests.html │ │ │ ├── tests/ │ │ │ │ ├── __init__.py │ │ │ │ ├── mixin.py │ │ │ │ └── test_requirements.py │ │ │ ├── tools.py │ │ │ ├── widgets.kv │ │ │ └── widgets.py │ │ └── test_qt/ │ │ ├── jar/ │ │ │ └── PySide6/ │ │ │ └── jar/ │ │ │ ├── Qt6Android.jar │ │ │ └── Qt6AndroidBindings.jar │ │ └── recipes/ │ │ ├── PySide6/ │ │ │ └── __init__.py │ │ └── shiboken6/ │ │ └── __init__.py │ ├── setup_testapp_python3_sqlite_openssl.py │ ├── setup_vispy.py │ ├── testapp_sqlite_openssl/ │ │ └── main.py │ ├── testapp_vispy/ │ │ └── main.py │ ├── testlauncher_setup/ │ │ └── sdl2.py │ └── testlauncherreboot_setup/ │ └── sdl2.py ├── tests/ │ ├── recipes/ │ │ ├── recipe_ctx.py │ │ ├── recipe_lib_test.py │ │ ├── test_freetype.py │ │ ├── test_gevent.py │ │ ├── test_harfbuzz.py │ │ ├── test_hostpython3.py │ │ ├── test_icu.py │ │ ├── test_jpeg.py │ │ ├── test_leveldb.py │ │ ├── test_libbz2.py │ │ ├── test_libcurl.py │ │ ├── test_libexpat.py │ │ ├── test_libffi.py │ │ ├── test_libgeos.py │ │ ├── test_libiconv.py │ │ ├── test_liblzma.py │ │ ├── test_libogg.py │ │ ├── test_libpq.py │ │ ├── test_libsecp256k1.py │ │ ├── test_libshine.py │ │ ├── test_libvorbis.py │ │ ├── test_libvpx.py │ │ ├── test_libx264.py │ │ ├── test_libxml2.py │ │ ├── test_libxslt.py │ │ ├── test_openal.py │ │ ├── test_openssl.py │ │ ├── test_pandas.py │ │ ├── test_png.py │ │ ├── test_pyicu.py │ │ ├── test_python3.py │ │ ├── test_reportlab.py │ │ ├── test_sdl2_mixer.py │ │ └── test_snappy.py │ ├── test_androidmodule_ctypes_finder.py │ ├── test_androidndk.py │ ├── test_archs.py │ ├── test_bdistapk.py │ ├── test_bootstrap.py │ ├── test_bootstrap_build.py │ ├── test_build.py │ ├── test_checkdependencies.py │ ├── test_distribution.py │ ├── test_entrypoints.py │ ├── test_graph.py │ ├── test_logger.py │ ├── test_patching.py │ ├── test_prerequisites.py │ ├── test_pythonpackage.py │ ├── test_pythonpackage_basic.py │ ├── test_recipe.py │ ├── test_recommendations.py │ ├── test_toolchain.py │ └── test_util.py └── tox.ini