Subject: CVS commit: pkgsrc/lang
From: Adam Ciarcinski
Date: 2021-01-02 10:51:49
Message id: 20210102095149.69983FA9D@cvs.NetBSD.org

Log Message:
python38 py38-html-docs: updated to 3.8.7

Python 3.8.7

Core and Builtins
bpo-32381: Fix encoding name when running a .pyc file on Windows: \ 
PyRun_SimpleFileExFlags() now uses the correct encoding to decode the filename.
bpo-42536: Several built-in and standard library types now ensure that their \ 
internal result tuples are always tracked by the garbage collector:

collections.OrderedDict.items()
dict.items()
enumerate()
functools.reduce()
itertools.combinations()
itertools.combinations_with_replacement()
itertools.permutations()
itertools.product()
itertools.zip_longest()
zip()
Previously, they could have become untracked by a prior garbage collection. \ 
Patch by Brandt Bucher.

Library
bpo-42630: tkinter functions and constructors which need a default root window \ 
raise now RuntimeError with descriptive message instead of obscure \ 
AttributeError or NameError if it is not created yet or cannot be created \ 
automatically.
bpo-42644: logging.disable will now validate the types and value of its \ 
parameter. It also now accepts strings representing the levels (as does \ 
loging.setLevel) instead of only the numerical values.
bpo-36541: Fixed lib2to3.pgen2 to be able to parse PEP-570 positional only \ 
argument syntax.
bpo-42375: subprocess module update for DragonFlyBSD support.
bpo-39825: Windows: Change sysconfig.get_config_var('EXT_SUFFIX') to the \ 
expected full platform_tag.extension format. Previously it was hard-coded to \ 
.pyd, now it is compatible with distutils.sysconfig and will result in something \ 
like .cp38-win_amd64.pyd. This brings windows into conformance with the other \ 
platforms.
bpo-39101: Fixed tests using IsolatedAsyncioTestCase from hanging on BaseExceptions.
bpo-41907: fix format() behavior for IntFlag
bpo-41889: Enum: fix regression involving inheriting a multiply-inherited enum
bpo-41891: Ensure asyncio.wait_for waits for task completion
bpo-40219: Lowered tkinter.ttk.LabeledScale dummy widget to prevent hiding part \ 
of the content label.
bpo-40084: Fix Enum.__dir__: dir(Enum.member) now includes attributes as well as \ 
methods.

Documentation
bpo-17140: Add documentation for the multiprocessing.pool.ThreadPool class.

Build
bpo-42604: Now all platforms use a value for the “EXT_SUFFIX” build variable \ 
derived from SOABI (for instance in freeBSD, “EXT_SUFFIX” is now \ 
“.cpython-310d.so” instead of “.so”). Previosuly only Linux, Mac and \ 
VxWorks were using a value for “EXT_SUFFIX” that included “SOABI”.
bpo-42598: Fix implicit function declarations in configure which could have \ 
resulted in incorrect configuration checks. Patch contributed by Joshua Root.

Tools/Demos
bpo-42613: Fix freeze.py tool to use the prope config and library directories. \ 
Patch by Victor Stinner.

Python 3.8.7 release candidate 1

Security
bpo-42103: Prevented potential DoS attack via CPU and RAM exhaustion when \ 
processing malformed Apple Property List files in binary format.
bpo-42051: The plistlib module no longer accepts entity declarations in XML \ 
plist files to avoid XML vulnerabilities. This should not affect users as entity \ 
declarations are not used in regular plist files.
bpo-40791: Add volatile to the accumulator variable in hmac.compare_digest, \ 
making constant-time-defeating optimizations less likely.

Core and Builtins
bpo-41686: On Windows, the SIGINT event, _PyOS_SigintEvent(), is now created \ 
even if Python is configured to not install signal handlers (if \ 
PyConfig.install_signal_handlers equals to 0, or Py_InitializeEx(0)).
bpo-42143: Fix handling of errors during creation of PyFunctionObject, which \ 
resulted in operations on uninitialized memory. Patch by Yonatan Goldschmidt.
bpo-41984: The garbage collector now tracks all user-defined classes. Patch by \ 
Brandt Bucher.
bpo-41909: Fixed stack overflow in issubclass() and isinstance() when getting \ 
the __bases__ attribute leads to infinite recursion.
bpo-41894: When loading a native module and a load failure occurs, prevent a \ 
possible UnicodeDecodeError when not running in a UTF-8 locale by decoding the \ 
load error message using the current locale’s encoding.

