History log of /trunk/main/python/python-3.11.15-nohardlink.patch (Results 1 – 1 of 1)
Revision Date Author Comments
# 27dee00e 30-Jun-2026 Jim Jagielski <jimjag@gmail.com>

Python 3 migration: baseline 3.11.15, complete pyuno bridge and build files

Migrate the bundled Python from 2.7.18 to 3.11.15 (Unix/macOS first;
Windows build deferred to a future modern-MSVC effort

Python 3 migration: baseline 3.11.15, complete pyuno bridge and build files

Migrate the bundled Python from 2.7.18 to 3.11.15 (Unix/macOS first;
Windows build deferred to a future modern-MSVC effort). This completes the
source- and build-level migration; only the full-tree build gate (link
pyuno against bundled libpython3.11, run a macro / bridgetest round-trip)
remains.

Version baseline:
- pyversion.mk, pyversion_dmake.mk: PYMAJOR/PYMINOR/PYMICRO -> 3/11/15.

pyuno C++ bridge (collapse the 2012 dual-version scaffolding to Py3-only):
- pyuno_util.cxx: ustring2PyUnicode/pyString2ustring use a single UTF-8
round-trip (PyUnicode_DecodeUTF8 / PyUnicode_AsUTF8AndSize); drop the
removed-in-3.12 Py_UNICODE_SIZE / PyUnicode_FromUnicode / AS_UNICODE paths.
Remove now-dead ustring2PyString.
- pyuno_type.cxx: PyUnicode_FromKindAndData for char; PyUnicode_GetLength /
PyUnicode_ReadChar instead of the 3.12-removed GetSize / AsUnicode.
- pyuno.cxx, pyuno_module.cxx, pyuno_runtime.cxx, pyuno_callable.cxx,
pyuno_except.cxx, pyuno_impl.hxx, pyuno_dlopenwrapper.c: remove all
PY_MAJOR_VERSION < 3 branches, PyInt_*, Py_InitModule, initpyuno, and the
PyEval_InitThreads() no-ops; PyInit_pyuno is the sole module entry point.
PyUnicode_AsUTF8 results are held as const char* (3.11 signature).
PyTypeObject initializers normalised to the unconditional Py3 layout.

configure.ac:
- AM_PATH_PYTHON([2.7]) -> ([3.11]); macOS hexversion floor 2.7.1 -> 3.11.0
(51118080); Py2 'print sys.version' -> print(); distutils.sysconfig ->
sysconfig (distutils removed in 3.12).

Bundled-Python build:
- makefile.mk: TARFILE_MD5 for Python-3.11.15; drop obsolete freebsd/ssl/
solaris patches; feed the solver's bundled OpenSSL to setup.py via
python_CFLAGS/python_LDFLAGS; guard (retain) the deferred Windows msvs9
blocks.
- Regenerated python-3.11.15-{sysbase,nohardlink}.patch and refreshed
python-md5.patch / python-solver-before-std.patch against 3.11.15. Removed
the orphaned 2.7.18 msvs9/sysbase/nohardlink and dead solaris patches.
- prj/d.lst: Py3.11 stdlib layout (drop Py2-only lib-old/compiler/hotshot/
plat-linux2/bsddb/lib-tk/config; python3.11 paths; libpython3.11.*).

pythonscript.py:
- Detect common Python 2 syntax in stored macros at compile() time and raise
a clear "port to Python 3" message instead of a bare SyntaxError traceback.

Verified on macOS arm64: bundled CPython 3.11.15 with these patches
configures, builds, and installs; _ssl/_hashlib/hashlib import and work; the
changed pyuno C-API patterns compile clean against real 3.11 headers
(-Wall -Wextra -Werror); all shipped .py files compile under 3.11.15.

show more ...