[Python-Dev] Support of the Android platform
Victor Stinner
victor.stinner at gmail.com
Mon Dec 11 06:56:08 EST 2017
2017-12-10 15:19 GMT+01:00 Xavier de Gaye <xdegaye at gmail.com>:
> Motivations
> ===========
>
> * Android is ubiquitous.
> * This would be the first platform supported by Python that is
> cross-compiled,
> thanks to many contributors.
> * Although the Android operating system is linux, it is different from most
> linux platforms, for example it does not use GNU libc and runs SELinux in
> enforcing mode. Therefore supporting this platform would make Python more
> robust and also would allow testing it on arm 64-bit processors.
> * Python running on Android is also a handheld calculator, a successor of
> the
> slide rule and the `HP 41`_.
I still don't understand what is "Android". What is the license of Android?
> * The Python test suite succeeds when run on Android emulators using
> buildbot
Great achievement! Congrats! I know that it has been a long travel to
reach this point! (Fix each invidivual test failure, fix many tiny
things.)
> * Given the cpu resources required to run the test suite on the arm
> emulators,
> it may be difficult to find a contributed buildbot worker. So it remains
> to
> find the hardware to run these buildbots.
Do you have the hardware to host such worker? Or are you looking for a
host somewhere? Which kind of hardware are you looking for? CPU,
memory, network bandwidth, etc.
> *API 24*
> * API 21 is the first version to provide usable support for wide
> characters
> and where SELinux is run in enforcing mode.
Some people are looking for API 19 support. Would it be doable, or
would it require too many changes? I know that people are running
heavily patched Python 2.7 and 3.5 on Android with API 19.
I'm not asking for a "full support" for API 19, but more if it would
be possible to get a "best effort" level of support, like accept
patches if someone writes them.
> The following extension modules are disabled by adding them to the
> ``*disabled*`` section of ``Modules/Setup``:
>
> * ``_uuid``, Android has no uuid/uuid.h header.
> * ``grp`` some grp.h functions are not declared.
> * ``_crypt``, Android does not have crypt.h.
> * ``_ctypes`` on x86_64 where all long double tests fail (`bpo-32202`_) and
> on
> arm64 (see `bpo-32203`_).
That's a very short list, it's ok. It's not the most popular modules
of the stdlib :-) ctypes would be nice to have, but it can be done
later.
Victor
More information about the Python-Dev
mailing list