Library
bpo-17735: inspect.findsource() now raises OSError instead of IndexError when \ 
co_lineno of a code object is greater than the file length. This can happen, for \ 
example, when a file is edited after it was imported. PR by Irit Katriel.
bpo-42116: Fix handling of trailing comments by inspect.getsource().
bpo-42482: TracebackException no longer holds a reference to the exception’s \ 
traceback object. Consequently, instances of TracebackException for equivalent \ 
but non-equal exceptions now compare as equal.
bpo-42406: We fixed an issue in pickle.whichmodule in which importing \ 
multiprocessing could change the how pickle identifies which module an object \ 
belongs to, potentially breaking the unpickling of those objects.
bpo-42328: Fixed tkinter.ttk.Style.map(). The function accepts now the \ 
representation of the default state as empty sequence (as returned by \ 
Style.map()). The structure of the result is now the same on all platform and \ 
does not depend on the value of wantobjects.
bpo-42014: The onerror callback from shutil.rmtree now receives correct function \ 
when os.open fails.
bpo-42237: Fix os.sendfile() on illumos.
bpo-42249: Fixed writing binary Plist files larger than 4 GiB.
bpo-35455: On Solaris, thread_time() is now implemented with gethrvtime() \ 
because clock_gettime(CLOCK_THREAD_CPUTIME_ID) is not always available. Patch by \ 
Jakub Kulik.
bpo-41754: webbrowser: Ignore NotADirectoryError when calling xdg-settings.
bpo-29566: binhex.binhex() consisently writes macOS 9 line endings.
bpo-42183: Fix a stack overflow error for asyncio Task or Future repr().

The overflow occurs under some circumstances when a Task or Future recursively \ 
returns itself.
bpo-42103: InvalidFileException and RecursionError are now the only errors \ 
caused by loading malformed binary Plist file (previously ValueError and \ 
TypeError could be raised in some specific cases).
bpo-41491: plistlib: fix parsing XML plists with hexadecimal integer values
bpo-32498: Clearer exception message when passing an argument of type bytes to \ 
urllib.parse.unquote(). This is only for 3.8; in 3.9 and later this function \ 
accepts bytes inputs as well. PR by Irit Katriel.
bpo-42065: Fix an incorrectly formatted error from _codecs.charmap_decode() when \ 
called with a mapped value outside the range of valid Unicode code points. PR by \ 
Max Bernstein.
bpo-41966: Fix pickling pure Python datetime.time subclasses. Patch by Dean Inwood.
bpo-41976: Fixed a bug that was causing ctypes.util.find_library() to return \ 
None when triying to locate a library in an environment when gcc>=9 is \ 
available and ldconfig is not. Patch by Pablo Galindo
bpo-41900: C14N 2.0 serialisation in xml.etree.ElementTree failed for unprefixed \ 
attributes when a default namespace was defined.
bpo-41855: In importlib.metadata, fix issue where multiple children can be \ 
returned from FastPath.zip_children(). Backport of \ 
python-devs/importlib_metadata#117.
bpo-41840: Fix a bug in the symtable module that was causing module-scope global \ 
variables to not be reported as both local and global. Patch by Pablo Galindo.
bpo-41831: str() for the type attribute of the tkinter.Event object always \ 
returns now the numeric code returned by Tk instead of the name of the event \ 
type.
bpo-41662: No longer override exceptions raised in __len__() of a sequence of \ 
parameters in sqlite3 with ProgrammingError.
bpo-41662: Fixed crash when mutate list of parameters during iteration in sqlite3.
bpo-34215: Clarify the error message for asyncio.IncompleteReadError when \ 
expected is None.
bpo-41316: Fix the tarfile module to write only basename of TAR file to GZIP \ 
compression header.
bpo-12800: Extracting a symlink from a tarball should succeed and overwrite the \ 
symlink if it already exists. The fix is to remove the existing file or symlink \ 
before extraction. Based on patch by Chris AtLee, Jeffrey Kintscher, and Senthil \ 
Kumaran.
bpo-16936: Allow ctypes.wintypes to be imported on non-Windows systems.
bpo-40592: shutil.which() now ignores empty entries in PATHEXT instead of \ 
treating them as a match.
bpo-40492: Fix --outfile for cProfile / profile not writing the output file in \ 
the original directory when the program being profiled changes the working \ 
directory. PR by Anthony Sottile.
bpo-40105: ZipFile truncates files to avoid corruption when a shorter comment is \ 
provided in append (“a”) mode. Patch by Jan Mazur.
bpo-27321: Fixed KeyError exception when flattening an email to a string \ 
attempts to replace a non-existent Content-Transfer-Encoding header.
bpo-32793: Fix a duplicated debug message when smtplib.SMTP.connect() is called.

