From eb96a6b7a0acc34c440c98b5aafc8e7b6cc24201 Mon Sep 17 00:00:00 2001 From: Michael Sarahan Date: Sat, 3 Oct 2026 16:58:22 -0500 Subject: [PATCH 1/4] [3.11] Update Python to 3.11.17 Bring the upstream security release into the matching conda-forge series. Verify the source checksum, reset the base build number, and refresh Windows dependency patches so they apply to the updated source. --- recipe/meta.yaml | 6 +++--- recipe/patches/0025-Unvendor-expat.patch | 26 ++++++++++++++++-------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 78faefddb..cc9f3a9b0 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,10 +1,10 @@ -{% set version = "3.11.16" %} +{% set version = "3.11.17" %} {% set dev = "" %} {% set dev_ = "" %} {% set ver2 = '.'.join(version.split('.')[0:2]) %} {% set ver2nd = ''.join(version.split('.')[0:2]) %} {% set ver3nd = ''.join(version.split('.')[0:3]) %} -{% set build_number = 2 %} +{% set build_number = 0 %} # this makes the linter happy {% set channel_targets = channel_targets or 'conda-forge main' %} @@ -45,7 +45,7 @@ package: source: - url: https://www.python.org/ftp/python/{{ version }}/Python-{{ version }}{{ dev }}.tar.xz # sha256 from: https://www.python.org/downloads/release/python-{{ ver3nd }}/ - sha256: 91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8 + sha256: bfb74ad39efae27cda510f134ab408e00f9992c56851cfc0b1cdb5646da11599 patches: - patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch - patches/0002-Win32-distutils-Add-support-to-cygwinccompiler-for-V.patch diff --git a/recipe/patches/0025-Unvendor-expat.patch b/recipe/patches/0025-Unvendor-expat.patch index 03fbbe044..04cc8241e 100644 --- a/recipe/patches/0025-Unvendor-expat.patch +++ b/recipe/patches/0025-Unvendor-expat.patch @@ -4,17 +4,17 @@ Date: Wed, 29 Mar 2023 23:07:10 -0500 Subject: [PATCH 25/26] Unvendor expat --- - PCbuild/_elementtree.vcxproj | 26 ++---------- - PCbuild/_elementtree.vcxproj.filters | 59 ---------------------------- - PCbuild/pyexpat.vcxproj | 14 ++----- - PCbuild/pyexpat.vcxproj.filters | 23 ----------- - 4 files changed, 8 insertions(+), 114 deletions(-) + PCbuild/_elementtree.vcxproj | 27 ++---------- + PCbuild/_elementtree.vcxproj.filters | 62 ---------------------------- + PCbuild/pyexpat.vcxproj | 15 ++----- + PCbuild/pyexpat.vcxproj.filters | 26 ----------- + 4 files changed, 8 insertions(+), 122 deletions(-) diff --git a/PCbuild/_elementtree.vcxproj b/PCbuild/_elementtree.vcxproj index 964c95c9f7e..de476a6adde 100644 --- a/PCbuild/_elementtree.vcxproj +++ b/PCbuild/_elementtree.vcxproj -@@ -93,37 +93,19 @@ +@@ -93,38 +93,19 @@ @@ -37,6 +37,7 @@ index 964c95c9f7e..de476a6adde 100644 - - - +- - - - @@ -60,7 +61,7 @@ diff --git a/PCbuild/_elementtree.vcxproj.filters b/PCbuild/_elementtree.vcxproj index f6b55d8ff82..88a13faa683 100644 --- a/PCbuild/_elementtree.vcxproj.filters +++ b/PCbuild/_elementtree.vcxproj.filters -@@ -17,69 +17,10 @@ +@@ -17,72 +17,10 @@ {f99990ba-cd06-40cc-8f28-d2d424ec13be} @@ -83,6 +84,9 @@ index f6b55d8ff82..88a13faa683 100644 - - Header Files\expat - +- +- Header Files\expat +- - - Header Files\expat - @@ -134,7 +138,7 @@ diff --git a/PCbuild/pyexpat.vcxproj b/PCbuild/pyexpat.vcxproj index d159933293a..e253b39c866 100644 --- a/PCbuild/pyexpat.vcxproj +++ b/PCbuild/pyexpat.vcxproj -@@ -90,25 +90,19 @@ +@@ -90,26 +90,19 @@ @@ -152,6 +156,7 @@ index d159933293a..e253b39c866 100644 - - +- - - - @@ -168,7 +173,7 @@ diff --git a/PCbuild/pyexpat.vcxproj.filters b/PCbuild/pyexpat.vcxproj.filters index 230531033fc..b8280b4049c 100644 --- a/PCbuild/pyexpat.vcxproj.filters +++ b/PCbuild/pyexpat.vcxproj.filters -@@ -11,33 +11,10 @@ +@@ -11,36 +11,10 @@ {f1dbbdb5-41e5-4a88-bf8e-13da010c0ce4} @@ -176,6 +181,9 @@ index 230531033fc..b8280b4049c 100644 - - Header Files - +- +- Header Files +- - - Header Files - From ddcedd739c4950fc4d134592fa80a2b2e5672b46 Mon Sep 17 00:00:00 2001 From: Michael Sarahan Date: Sun, 4 Oct 2026 11:45:18 -0500 Subject: [PATCH 2/4] Document the Python patch workflow for coding agents --- AGENTS.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000..178afcb5f --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,22 @@ +# Agent guidance + +## Updating Python and its patches + +Before preparing a Python version bump or editing `recipe/patches/*.patch`, read +[the patch regeneration instructions](recipe/patches/README.md) and +[`make-mixed-crlf-patch.py`](recipe/patches/make-mixed-crlf-patch.py) on the target +version branch. If either is absent, consult the corresponding file on upstream +`main`. The repository's patch instructions are authoritative. + +Regenerate patches through the documented CPython Git workflow: apply the +existing series with `git am` on the old release tag, replay the patch commits +onto the new tag and resolve conflicts, export with +`git format-patch --no-signature`, and run `make-mixed-crlf-patch.py` on the +generated patches. Preserve patch authorship, commit metadata, ordering, and +required line endings. Hand-editing patch text and confirming that it applies +does not replace this workflow. + +Before committing or publishing a version bump, verify that the regenerated +series applies in order with `git am` to a clean checkout of the new CPython tag, +and run the applicable recipe and pre-commit checks. Report any checks that could +not be completed. From 6abd78d5631d8d2981397ca22d7def310699594b Mon Sep 17 00:00:00 2001 From: Michael Sarahan Date: Sun, 4 Oct 2026 18:24:18 -0500 Subject: [PATCH 3/4] Regenerate Python 3.11 patches and simplify refresh guidance --- AGENTS.md | 4 +- ...2-Change-FD_SETSIZE-from-512-to-2048.patch | 4 +- ...Add-support-to-cygwinccompiler-for-V.patch | 4 +- ...-for-isysroot-in-addition-to-sysroot.patch | 4 +- ...dir_option-Use-1st-word-of-CC-as-com.patch | 4 +- ...0005-Win32-Do-not-download-externals.patch | 4 +- ...-so-that-it-looks-in-sys.prefix-lib-.patch | 6 +- ...compiling-on-debian-ubuntu-with-a-di.patch | 4 +- ...-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch | 6 +- recipe/patches/0009-Unvendor-openssl.patch | 16 ++-- recipe/patches/0010-Unvendor-sqlite3.patch | 8 +- ...nlib-from-env-if-env-variable-is-set.patch | 4 +- ...dd-CondaEcosystemModifyDllSearchPath.patch | 4 +- ...RC_DIR-to-make-pdbs-more-relocatable.patch | 4 +- recipe/patches/0014-Doing-d1trimfile.patch | 86 +++++++++---------- .../patches/0015-cross-compile-darwin.patch | 10 +-- .../patches/0016-Fix-TZPATH-on-windows.patch | 4 +- ...ch-work-with-SYSTEM_VERSION_COMPAT-1.patch | 4 +- ...ED-when-CC-is-overriden-on-Linux-too.patch | 4 +- recipe/patches/0019-Unvendor-bzip2.patch | 6 +- recipe/patches/0020-Unvendor-libffi.patch | 4 +- recipe/patches/0021-Unvendor-tcltk.patch | 4 +- recipe/patches/0022-unvendor-xz.patch | 4 +- recipe/patches/0023-unvendor-zlib.patch | 6 +- ...-not-pass-g-to-GCC-when-not-Py_DEBUG.patch | 6 +- recipe/patches/0025-Unvendor-expat.patch | 12 +-- ...d_t-as-it-might-conflict-with-the-ac.patch | 10 +-- recipe/patches/README.md | 63 +++++++++++--- 28 files changed, 168 insertions(+), 131 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 178afcb5f..3285546cc 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9,8 +9,8 @@ version branch. If either is absent, consult the corresponding file on upstream `main`. The repository's patch instructions are authoritative. Regenerate patches through the documented CPython Git workflow: apply the -existing series with `git am` on the old release tag, replay the patch commits -onto the new tag and resolve conflicts, export with +existing series with `git am -3` on the old release tag, rebase the patch commits +onto the new tag as documented in the README and resolve conflicts, export with `git format-patch --no-signature`, and run `make-mixed-crlf-patch.py` on the generated patches. Preserve patch authorship, commit metadata, ordering, and required line endings. Hand-editing patch text and confirming that it applies diff --git a/recipe/patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch b/recipe/patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch index f0777e463..b667d8586 100644 --- a/recipe/patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch +++ b/recipe/patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch @@ -1,4 +1,4 @@ -From 8eb7c74e3d63c41284cd86f9d24b18921b163a5c Mon Sep 17 00:00:00 2001 +From 10d69d27464be90c52536b2c284c393282086107 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 16 Aug 2017 11:53:55 +0100 Subject: [PATCH 01/26] Win32: Change FD_SETSIZE from 512 to 2048 @@ -9,7 +9,7 @@ https://github.com/ContinuumIO/anaconda-issues/issues/1241 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c -index 82102698672..9af1ac8267d 100644 +index 8210269867..9af1ac8267 100644 --- a/Modules/selectmodule.c +++ b/Modules/selectmodule.c @@ -38,7 +38,7 @@ diff --git a/recipe/patches/0002-Win32-distutils-Add-support-to-cygwinccompiler-for-V.patch b/recipe/patches/0002-Win32-distutils-Add-support-to-cygwinccompiler-for-V.patch index 3ebf9f0ee..ed16a2bdb 100644 --- a/recipe/patches/0002-Win32-distutils-Add-support-to-cygwinccompiler-for-V.patch +++ b/recipe/patches/0002-Win32-distutils-Add-support-to-cygwinccompiler-for-V.patch @@ -1,4 +1,4 @@ -From af5b00d49fc6265c34a632cf802679a5ab8b5ad0 Mon Sep 17 00:00:00 2001 +From 594f0ecdc08661c1ade5bd68d5c7e5cff85075f3 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 16 Aug 2017 11:59:00 +0100 Subject: [PATCH 02/26] Win32: distutils: Add support to cygwinccompiler for @@ -10,7 +10,7 @@ Really this is for mingw-w64 though 1 file changed, 3 insertions(+) diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py -index 66c12dd3583..e6c790118bb 100644 +index 66c12dd358..e6c790118b 100644 --- a/Lib/distutils/cygwinccompiler.py +++ b/Lib/distutils/cygwinccompiler.py @@ -80,6 +80,9 @@ def get_msvcr(): diff --git a/recipe/patches/0003-bpo-45258-search-for-isysroot-in-addition-to-sysroot.patch b/recipe/patches/0003-bpo-45258-search-for-isysroot-in-addition-to-sysroot.patch index a29bd0309..5c7387a48 100644 --- a/recipe/patches/0003-bpo-45258-search-for-isysroot-in-addition-to-sysroot.patch +++ b/recipe/patches/0003-bpo-45258-search-for-isysroot-in-addition-to-sysroot.patch @@ -1,4 +1,4 @@ -From 58efb8731689f5d8ce622dfd6b7692c2960f8e7a Mon Sep 17 00:00:00 2001 +From 675bc27ae2e812f1b92ef1ee6d998e09e1ed77c7 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 21 Sep 2021 13:05:20 -0500 Subject: [PATCH 03/26] bpo-45258: search for -isysroot in addition to @@ -10,7 +10,7 @@ Subject: [PATCH 03/26] bpo-45258: search for -isysroot in addition to 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index ad8fb81b218..f7005862c2d 100644 +index ad8fb81b21..f7005862c2 100644 --- a/setup.py +++ b/setup.py @@ -166,7 +166,7 @@ def sysroot_paths(make_vars, subdirs): diff --git a/recipe/patches/0004-runtime_library_dir_option-Use-1st-word-of-CC-as-com.patch b/recipe/patches/0004-runtime_library_dir_option-Use-1st-word-of-CC-as-com.patch index 18652e9bd..335287b39 100644 --- a/recipe/patches/0004-runtime_library_dir_option-Use-1st-word-of-CC-as-com.patch +++ b/recipe/patches/0004-runtime_library_dir_option-Use-1st-word-of-CC-as-com.patch @@ -1,4 +1,4 @@ -From d649520549299bc33c21620365716bd7699a4c47 Mon Sep 17 00:00:00 2001 +From 93a27e66a044043afc10bb45c143d93e3b483d64 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 5 Oct 2017 02:00:41 +0100 Subject: [PATCH 04/26] runtime_library_dir_option: Use 1st word of CC as @@ -12,7 +12,7 @@ not get detected as gcc (or whatever it actually is). 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py -index d00c48981eb..54dd556fe5a 100644 +index d00c48981e..54dd556fe5 100644 --- a/Lib/distutils/unixccompiler.py +++ b/Lib/distutils/unixccompiler.py @@ -232,7 +232,8 @@ def runtime_library_dir_option(self, dir): diff --git a/recipe/patches/0005-Win32-Do-not-download-externals.patch b/recipe/patches/0005-Win32-Do-not-download-externals.patch index 19d7a2119..161bd48b0 100644 --- a/recipe/patches/0005-Win32-Do-not-download-externals.patch +++ b/recipe/patches/0005-Win32-Do-not-download-externals.patch @@ -1,4 +1,4 @@ -From 9c33088d170fd21776f551f1ce8a301a2730ae4c Mon Sep 17 00:00:00 2001 +From cd67ca0451daa6f23bd86eac32c0dc10f0dd75cb Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 7 Sep 2017 11:35:47 +0100 Subject: [PATCH 05/26] Win32: Do not download externals @@ -8,7 +8,7 @@ Subject: [PATCH 05/26] Win32: Do not download externals 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PCbuild/build.bat b/PCbuild/build.bat -index d333ceabd2e..11e3d16a4fd 100644 +index d333ceabd2..11e3d16a4f 100644 --- a/PCbuild/build.bat +++ b/PCbuild/build.bat @@ -97,7 +97,7 @@ if "%IncludeCTypes%"=="" set IncludeCTypes=true diff --git a/recipe/patches/0006-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch b/recipe/patches/0006-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch index deadbf123..a0db58ffd 100644 --- a/recipe/patches/0006-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch +++ b/recipe/patches/0006-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch @@ -1,4 +1,4 @@ -From 235500939927a8f75fc2f0dab3436870065f5734 Mon Sep 17 00:00:00 2001 +From 4f42ef67a7b170a0a339fb61ec9f9e9e666fe06c Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 5 Dec 2017 22:47:59 +0000 Subject: [PATCH 06/26] Fix find_library so that it looks in sys.prefix/lib @@ -10,7 +10,7 @@ Subject: [PATCH 06/26] Fix find_library so that it looks in sys.prefix/lib 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/Lib/ctypes/macholib/dyld.py b/Lib/ctypes/macholib/dyld.py -index 583c47daff3..ab9b01c87e2 100644 +index 583c47daff..ab9b01c87e 100644 --- a/Lib/ctypes/macholib/dyld.py +++ b/Lib/ctypes/macholib/dyld.py @@ -93,6 +93,10 @@ def dyld_executable_path_search(name, executable_path=None): @@ -25,7 +25,7 @@ index 583c47daff3..ab9b01c87e2 100644 yield os.path.join(executable_path, name[len('@executable_path/'):]) diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index c550883e7c7..8f55134805f 100644 +index c550883e7c..8f55134805 100644 --- a/Lib/ctypes/util.py +++ b/Lib/ctypes/util.py @@ -70,7 +70,8 @@ def find_library(name): diff --git a/recipe/patches/0007-bpo-22699-Allow-compiling-on-debian-ubuntu-with-a-di.patch b/recipe/patches/0007-bpo-22699-Allow-compiling-on-debian-ubuntu-with-a-di.patch index 66c2e4ec7..14b08c177 100644 --- a/recipe/patches/0007-bpo-22699-Allow-compiling-on-debian-ubuntu-with-a-di.patch +++ b/recipe/patches/0007-bpo-22699-Allow-compiling-on-debian-ubuntu-with-a-di.patch @@ -1,4 +1,4 @@ -From 260d5bfd0af51d3f2fe2c54fd17e33303b54bdb7 Mon Sep 17 00:00:00 2001 +From 11da7c080952a40634b6252de2153da051465b0e Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Thu, 16 Sep 2021 15:46:09 -0500 Subject: [PATCH 07/26] bpo-22699: Allow compiling on debian/ubuntu with a @@ -12,7 +12,7 @@ patch than given 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index f7005862c2d..feaeb1fcc4f 100644 +index f7005862c2..feaeb1fcc4 100644 --- a/setup.py +++ b/setup.py @@ -688,9 +688,30 @@ def check_extension_import(self, ext): diff --git a/recipe/patches/0008-Disable-registry-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch b/recipe/patches/0008-Disable-registry-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch index 25d4c522f..df21bb6d4 100644 --- a/recipe/patches/0008-Disable-registry-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch +++ b/recipe/patches/0008-Disable-registry-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch @@ -1,4 +1,4 @@ -From 19604dc69f63146a47a07c30b11676c4973a39a1 Mon Sep 17 00:00:00 2001 +From 27c2df0308789b4e234d6b68664c7df8ffa1cb72 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 27 Oct 2018 18:48:30 +0100 Subject: [PATCH 08/26] Disable registry lookup unless CONDA_PY_ALLOW_REG_PATHS @@ -11,7 +11,7 @@ Co-authored-by: Isuru Fernando 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Modules/getpath.c b/Modules/getpath.c -index 61d654065fd..b80297c580c 100644 +index 61d654065f..b80297c580 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -907,6 +907,7 @@ _PyConfig_InitPathConfig(PyConfig *config, int compute_path_config) @@ -23,7 +23,7 @@ index 61d654065fd..b80297c580c 100644 !progname_to_dict(dict, "real_executable") || !library_to_dict(dict, "library") || diff --git a/Modules/getpath.py b/Modules/getpath.py -index a7dd7342d4d..054862c05ce 100644 +index a7dd7342d4..054862c05c 100644 --- a/Modules/getpath.py +++ b/Modules/getpath.py @@ -51,6 +51,7 @@ diff --git a/recipe/patches/0009-Unvendor-openssl.patch b/recipe/patches/0009-Unvendor-openssl.patch index 66bb3a952..ee33bf4e8 100644 --- a/recipe/patches/0009-Unvendor-openssl.patch +++ b/recipe/patches/0009-Unvendor-openssl.patch @@ -1,4 +1,4 @@ -From cfb0b7d01dd5f3d035a78ada6c4a05e218a834bc Mon Sep 17 00:00:00 2001 +From 869c677168bef5dff2ae8f3636543462a83720cd Mon Sep 17 00:00:00 2001 From: Nehal J Wani Date: Sat, 24 Nov 2018 20:38:02 -0600 Subject: [PATCH 09/26] Unvendor openssl @@ -15,7 +15,7 @@ Co-authored-by: Isuru Fernando 7 files changed, 10 insertions(+), 75 deletions(-) diff --git a/PCbuild/_ssl.vcxproj b/PCbuild/_ssl.vcxproj -index 4907f49b662..b2c23d5e8cc 100644 +index 4907f49b66..b2c23d5e8c 100644 --- a/PCbuild/_ssl.vcxproj +++ b/PCbuild/_ssl.vcxproj @@ -99,9 +99,6 @@ @@ -29,7 +29,7 @@ index 4907f49b662..b2c23d5e8cc 100644 diff --git a/PCbuild/_ssl.vcxproj.filters b/PCbuild/_ssl.vcxproj.filters -index 716a69a41af..8aef9e03fcc 100644 +index 716a69a41a..8aef9e03fc 100644 --- a/PCbuild/_ssl.vcxproj.filters +++ b/PCbuild/_ssl.vcxproj.filters @@ -12,9 +12,6 @@ @@ -43,7 +43,7 @@ index 716a69a41af..8aef9e03fcc 100644 diff --git a/PCbuild/openssl.props b/PCbuild/openssl.props -index a4186f01da2..044cefd95ea 100644 +index a4186f01da..044cefd95e 100644 --- a/PCbuild/openssl.props +++ b/PCbuild/openssl.props @@ -2,10 +2,10 @@ @@ -77,7 +77,7 @@ index a4186f01da2..044cefd95ea 100644 \ No newline at end of file + diff --git a/PCbuild/openssl.vcxproj b/PCbuild/openssl.vcxproj -index 0da6f674958..17eee400ebb 100644 +index 0da6f67495..17eee400eb 100644 --- a/PCbuild/openssl.vcxproj +++ b/PCbuild/openssl.vcxproj @@ -60,64 +60,8 @@ @@ -146,7 +146,7 @@ index 0da6f674958..17eee400ebb 100644 diff --git a/PCbuild/python.props b/PCbuild/python.props -index 49347c2b78d..407203a86bf 100644 +index 49347c2b78..407203a86b 100644 --- a/PCbuild/python.props +++ b/PCbuild/python.props @@ -61,6 +61,7 @@ @@ -158,7 +158,7 @@ index 49347c2b78d..407203a86bf 100644 $(ExternalsDir)\ diff --git a/PCbuild/python.vcxproj b/PCbuild/python.vcxproj -index f4640454a73..c1810c7db2b 100644 +index f4640454a7..c1810c7db2 100644 --- a/PCbuild/python.vcxproj +++ b/PCbuild/python.vcxproj @@ -106,6 +106,9 @@ @@ -172,7 +172,7 @@ index f4640454a73..c1810c7db2b 100644 diff --git a/PCbuild/pythonw.vcxproj b/PCbuild/pythonw.vcxproj -index e23635e5ea9..525295c76ff 100644 +index e23635e5ea..525295c76f 100644 --- a/PCbuild/pythonw.vcxproj +++ b/PCbuild/pythonw.vcxproj @@ -98,6 +98,9 @@ diff --git a/recipe/patches/0010-Unvendor-sqlite3.patch b/recipe/patches/0010-Unvendor-sqlite3.patch index 827386534..2b2676467 100644 --- a/recipe/patches/0010-Unvendor-sqlite3.patch +++ b/recipe/patches/0010-Unvendor-sqlite3.patch @@ -1,4 +1,4 @@ -From d352b98ae39b333f8709d3a00002d7956360afd4 Mon Sep 17 00:00:00 2001 +From 8722f2c49eda3860401fb23f886d32e8f1640776 Mon Sep 17 00:00:00 2001 From: Nehal J Wani Date: Tue, 5 Oct 2021 12:42:06 -0700 Subject: [PATCH 10/26] Unvendor sqlite3 @@ -10,7 +10,7 @@ Subject: [PATCH 10/26] Unvendor sqlite3 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/PCbuild/_sqlite3.vcxproj b/PCbuild/_sqlite3.vcxproj -index 57c7413671e..4735477f00c 100644 +index 57c7413671..4735477f00 100644 --- a/PCbuild/_sqlite3.vcxproj +++ b/PCbuild/_sqlite3.vcxproj @@ -93,9 +93,12 @@ @@ -43,7 +43,7 @@ index 57c7413671e..4735477f00c 100644 \ No newline at end of file + diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln -index 3629a8508a3..94148c9ee3e 100644 +index 3629a8508a..94148c9ee3 100644 --- a/PCbuild/pcbuild.sln +++ b/PCbuild/pcbuild.sln @@ -58,8 +58,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyexpat", "pyexpat.vcxproj" @@ -56,7 +56,7 @@ index 3629a8508a3..94148c9ee3e 100644 EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python3dll", "python3dll.vcxproj", "{885D4898-D08D-4091-9C40-C700CFE3FC5A}" diff --git a/PCbuild/sqlite3.vcxproj b/PCbuild/sqlite3.vcxproj -index c502d51833b..c1ff0c9a084 100644 +index c502d51833..c1ff0c9a08 100644 --- a/PCbuild/sqlite3.vcxproj +++ b/PCbuild/sqlite3.vcxproj @@ -88,12 +88,12 @@ diff --git a/recipe/patches/0011-Use-ranlib-from-env-if-env-variable-is-set.patch b/recipe/patches/0011-Use-ranlib-from-env-if-env-variable-is-set.patch index 8fac5dadc..423556262 100644 --- a/recipe/patches/0011-Use-ranlib-from-env-if-env-variable-is-set.patch +++ b/recipe/patches/0011-Use-ranlib-from-env-if-env-variable-is-set.patch @@ -1,4 +1,4 @@ -From 893669473feed8bac87808d91796292e2e46a62c Mon Sep 17 00:00:00 2001 +From 59516a93e3697cc072ff6feded17ed06dc3599ce Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sun, 3 Nov 2019 15:09:45 -0600 Subject: [PATCH 11/26] Use ranlib from env if env variable is set @@ -8,7 +8,7 @@ Subject: [PATCH 11/26] Use ranlib from env if env variable is set 1 file changed, 3 insertions(+) diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 03b85584190..00133ded588 100644 +index 03b8558419..00133ded58 100644 --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py @@ -258,6 +258,9 @@ def customize_compiler(compiler): diff --git a/recipe/patches/0012-Add-CondaEcosystemModifyDllSearchPath.patch b/recipe/patches/0012-Add-CondaEcosystemModifyDllSearchPath.patch index 5f1aefbe9..358281e4e 100644 --- a/recipe/patches/0012-Add-CondaEcosystemModifyDllSearchPath.patch +++ b/recipe/patches/0012-Add-CondaEcosystemModifyDllSearchPath.patch @@ -1,4 +1,4 @@ -From 48a37e85280271fe4b58eea650763837aa16b57f Mon Sep 17 00:00:00 2001 +From ed4c903cceb544903cd1a94a66a8ba2ebd796c84 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 24 Dec 2019 18:37:17 +0100 Subject: [PATCH 12/26] Add CondaEcosystemModifyDllSearchPath() @@ -33,7 +33,7 @@ Co-authored-by: Isuru Fernando 1 file changed, 96 insertions(+) diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c -index 9248e971d9c..719f5b3480b 100644 +index 9248e971d9..719f5b3480 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c @@ -53,6 +53,10 @@ extern void _PyIO_Fini(void); diff --git a/recipe/patches/0013-Add-d1trimfile-SRC_DIR-to-make-pdbs-more-relocatable.patch b/recipe/patches/0013-Add-d1trimfile-SRC_DIR-to-make-pdbs-more-relocatable.patch index 11237f228..29baaa91b 100644 --- a/recipe/patches/0013-Add-d1trimfile-SRC_DIR-to-make-pdbs-more-relocatable.patch +++ b/recipe/patches/0013-Add-d1trimfile-SRC_DIR-to-make-pdbs-more-relocatable.patch @@ -1,4 +1,4 @@ -From 473086b85f1fadd849faa4c0e79c50fd10d4f8a5 Mon Sep 17 00:00:00 2001 +From 5c902ea7ddad89e84a78d38c9d5423237e943b85 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 31 Dec 2019 20:46:36 +0100 Subject: [PATCH 13/26] Add /d1trimfile:%SRC_DIR% to make pdbs more relocatable @@ -8,7 +8,7 @@ Subject: [PATCH 13/26] Add /d1trimfile:%SRC_DIR% to make pdbs more relocatable 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Lib/distutils/_msvccompiler.py b/Lib/distutils/_msvccompiler.py -index af8099a4078..0b245adb309 100644 +index af8099a407..0b245adb30 100644 --- a/Lib/distutils/_msvccompiler.py +++ b/Lib/distutils/_msvccompiler.py @@ -346,6 +346,13 @@ def compile(self, sources, diff --git a/recipe/patches/0014-Doing-d1trimfile.patch b/recipe/patches/0014-Doing-d1trimfile.patch index 6f2080ebf..2e1ee3a05 100644 --- a/recipe/patches/0014-Doing-d1trimfile.patch +++ b/recipe/patches/0014-Doing-d1trimfile.patch @@ -1,4 +1,4 @@ -From cbe5961b208d16f60d577e6c8c2e9f50c8d4d799 Mon Sep 17 00:00:00 2001 +From 9f1e8184fd6826a09ae564945a801836dbef9267 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 31 Dec 2019 21:47:47 +0100 Subject: [PATCH 14/26] Doing d1trimfile @@ -49,7 +49,7 @@ Subject: [PATCH 14/26] Doing d1trimfile 42 files changed, 364 insertions(+), 4 deletions(-) diff --git a/PCbuild/_asyncio.vcxproj b/PCbuild/_asyncio.vcxproj -index ed1e1bc0a42..47d322be5fd 100644 +index ed1e1bc0a4..47d322be5f 100644 --- a/PCbuild/_asyncio.vcxproj +++ b/PCbuild/_asyncio.vcxproj @@ -91,6 +91,26 @@ @@ -80,7 +80,7 @@ index ed1e1bc0a42..47d322be5fd 100644 diff --git a/PCbuild/_bz2.vcxproj b/PCbuild/_bz2.vcxproj -index 3fe95fbf839..0402f7a9aaa 100644 +index 3fe95fbf83..0402f7a9aa 100644 --- a/PCbuild/_bz2.vcxproj +++ b/PCbuild/_bz2.vcxproj @@ -97,6 +97,10 @@ @@ -95,7 +95,7 @@ index 3fe95fbf839..0402f7a9aaa 100644 diff --git a/PCbuild/_ctypes.vcxproj b/PCbuild/_ctypes.vcxproj -index 6ac26f1916c..07a58154f7d 100644 +index 6ac26f1916..07a58154f7 100644 --- a/PCbuild/_ctypes.vcxproj +++ b/PCbuild/_ctypes.vcxproj @@ -95,6 +95,10 @@ @@ -110,7 +110,7 @@ index 6ac26f1916c..07a58154f7d 100644 /EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions) diff --git a/PCbuild/_ctypes_test.vcxproj b/PCbuild/_ctypes_test.vcxproj -index 8a01e743a4d..1ad658d5f91 100644 +index 8a01e743a4..1ad658d5f9 100644 --- a/PCbuild/_ctypes_test.vcxproj +++ b/PCbuild/_ctypes_test.vcxproj @@ -92,6 +92,26 @@ @@ -141,7 +141,7 @@ index 8a01e743a4d..1ad658d5f91 100644 diff --git a/PCbuild/_decimal.vcxproj b/PCbuild/_decimal.vcxproj -index 0916f1a2d37..17a4cbfcd7c 100644 +index 0916f1a2d3..17a4cbfcd7 100644 --- a/PCbuild/_decimal.vcxproj +++ b/PCbuild/_decimal.vcxproj @@ -99,6 +99,10 @@ @@ -156,7 +156,7 @@ index 0916f1a2d37..17a4cbfcd7c 100644 diff --git a/PCbuild/_elementtree.vcxproj b/PCbuild/_elementtree.vcxproj -index e7b7a6d2064..964c95c9f7e 100644 +index 22f204df68..e62b9d3449 100644 --- a/PCbuild/_elementtree.vcxproj +++ b/PCbuild/_elementtree.vcxproj @@ -94,7 +94,11 @@ @@ -173,7 +173,7 @@ index e7b7a6d2064..964c95c9f7e 100644 diff --git a/PCbuild/_freeze_module.vcxproj b/PCbuild/_freeze_module.vcxproj -index 442e3437dac..f12e31d95e5 100644 +index 442e3437da..f12e31d95e 100644 --- a/PCbuild/_freeze_module.vcxproj +++ b/PCbuild/_freeze_module.vcxproj @@ -91,6 +91,10 @@ @@ -188,7 +188,7 @@ index 442e3437dac..f12e31d95e5 100644 Console diff --git a/PCbuild/_hashlib.vcxproj b/PCbuild/_hashlib.vcxproj -index 6dad8183c57..6d3d37fdf95 100644 +index 6dad8183c5..6d3d37fdf9 100644 --- a/PCbuild/_hashlib.vcxproj +++ b/PCbuild/_hashlib.vcxproj @@ -96,6 +96,18 @@ @@ -211,7 +211,7 @@ index 6dad8183c57..6d3d37fdf95 100644 diff --git a/PCbuild/_lzma.vcxproj b/PCbuild/_lzma.vcxproj -index fe076a6fc57..0565132363e 100644 +index fe076a6fc5..0565132363 100644 --- a/PCbuild/_lzma.vcxproj +++ b/PCbuild/_lzma.vcxproj @@ -95,6 +95,10 @@ @@ -226,7 +226,7 @@ index fe076a6fc57..0565132363e 100644 $(OutDir)liblzma$(PyDebugExt).lib;%(AdditionalDependencies) diff --git a/PCbuild/_msi.vcxproj b/PCbuild/_msi.vcxproj -index 720eb2931be..247ab0e9155 100644 +index 720eb2931b..247ab0e915 100644 --- a/PCbuild/_msi.vcxproj +++ b/PCbuild/_msi.vcxproj @@ -96,6 +96,18 @@ @@ -249,7 +249,7 @@ index 720eb2931be..247ab0e9155 100644 diff --git a/PCbuild/_multiprocessing.vcxproj b/PCbuild/_multiprocessing.vcxproj -index 77b6bfc8e1e..3c2b6515496 100644 +index 77b6bfc8e1..3c2b651549 100644 --- a/PCbuild/_multiprocessing.vcxproj +++ b/PCbuild/_multiprocessing.vcxproj @@ -95,6 +95,18 @@ @@ -272,7 +272,7 @@ index 77b6bfc8e1e..3c2b6515496 100644 diff --git a/PCbuild/_overlapped.vcxproj b/PCbuild/_overlapped.vcxproj -index 9e60d3b5db3..95b57290f83 100644 +index 9e60d3b5db..95b57290f8 100644 --- a/PCbuild/_overlapped.vcxproj +++ b/PCbuild/_overlapped.vcxproj @@ -95,6 +95,18 @@ @@ -295,7 +295,7 @@ index 9e60d3b5db3..95b57290f83 100644 diff --git a/PCbuild/_queue.vcxproj b/PCbuild/_queue.vcxproj -index 8065b235851..e46ab5a83b2 100644 +index 8065b23585..e46ab5a83b 100644 --- a/PCbuild/_queue.vcxproj +++ b/PCbuild/_queue.vcxproj @@ -91,6 +91,26 @@ @@ -326,7 +326,7 @@ index 8065b235851..e46ab5a83b2 100644 diff --git a/PCbuild/_socket.vcxproj b/PCbuild/_socket.vcxproj -index 8fd75f90e7e..b403828291c 100644 +index 8fd75f90e7..b403828291 100644 --- a/PCbuild/_socket.vcxproj +++ b/PCbuild/_socket.vcxproj @@ -95,6 +95,18 @@ @@ -349,7 +349,7 @@ index 8fd75f90e7e..b403828291c 100644 diff --git a/PCbuild/_sqlite3.vcxproj b/PCbuild/_sqlite3.vcxproj -index 4735477f00c..c7c377e2179 100644 +index 4735477f00..c7c377e217 100644 --- a/PCbuild/_sqlite3.vcxproj +++ b/PCbuild/_sqlite3.vcxproj @@ -95,6 +95,10 @@ @@ -364,7 +364,7 @@ index 4735477f00c..c7c377e2179 100644 $(condaDir)\lib\sqlite3.lib;%(AdditionalDependencies) diff --git a/PCbuild/_ssl.vcxproj b/PCbuild/_ssl.vcxproj -index b2c23d5e8cc..ebe4e888487 100644 +index b2c23d5e8c..ebe4e88848 100644 --- a/PCbuild/_ssl.vcxproj +++ b/PCbuild/_ssl.vcxproj @@ -96,6 +96,18 @@ @@ -387,7 +387,7 @@ index b2c23d5e8cc..ebe4e888487 100644 diff --git a/PCbuild/_testbuffer.vcxproj b/PCbuild/_testbuffer.vcxproj -index 917d7ae50fe..8c7e141eeaa 100644 +index 917d7ae50f..8c7e141eea 100644 --- a/PCbuild/_testbuffer.vcxproj +++ b/PCbuild/_testbuffer.vcxproj @@ -92,6 +92,26 @@ @@ -418,7 +418,7 @@ index 917d7ae50fe..8c7e141eeaa 100644 diff --git a/PCbuild/_testcapi.vcxproj b/PCbuild/_testcapi.vcxproj -index c1a19437253..99ee2f4a414 100644 +index c1a1943725..99ee2f4a41 100644 --- a/PCbuild/_testcapi.vcxproj +++ b/PCbuild/_testcapi.vcxproj @@ -92,6 +92,26 @@ @@ -449,7 +449,7 @@ index c1a19437253..99ee2f4a414 100644 diff --git a/PCbuild/_testconsole.vcxproj b/PCbuild/_testconsole.vcxproj -index 5d7e14eff10..695dcb3b917 100644 +index 5d7e14eff1..695dcb3b91 100644 --- a/PCbuild/_testconsole.vcxproj +++ b/PCbuild/_testconsole.vcxproj @@ -92,6 +92,10 @@ @@ -464,7 +464,7 @@ index 5d7e14eff10..695dcb3b917 100644 Console diff --git a/PCbuild/_testembed.vcxproj b/PCbuild/_testembed.vcxproj -index a7ea8787e0c..eab72171e3b 100644 +index a7ea8787e0..eab72171e3 100644 --- a/PCbuild/_testembed.vcxproj +++ b/PCbuild/_testembed.vcxproj @@ -89,6 +89,10 @@ @@ -479,7 +479,7 @@ index a7ea8787e0c..eab72171e3b 100644 Console diff --git a/PCbuild/_testimportmultiple.vcxproj b/PCbuild/_testimportmultiple.vcxproj -index 6d80d5779f2..951bf40e7cd 100644 +index 6d80d5779f..951bf40e7c 100644 --- a/PCbuild/_testimportmultiple.vcxproj +++ b/PCbuild/_testimportmultiple.vcxproj @@ -92,6 +92,26 @@ @@ -510,7 +510,7 @@ index 6d80d5779f2..951bf40e7cd 100644 diff --git a/PCbuild/_testinternalcapi.vcxproj b/PCbuild/_testinternalcapi.vcxproj -index 6c5b12cd40e..d25c7749138 100644 +index 6c5b12cd40..d25c774913 100644 --- a/PCbuild/_testinternalcapi.vcxproj +++ b/PCbuild/_testinternalcapi.vcxproj @@ -92,6 +92,26 @@ @@ -541,7 +541,7 @@ index 6c5b12cd40e..d25c7749138 100644 diff --git a/PCbuild/_testmultiphase.vcxproj b/PCbuild/_testmultiphase.vcxproj -index 430eb528cc3..7a268d227bc 100644 +index 430eb528cc..7a268d227b 100644 --- a/PCbuild/_testmultiphase.vcxproj +++ b/PCbuild/_testmultiphase.vcxproj @@ -92,6 +92,10 @@ @@ -556,7 +556,7 @@ index 430eb528cc3..7a268d227bc 100644 Console diff --git a/PCbuild/_tkinter.vcxproj b/PCbuild/_tkinter.vcxproj -index af813b77c1d..9ff2acde0ab 100644 +index af813b77c1..9ff2acde0a 100644 --- a/PCbuild/_tkinter.vcxproj +++ b/PCbuild/_tkinter.vcxproj @@ -96,6 +96,10 @@ @@ -571,7 +571,7 @@ index af813b77c1d..9ff2acde0ab 100644 $(tcltkLib);%(AdditionalDependencies) diff --git a/PCbuild/liblzma.vcxproj b/PCbuild/liblzma.vcxproj -index 4dd42ab98a9..7c2dbc7e701 100644 +index 4dd42ab98a..7c2dbc7e70 100644 --- a/PCbuild/liblzma.vcxproj +++ b/PCbuild/liblzma.vcxproj @@ -94,6 +94,10 @@ @@ -586,7 +586,7 @@ index 4dd42ab98a9..7c2dbc7e701 100644 diff --git a/PCbuild/pyexpat.vcxproj b/PCbuild/pyexpat.vcxproj -index 97eb7338dca..d159933293a 100644 +index fe72705e83..68ac83bc8a 100644 --- a/PCbuild/pyexpat.vcxproj +++ b/PCbuild/pyexpat.vcxproj @@ -92,6 +92,10 @@ @@ -601,7 +601,7 @@ index 97eb7338dca..d159933293a 100644 diff --git a/PCbuild/pylauncher.vcxproj b/PCbuild/pylauncher.vcxproj -index 35f2f7e505b..02d7961c5d8 100644 +index 35f2f7e505..02d7961c5d 100644 --- a/PCbuild/pylauncher.vcxproj +++ b/PCbuild/pylauncher.vcxproj @@ -93,6 +93,10 @@ @@ -616,7 +616,7 @@ index 35f2f7e505b..02d7961c5d8 100644 shell32.lib;pathcch.lib;%(AdditionalDependencies) diff --git a/PCbuild/pyshellext.vcxproj b/PCbuild/pyshellext.vcxproj -index ea432d6bc9a..13bc6921030 100644 +index ea432d6bc9..13bc692103 100644 --- a/PCbuild/pyshellext.vcxproj +++ b/PCbuild/pyshellext.vcxproj @@ -92,6 +92,10 @@ @@ -631,7 +631,7 @@ index ea432d6bc9a..13bc6921030 100644 version.lib;shlwapi.lib;%(AdditionalDependencies) diff --git a/PCbuild/python.vcxproj b/PCbuild/python.vcxproj -index c1810c7db2b..68c228eaebe 100644 +index c1810c7db2..68c228eaeb 100644 --- a/PCbuild/python.vcxproj +++ b/PCbuild/python.vcxproj @@ -91,6 +91,10 @@ @@ -646,7 +646,7 @@ index c1810c7db2b..68c228eaebe 100644 Console diff --git a/PCbuild/python3dll.vcxproj b/PCbuild/python3dll.vcxproj -index ec22e6fc76e..80dff0a3d97 100644 +index ec22e6fc76..80dff0a3d9 100644 --- a/PCbuild/python3dll.vcxproj +++ b/PCbuild/python3dll.vcxproj @@ -93,6 +93,10 @@ @@ -661,7 +661,7 @@ index ec22e6fc76e..80dff0a3d97 100644 true diff --git a/PCbuild/python_uwp.vcxproj b/PCbuild/python_uwp.vcxproj -index fb27e9e7122..f8dc841ef1b 100644 +index fb27e9e712..f8dc841ef1 100644 --- a/PCbuild/python_uwp.vcxproj +++ b/PCbuild/python_uwp.vcxproj @@ -90,7 +90,7 @@ @@ -674,7 +674,7 @@ index fb27e9e7122..f8dc841ef1b 100644 windowsapp.lib;%(AdditionalDependencies) diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index 078cc597a12..e0a3a1b74d1 100644 +index 078cc597a1..e0a3a1b74d 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -99,7 +99,7 @@ @@ -687,7 +687,7 @@ index 078cc597a12..e0a3a1b74d1 100644 $(zlibDir);%(AdditionalIncludeDirectories) _USRDLL;Py_BUILD_CORE;Py_BUILD_CORE_BUILTIN;Py_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions) diff --git a/PCbuild/pythonw.vcxproj b/PCbuild/pythonw.vcxproj -index 525295c76ff..bb4972618af 100644 +index 525295c76f..bb4972618a 100644 --- a/PCbuild/pythonw.vcxproj +++ b/PCbuild/pythonw.vcxproj @@ -92,6 +92,18 @@ @@ -710,7 +710,7 @@ index 525295c76ff..bb4972618af 100644 diff --git a/PCbuild/pythonw_uwp.vcxproj b/PCbuild/pythonw_uwp.vcxproj -index e21e46a1b72..ff7dc6635df 100644 +index e21e46a1b7..ff7dc6635d 100644 --- a/PCbuild/pythonw_uwp.vcxproj +++ b/PCbuild/pythonw_uwp.vcxproj @@ -90,7 +90,7 @@ @@ -723,7 +723,7 @@ index e21e46a1b72..ff7dc6635df 100644 windowsapp.lib;%(AdditionalDependencies) diff --git a/PCbuild/pywlauncher.vcxproj b/PCbuild/pywlauncher.vcxproj -index e50b69aefe2..3aa738bb7f3 100644 +index e50b69aefe..3aa738bb7f 100644 --- a/PCbuild/pywlauncher.vcxproj +++ b/PCbuild/pywlauncher.vcxproj @@ -93,6 +93,10 @@ @@ -738,7 +738,7 @@ index e50b69aefe2..3aa738bb7f3 100644 shell32.lib;pathcch.lib;%(AdditionalDependencies) diff --git a/PCbuild/select.vcxproj b/PCbuild/select.vcxproj -index 750a7139499..1da66eaddcb 100644 +index 750a713949..1da66eaddc 100644 --- a/PCbuild/select.vcxproj +++ b/PCbuild/select.vcxproj @@ -94,6 +94,18 @@ @@ -761,7 +761,7 @@ index 750a7139499..1da66eaddcb 100644 diff --git a/PCbuild/unicodedata.vcxproj b/PCbuild/unicodedata.vcxproj -index addef753359..1a13f363e26 100644 +index addef75335..1a13f363e2 100644 --- a/PCbuild/unicodedata.vcxproj +++ b/PCbuild/unicodedata.vcxproj @@ -91,6 +91,26 @@ @@ -792,7 +792,7 @@ index addef753359..1a13f363e26 100644 diff --git a/PCbuild/venvlauncher.vcxproj b/PCbuild/venvlauncher.vcxproj -index 123e84ec4e3..6272f9f69db 100644 +index 123e84ec4e..6272f9f69d 100644 --- a/PCbuild/venvlauncher.vcxproj +++ b/PCbuild/venvlauncher.vcxproj @@ -93,6 +93,10 @@ @@ -807,7 +807,7 @@ index 123e84ec4e3..6272f9f69db 100644 PY_ICON;%(PreprocessorDefinitions) diff --git a/PCbuild/venvwlauncher.vcxproj b/PCbuild/venvwlauncher.vcxproj -index b8504d5d08e..60d63087134 100644 +index b8504d5d08..60d6308713 100644 --- a/PCbuild/venvwlauncher.vcxproj +++ b/PCbuild/venvwlauncher.vcxproj @@ -93,6 +93,10 @@ @@ -822,7 +822,7 @@ index b8504d5d08e..60d63087134 100644 PYW_ICON;%(PreprocessorDefinitions) diff --git a/PCbuild/winsound.vcxproj b/PCbuild/winsound.vcxproj -index 32cedc9b444..c9abee1d691 100644 +index 32cedc9b44..c9abee1d69 100644 --- a/PCbuild/winsound.vcxproj +++ b/PCbuild/winsound.vcxproj @@ -96,6 +96,18 @@ @@ -845,7 +845,7 @@ index 32cedc9b444..c9abee1d691 100644 diff --git a/PCbuild/xxlimited.vcxproj b/PCbuild/xxlimited.vcxproj -index 1c776fb0da3..36dec23c203 100644 +index 1c776fb0da..36dec23c20 100644 --- a/PCbuild/xxlimited.vcxproj +++ b/PCbuild/xxlimited.vcxproj @@ -93,6 +93,12 @@ @@ -862,7 +862,7 @@ index 1c776fb0da3..36dec23c203 100644 wsock32.lib;%(AdditionalDependencies) diff --git a/PCbuild/xxlimited_35.vcxproj b/PCbuild/xxlimited_35.vcxproj -index dd830b3b6aa..fef2c5b9f47 100644 +index dd830b3b6a..fef2c5b9f4 100644 --- a/PCbuild/xxlimited_35.vcxproj +++ b/PCbuild/xxlimited_35.vcxproj @@ -93,6 +93,12 @@ diff --git a/recipe/patches/0015-cross-compile-darwin.patch b/recipe/patches/0015-cross-compile-darwin.patch index d0ef09e95..3ce4ba355 100644 --- a/recipe/patches/0015-cross-compile-darwin.patch +++ b/recipe/patches/0015-cross-compile-darwin.patch @@ -1,4 +1,4 @@ -From ac34973e1dd84854fbe47af0b52ee3d4248f5cb5 Mon Sep 17 00:00:00 2001 +From 02ff83fe251cf69f349d8ef5c6d8754dc73cac09 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 2 Oct 2020 00:03:12 +0200 Subject: [PATCH 15/26] cross compile darwin @@ -12,7 +12,7 @@ By Isuru Fernando. 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Lib/platform.py b/Lib/platform.py -index 9b9d88bf584..9b2807d61fd 100755 +index 9b9d88bf58..9b2807d61f 100755 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -414,7 +414,12 @@ def win32_ver(release='', version='', csd='', ptype=''): @@ -30,7 +30,7 @@ index 9b9d88bf584..9b2807d61fd 100755 try: import plistlib diff --git a/configure b/configure -index a1ad0ae2510..803b9a0e957 100755 +index 451bc70442..3f16540617 100755 --- a/configure +++ b/configure @@ -3887,6 +3887,9 @@ if test "$cross_compiling" = yes; then @@ -53,7 +53,7 @@ index a1ad0ae2510..803b9a0e957 100755 readelf|:) as_fn_error $? "readelf for the host is required for cross builds" "$LINENO" 5 diff --git a/configure.ac b/configure.ac -index 7b4000fa9c3..7356243d368 100644 +index e7b70a83e1..1accf16a01 100644 --- a/configure.ac +++ b/configure.ac @@ -605,6 +605,9 @@ if test "$cross_compiling" = yes; then @@ -76,7 +76,7 @@ index 7b4000fa9c3..7356243d368 100644 readelf|:) AC_MSG_ERROR([readelf for the host is required for cross builds]) diff --git a/setup.py b/setup.py -index feaeb1fcc4f..a7fa4e440fb 100644 +index feaeb1fcc4..a7fa4e440f 100644 --- a/setup.py +++ b/setup.py @@ -81,7 +81,7 @@ def get_platform(): diff --git a/recipe/patches/0016-Fix-TZPATH-on-windows.patch b/recipe/patches/0016-Fix-TZPATH-on-windows.patch index 7a49b1055..8b04bb847 100644 --- a/recipe/patches/0016-Fix-TZPATH-on-windows.patch +++ b/recipe/patches/0016-Fix-TZPATH-on-windows.patch @@ -1,4 +1,4 @@ -From f1ac808992a6494c4383eb0a899119997a510db6 Mon Sep 17 00:00:00 2001 +From 4a2822f2aefc553b1a253d2067bf219ab8524cb8 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 7 Oct 2020 10:08:30 -0500 Subject: [PATCH 16/26] Fix TZPATH on windows @@ -8,7 +8,7 @@ Subject: [PATCH 16/26] Fix TZPATH on windows 1 file changed, 1 insertion(+) diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py -index ebe37118274..d51ba78d513 100644 +index ebe3711827..d51ba78d51 100644 --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py @@ -666,6 +666,7 @@ def get_config_vars(*args): diff --git a/recipe/patches/0017-Make-dyld-search-work-with-SYSTEM_VERSION_COMPAT-1.patch b/recipe/patches/0017-Make-dyld-search-work-with-SYSTEM_VERSION_COMPAT-1.patch index d173ddb06..7cb4e5980 100644 --- a/recipe/patches/0017-Make-dyld-search-work-with-SYSTEM_VERSION_COMPAT-1.patch +++ b/recipe/patches/0017-Make-dyld-search-work-with-SYSTEM_VERSION_COMPAT-1.patch @@ -1,4 +1,4 @@ -From e99db3477847075e785103dba6a6e0b9f6ef4aeb Mon Sep 17 00:00:00 2001 +From 773c6784253ee8dad348d05105e09ae03e271b0b Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 25 Jan 2021 03:28:08 -0600 Subject: [PATCH 17/26] Make dyld search work with SYSTEM_VERSION_COMPAT=1 @@ -15,7 +15,7 @@ as that part is compiled with `MACOSX_DEPLOYMENT_TARGET=11.0`) 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c -index f42ff08f58b..85edd818502 100644 +index f42ff08f58..85edd81850 100644 --- a/Modules/_ctypes/callproc.c +++ b/Modules/_ctypes/callproc.c @@ -1449,7 +1449,7 @@ copy_com_pointer(PyObject *self, PyObject *args) diff --git a/recipe/patches/0018-Fix-LDSHARED-when-CC-is-overriden-on-Linux-too.patch b/recipe/patches/0018-Fix-LDSHARED-when-CC-is-overriden-on-Linux-too.patch index cc20dbbd7..7f929d1f4 100644 --- a/recipe/patches/0018-Fix-LDSHARED-when-CC-is-overriden-on-Linux-too.patch +++ b/recipe/patches/0018-Fix-LDSHARED-when-CC-is-overriden-on-Linux-too.patch @@ -1,4 +1,4 @@ -From b0b4c4ad5575274bfd4d82eeec968bcd214b6eb1 Mon Sep 17 00:00:00 2001 +From 4aebc49a794ae9742f93712c4732a866e6be59ca Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 16 Aug 2021 02:18:50 -0700 Subject: [PATCH 18/26] Fix LDSHARED when CC is overriden on Linux too @@ -8,7 +8,7 @@ Subject: [PATCH 18/26] Fix LDSHARED when CC is overriden on Linux too 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 00133ded588..43eef57419b 100644 +index 00133ded58..43eef57419 100644 --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py @@ -217,10 +217,9 @@ def customize_compiler(compiler): diff --git a/recipe/patches/0019-Unvendor-bzip2.patch b/recipe/patches/0019-Unvendor-bzip2.patch index 968ac1cd4..3c9a0ebec 100644 --- a/recipe/patches/0019-Unvendor-bzip2.patch +++ b/recipe/patches/0019-Unvendor-bzip2.patch @@ -1,4 +1,4 @@ -From 01406f2bf1c3770f3200e552761af365cfa707bd Mon Sep 17 00:00:00 2001 +From 65ce1ef4239094bc8dc599ae779ae33164836a4d Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 16 Aug 2021 02:56:27 -0700 Subject: [PATCH 19/26] Unvendor bzip2 @@ -9,7 +9,7 @@ Subject: [PATCH 19/26] Unvendor bzip2 2 files changed, 6 insertions(+), 35 deletions(-) diff --git a/PCbuild/_bz2.vcxproj b/PCbuild/_bz2.vcxproj -index 0402f7a9aaa..569c7c5de93 100644 +index 0402f7a9aa..569c7c5de9 100644 --- a/PCbuild/_bz2.vcxproj +++ b/PCbuild/_bz2.vcxproj @@ -94,7 +94,7 @@ @@ -47,7 +47,7 @@ index 0402f7a9aaa..569c7c5de93 100644 diff --git a/PCbuild/_bz2.vcxproj.filters b/PCbuild/_bz2.vcxproj.filters -index 7c0b5162537..c1f960608c3 100644 +index 7c0b516253..c1f960608c 100644 --- a/PCbuild/_bz2.vcxproj.filters +++ b/PCbuild/_bz2.vcxproj.filters @@ -21,33 +21,9 @@ diff --git a/recipe/patches/0020-Unvendor-libffi.patch b/recipe/patches/0020-Unvendor-libffi.patch index b7238617c..6d06b0133 100644 --- a/recipe/patches/0020-Unvendor-libffi.patch +++ b/recipe/patches/0020-Unvendor-libffi.patch @@ -1,4 +1,4 @@ -From e1b0e3f44500ebde0a6165bdb749a5058bbbdd6d Mon Sep 17 00:00:00 2001 +From 746f209d9202f6285b00c7006f678a2b635d7388 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 16 Aug 2021 03:07:40 -0700 Subject: [PATCH 20/26] Unvendor libffi @@ -8,7 +8,7 @@ Subject: [PATCH 20/26] Unvendor libffi 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/PCbuild/libffi.props b/PCbuild/libffi.props -index 22c9550e2c0..40ddb08d2b0 100644 +index 22c9550e2c..40ddb08d2b 100644 --- a/PCbuild/libffi.props +++ b/PCbuild/libffi.props @@ -2,20 +2,11 @@ diff --git a/recipe/patches/0021-Unvendor-tcltk.patch b/recipe/patches/0021-Unvendor-tcltk.patch index 921fb5590..e6946af62 100644 --- a/recipe/patches/0021-Unvendor-tcltk.patch +++ b/recipe/patches/0021-Unvendor-tcltk.patch @@ -1,4 +1,4 @@ -From 52385ddb6ee59df88cd0ffc46f46ec7253784362 Mon Sep 17 00:00:00 2001 +From a971e363a40260735107118a02fa0a1ef365deeb Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 20 Aug 2021 10:23:51 -0700 Subject: [PATCH 21/26] Unvendor tcltk @@ -8,7 +8,7 @@ Subject: [PATCH 21/26] Unvendor tcltk 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/PCbuild/tcltk.props b/PCbuild/tcltk.props -index cd54b2567b2..0507b044ee8 100644 +index cd54b2567b..0507b044ee 100644 --- a/PCbuild/tcltk.props +++ b/PCbuild/tcltk.props @@ -17,13 +17,11 @@ diff --git a/recipe/patches/0022-unvendor-xz.patch b/recipe/patches/0022-unvendor-xz.patch index 4baac8dd8..add14306d 100644 --- a/recipe/patches/0022-unvendor-xz.patch +++ b/recipe/patches/0022-unvendor-xz.patch @@ -1,4 +1,4 @@ -From dea9e0a7b44a61cb93a5910a45e4cc076c4a9de4 Mon Sep 17 00:00:00 2001 +From efe34e1609a8acc139b6471d65ac96bc977a20c8 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 25 Sep 2021 10:07:05 -0700 Subject: [PATCH 22/26] unvendor xz @@ -8,7 +8,7 @@ Subject: [PATCH 22/26] unvendor xz 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/PCbuild/_lzma.vcxproj b/PCbuild/_lzma.vcxproj -index 0565132363e..ee738e76c41 100644 +index 0565132363..ee738e76c4 100644 --- a/PCbuild/_lzma.vcxproj +++ b/PCbuild/_lzma.vcxproj @@ -93,15 +93,15 @@ diff --git a/recipe/patches/0023-unvendor-zlib.patch b/recipe/patches/0023-unvendor-zlib.patch index 6d9f42ba5..484b6451a 100644 --- a/recipe/patches/0023-unvendor-zlib.patch +++ b/recipe/patches/0023-unvendor-zlib.patch @@ -1,4 +1,4 @@ -From 6747f2071fab887b05408687c52112897b7e3cd1 Mon Sep 17 00:00:00 2001 +From 26a327e828ea74b15a9c8e3f4716df548885892c Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 29 Sep 2021 15:21:55 -0700 Subject: [PATCH 23/26] unvendor zlib @@ -9,7 +9,7 @@ Subject: [PATCH 23/26] unvendor zlib 2 files changed, 4 insertions(+), 95 deletions(-) diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index e0a3a1b74d1..85fb6715dc4 100644 +index e0a3a1b74d..85fb6715dc 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -82,7 +82,7 @@ @@ -78,7 +78,7 @@ index e0a3a1b74d1..85fb6715dc4 100644 diff --git a/PCbuild/pythoncore.vcxproj.filters b/PCbuild/pythoncore.vcxproj.filters -index e3fe9271dd8..334cb226e28 100644 +index e3fe9271dd..334cb226e2 100644 --- a/PCbuild/pythoncore.vcxproj.filters +++ b/PCbuild/pythoncore.vcxproj.filters @@ -651,39 +651,6 @@ diff --git a/recipe/patches/0024-Do-not-pass-g-to-GCC-when-not-Py_DEBUG.patch b/recipe/patches/0024-Do-not-pass-g-to-GCC-when-not-Py_DEBUG.patch index ea4c78201..e6910f54d 100644 --- a/recipe/patches/0024-Do-not-pass-g-to-GCC-when-not-Py_DEBUG.patch +++ b/recipe/patches/0024-Do-not-pass-g-to-GCC-when-not-Py_DEBUG.patch @@ -1,4 +1,4 @@ -From fc56cf9205c9663a26d07d91d070d8f324772aa8 Mon Sep 17 00:00:00 2001 +From 7db637d9080f82a28e42908b91e245ad4c040f2a Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 16 Aug 2017 11:45:28 +0100 Subject: [PATCH 24/26] Do not pass -g to GCC when not Py_DEBUG @@ -10,7 +10,7 @@ This bloats our exe and our modules a lot. 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure b/configure -index 803b9a0e957..d38951a40d7 100755 +index 3f16540617..3e5f961421 100755 --- a/configure +++ b/configure @@ -4806,9 +4806,9 @@ if test "$ac_test_CFLAGS" = set; then @@ -35,7 +35,7 @@ index 803b9a0e957..d38951a40d7 100755 ;; *) diff --git a/configure.ac b/configure.ac -index 7356243d368..a291f914f7d 100644 +index 1accf16a01..b661bd272d 100644 --- a/configure.ac +++ b/configure.ac @@ -2089,7 +2089,7 @@ then diff --git a/recipe/patches/0025-Unvendor-expat.patch b/recipe/patches/0025-Unvendor-expat.patch index 04cc8241e..0dfedfa41 100644 --- a/recipe/patches/0025-Unvendor-expat.patch +++ b/recipe/patches/0025-Unvendor-expat.patch @@ -1,4 +1,4 @@ -From cce683760bdaa85d30f4123d03fbf6aa6a912e04 Mon Sep 17 00:00:00 2001 +From f979b776a4e9faeafa0abd164640b7becd18668e Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 29 Mar 2023 23:07:10 -0500 Subject: [PATCH 25/26] Unvendor expat @@ -7,11 +7,11 @@ Subject: [PATCH 25/26] Unvendor expat PCbuild/_elementtree.vcxproj | 27 ++---------- PCbuild/_elementtree.vcxproj.filters | 62 ---------------------------- PCbuild/pyexpat.vcxproj | 15 ++----- - PCbuild/pyexpat.vcxproj.filters | 26 ----------- + PCbuild/pyexpat.vcxproj.filters | 26 ------------ 4 files changed, 8 insertions(+), 122 deletions(-) diff --git a/PCbuild/_elementtree.vcxproj b/PCbuild/_elementtree.vcxproj -index 964c95c9f7e..de476a6adde 100644 +index e62b9d3449..de476a6add 100644 --- a/PCbuild/_elementtree.vcxproj +++ b/PCbuild/_elementtree.vcxproj @@ -93,38 +93,19 @@ @@ -58,7 +58,7 @@ index 964c95c9f7e..de476a6adde 100644 diff --git a/PCbuild/_elementtree.vcxproj.filters b/PCbuild/_elementtree.vcxproj.filters -index f6b55d8ff82..88a13faa683 100644 +index 9e2e062af3..88a13faa68 100644 --- a/PCbuild/_elementtree.vcxproj.filters +++ b/PCbuild/_elementtree.vcxproj.filters @@ -17,72 +17,10 @@ @@ -135,7 +135,7 @@ index f6b55d8ff82..88a13faa683 100644 diff --git a/PCbuild/pyexpat.vcxproj b/PCbuild/pyexpat.vcxproj -index d159933293a..e253b39c866 100644 +index 68ac83bc8a..e253b39c86 100644 --- a/PCbuild/pyexpat.vcxproj +++ b/PCbuild/pyexpat.vcxproj @@ -90,26 +90,19 @@ @@ -170,7 +170,7 @@ index d159933293a..e253b39c866 100644 diff --git a/PCbuild/pyexpat.vcxproj.filters b/PCbuild/pyexpat.vcxproj.filters -index 230531033fc..b8280b4049c 100644 +index e63cb9c630..b8280b4049 100644 --- a/PCbuild/pyexpat.vcxproj.filters +++ b/PCbuild/pyexpat.vcxproj.filters @@ -11,36 +11,10 @@ diff --git a/recipe/patches/0026-Do-not-define-pid_t-as-it-might-conflict-with-the-ac.patch b/recipe/patches/0026-Do-not-define-pid_t-as-it-might-conflict-with-the-ac.patch index 55d22c511..ad32d71b8 100644 --- a/recipe/patches/0026-Do-not-define-pid_t-as-it-might-conflict-with-the-ac.patch +++ b/recipe/patches/0026-Do-not-define-pid_t-as-it-might-conflict-with-the-ac.patch @@ -1,4 +1,4 @@ -From 0afad281bd2476a9d1e808eacfabbc1e0722b7b2 Mon Sep 17 00:00:00 2001 +From 031c57b8410fc420da904797688e9bd5abdc7a9b Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sun, 12 Jan 2025 10:37:29 +0530 Subject: [PATCH 26/26] Do not define pid_t as it might conflict with the @@ -12,7 +12,7 @@ Subject: [PATCH 26/26] Do not define pid_t as it might conflict with the 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c -index becf203d956..718149e715d 100644 +index becf203d95..718149e715 100644 --- a/Modules/_testcapimodule.c +++ b/Modules/_testcapimodule.c @@ -40,6 +40,10 @@ @@ -27,7 +27,7 @@ index becf203d956..718149e715d 100644 # error "The public headers should not include , see bpo-46748" #endif diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h -index 27f12c02a80..4df5947976c 100644 +index 27f12c02a8..4df5947976 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -2,6 +2,11 @@ @@ -43,7 +43,7 @@ index 27f12c02a80..4df5947976c 100644 "stat($module, /, path, *, dir_fd=None, follow_symlinks=True)\n" "--\n" diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index 6fb2fc8ce25..acc0533aa60 100644 +index 6fb2fc8ce2..acc0533aa6 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -37,6 +37,7 @@ @@ -55,7 +55,7 @@ index 6fb2fc8ce25..acc0533aa60 100644 #include "structmember.h" // PyMemberDef diff --git a/PC/pyconfig.h b/PC/pyconfig.h -index 959b851ddcc..8dc0b88b86c 100644 +index 959b851ddc..8dc0b88b86 100644 --- a/PC/pyconfig.h +++ b/PC/pyconfig.h @@ -199,8 +199,6 @@ typedef _W64 int Py_ssize_t; diff --git a/recipe/patches/README.md b/recipe/patches/README.md index cf9afd812..fd32c9dd8 100644 --- a/recipe/patches/README.md +++ b/recipe/patches/README.md @@ -1,17 +1,54 @@ ### How to re-generate patches + +Use the existing series from the target feedstock branch and the CPython tags +for its old and new releases. The example below assumes sibling `cpython` and +`python-feedstock` checkouts; adjust the paths and tags as needed. + ```bash -old=v3.9.6 -new=v3.10.0 -git clone git@github.com:python/cpython && cd cpython -git reset --hard $old -for f in ../recipe/patches/*.patch; do - git am $f; -done -head=$(git rev-parse HEAD) -git reset --hard $new -git cherry-pick $old...$head # fix conflicts and make sure the editor doesn't add end of file line ending -git format-patch --no-signature $new -for f in *.patch; do - python ../recipe/patches/make-mixed-crlf-patch.py $f; +old=v3.11.16 +new=v3.11.17 +git clone https://github.com/python/cpython.git +cd cpython +git switch -c feedstock-patches "$old" +git am -3 ../python-feedstock/recipe/patches/*.patch +git rebase --onto "$new" "$old" +``` + +The glob selects only patch files in numbered order. Apply all patches, including +those selected only on other platforms in the recipe. `git am -3` can fall back +to a three-way merge when the required Git blobs are available. + +Resolve any rebase conflicts, preserving the intended patch changes and file +line endings. Do not let an editor add a final newline to a file that lacks one. +Stage each resolution and run `git rebase --continue`. + +Export to a separate directory so generated patches are not mixed with the old +series, then restore the mixed line endings required by Windows patches: + +```bash +mkdir ../refreshed-patches +git format-patch --no-signature -o ../refreshed-patches "$new" +for f in ../refreshed-patches/*.patch; do + python ../python-feedstock/recipe/patches/make-mixed-crlf-patch.py "$f" done ``` + +For Windows Command Prompt, the application step has this equivalent (use `%%f` +instead of `%f` in a batch file): + +```bat +for /f "delims=" %f in ('dir /b /s /on ..\python-feedstock\recipe\patches\*.patch') do git am -3 "%f" +``` + +Before replacing the feedstock's patches, verify the exported series with +`git am` on a clean checkout of the new tag: + +```bash +git worktree add --detach ../cpython-patch-check "$new" +git -C ../cpython-patch-check am ../refreshed-patches/*.patch +git diff HEAD "$(git -C ../cpython-patch-check rev-parse HEAD)" --exit-code +``` + +The final check confirms that applying the exported patches reproduces the +rebased source tree. Preserve patch authorship, metadata, ordering, and recipe +references when copying the regenerated series back to the feedstock. From 2bad93b3935fc345020dd2415776df2c20347424 Mon Sep 17 00:00:00 2001 From: Michael Sarahan Date: Sun, 4 Oct 2026 18:45:25 -0500 Subject: [PATCH 4/4] Keep patch workflow exclusively in the patches README --- AGENTS.md | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 3285546cc..01329dd98 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -8,15 +8,9 @@ Before preparing a Python version bump or editing `recipe/patches/*.patch`, read version branch. If either is absent, consult the corresponding file on upstream `main`. The repository's patch instructions are authoritative. -Regenerate patches through the documented CPython Git workflow: apply the -existing series with `git am -3` on the old release tag, rebase the patch commits -onto the new tag as documented in the README and resolve conflicts, export with -`git format-patch --no-signature`, and run `make-mixed-crlf-patch.py` on the -generated patches. Preserve patch authorship, commit metadata, ordering, and -required line endings. Hand-editing patch text and confirming that it applies -does not replace this workflow. +Follow the README's complete regeneration and validation workflow before +committing or publishing patch changes. Keep that workflow in the README rather +than duplicating it here. -Before committing or publishing a version bump, verify that the regenerated -series applies in order with `git am` to a clean checkout of the new CPython tag, -and run the applicable recipe and pre-commit checks. Report any checks that could +Run the applicable recipe and pre-commit checks, and report any checks that could not be completed.