Subject: CVS commit: pkgsrc/lang
From: Adam Ciarcinski
Date: 2025-02-04 23:11:15
Message id: 20250204221115.8BCC1FBE0@cvs.NetBSD.org

Log Message:
python312 py312-html-docs: updated to 3.12.9

Python 3.12.9

Tests

gh-127906: Test the limited C API in test_cppext. Patch by Victor Stinner.
gh-127906: Backport test_cext from the main branch. Patch by Victor Stinner.
gh-127637: Add tests for the dis command-line interface. Patch by Bénédikt Tran.
Security
gh-105704: When using urllib.parse.urlsplit() and urllib.parse.urlparse() host \ 
parsing would not reject domain names containing square brackets ([ and ]). \ 
Square brackets are only valid for IPv6 and IPvFuture hosts according to RFC \ 
3986 Section 3.2.2.
gh-127655: Fixed the asyncio.selector_events._SelectorSocketTransport transport \ 
not pausing writes for the protocol when the buffer reaches the high water mark \ 
when using asyncio.WriteTransport.writelines().
gh-126108: Fix a possible NULL pointer dereference in PySys_AddWarnOptionUnicode().
gh-80222: Fix bug in the folding of quoted strings when flattening an email \ 
message using a modern email policy. Previously when a quoted string was folded \ 
so that it spanned more than one line, the surrounding quotes and internal \ 
escapes would be omitted. This could theoretically be used to spoof header lines \ 
using a carefully constructed quoted string if the resulting rendered email was \ 
transmitted or re-parsed.
gh-119511: Fix a potential denial of service in the imaplib module. When \ 
connecting to a malicious server, it could cause an arbitrary amount of memory \ 
to be allocated. On many systems this is harmless as unused virtual memory is \ 
only a mapping, but if this hit a virtual address size limit it could lead to a \ 
MemoryError or other process crash. On unusual systems or builds where all \ 
allocated memory is touched and backed by actual ram or storage it could’ve \ 
consumed resources doing so until similarly crashing.

Library

gh-129502: Unlikely errors in preparing arguments for ctypes callback are now \ 
handled in the same way as errors raised in the callback of in converting the \ 
result of the callback – using sys.unraisablehook() instead of \ 
sys.excepthook() and not setting sys.last_exc and other variables.
gh-129403: Corrected ValueError message for asyncio.Barrier and threading.Barrier.
gh-129409: Fix an integer overflow in the csv module when writing a data field \ 
larger than 2GB.
gh-118761: Improve import time of subprocess by lazy importing locale and \ 
signal. Patch by Taneli Hukkinen.
gh-129346: In sqlite3, handle out-of-memory when creating user-defined SQL functions.
gh-128550: Removed an incorrect optimization relating to eager tasks in \ 
asyncio.TaskGroup that resulted in cancellations being missed.
gh-128991: Release the enter frame reference within bdb callback
gh-128961: Fix a crash when setting state on an exhausted array.array iterator.
gh-128916: Do not attempt to set SO_REUSEPORT on sockets of address families \ 
other than AF_INET and AF_INET6, as it is meaningless with these address \ 
families, and the call with fail with Linux kernel 6.12.9 and newer.
gh-128679: Fix tracemalloc.stop() race condition. Fix tracemalloc to support \ 
calling tracemalloc.stop() in one thread, while another thread is tracing memory \ 
allocations. Patch by Victor Stinner.
gh-128562: Fix possible conflicts in generated tkinter widget names if the \ 
widget class name ends with a digit.
gh-128552: Fix cyclic garbage introduced by asyncio.loop.create_task() and \ 
asyncio.TaskGroup.create_task() holding a reference to the created task if it is \ 
eager.
gh-128479: Fix asyncio.staggered.staggered_race() leaking tasks and issuing an \ 
unhandled exception.
gh-88834: Unify the instance check for typing.Union and types.UnionType: Union \ 
now uses the instance checks against its parameters instead of the subclass \ 
checks.
gh-128302: Fix xml.dom.xmlbuilder.DOMEntityResolver.resolveEntity(), which was \ 
broken by the Python 3.0 transition.
gh-128302: Allow xml.dom.xmlbuilder.DOMParser.parse() to correctly handle \ 
xml.dom.xmlbuilder.DOMInputSource instances that only have a systemId attribute \ 
set.
gh-112064: Fix incorrect handling of negative read sizes in HTTPResponse.read. \ 
Patch by Yury Manushkin.
gh-58956: Fixed a frame reference leak in bdb.
gh-128131: Completely support random access of uncompressed unencrypted \ 
read-only zip files obtained by ZipFile.open.
gh-127975: Avoid reusing quote types in ast.unparse() if not needed.
gh-128014: Fix resetting the default window icon by passing default='' to the \ 
tkinter method wm_iconbitmap().
gh-115514: Fix exceptions and incomplete writes after asyncio._SelectorTransport \ 
is closed before writes are completed.
gh-41872: Fix quick extraction of module docstrings from a file in pydoc. It now \ 
supports docstrings with single quotes, escape sequences, raw string literals, \ 
and other Python syntax.
gh-126742: Fix support of localized error messages reported by dlerror(3) and \ 
gdbm_strerror in ctypes and dbm.gnu functions respectively. Patch by Bénédikt \ 
Tran.
gh-127870: Detect recursive calls in ctypes _as_parameter_ handling. Patch by \ 
Victor Stinner.
gh-127847: Fix the position when doing interleaved seeks and reads in \ 
uncompressed, unencrypted zip files returned by zipfile.ZipFile.open().
gh-127732: The platform module now correctly detects Windows Server 2025.
gh-93312: Include <sys/pidfd.h> to get os.PIDFD_NONBLOCK constant. Patch \ 
by Victor Stinner.
gh-83662: Add missing __class_getitem__ method to the Python implementation of \ 
functools.partial(), to make it compatible with the C version. This is mainly \ 
relevant for alternative Python implementations like PyPy and GraalPy, because \ 
CPython will usually use the C-implementation of that function.
gh-127586: multiprocessing.pool.Pool now properly restores blocked signal \ 
handlers of the parent thread when creating processes via either spawn or \ 
forkserver.
gh-98188: Fix an issue in email.message.Message.get_payload() where data cannot \ 
be decoded if the Content Transfer Encoding mechanism contains trailing \ 
whitespaces or additional junk text. Patch by Hui Liu.
gh-127257: In ssl, system call failures that OpenSSL reports using ERR_LIB_SYS \ 
are now raised as OSError.
gh-126775: Make linecache.checkcache() thread safe and GC re-entrancy safe.
gh-58956: Fixed a bug in pdb where sometimes the breakpoint won’t trigger if \ 
it was set on a function which is already in the call stack.
gh-123401: The http.cookies module now supports parsing obsolete RFC 850 date \ 
formats, in accordance with RFC 9110 requirements. Patch by Nano Zheng.
gh-123085: In a bare call to importlib.resources.files(), ensure the caller’s \ 
frame is properly detected when importlib.resources is itself available as a \ 
compiled module only (no source).
gh-122431: readline.append_history_file() now raises a ValueError when given a \ 
negative value.

