diff --git a/cpython-windows/build.py b/cpython-windows/build.py index 47bdc493..7e4d78ac 100644 --- a/cpython-windows/build.py +++ b/cpython-windows/build.py @@ -564,14 +564,18 @@ def hack_project_files( except NoSearchStringError: pass - # Our custom OpenSSL build has applink.c in a different location - # from the binary OpenSSL distribution. Update it. - ssl_proj = pcbuild_path / "_ssl.vcxproj" - static_replace_in_file( - ssl_proj, - rb'', - rb'', - ) + # Our custom OpenSSL build has applink.c in a different location from the + # binary OpenSSL distribution. This is no longer relevant for 3.12+ per + # https://github.com/python/cpython/pull/131839, so we allow it to fail.swe + try: + ssl_proj = pcbuild_path / "_ssl.vcxproj" + static_replace_in_file( + ssl_proj, + rb'', + rb'', + ) + except NoSearchStringError: + pass # Python 3.12+ uses the the pre-built tk-windows-bin 8.6.12 which doesn't # have a standalone zlib DLL, so we remove references to it. For Python diff --git a/pythonbuild/downloads.py b/pythonbuild/downloads.py index 40b11a13..89f3ce08 100644 --- a/pythonbuild/downloads.py +++ b/pythonbuild/downloads.py @@ -37,46 +37,46 @@ "license_file": "LICENSE.bzip2.txt", }, "cpython-3.9": { - "url": "https://www.python.org/ftp/python/3.9.21/Python-3.9.21.tar.xz", - "size": 19647056, - "sha256": "3126f59592c9b0d798584755f2bf7b081fa1ca35ce7a6fea980108d752a05bb1", - "version": "3.9.21", + "url": "https://www.python.org/ftp/python/3.9.22/Python-3.9.22.tar.xz", + "size": 19652572, + "sha256": "8c136d199d3637a1fce98a16adc809c1d83c922d02d41f3614b34f8b6e7d38ec", + "version": "3.9.22", "licenses": ["Python-2.0", "CNRI-Python"], "license_file": "LICENSE.cpython.txt", "python_tag": "cp39", }, "cpython-3.10": { - "url": "https://www.python.org/ftp/python/3.10.16/Python-3.10.16.tar.xz", - "size": 19610392, - "sha256": "bfb249609990220491a1b92850a07135ed0831e41738cf681d63cf01b2a8fbd1", - "version": "3.10.16", + "url": "https://www.python.org/ftp/python/3.10.17/Python-3.10.17.tar.xz", + "size": 19608144, + "sha256": "4c68050f049d1b4ac5aadd0df5f27941c0350d2a9e7ab0907ee5eb5225d9d6b0", + "version": "3.10.17", "licenses": ["Python-2.0", "CNRI-Python"], "license_file": "LICENSE.cpython.txt", "python_tag": "cp310", }, "cpython-3.11": { - "url": "https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tar.xz", - "size": 20085792, - "sha256": "2a9920c7a0cd236de33644ed980a13cbbc21058bfdc528febb6081575ed73be3", - "version": "3.11.11", + "url": "https://www.python.org/ftp/python/3.11.12/Python-3.11.12.tar.xz", + "size": 20112232, + "sha256": "849da87af4df137710c1796e276a955f7a85c9f971081067c8f565d15c352a09", + "version": "3.11.12", "licenses": ["Python-2.0", "CNRI-Python"], "license_file": "LICENSE.cpython.txt", "python_tag": "cp311", }, "cpython-3.12": { - "url": "https://www.python.org/ftp/python/3.12.9/Python-3.12.9.tar.xz", - "size": 20502440, - "sha256": "7220835d9f90b37c006e9842a8dff4580aaca4318674f947302b8d28f3f81112", - "version": "3.12.9", + "url": "https://www.python.org/ftp/python/3.12.10/Python-3.12.10.tar.xz", + "size": 20520960, + "sha256": "07ab697474595e06f06647417d3c7fa97ded07afc1a7e4454c5639919b46eaea", + "version": "3.12.10", "licenses": ["Python-2.0", "CNRI-Python"], "license_file": "LICENSE.cpython.txt", "python_tag": "cp312", }, "cpython-3.13": { - "url": "https://www.python.org/ftp/python/3.13.2/Python-3.13.2.tar.xz", - "size": 22621108, - "sha256": "d984bcc57cd67caab26f7def42e523b1c015bbc5dc07836cf4f0b63fa159eb56", - "version": "3.13.2", + "url": "https://www.python.org/ftp/python/3.13.3/Python-3.13.3.tar.xz", + "size": 22654240, + "sha256": "40f868bcbdeb8149a3149580bb9bfd407b3321cd48f0be631af955ac92c0e041", + "version": "3.13.3", "licenses": ["Python-2.0", "CNRI-Python"], "license_file": "LICENSE.cpython.txt", "python_tag": "cp313", diff --git a/src/validation.rs b/src/validation.rs index df0c940f..747cdaed 100644 --- a/src/validation.rs +++ b/src/validation.rs @@ -1596,6 +1596,10 @@ fn validate_extension_modules( ]); } + if is_windows && matches!(python_major_minor, "3.13") { + wanted.extend(["_suggestions"]); + } + if (is_linux || is_macos) && matches!(python_major_minor, "3.13" | "3.14") { wanted.extend(["_suggestions", "_testexternalinspection"]); }