ladybird/Ports/python3/patches
Rodrigo Tobar c3a6d96988 Ports: Patch Python to deal with Serenity's strftime
The xmlrpc.client module has some trial-and-error logic at module import
time to figure out how to properly format years using strftime. There
have already been problems in the past with this code in Python (see
https://bugs.python.org/issue13305, which is still open), and Serenity
only adds to that.

This problem has been reported at https://bugs.python.org/issue45386, so
hopefully in time we won't need this patch anymore.
2021-10-06 13:57:52 +01:00
..
define-have-sigset-t.patch Ports: Update Python to 3.10.0 2021-10-04 21:46:25 +01:00
define-py-force-utf8-locale.patch Ports: Update Python to 3.10.0 2021-10-04 21:46:25 +01:00
fix-autoconf.patch Ports: Update Python to 3.10.0 2021-10-04 21:46:25 +01:00
http-client.patch Ports: Patch Python's http.client due to unimplemented socket option 2021-10-06 13:57:52 +01:00
include-sys-uio.patch Ports: Update Python to 3.10.0 2021-10-04 21:46:25 +01:00
ReadMe.md Ports: Patch Python to deal with Serenity's strftime 2021-10-06 13:57:52 +01:00
tweak-setup-py.patch Ports: Update Python to 3.10.0 2021-10-04 21:46:25 +01:00
xmlrcp_client.patch Ports: Patch Python to deal with Serenity's strftime 2021-10-06 13:57:52 +01:00

Patches for Python 3.9 on SerenityOS

define-have-sigset-t.patch

Ensures HAVE_SIGSET_T is defined, as we do have sigset_t but it's not detected properly due to some related functions being missing.

include-sys-uio.patch

Ensures struct iovec is defined, required by the socket module.

define-py-force-utf8-locale.patch

Enforce UTF-8 as encoding by defining _Py_FORCE_UTF8_LOCALE.

fix-autoconf.patch

As usual, make the configure script recognize Serenity. Also set MACHDEP (which is used for sys.platform) to a version-less serenityos, even when not cross-compiling.

http-client.patch

Allows HTTPConnection to work without the TCP_NODELAY socket option, as this is not supported by Serenity.

tweak-setup-py.patch

Make some tweaks to Python's setup.py files:

  • Add /usr/local/lib / /usr/local/include to the system lib / include dirs, relative to the sysroot when crosscompiling. These are by default only included when not crosscompiling for some reason.
  • Add /usr/local/include/ncurses to the curses include paths so it can build the _curses module. This is by default included for a bunch of extensions, but not _curses.
  • Add /usr/local/includes/uuid to the uuid include paths so it can build the _uuid module. This is by default included for a bunch of extensions, but not _uuid.

xmlrcp_client.patch

Fix xmlrpc.client module so it can be imported. It otherwise a call to strftime raises a ValueError that the code is not prepared to handle.