head 1.10; access; symbols pkgsrc-2024Q3:1.9.0.28 pkgsrc-2024Q3-base:1.9 pkgsrc-2024Q2:1.9.0.26 pkgsrc-2024Q2-base:1.9 pkgsrc-2024Q1:1.9.0.24 pkgsrc-2024Q1-base:1.9 pkgsrc-2023Q4:1.9.0.22 pkgsrc-2023Q4-base:1.9 pkgsrc-2023Q3:1.9.0.20 pkgsrc-2023Q3-base:1.9 pkgsrc-2023Q2:1.9.0.18 pkgsrc-2023Q2-base:1.9 pkgsrc-2023Q1:1.9.0.16 pkgsrc-2023Q1-base:1.9 pkgsrc-2022Q4:1.9.0.14 pkgsrc-2022Q4-base:1.9 pkgsrc-2022Q3:1.9.0.12 pkgsrc-2022Q3-base:1.9 pkgsrc-2022Q2:1.9.0.10 pkgsrc-2022Q2-base:1.9 pkgsrc-2022Q1:1.9.0.8 pkgsrc-2022Q1-base:1.9 pkgsrc-2021Q4:1.9.0.6 pkgsrc-2021Q4-base:1.9 pkgsrc-2021Q3:1.9.0.4 pkgsrc-2021Q3-base:1.9 pkgsrc-2021Q2:1.9.0.2 pkgsrc-2021Q2-base:1.9 pkgsrc-2021Q1:1.6.0.2 pkgsrc-2021Q1-base:1.6 pkgsrc-2020Q4:1.5.0.2 pkgsrc-2020Q4-base:1.5 pkgsrc-2020Q3:1.4.0.4 pkgsrc-2020Q3-base:1.4 pkgsrc-2020Q2:1.4.0.2 pkgsrc-2020Q2-base:1.4 pkgsrc-2020Q1:1.3.0.2 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.2.0.4 pkgsrc-2019Q4-base:1.2; locks; strict; comment @# @; 1.10 date 2024.10.09.20.00.30; author adam; state dead; branches; next 1.9; commitid hLc14Dc8Yv8SB1tF; 1.9 date 2021.05.22.09.48.02; author bouyer; state Exp; branches; next 1.8; commitid gCtofR6cdyWQW7UC; 1.8 date 2021.05.04.05.16.07; author adam; state Exp; branches; next 1.7; commitid oBEBoDKMcotd1NRC; 1.7 date 2021.04.03.06.22.06; author adam; state Exp; branches; next 1.6; commitid 95VuP4kArPFvnONC; 1.6 date 2021.01.02.09.51.49; author adam; state Exp; branches; next 1.5; commitid O6tEPX478nCRs8CC; 1.5 date 2020.11.17.19.33.15; author sjmulder; state Exp; branches; next 1.4; commitid UB02tadTY4BqahwC; 1.4 date 2020.05.15.08.24.50; author adam; state Exp; branches; next 1.3; commitid wTsHRHkvNm5Drj8C; 1.3 date 2020.01.06.22.54.51; author leot; state Exp; branches; next 1.2; commitid QshmS9x900ScqGRB; 1.2 date 2019.10.24.10.44.57; author jperkin; state Exp; branches; next 1.1; commitid TN8lILDmoGldM6IB; 1.1 date 2019.10.15.16.50.11; author adam; state Exp; branches; next ; commitid fnQdj9YV6mvv5ZGB; desc @@ 1.10 log @python38 py38-html-docs: removed; end of life as of 2024-10-07 @ text @$NetBSD: patch-configure,v 1.9 2021/05/22 09:48:02 bouyer Exp $ - Use gnu99 instead of c99 to avoid "alloca() undefined" problems. - Fix linking on Darwin; don't use -stack_size. - Changes for consistency across pkgsrc platforms. - Simplify _sysconfigdata to include only platform name. - detect netcan/can.h on NetBSD --- configure.orig 2021-05-03 11:47:56.000000000 +0200 +++ configure 2021-05-21 13:07:18.622777201 +0200 @@@@ -6917,7 +6917,7 @@@@ # tweak BASECFLAGS based on compiler and platform case $GCC in yes) - CFLAGS_NODIST="$CFLAGS_NODIST -std=c99" + CFLAGS_NODIST="$CFLAGS_NODIST -std=gnu99" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wextra" >&5 $as_echo_n "checking for -Wextra... " >&6; } @@@@ -8253,7 +8253,7 @@@@ # On Linux, can.h and can/raw.h require sys/socket.h -for ac_header in linux/can.h linux/can/raw.h linux/can/bcm.h +for ac_header in linux/can.h linux/can/raw.h linux/can/bcm.h netcan/can.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" " @@@@ -9564,7 +9564,6 @@@@ # to ensure that tests don't crash # Note: This matches the value of THREAD_STACK_SIZE in # thread_pthread.h - LINKFORSHARED="-Wl,-stack_size,1000000 $LINKFORSHARED" if test "$enable_framework" then @@@@ -14356,10 +14355,10 @@@@ if ac_fn_c_try_compile "$LINENO"; then : -if grep noonsees conftest.$ac_objext >/dev/null ; then +if strings -a conftest.$ac_objext | grep noonsees >/dev/null ; then ax_cv_c_float_words_bigendian=yes fi -if grep seesnoon conftest.$ac_objext >/dev/null ; then +if strings -a conftest.$ac_objext | grep seesnoon >/dev/null ; then if test "$ax_cv_c_float_words_bigendian" = unknown; then ax_cv_c_float_words_bigendian=no else @@@@ -15244,7 +15243,7 @@@@ fi -EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX} +EXT_SUFFIX=${SHLIB_SUFFIX} { $as_echo "$as_me:${as_lineno-$LINENO}: checking LDVERSION" >&5 $as_echo_n "checking LDVERSION... " >&6; } @@@@ -15261,11 +15260,7 @@@@ fi -if test x$PLATFORM_TRIPLET = x; then - LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" -else - LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" -fi +LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" # Check whether right shifting a negative integer extends the sign bit @ 1.9 log @Properly detect NetBSD's socketcan implementation. Bump PKGREVISION @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.8 2021/05/04 05:16:07 adam Exp $ @ 1.8 log @python38: updated to 3.8.10 Python 3.8.10 final Security bpo-43434: Creating a sqlite3.Connection object now also produces a sqlite3.connect auditing event. Previously this event was only produced by sqlite3.connect() calls. Patch by Erlend E. Aasland. bpo-43472: Ensures interpreter-level audit hooks receive the cpython.PyInterpreterState_New event when called through the _xxsubinterpreters module. bpo-43075: Fix Regular Expression Denial of Service (ReDoS) vulnerability in urllib.request.AbstractBasicAuthHandler. The ReDoS-vulnerable regex has quadratic worst-case complexity and it allows cause a denial of service when identifying crafted invalid RFCs. This ReDoS issue is on the client side and needs remote attackers to control the HTTP server. Core and Builtins bpo-43105: Importlib now resolves relative paths when creating module spec objects from file locations. bpo-42924: Fix bytearray repetition incorrectly copying data from the start of the buffer, even if the data is offset within the buffer (e.g. after reassigning a slice at the start of the bytearray to a shorter byte string). Library bpo-43993: Update bundled pip to 21.1.1. bpo-43937: Fixed the turtle module working with non-default root window. bpo-43930: Update bundled pip to 21.1 and setuptools to 56.0.0 bpo-43920: OpenSSL 3.0.0: load_verify_locations() now returns a consistent error message when cadata contains no valid certificate. bpo-43607: urllib can now convert Windows paths with \\?\ prefixes into URL paths. bpo-43284: platform.win32_ver derives the windows version from sys.getwindowsversion().platform_version which in turn derives the version from kernel32.dll (which can be of a different version than Windows itself). Therefore change the platform.win32_ver to determine the version using the platform module’s _syscmd_ver private function to return an accurate version. bpo-42248: [Enum] ensure exceptions raised in _missing__ are released bpo-43799: OpenSSL 3.0.0: define OPENSSL_API_COMPAT 1.1.1 to suppress deprecation warnings. Python requires OpenSSL 1.1.1 APIs. bpo-43794: Add ssl.OP_IGNORE_UNEXPECTED_EOF constants (OpenSSL 3.0.0) bpo-43789: OpenSSL 3.0.0: Don’t call the password callback function a second time when first call has signaled an error condition. bpo-43788: The header files for ssl error codes are now OpenSSL version-specific. Exceptions will now show correct reason and library codes. The make_ssl_data.py script has been rewritten to use OpenSSL’s text file with error codes. bpo-43655: tkinter dialog windows are now recognized as dialogs by window managers on macOS and X Window. bpo-43534: turtle.textinput() and turtle.numinput() create now a transient window working on behalf of the canvas window. bpo-43522: Fix problem with hostname_checks_common_name. OpenSSL does not copy hostflags from struct SSL_CTX to struct SSL. bpo-42967: Allow bytes separator argument in urllib.parse.parse_qs and urllib.parse.parse_qsl when parsing str query strings. Previously, this raised a TypeError. bpo-43176: Fixed processing of a dataclass that inherits from a frozen dataclass with no fields. It is now correctly detected as an error. bpo-34463: Fixed discrepancy between traceback and the interpreter in formatting of SyntaxError with lineno not set (traceback was changed to match interpreter). bpo-41735: Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin. bpo-26053: Fixed bug where the pdb interactive run command echoed the args from the shell command line, even if those have been overridden at the pdb prompt. bpo-36470: Fix dataclasses with InitVars and replace(). Patch by Claudiu Popa. bpo-28577: The hosts method on 32-bit prefix length IPv4Networks and 128-bit prefix IPv6Networks now returns a list containing the single Address instead of an empty list. bpo-32745: Fix a regression in the handling of ctypes’ ctypes.c_wchar_p type: embedded null characters would cause a ValueError to be raised. Patch by Zackery Spytz. Documentation bpo-43959: The documentation on the PyContextVar C-API was clarified. bpo-43938: Update dataclasses documentation to express that FrozenInstanceError is derived from AttributeError. bpo-43739: Fixing the example code in Doc/extending/extending.rst to declare and initialize the pmodule variable to be of the right type. Tests bpo-43842: Fix a race condition in the SMTP test of test_logging. Don’t close a file descriptor (socket) from a different thread while asyncore.loop() is polling the file descriptor. Patch by Victor Stinner. bpo-43811: Tests multiple OpenSSL versions on GitHub Actions. Use ccache to speed up testing. bpo-43791: OpenSSL 3.0.0: Disable testing of legacy protocols TLS 1.0 and 1.1. Tests are failing with TLSV1_ALERT_INTERNAL_ERROR. Windows bpo-35306: Avoid raising errors from pathlib.Path.exists() when passed an invalid filename. bpo-38822: Fixed os.stat() failing on inaccessible directories with a trailing slash, rather than falling back to the parent directory’s metadata. This implicitly affected os.path.exists() and os.path.isdir(). bpo-26227: Fixed decoding of host names in socket.gethostbyaddr() and socket.gethostbyname_ex(). bpo-43745: Actually updates Windows release to OpenSSL 1.1.1k. Earlier releases were mislabelled and actually included 1.1.1i again. bpo-43492: Upgrade Windows installer to use SQLite 3.35.5. macOS bpo-44009: Provide “python3.x-intel64” executable to allow reliably forcing macOS universal2 framework builds to run under Rosetta 2 Intel-64 emulation on Apple Silicon Macs. This can be useful for testing or when universal2 wheels are not yet available. bpo-41100: As of 3.8.10, Python now supports building and running on macOS 11 (Big Sur) and on Apple Silicon Macs (based on the ARM64 architecture). A new universal build variant, universal2, is also available to natively support both ARM64 and Intel 64 in one set of executables. This backport from Python 3.9 does not include support for “weaklinking”; to support a range of macOS versions, continue to target for and build on the oldest version in the range; for 3.8.x, the universal2 variant is only useful on macOS 11 or later. bpo-43492: Update macOS installer to use SQLite 3.35.4. IDLE bpo-43655: IDLE dialog windows are now recognized as dialogs by window managers on macOS and X Window. C API bpo-43962: _PyInterpreterState_IDIncref() now calls _PyInterpreterState_IDInitref() and always increments id_refcount. Previously, calling _xxsubinterpreters.get_current() could create an id_refcount inconsistency when a _xxsubinterpreters.InterpreterID object was deallocated. Patch by Victor Stinner. @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.7 2021/04/03 06:22:06 adam Exp $ d7 1 d9 3 a11 3 --- configure.orig 2021-05-03 09:47:56.000000000 +0000 +++ configure @@@@ -6917,7 +6917,7 @@@@ UNIVERSAL_ARCH_FLAGS= d20 10 a29 1 @@@@ -9564,7 +9569,6 @@@@ then d37 1 a37 1 @@@@ -14356,10 +14385,10 @@@@ _ACEOF d50 1 a50 1 @@@@ -15244,7 +15273,7 @@@@ _ACEOF d59 1 a59 1 @@@@ -15261,11 +15290,7 @@@@ else @ 1.7 log @python38: updated to 3.8.9 Python 3.8.9 final Security bpo-42988: CVE-2021-3426: Remove the getfile feature of the pydoc module which could be abused to read arbitrary files on the disk (directory traversal vulnerability). Moreover, even source code of Python modules can contain sensitive data like passwords. Vulnerability reported by David Schwörer. bpo-43285: ftplib no longer trusts the IP address value returned from the server in response to the PASV command by default. This prevents a malicious FTP server from using the response to probe IPv4 address and port combinations on the client network. Code that requires the former vulnerable behavior may set a trust_server_pasv_ipv4_address attribute on their ftplib.FTP instances to True to re-enable it. bpo-43439: Add audit hooks for gc.get_objects(), gc.get_referrers() and gc.get_referents(). Patch by Pablo Galindo. Core and Builtins bpo-43660: Fix crash that happens when replacing sys.stderr with a callable that can remove the object while an exception is being printed. Patch by Pablo Galindo. bpo-35883: Python no longer fails at startup with a fatal error if a command line argument contains an invalid Unicode character. The Py_DecodeLocale() function now escapes byte sequences which would be decoded as Unicode characters outside the [U+0000; U+10ffff] range. bpo-43406: Fix a possible race condition where PyErr_CheckSignals tries to execute a non-Python signal handler. Library bpo-35930: Raising an exception raised in a “future” instance will create reference cycles. bpo-43577: Fix deadlock when using ssl.SSLContext debug callback with ssl.SSLContext.sni_callback(). bpo-43423: subprocess.communicate() no longer raises an IndexError when there is an empty stdout or stderr IO buffer during a timeout on Windows. bpo-27820: Fixed long-standing bug of smtplib.SMTP where doing AUTH LOGIN with initial_response_ok=False will fail. The cause is that SMTP.auth_login _always_ returns a password if provided with a challenge string, thus non-compliant with the standard for AUTH LOGIN. Also fixes bug with the test for smtpd. bpo-43399: Fix ElementTree.extend not working on iterators when using the Python implementation bpo-43316: The python -m gzip command line application now properly fails when detecting an unsupported extension. It exits with a non-zero exit code and prints an error message to stderr. bpo-43260: Fix TextIOWrapper can not flush internal buffer forever after very large text is written. bpo-42782: Fail fast in shutil.move() to avoid creating destination directories on failure. bpo-37193: Fixed memory leak in socketserver.ThreadingMixIn introduced in Python 3.7. Documentation bpo-43199: Answer “Why is there no goto?” in the Design and History FAQ. bpo-43407: Clarified that a result from time.monotonic(), time.perf_counter(), time.process_time(), or time.thread_time() can be compared with the result from any following call to the same function - not just the next immediate call. bpo-27646: Clarify that ‘yield from ’ works with any iterable, not just iterators. bpo-36346: Update some deprecated unicode APIs which are documented as “will be removed in 4.0” to “3.12”. See PEP 623 for detail. Tests bpo-37945: Fix test_getsetlocale_issue1813() of test_locale: skip the test if setlocale() fails. Patch by Victor Stinner. bpo-41561: Add workaround for Ubuntu’s custom OpenSSL security level policy. Build bpo-43631: Update macOS, Windows, and CI to OpenSSL 1.1.1k. bpo-43617: Improve configure.ac: Check for presence of autoconf-archive package and remove our copies of M4 macros. macOS bpo-41837: Update macOS installer build to use OpenSSL 1.1.1j. IDLE bpo-42225: Document that IDLE can fail on Unix either from misconfigured IP masquerage rules or failure displaying complex colored (non-ascii) characters. bpo-43283: Document why printing to IDLE’s Shell is often slower than printing to a system terminal and that it can be made faster by pre-formatting a single string before printing. @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.6 2021/01/02 09:51:49 adam Exp $ a6 2 - Support for macOS 11 and Apple Silicon (ARM). Mostly backported from: https://github.com/python/cpython/pull/22855 d8 1 a8 1 --- configure.orig 2021-04-02 10:32:10.000000000 +0000 d10 1 a10 16 @@@@ -1490,9 +1490,11 @@@@ Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-universal-archs=ARCH - select architectures for universal build ("32-bit", - "64-bit", "3-way", "intel", "intel-32", "intel-64", - or "all") + specify the kind of universal binary that should be + created. this option is only valid when + --enable-universalsdk is set; options are: + ("universal2", "32-bit", "64-bit", "3-way", "intel", + "intel-32", "intel-64", or "all") see Mac/README.rst --with-framework-name=FRAMEWORK specify an alternate name of the framework built with --enable-framework @@@@ -6912,7 +6914,7 @@@@ UNIVERSAL_ARCH_FLAGS= d19 1 a19 32 @@@@ -7391,6 +7393,11 @@@@ $as_echo "$CC" >&6; } LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ;; + universal2) + UNIVERSAL_ARCH_FLAGS="-arch arm64 -arch x86_64" + LIPO_32BIT_FLAGS="" + ARCH_RUN_32BIT="true" + ;; intel) UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64" LIPO_32BIT_FLAGS="-extract i386" @@@@ -7412,7 +7419,7 @@@@ $as_echo "$CC" >&6; } ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ;; *) - as_fn_error $? "proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way" "$LINENO" 5 + as_fn_error $? "proper usage is --with-universal-arch=universal2|32-bit|64-bit|all|intel|3-way" "$LINENO" 5 ;; esac @@@@ -9276,6 +9283,9 @@@@ fi ;; ppc) MACOSX_DEFAULT_ARCH="ppc64" + ;; + arm64) + MACOSX_DEFAULT_ARCH="arm64" ;; *) as_fn_error $? "Unexpected output of 'arch' on OSX" "$LINENO" 5 @@@@ -9549,7 +9559,6 @@@@ then d27 1 a27 33 @@@@ -11837,6 +11846,31 @@@@ $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _dyld_shared_cache_contains_path" >&5 +$as_echo_n "checking for _dyld_shared_cache_contains_path... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +void *x=_dyld_shared_cache_contains_path + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +$as_echo "#define HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: checking for memfd_create" >&5 $as_echo_n "checking for memfd_create... " >&6; } @@@@ -14316,10 +14350,10 @@@@ _ACEOF d40 1 a40 1 @@@@ -15204,7 +15238,7 @@@@ _ACEOF d49 1 a49 1 @@@@ -15221,11 +15255,7 @@@@ else @ 1.6 log @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. @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.5 2020/11/17 19:33:15 sjmulder Exp $ d10 1 a10 1 --- configure.orig 2020-12-21 16:25:24.000000000 +0000 d12 1 a12 1 @@@@ -1502,9 +1502,11 @@@@ Optional Packages: d27 1 a27 1 @@@@ -6924,7 +6926,7 @@@@ UNIVERSAL_ARCH_FLAGS= d36 1 a36 1 @@@@ -7403,6 +7405,11 @@@@ $as_echo "$CC" >&6; } d48 1 a48 1 @@@@ -7424,7 +7431,7 @@@@ $as_echo "$CC" >&6; } d57 1 a57 1 @@@@ -9288,6 +9295,9 @@@@ fi d67 1 a67 1 @@@@ -9561,7 +9571,6 @@@@ then d75 1 a75 1 @@@@ -11849,6 +11858,31 @@@@ $as_echo "no" >&6; } d107 1 a107 1 @@@@ -14328,10 +14362,10 @@@@ _ACEOF d111 1 a111 1 -if $GREP noonsees conftest.$ac_objext >/dev/null ; then d115 1 a115 1 -if $GREP seesnoon conftest.$ac_objext >/dev/null ; then d120 2 a121 1 @@@@ -15215,7 +15249,7 @@@@ _ACEOF a122 1 fi d129 1 a129 1 @@@@ -15232,11 +15266,7 @@@@ else @ 1.5 log @lang/python38: Fix for macOS 11 and Apple Silicon (Apple Silicon being their aarch64 platform.) This is backport of the same in lang/python39. Only minor changes were needed. Patches consist of: - Upstream work: https://github.com/python/cpython/pull/22855 - Fix for setup.py to find libbz2.tbd and libz.tbd now that with the shared library cache there's nothing in /usr/lib. See: https://bugs.python.org/issue41116 - Addition of __arch64__ case to fix _decimal module. A very similar fix has since been committed upstream. @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.4 2020/05/15 08:24:50 adam Exp $ d3 6 a8 6 - Use gnu99 instead of c99 to avoid "alloca() undefined" problems. - Fix linking on Darwin; don't use -stack_size. - Changes for consistency across pkgsrc platforms. - Simplify _sysconfigdata to include only platform name. - Support for macOS 11 and Apple Silicon (ARM). Mostly backported from: https://github.com/python/cpython/pull/22855 d10 1 a10 1 --- configure.orig 2020-09-23 12:36:32.000000000 +0000 d57 1 a57 1 @@@@ -9263,6 +9270,9 @@@@ fi d67 1 a67 1 @@@@ -9536,7 +9546,6 @@@@ then d75 1 a75 1 @@@@ -11824,6 +11833,31 @@@@ $as_echo "no" >&6; } d107 1 a107 1 @@@@ -14303,10 +14337,10 @@@@ _ACEOF d120 1 a120 1 @@@@ -15192,8 +15226,6 @@@@ fi d122 4 d127 3 a129 7 case $ac_sys_system in - Linux*|GNU*|Darwin|VxWorks) - EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX};; *) EXT_SUFFIX=${SHLIB_SUFFIX};; esac @@@@ -15213,11 +15245,7 @@@@ else @ 1.4 log @python38: updated to 3.8.3 Python 3.8.3 final Core and Builtins bpo-40527: Fix command line argument parsing: no longer write errors multiple times into stderr. bpo-40417: Fix imp module deprecation warning when PyImport_ReloadModule is called. Patch by Robert Rouhani. bpo-39562: The constant values of future flags in the __future__ module are updated in order to prevent collision with compiler flags. Previously PyCF_ALLOW_TOP_LEVEL_AWAIT was clashing with CO_FUTURE_DIVISION. Library bpo-40559: Fix possible memory leak in the C implementation of asyncio.Task. bpo-40355: Improve error reporting in ast.literal_eval() in the presence of malformed ast.Dict nodes instead of silently ignoring any non-conforming elements. Patch by Curtis Bucher. bpo-40459: platform.win32_ver() now produces correct ptype strings instead of empty strings. bpo-40398: typing.get_args() now always returns an empty tuple for special generic aliases. Documentation bpo-40561: Provide docstrings for webbrowser open functions. bpo-39435: Fix an incorrect signature for pickle.loads() in the docs Windows bpo-40458: Increase reserved stack space to prevent overflow crash on Windows. C API bpo-40412: Nullify inittab_copy during finalization, preventing future interpreter initializations in an embedded situation from crashing. @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.3 2020/01/06 22:54:51 leot Exp $ d3 6 a8 4 Use gnu99 instead of c99 to avoid "alloca() undefined" problems. Fix linking on Darwin; don't use -stack_size. Changes for consistency across pkgsrc platforms. Simplify _sysconfigdata to include only platform name. d10 1 a10 1 --- configure.orig 2020-05-13 17:31:54.000000000 +0000 d12 16 a27 1 @@@@ -6924,7 +6924,7 @@@@ UNIVERSAL_ARCH_FLAGS= d36 32 a67 1 @@@@ -9536,7 +9536,6 @@@@ then d75 33 a107 1 @@@@ -14303,10 +14302,10 @@@@ _ACEOF d120 1 a120 1 @@@@ -15192,8 +15191,6 @@@@ fi d129 1 a129 1 @@@@ -15213,11 +15210,7 @@@@ else @ 1.3 log @python38: Use gnu99 instead of c99 to avoid "alloca() undefined" problems Add a missed hunk from python3[67] to patch-configure. This fixes the build on NetBSD/evbarm (aarch64) and probably other ports. PKGREVISION++ @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.2 2019/10/24 10:44:57 jperkin Exp $ d8 1 a8 1 --- configure.orig 2019-12-18 17:21:23.000000000 +0000 d10 1 a10 1 @@@@ -6902,7 +6902,7 @@@@ UNIVERSAL_ARCH_FLAGS= d19 1 a19 1 @@@@ -9514,7 +9514,6 @@@@ then d27 1 a27 1 @@@@ -14259,10 +14258,10 @@@@ _ACEOF d31 1 a31 1 -if grep noonsees conftest.$ac_objext >/dev/null ; then d35 1 a35 1 -if grep seesnoon conftest.$ac_objext >/dev/null ; then d40 1 a40 1 @@@@ -15148,8 +15147,6 @@@@ fi d49 1 a49 1 @@@@ -15169,11 +15166,7 @@@@ else @ 1.2 log @python38: Make float words test a little less insane. Fixes build on SunOS with the native grep. @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.1 2019/10/15 16:50:11 adam Exp $ d3 1 d8 1 a8 1 --- configure.orig 2019-10-14 13:34:47.000000000 +0000 d10 10 a19 1 @@@@ -9526,7 +9526,6 @@@@ then d27 1 a27 1 @@@@ -14271,10 +14270,10 @@@@ _ACEOF d40 1 a40 1 @@@@ -15160,8 +15159,6 @@@@ fi d49 1 a49 1 @@@@ -15181,11 +15178,7 @@@@ else @ 1.1 log @python38: added version 3.8.0 Major new features of the 3.8 series, compared to 3.7 PEP 572, Assignment expressions PEP 570, Positional-only arguments PEP 587, Python Initialization Configuration (improved embedding) PEP 590, Vectorcall: a fast calling protocol for CPython PEP 578, Runtime audit hooks PEP 574, Pickle protocol 5 with out-of-band data Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict) Parallel filesystem cache for compiled bytecode Debug builds share ABI as release builds f-strings support a handy = specifier for debugging continue is now legal in finally: blocks on Windows, the default asyncio event loop is now ProactorEventLoop on macOS, the spawn start method is now used by default in multiprocessing multiprocessing can now use shared memory segments to avoid pickling costs between processes typed_ast is merged back to CPython LOAD_GLOBAL is now 40% faster pickle now uses Protocol 4 by default, improving performance @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.2 2019/03/02 13:23:36 adam Exp $ d7 1 a7 1 --- configure.orig 2019-09-06 08:21:57.000000000 +0000 d9 1 a9 1 @@@@ -9547,7 +9547,6 @@@@ then d17 14 a30 1 @@@@ -15178,8 +15177,6 @@@@ fi d39 1 a39 1 @@@@ -15199,11 +15196,7 @@@@ else @