mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-28 20:29:42 +00:00
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.
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/includeto 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/ncursesto the curses include paths so it can build the_cursesmodule. This is by default included for a bunch of extensions, but not_curses. - Add
/usr/local/includes/uuidto the uuid include paths so it can build the_uuidmodule. 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.