Files
ladybird/Ports/python3/patches/ReadMe.md
Linus Groh 006bf1905b Ports: Update Python to 3.12.0
Released on 2023-10-02.
https://www.python.org/downloads/release/python-3120/

Note that the top-level setup.py script has disappeared completely,
hence the two dropped patches. AFAICT this doesn't regress building any
of the native modules, presumably because the configure script fully
takes care of this now:

```
The necessary bits to build these optional modules were not found:
_dbm                  _gdbm                 _posixshmem
_tkinter              nis                   ossaudiodev
To find the necessary bits, look in configure.ac and config.log.

Checked 111 modules (31 built-in, 73 shared, 1 n/a on serenityos-x86_64,
0 disabled, 6 missing, 0 failed on import)
```
2023-10-03 15:21:40 +02:00

34 lines
1.0 KiB
Markdown

# Patches for python3 on SerenityOS
## `0001-Enforce-UTF-8-as-the-locale-encoding.patch`
Enforce UTF-8 as the locale encoding
By defining `_Py_FORCE_UTF8_LOCALE` as some other platforms already do,
we can enforce UTF-8 as the encoding.
## `0002-Tweak-configure.patch`
Tweak configure
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.
## `0003-Include-sys-uio.h-in-socketmodule.c.patch`
Include `sys/uio.h` in `socketmodule.c`
This is to ensure that `struct iovec` is defined, which is required by
the `socket` module.
## `0004-Workaround-for-unsupported-socket-option.patch`
Workaround for unsupported socket option
This is a workaround for ignoring the result of `setsockopt` call when
given `TCP_NODELAY` as an argument. This TCP socket option is used in
many applications (like pip and requests) for optimization purposes.
For now, it can be safely ignored until it's supported in the kernel.