Documentation
bpo-42153: Fix the URL for the IMAP protocol documents.
bpo-41910: Document the default implementation of object.__eq__.
bpo-41774: In Programming FAQ “Sequences (Tuples/Lists)” section, add “How \ 
do you remove multiple items from a list”.
bpo-39416: Document some restrictions on the default string representations of \ 
numeric classes.

Tests
bpo-41473: Reenable test_gdb on gdb 9.2 and newer: \ 
https://bugzilla.redhat.com/show_bug.cgi?id=1866884 bug is fixed in gdb 10.1.
bpo-42553: Fix test_asyncio.test_call_later() race condition: don’t measure \ 
asyncio performance in the call_later() unit test. The test failed randomly on \ 
the CI.
bpo-40754: Include _testinternalcapi module in Windows installer for test suite
bpo-41739: Fix test_logging.test_race_between_set_target_and_flush(): the test \ 
now waits until all threads complete to avoid leaking running threads.
bpo-41944: Tests for CJK codecs no longer call eval() on content received via HTTP.
bpo-41939: Fix test_site.test_license_exists_at_url(): call \ 
urllib.request.urlcleanup() to reset the global urllib.request._opener. Patch by \ 
Victor Stinner.
bpo-41561: test_ssl: skip test_min_max_version_mismatch when TLS 1.0 is not available
bpo-41602: Add tests for SIGINT handling in the runpy module.
bpo-41306: Fixed a failure in test_tk.test_widgets.ScaleTest happening when \ 
executing the test with Tk 8.6.10.

Build
bpo-42398: Fix a race condition in “make regen-all” when make -jN option is \ 
used to run jobs in parallel. The clinic.py script now only use atomic write to \ 
write files. Moveover, generated files are now left unchanged if the content \ 
does not change, to not change the file modification time.

Windows
bpo-42120: Remove macro definition of copysign (to _copysign) in headers.
bpo-38439: Updates the icons for IDLE in the Windows Store package.
bpo-41557: Update Windows installer to use SQLite 3.33.0.
bpo-38324: Avoid Unicode errors when accessing certain locale data on Windows.

macOS
bpo-38443: The --enable-universalsdk and --with-universal-archs options for the \ 
configure script now check that the specified architectures can be used.
bpo-41471: Ignore invalid prefix lengths in system proxy excludes.
bpo-41557: Update macOS installer to use SQLite 3.33.0.

IDLE
bpo-42426: Fix reporting offset of the RE error in searchengine.
bpo-42415: Get docstrings for IDLE calltips more often by using inspect.getdoc.
bpo-33987: Mostly finish using ttk widgets, mainly for editor, settings, and \ 
searches. Some patches by Mark Roseman.
bpo-41775: Use ‘IDLE Shell’ as shell title
bpo-40511: Typing opening and closing parentheses inside the parentheses of a \ 
function call will no longer cause unnecessary “flashing” off and on of an \ 
existing open call-tip, e.g. when typed in a string literal.
bpo-38439: Add a 256×256 pixel IDLE icon to the Windows .ico file. Created by \ 
Andrew Clover. Remove the low-color gif variations from the .ico file.

C API
bpo-41986: Py_FileSystemDefaultEncodeErrors and Py_UTF8Mode are available again \ 
in limited API.

Files:
RevisionActionfile
1.8modifypkgsrc/lang/py38-html-docs/Makefile
1.8modifypkgsrc/lang/py38-html-docs/distinfo
1.18modifypkgsrc/lang/python38/Makefile
1.8modifypkgsrc/lang/python38/PLIST
1.8modifypkgsrc/lang/python38/dist.mk
1.16modifypkgsrc/lang/python38/distinfo
1.6modifypkgsrc/lang/python38/patches/patch-configure
1.1removepkgsrc/lang/python38/patches/patch-configure.ac