ladybird/Ports/python-3.6
Emanuel Sprung 3c8a1ea386 Ports: check for native python3 installation, add build script
For python3 cross compilation, a native installation of python3 is
needed. This patch adds a build script for python3 to the toolchain
and informs the user to run that script if the python port is build
and no native python3 with the same major and minor version is
being found.
2019-11-25 11:57:18 +01:00
..
patches Ports: Add initial Python 3.6 port 2019-11-11 22:04:16 +01:00
config.site Ports: Add initial Python 3.6 port 2019-11-11 22:04:16 +01:00
package.sh Ports: check for native python3 installation, add build script 2019-11-25 11:57:18 +01:00
README.md Ports: Add initial Python 3.6 port 2019-11-11 22:04:16 +01:00
version.sh Ports: check for native python3 installation, add build script 2019-11-25 11:57:18 +01:00

Python 3.6 Port

This port is highly experimental. Python binary can be started with python3, but many functionality is expected to not work.

Why this version is used

Python 2.7 will not be supported in future, see e.g. pythonclock.org. Python 3 is a good candidate for porting. Until Python 3.6 it is easily possible to disable multi-threading API via --without-threads option. This is needed until SerenityOS provides the pthread APIs.

How to improve

Run the Python test suite via python3 -m test to see what fails and start working on that. If functionality in LibC/LibM/Kernel/... is updated, recompile Python with ./package.sh build.

Known limitations

  • No locale support, default locale encoding set to utf-8

  • Instead of /dev/urandom, /dev/random is being used

  • No multi-threading

  • time module not working due to missing time related functions in LibC/Kernel