Restore filetype dep, fix Settings label wrapping to 1px column

python_depends was emptied too aggressively in an earlier fix (dodging
the requests/charset-normalizer Android-wheel bug) and took filetype
with it — kivy/core/image imports it directly, causing a startup crash.
Restored just filetype (pure Python, no dependency chain, safe).

Settings popup's info label set text_size=(self.width, None) at
__init__ time, before layout ever runs — self was the Popup at its
default ~100px pre-layout width, not its real on-screen size, so the
label rendered as a 1-character-wide column. Now binds text_size to
the label's own width so it updates once real layout happens.
This commit is contained in:
AI_Assistant 2026-08-22 12:07:30 +00:00
commit d276f8842f
No known key found for this signature in database
3 changed files with 35 additions and 18 deletions

View file

@ -10,14 +10,17 @@ version = 0.1
requirements = python3,kivy
# Upstream p4a's kivy recipe declares python_depends on requests/certifi/
# chardet/idna/urllib3/filetype — kivy.network.UrlRequest extras we never
# call. p4a-recipes/kivy is a copy of that recipe with python_depends
# emptied out. It's not just cleanup: requests pulls in charset-normalizer,
# whose newest release ships an Android-tagged wheel; p4a's dependency
# resolver pins that exact wheel into requirements.txt, then installs it
# with a plain host pip that has no idea it's an Android wheel, and the
# build dies on "not a supported wheel on this platform". Dropping the
# unused chain avoids the bug entirely instead of chasing version pins.
# chardet/idna/urllib3/filetype — mostly kivy.network.UrlRequest extras we
# never call, EXCEPT filetype, which kivy/core/image imports directly for
# real (confirmed by a startup crash when it was dropped too). p4a-recipes/
# kivy is a copy of that recipe keeping only filetype. It's not just
# cleanup: requests pulls in charset-normalizer, whose newest release
# ships an Android-tagged wheel; p4a's dependency resolver pins that exact
# wheel into requirements.txt, then installs it with a plain host pip that
# has no idea it's an Android wheel, and the build dies on "not a
# supported wheel on this platform". Dropping the unused requests chain
# avoids the bug entirely instead of chasing version pins — filetype has
# no such transitive dependency and installs cleanly on its own.
p4a.local_recipes = p4a-recipes
orientation = portrait