Documentation

gh-125722: Require Sphinx 8.1.3 or later to build the Python documentation. \ 
Patch by Adam Turner.
gh-67206: Document that string.printable is not printable in the POSIX sense. In \ 
particular, string.printable.isprintable() returns False. Patch by Bénédikt \ 
Tran.

Core and Builtins

gh-129345: Fix null pointer dereference in syslog.openlog() when an audit hook \ 
raises an exception.
gh-129093: Fix f-strings such as f'{expr=}' sometimes not displaying the full \ 
expression when the expression contains !=.
gh-124363: Treat debug expressions in f-string as raw strings. Patch by Pablo Galindo
gh-128799: Add frame of except* to traceback when it wraps a naked exception.
gh-128078: Fix a SystemError when using anext() with a default tuple value. \ 
Patch by Bénédikt Tran.
gh-128079: Fix a bug where except* does not properly check the return value of \ 
an ExceptionGroup’s split() function, leading to a crash in some cases. Now \ 
when split() returns an invalid object, except* raises a TypeError with the \ 
original raised ExceptionGroup object chained to it.
gh-127903: Objects/unicodeobject.c: fix a crash on DEBUG builds in \ 
_copy_characters when there is nothing to copy.
gh-127599: Fix statistics for increments of object reference counts (in \ 
particular, when a reference count was increased by more than 1 in a single \ 
operation).
gh-111609: Respect end_offset in SyntaxError subclasses.
gh-126862: Fix a possible overflow when a class inherits from an absurd number \ 
of super-classes. Reported by Valery Fedorenko. Patch by Bénédikt Tran.
gh-117195: Avoid assertion failure for debug builds when calling object.__sizeof__(1)

C API

gh-126554: Fix error handling in ctypes.CDLL objects which could result in a \ 
crash in rare situations.
gh-107249: Implement the Py_UNUSED macro for Windows MSVC compiler. Patch by \ 
Victor Stinner.

Build

gh-129539: Don’t redefine EX_OK when the system has the sysexits.h header.
gh-128472: Skip BOLT optimization of functions using computed gotos, fixing \ 
errors on build with LLVM 19.
gh-123925: Fix building the curses module on platforms with libncurses but \ 
without libncursesw.
gh-128321: Set LIBS instead of LDFLAGS when checking if sqlite3 library \ 
functions are available. This fixes the ordering of linked libraries during \ 
checks, which was incorrect when using a statically linked libsqlite3.

Files:
RevisionActionfile
1.10modifypkgsrc/lang/py312-html-docs/Makefile
1.8modifypkgsrc/lang/py312-html-docs/PLIST
1.10modifypkgsrc/lang/py312-html-docs/distinfo
1.27modifypkgsrc/lang/python312/Makefile
1.12modifypkgsrc/lang/python312/PLIST
1.10modifypkgsrc/lang/python312/dist.mk
1.13modifypkgsrc/lang/python312/distinfo