ladybird/Ports/python-3.6
Sergey Bugaev 1d9a7b5143 Ports: Unhardcode Python configuration
This ensures that ./configure results are actually used by the build.
This way, Python picks up the new sizeof(time_t) (which is 8), and
the build succeeds.
2020-04-14 18:40:24 +02:00
..
patches Ports: Unhardcode Python configuration 2020-04-14 18:40:24 +02:00
config.site Ports: Add initial Python 3.6 port 2019-11-11 22:04:16 +01:00
package.sh Ports: Added checksums / signature files and other fixes 2020-02-06 14:06:23 +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