From 9e8b3682f52c7f8d598eccd5a09008d3373498ad Mon Sep 17 00:00:00 2001 From: Michael Sarahan Date: Sat, 3 Oct 2026 16:58:23 -0500 Subject: [PATCH 1/4] [3.13] Update Python to 3.13.16 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/0005-Unvendor-openssl.patch | 4 ++-- recipe/patches/0018-Unvendor-expat.patch | 26 ++++++++++++++-------- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bf1032050..1bdf82c40 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,10 +1,10 @@ -{% set version = "3.13.15" %} +{% set version = "3.13.16" %} {% 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 = 3 %} +{% set build_number = 0 %} # this makes the linter happy {% set channel_targets = channel_targets or 'conda-forge main' %} @@ -64,7 +64,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 }}{{ dev }}/ - sha256: 1e66a7945a48390ee4c2a4268a0e4185884059a13c4aab6d148aa208deea4a76 + sha256: f4b1bfb3c79b5bb11b8d228a12504163b4c0dab4d679828d8f5f26b6cb6ab35d patches: - patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch - patches/0002-Win32-Do-not-download-externals.patch diff --git a/recipe/patches/0005-Unvendor-openssl.patch b/recipe/patches/0005-Unvendor-openssl.patch index 3e182646b..6ea0f0a02 100644 --- a/recipe/patches/0005-Unvendor-openssl.patch +++ b/recipe/patches/0005-Unvendor-openssl.patch @@ -112,8 +112,8 @@ index 64e4cd08db7..d0d58ce57e4 100644 - $(libffiDir)$(ArchName)\ - $(libffiOutDir)include $(ExternalsDir)\mpdecimal-4.0.0\ -- $(ExternalsDir)openssl-3.0.21\ -- $(ExternalsDir)openssl-bin-3.0.21\$(ArchName)\ +- $(ExternalsDir)openssl-3.5.9\ +- $(ExternalsDir)openssl-bin-3.5.9\$(ArchName)\ - $(opensslOutDir)include $(ExternalsDir)\nasm-2.11.06\ - $(ExternalsDir)\zlib-1.3.1\ diff --git a/recipe/patches/0018-Unvendor-expat.patch b/recipe/patches/0018-Unvendor-expat.patch index 266f11f09..32f53bbf2 100644 --- a/recipe/patches/0018-Unvendor-expat.patch +++ b/recipe/patches/0018-Unvendor-expat.patch @@ -4,17 +4,17 @@ Date: Wed, 29 Mar 2023 23:07:10 -0500 Subject: [PATCH 18/25] 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 fb1589557da..f47bcd8e4e6 100644 --- a/PCbuild/_elementtree.vcxproj +++ b/PCbuild/_elementtree.vcxproj -@@ -93,37 +93,19 @@ +@@ -93,38 +93,19 @@ @@ -37,6 +37,7 @@ index fb1589557da..f47bcd8e4e6 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 833ab5e9f7e..5fe782f11a8 100644 --- a/PCbuild/pyexpat.vcxproj +++ b/PCbuild/pyexpat.vcxproj -@@ -90,25 +90,19 @@ +@@ -90,26 +90,19 @@ @@ -152,6 +156,7 @@ index 833ab5e9f7e..5fe782f11a8 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 ab4fe653b739bc86149f4c07f5cea6c1a1062dc7 Mon Sep 17 00:00:00 2001 From: Michael Sarahan Date: Mon, 5 Oct 2026 13:10:39 -0500 Subject: [PATCH 2/4] Regenerate patches and document the reviewed refresh workflow --- AGENTS.md | 16 ++++ ...2-Change-FD_SETSIZE-from-512-to-2048.patch | 4 +- ...0002-Win32-Do-not-download-externals.patch | 4 +- ...-so-that-it-looks-in-sys.prefix-lib-.patch | 6 +- ...-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch | 6 +- recipe/patches/0005-Unvendor-openssl.patch | 12 +-- recipe/patches/0006-Unvendor-sqlite3.patch | 8 +- ...dd-CondaEcosystemModifyDllSearchPath.patch | 4 +- recipe/patches/0008-Doing-d1trimfile.patch | 84 +++++++++---------- .../patches/0009-cross-compile-darwin.patch | 8 +- .../patches/0010-Fix-TZPATH-on-windows.patch | 4 +- ...ch-work-with-SYSTEM_VERSION_COMPAT-1.patch | 4 +- recipe/patches/0012-Unvendor-bzip2.patch | 6 +- recipe/patches/0013-Unvendor-libffi.patch | 4 +- recipe/patches/0014-Unvendor-tcltk.patch | 6 +- recipe/patches/0015-unvendor-xz.patch | 4 +- recipe/patches/0016-unvendor-zlib.patch | 6 +- ...-not-pass-g-to-GCC-when-not-Py_DEBUG.patch | 12 +-- recipe/patches/0018-Unvendor-expat.patch | 12 +-- .../patches/0019-Remove-unused-readelf.patch | 4 +- ...t-checksharedmods-if-cross-compiling.patch | 8 +- .../0021-Override-configure-LIBFFI.patch | 6 +- recipe/patches/0022-Unvendor-libmpdec.patch | 4 +- recipe/patches/0023-Brand-conda-forge.patch | 6 +- ...d_t-as-it-might-conflict-with-the-ac.patch | 14 ++-- ...5-Search-LLVM_ROOT-for-llvm-binaries.patch | 4 +- recipe/patches/README.md | 64 ++++++++++---- 27 files changed, 183 insertions(+), 137 deletions(-) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000..01329dd98 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,16 @@ +# 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. + +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. + +Run the applicable recipe and pre-commit checks, and report any checks that could +not be completed. 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 2eef89c37..d4d86f84c 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 854f031c54bb9398616189546eb657d2a07f43d5 Mon Sep 17 00:00:00 2001 +From 5d3bfd7007c2680f41c0b55b4633928fd33c308c Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 16 Aug 2017 11:53:55 +0100 Subject: [PATCH 01/25] 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 f69df694d44..1761960c928 100644 +index f69df694d4..1761960c92 100644 --- a/Modules/selectmodule.c +++ b/Modules/selectmodule.c @@ -45,7 +45,7 @@ diff --git a/recipe/patches/0002-Win32-Do-not-download-externals.patch b/recipe/patches/0002-Win32-Do-not-download-externals.patch index c3197789b..10a7ab5fa 100644 --- a/recipe/patches/0002-Win32-Do-not-download-externals.patch +++ b/recipe/patches/0002-Win32-Do-not-download-externals.patch @@ -1,4 +1,4 @@ -From 9e978533605573cbef3519a4efb6cdbfc191e112 Mon Sep 17 00:00:00 2001 +From 166ab3486b5bfc03ad2672ed371488927af28898 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 7 Sep 2017 11:35:47 +0100 Subject: [PATCH 02/25] Win32: Do not download externals @@ -8,7 +8,7 @@ Subject: [PATCH 02/25] Win32: Do not download externals 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PCbuild/build.bat b/PCbuild/build.bat -index 6c76f09a071..3dc802b8cef 100644 +index 6c76f09a07..3dc802b8ce 100644 --- a/PCbuild/build.bat +++ b/PCbuild/build.bat @@ -102,7 +102,7 @@ if "%~1"=="--no-ctypes" (set IncludeCTypes=false) & shift & goto CheckOpts diff --git a/recipe/patches/0003-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch b/recipe/patches/0003-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch index 6e6ca9202..bd4edebcc 100644 --- a/recipe/patches/0003-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch +++ b/recipe/patches/0003-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch @@ -1,4 +1,4 @@ -From 09a7cd466b0b4939aff8516bf3f54bb10f0b268a Mon Sep 17 00:00:00 2001 +From 1aecdf93909341d49a76fa002170f684707c9bfd Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 5 Dec 2017 22:47:59 +0000 Subject: [PATCH 03/25] Fix find_library so that it looks in sys.prefix/lib @@ -10,7 +10,7 @@ Subject: [PATCH 03/25] 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 43f10dedce8..5f3f1bae407 100644 +index 43f10dedce..5f3f1bae40 100644 --- a/Lib/ctypes/util.py +++ b/Lib/ctypes/util.py @@ -70,7 +70,8 @@ def find_library(name): diff --git a/recipe/patches/0004-Disable-registry-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch b/recipe/patches/0004-Disable-registry-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch index 1e4ccdafa..77f9c0324 100644 --- a/recipe/patches/0004-Disable-registry-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch +++ b/recipe/patches/0004-Disable-registry-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch @@ -1,4 +1,4 @@ -From 6bbbf39e5cbb3463c2a6fb3d2eb90672b9cc91bb Mon Sep 17 00:00:00 2001 +From cc538cfd8d7b2c172c66ea092f347f5553ef9f6e Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 27 Oct 2018 18:48:30 +0100 Subject: [PATCH 04/25] 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 d0128b20fae..e7cfeba25ec 100644 +index d0128b20fa..e7cfeba25e 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -945,6 +945,7 @@ _PyConfig_InitPathConfig(PyConfig *config, int compute_path_config) @@ -23,7 +23,7 @@ index d0128b20fae..e7cfeba25ec 100644 !progname_to_dict(dict, "real_executable") || !library_to_dict(dict, "library") || diff --git a/Modules/getpath.py b/Modules/getpath.py -index 8a4bf6d735e..37cfee3d2e7 100644 +index 8a4bf6d735..37cfee3d2e 100644 --- a/Modules/getpath.py +++ b/Modules/getpath.py @@ -52,6 +52,7 @@ diff --git a/recipe/patches/0005-Unvendor-openssl.patch b/recipe/patches/0005-Unvendor-openssl.patch index 6ea0f0a02..c12bea160 100644 --- a/recipe/patches/0005-Unvendor-openssl.patch +++ b/recipe/patches/0005-Unvendor-openssl.patch @@ -1,4 +1,4 @@ -From ed852cb94fb4e6ca510606c33ab9f363486a123a Mon Sep 17 00:00:00 2001 +From ab600d3270e8d8220416d3165045eb1314cd0db0 Mon Sep 17 00:00:00 2001 From: Nehal J Wani Date: Sat, 24 Nov 2018 20:38:02 -0600 Subject: [PATCH 05/25] Unvendor openssl @@ -13,7 +13,7 @@ Co-authored-by: Isuru Fernando 5 files changed, 9 insertions(+), 54 deletions(-) diff --git a/PCbuild/openssl.props b/PCbuild/openssl.props -index 5fd708b211e..044cefd95ea 100644 +index 5fd708b211..044cefd95e 100644 --- a/PCbuild/openssl.props +++ b/PCbuild/openssl.props @@ -2,10 +2,10 @@ @@ -45,7 +45,7 @@ index 5fd708b211e..044cefd95ea 100644 - diff --git a/PCbuild/openssl.vcxproj b/PCbuild/openssl.vcxproj -index 7ca750dda8f..17eee400ebb 100644 +index 7ca750dda8..17eee400eb 100644 --- a/PCbuild/openssl.vcxproj +++ b/PCbuild/openssl.vcxproj @@ -60,40 +60,8 @@ @@ -90,7 +90,7 @@ index 7ca750dda8f..17eee400ebb 100644 diff --git a/PCbuild/python.props b/PCbuild/python.props -index 64e4cd08db7..d0d58ce57e4 100644 +index 93af005c0f..d0d58ce57e 100644 --- a/PCbuild/python.props +++ b/PCbuild/python.props @@ -62,6 +62,7 @@ @@ -121,7 +121,7 @@ index 64e4cd08db7..d0d58ce57e4 100644 diff --git a/PCbuild/python.vcxproj b/PCbuild/python.vcxproj -index 4a99ffc677c..b11fb617963 100644 +index 4a99ffc677..b11fb61796 100644 --- a/PCbuild/python.vcxproj +++ b/PCbuild/python.vcxproj @@ -110,6 +110,9 @@ @@ -135,7 +135,7 @@ index 4a99ffc677c..b11fb617963 100644 diff --git a/PCbuild/pythonw.vcxproj b/PCbuild/pythonw.vcxproj -index d08c210ef8a..87f71ca59d1 100644 +index d08c210ef8..87f71ca59d 100644 --- a/PCbuild/pythonw.vcxproj +++ b/PCbuild/pythonw.vcxproj @@ -102,6 +102,9 @@ diff --git a/recipe/patches/0006-Unvendor-sqlite3.patch b/recipe/patches/0006-Unvendor-sqlite3.patch index 463bf500c..8ebf14685 100644 --- a/recipe/patches/0006-Unvendor-sqlite3.patch +++ b/recipe/patches/0006-Unvendor-sqlite3.patch @@ -1,4 +1,4 @@ -From ff202eeec0468f558baba96943c338c402c2be8f Mon Sep 17 00:00:00 2001 +From 8698b7eae9cc9ce2cbb9866c57923b614546397d Mon Sep 17 00:00:00 2001 From: Nehal J Wani Date: Tue, 5 Oct 2021 12:42:06 -0700 Subject: [PATCH 06/25] Unvendor sqlite3 @@ -10,7 +10,7 @@ Subject: [PATCH 06/25] Unvendor sqlite3 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/PCbuild/_sqlite3.vcxproj b/PCbuild/_sqlite3.vcxproj -index 9ae0a0fc3a0..f482734ba1d 100644 +index 9ae0a0fc3a..f482734ba1 100644 --- a/PCbuild/_sqlite3.vcxproj +++ b/PCbuild/_sqlite3.vcxproj @@ -93,9 +93,12 @@ @@ -43,7 +43,7 @@ index 9ae0a0fc3a0..f482734ba1d 100644 \ No newline at end of file + diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln -index d10e1c46a91..7516820de82 100644 +index d10e1c46a9..7516820de8 100644 --- a/PCbuild/pcbuild.sln +++ b/PCbuild/pcbuild.sln @@ -71,8 +71,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_elementtree", "_elementtre @@ -56,7 +56,7 @@ index d10e1c46a91..7516820de82 100644 EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testcapi", "_testcapi.vcxproj", "{6901D91C-6E48-4BB7-9FEC-700C8131DF1D}" diff --git a/PCbuild/sqlite3.vcxproj b/PCbuild/sqlite3.vcxproj -index 6bcc4e913c8..9fe4bb740ab 100644 +index 6bcc4e913c..9fe4bb740a 100644 --- a/PCbuild/sqlite3.vcxproj +++ b/PCbuild/sqlite3.vcxproj @@ -88,12 +88,12 @@ diff --git a/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch b/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch index d97ce84e4..2b52818c6 100644 --- a/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch +++ b/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch @@ -1,4 +1,4 @@ -From 296ebc9b0d87625fdb3ab586a13f91fd11194e95 Mon Sep 17 00:00:00 2001 +From 1b2fcde9c82fddad6a02392797b87d85791cfa53 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 24 Dec 2019 18:37:17 +0100 Subject: [PATCH 07/25] 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 fbbc38bc8e1..05e587d8ea5 100644 +index fbbc38bc8e..05e587d8ea 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c @@ -74,6 +74,10 @@ diff --git a/recipe/patches/0008-Doing-d1trimfile.patch b/recipe/patches/0008-Doing-d1trimfile.patch index cc52bbc81..3341b0ce0 100644 --- a/recipe/patches/0008-Doing-d1trimfile.patch +++ b/recipe/patches/0008-Doing-d1trimfile.patch @@ -1,4 +1,4 @@ -From f01a0645732f256adadc956f16f2b0f06d595649 Mon Sep 17 00:00:00 2001 +From 3d77010138e2a20d64e3e50bb1c6064ee260e859 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 31 Dec 2019 21:47:47 +0100 Subject: [PATCH 08/25] Doing d1trimfile @@ -48,7 +48,7 @@ Subject: [PATCH 08/25] Doing d1trimfile 41 files changed, 368 insertions(+), 20 deletions(-) diff --git a/PCbuild/_asyncio.vcxproj b/PCbuild/_asyncio.vcxproj -index 76b0ffd660d..1402860e19b 100644 +index 76b0ffd660..1402860e19 100644 --- a/PCbuild/_asyncio.vcxproj +++ b/PCbuild/_asyncio.vcxproj @@ -91,6 +91,26 @@ @@ -79,7 +79,7 @@ index 76b0ffd660d..1402860e19b 100644 diff --git a/PCbuild/_bz2.vcxproj b/PCbuild/_bz2.vcxproj -index e0dc6ec187a..30ad0dc4864 100644 +index e0dc6ec187..30ad0dc486 100644 --- a/PCbuild/_bz2.vcxproj +++ b/PCbuild/_bz2.vcxproj @@ -97,6 +97,10 @@ @@ -101,7 +101,7 @@ index e0dc6ec187a..30ad0dc4864 100644 \ No newline at end of file + diff --git a/PCbuild/_ctypes.vcxproj b/PCbuild/_ctypes.vcxproj -index 63d5fa49cd4..6329f3d960f 100644 +index 63d5fa49cd..6329f3d960 100644 --- a/PCbuild/_ctypes.vcxproj +++ b/PCbuild/_ctypes.vcxproj @@ -95,6 +95,10 @@ @@ -116,7 +116,7 @@ index 63d5fa49cd4..6329f3d960f 100644 /EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions) diff --git a/PCbuild/_ctypes_test.vcxproj b/PCbuild/_ctypes_test.vcxproj -index 97354739c09..b200d592906 100644 +index 97354739c0..b200d59290 100644 --- a/PCbuild/_ctypes_test.vcxproj +++ b/PCbuild/_ctypes_test.vcxproj @@ -92,6 +92,26 @@ @@ -154,7 +154,7 @@ index 97354739c09..b200d592906 100644 \ No newline at end of file + diff --git a/PCbuild/_decimal.vcxproj b/PCbuild/_decimal.vcxproj -index ee7421484b5..e9d60b4db1a 100644 +index ee7421484b..e9d60b4db1 100644 --- a/PCbuild/_decimal.vcxproj +++ b/PCbuild/_decimal.vcxproj @@ -99,6 +99,10 @@ @@ -169,7 +169,7 @@ index ee7421484b5..e9d60b4db1a 100644 diff --git a/PCbuild/_elementtree.vcxproj b/PCbuild/_elementtree.vcxproj -index 46e34a5ea82..fb1589557da 100644 +index c102da85e9..8d5117e804 100644 --- a/PCbuild/_elementtree.vcxproj +++ b/PCbuild/_elementtree.vcxproj @@ -94,7 +94,11 @@ @@ -186,7 +186,7 @@ index 46e34a5ea82..fb1589557da 100644 diff --git a/PCbuild/_freeze_module.vcxproj b/PCbuild/_freeze_module.vcxproj -index e5e18de60ec..f9757290b2e 100644 +index e5e18de60e..f9757290b2 100644 --- a/PCbuild/_freeze_module.vcxproj +++ b/PCbuild/_freeze_module.vcxproj @@ -92,6 +92,10 @@ @@ -201,7 +201,7 @@ index e5e18de60ec..f9757290b2e 100644 Console diff --git a/PCbuild/_hashlib.vcxproj b/PCbuild/_hashlib.vcxproj -index 2cd205224bc..1ff3a9cdeca 100644 +index 2cd205224b..1ff3a9cdec 100644 --- a/PCbuild/_hashlib.vcxproj +++ b/PCbuild/_hashlib.vcxproj @@ -96,6 +96,18 @@ @@ -224,7 +224,7 @@ index 2cd205224bc..1ff3a9cdeca 100644 diff --git a/PCbuild/_lzma.vcxproj b/PCbuild/_lzma.vcxproj -index 40107d4b76c..321f41d8d27 100644 +index 40107d4b76..321f41d8d2 100644 --- a/PCbuild/_lzma.vcxproj +++ b/PCbuild/_lzma.vcxproj @@ -95,6 +95,10 @@ @@ -239,7 +239,7 @@ index 40107d4b76c..321f41d8d27 100644 $(OutDir)liblzma$(PyDebugExt).lib;%(AdditionalDependencies) diff --git a/PCbuild/_multiprocessing.vcxproj b/PCbuild/_multiprocessing.vcxproj -index a65397f532a..451ca375990 100644 +index a65397f532..451ca37599 100644 --- a/PCbuild/_multiprocessing.vcxproj +++ b/PCbuild/_multiprocessing.vcxproj @@ -95,6 +95,18 @@ @@ -269,7 +269,7 @@ index a65397f532a..451ca375990 100644 \ No newline at end of file + diff --git a/PCbuild/_overlapped.vcxproj b/PCbuild/_overlapped.vcxproj -index 224bf05d530..f7efa63f562 100644 +index 224bf05d53..f7efa63f56 100644 --- a/PCbuild/_overlapped.vcxproj +++ b/PCbuild/_overlapped.vcxproj @@ -95,6 +95,18 @@ @@ -299,7 +299,7 @@ index 224bf05d530..f7efa63f562 100644 \ No newline at end of file + diff --git a/PCbuild/_queue.vcxproj b/PCbuild/_queue.vcxproj -index 80a1c3c6a4a..8d4555299ae 100644 +index 80a1c3c6a4..8d4555299a 100644 --- a/PCbuild/_queue.vcxproj +++ b/PCbuild/_queue.vcxproj @@ -91,6 +91,26 @@ @@ -330,7 +330,7 @@ index 80a1c3c6a4a..8d4555299ae 100644 diff --git a/PCbuild/_socket.vcxproj b/PCbuild/_socket.vcxproj -index 41af0895921..45ecbcc4641 100644 +index 41af089592..45ecbcc464 100644 --- a/PCbuild/_socket.vcxproj +++ b/PCbuild/_socket.vcxproj @@ -95,6 +95,18 @@ @@ -360,7 +360,7 @@ index 41af0895921..45ecbcc4641 100644 \ No newline at end of file + diff --git a/PCbuild/_sqlite3.vcxproj b/PCbuild/_sqlite3.vcxproj -index f482734ba1d..70943daa021 100644 +index f482734ba1..70943daa02 100644 --- a/PCbuild/_sqlite3.vcxproj +++ b/PCbuild/_sqlite3.vcxproj @@ -95,6 +95,10 @@ @@ -375,7 +375,7 @@ index f482734ba1d..70943daa021 100644 $(condaDir)\lib\sqlite3.lib;%(AdditionalDependencies) diff --git a/PCbuild/_ssl.vcxproj b/PCbuild/_ssl.vcxproj -index ce21f992ff8..34561515c12 100644 +index ce21f992ff..34561515c1 100644 --- a/PCbuild/_ssl.vcxproj +++ b/PCbuild/_ssl.vcxproj @@ -96,6 +96,18 @@ @@ -398,7 +398,7 @@ index ce21f992ff8..34561515c12 100644 diff --git a/PCbuild/_testbuffer.vcxproj b/PCbuild/_testbuffer.vcxproj -index 4e721e8ce09..3fec7516ed5 100644 +index 4e721e8ce0..3fec7516ed 100644 --- a/PCbuild/_testbuffer.vcxproj +++ b/PCbuild/_testbuffer.vcxproj @@ -92,6 +92,26 @@ @@ -436,7 +436,7 @@ index 4e721e8ce09..3fec7516ed5 100644 \ No newline at end of file + diff --git a/PCbuild/_testcapi.vcxproj b/PCbuild/_testcapi.vcxproj -index 02d755f8d5c..f28e1a4fc3b 100644 +index 02d755f8d5..f28e1a4fc3 100644 --- a/PCbuild/_testcapi.vcxproj +++ b/PCbuild/_testcapi.vcxproj @@ -92,6 +92,26 @@ @@ -467,7 +467,7 @@ index 02d755f8d5c..f28e1a4fc3b 100644 diff --git a/PCbuild/_testconsole.vcxproj b/PCbuild/_testconsole.vcxproj -index 69d312b17a5..bee3326ef8d 100644 +index 69d312b17a..bee3326ef8 100644 --- a/PCbuild/_testconsole.vcxproj +++ b/PCbuild/_testconsole.vcxproj @@ -92,6 +92,10 @@ @@ -489,7 +489,7 @@ index 69d312b17a5..bee3326ef8d 100644 \ No newline at end of file + diff --git a/PCbuild/_testembed.vcxproj b/PCbuild/_testembed.vcxproj -index a7ea8787e0c..e8edb3dd752 100644 +index a7ea8787e0..e8edb3dd75 100644 --- a/PCbuild/_testembed.vcxproj +++ b/PCbuild/_testembed.vcxproj @@ -89,6 +89,10 @@ @@ -511,7 +511,7 @@ index a7ea8787e0c..e8edb3dd752 100644 \ No newline at end of file + diff --git a/PCbuild/_testimportmultiple.vcxproj b/PCbuild/_testimportmultiple.vcxproj -index c35ac83c1c7..c9d7f5d22b7 100644 +index c35ac83c1c..c9d7f5d22b 100644 --- a/PCbuild/_testimportmultiple.vcxproj +++ b/PCbuild/_testimportmultiple.vcxproj @@ -92,6 +92,26 @@ @@ -542,7 +542,7 @@ index c35ac83c1c7..c9d7f5d22b7 100644 diff --git a/PCbuild/_testinternalcapi.vcxproj b/PCbuild/_testinternalcapi.vcxproj -index 87db569423d..c91bc1a2b96 100644 +index 87db569423..c91bc1a2b9 100644 --- a/PCbuild/_testinternalcapi.vcxproj +++ b/PCbuild/_testinternalcapi.vcxproj @@ -92,6 +92,26 @@ @@ -573,7 +573,7 @@ index 87db569423d..c91bc1a2b96 100644 diff --git a/PCbuild/_testmultiphase.vcxproj b/PCbuild/_testmultiphase.vcxproj -index e730fe308ab..a6f13ef31dc 100644 +index e730fe308a..a6f13ef31d 100644 --- a/PCbuild/_testmultiphase.vcxproj +++ b/PCbuild/_testmultiphase.vcxproj @@ -92,6 +92,10 @@ @@ -595,7 +595,7 @@ index e730fe308ab..a6f13ef31dc 100644 \ No newline at end of file + diff --git a/PCbuild/_tkinter.vcxproj b/PCbuild/_tkinter.vcxproj -index 117488a0162..5ca877b5f2e 100644 +index 117488a016..5ca877b5f2 100644 --- a/PCbuild/_tkinter.vcxproj +++ b/PCbuild/_tkinter.vcxproj @@ -96,6 +96,10 @@ @@ -617,7 +617,7 @@ index 117488a0162..5ca877b5f2e 100644 \ No newline at end of file + 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 @@ @@ -632,7 +632,7 @@ index 4dd42ab98a9..7c2dbc7e701 100644 diff --git a/PCbuild/pyexpat.vcxproj b/PCbuild/pyexpat.vcxproj -index 8499402f0a9..833ab5e9f7e 100644 +index 92ecac2f7a..d517f9392b 100644 --- a/PCbuild/pyexpat.vcxproj +++ b/PCbuild/pyexpat.vcxproj @@ -92,6 +92,10 @@ @@ -647,7 +647,7 @@ index 8499402f0a9..833ab5e9f7e 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 @@ @@ -662,7 +662,7 @@ index 35f2f7e505b..02d7961c5d8 100644 shell32.lib;pathcch.lib;%(AdditionalDependencies) diff --git a/PCbuild/pyshellext.vcxproj b/PCbuild/pyshellext.vcxproj -index ea432d6bc9a..50397324a20 100644 +index ea432d6bc9..50397324a2 100644 --- a/PCbuild/pyshellext.vcxproj +++ b/PCbuild/pyshellext.vcxproj @@ -92,6 +92,10 @@ @@ -684,7 +684,7 @@ index ea432d6bc9a..50397324a20 100644 \ No newline at end of file + diff --git a/PCbuild/python.vcxproj b/PCbuild/python.vcxproj -index b11fb617963..dacf01e264f 100644 +index b11fb61796..dacf01e264 100644 --- a/PCbuild/python.vcxproj +++ b/PCbuild/python.vcxproj @@ -92,6 +92,10 @@ @@ -699,7 +699,7 @@ index b11fb617963..dacf01e264f 100644 Console diff --git a/PCbuild/python3dll.vcxproj b/PCbuild/python3dll.vcxproj -index 235ea1cf9d3..d861f6c6a43 100644 +index 235ea1cf9d..d861f6c6a4 100644 --- a/PCbuild/python3dll.vcxproj +++ b/PCbuild/python3dll.vcxproj @@ -93,6 +93,10 @@ @@ -721,7 +721,7 @@ index 235ea1cf9d3..d861f6c6a43 100644 \ No newline at end of file + 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 @@ @@ -734,7 +734,7 @@ index fb27e9e7122..f8dc841ef1b 100644 windowsapp.lib;%(AdditionalDependencies) diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index 70212903c83..b85cca2cd51 100644 +index 70212903c8..b85cca2cd5 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -99,7 +99,7 @@ @@ -747,7 +747,7 @@ index 70212903c83..b85cca2cd51 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 87f71ca59d1..32873d3db15 100644 +index 87f71ca59d..32873d3db1 100644 --- a/PCbuild/pythonw.vcxproj +++ b/PCbuild/pythonw.vcxproj @@ -96,6 +96,18 @@ @@ -770,7 +770,7 @@ index 87f71ca59d1..32873d3db15 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 @@ @@ -783,7 +783,7 @@ index e21e46a1b72..ff7dc6635df 100644 windowsapp.lib;%(AdditionalDependencies) diff --git a/PCbuild/pywlauncher.vcxproj b/PCbuild/pywlauncher.vcxproj -index e50b69aefe2..d64a06b5e6e 100644 +index e50b69aefe..d64a06b5e6 100644 --- a/PCbuild/pywlauncher.vcxproj +++ b/PCbuild/pywlauncher.vcxproj @@ -93,6 +93,10 @@ @@ -805,7 +805,7 @@ index e50b69aefe2..d64a06b5e6e 100644 \ No newline at end of file + diff --git a/PCbuild/select.vcxproj b/PCbuild/select.vcxproj -index d7448fd4d72..9fab5e8a638 100644 +index d7448fd4d7..9fab5e8a63 100644 --- a/PCbuild/select.vcxproj +++ b/PCbuild/select.vcxproj @@ -94,6 +94,18 @@ @@ -835,7 +835,7 @@ index d7448fd4d72..9fab5e8a638 100644 \ No newline at end of file + diff --git a/PCbuild/unicodedata.vcxproj b/PCbuild/unicodedata.vcxproj -index 781f938e2ab..3870c85adf7 100644 +index 781f938e2a..3870c85adf 100644 --- a/PCbuild/unicodedata.vcxproj +++ b/PCbuild/unicodedata.vcxproj @@ -91,6 +91,26 @@ @@ -873,7 +873,7 @@ index 781f938e2ab..3870c85adf7 100644 \ No newline at end of file + diff --git a/PCbuild/venvlauncher.vcxproj b/PCbuild/venvlauncher.vcxproj -index 1193e032245..6855845d131 100644 +index 1193e03224..6855845d13 100644 --- a/PCbuild/venvlauncher.vcxproj +++ b/PCbuild/venvlauncher.vcxproj @@ -94,6 +94,10 @@ @@ -888,7 +888,7 @@ index 1193e032245..6855845d131 100644 PY_ICON;%(PreprocessorDefinitions) diff --git a/PCbuild/venvwlauncher.vcxproj b/PCbuild/venvwlauncher.vcxproj -index db7128272f0..b0f54192eae 100644 +index db7128272f..b0f54192ea 100644 --- a/PCbuild/venvwlauncher.vcxproj +++ b/PCbuild/venvwlauncher.vcxproj @@ -94,6 +94,10 @@ @@ -903,7 +903,7 @@ index db7128272f0..b0f54192eae 100644 PYW_ICON;%(PreprocessorDefinitions) diff --git a/PCbuild/winsound.vcxproj b/PCbuild/winsound.vcxproj -index c26029b15a3..1e543b31c41 100644 +index c26029b15a..1e543b31c4 100644 --- a/PCbuild/winsound.vcxproj +++ b/PCbuild/winsound.vcxproj @@ -96,6 +96,18 @@ @@ -933,7 +933,7 @@ index c26029b15a3..1e543b31c41 100644 \ No newline at end of file + diff --git a/PCbuild/xxlimited.vcxproj b/PCbuild/xxlimited.vcxproj -index 093e6920c0b..19dd43c19c2 100644 +index 093e6920c0..19dd43c19c 100644 --- a/PCbuild/xxlimited.vcxproj +++ b/PCbuild/xxlimited.vcxproj @@ -93,6 +93,12 @@ @@ -950,7 +950,7 @@ index 093e6920c0b..19dd43c19c2 100644 wsock32.lib;%(AdditionalDependencies) diff --git a/PCbuild/xxlimited_35.vcxproj b/PCbuild/xxlimited_35.vcxproj -index 3f4d4463f24..2572449ba0c 100644 +index 3f4d4463f2..2572449ba0 100644 --- a/PCbuild/xxlimited_35.vcxproj +++ b/PCbuild/xxlimited_35.vcxproj @@ -93,6 +93,12 @@ diff --git a/recipe/patches/0009-cross-compile-darwin.patch b/recipe/patches/0009-cross-compile-darwin.patch index 54f5bb90b..b58416646 100644 --- a/recipe/patches/0009-cross-compile-darwin.patch +++ b/recipe/patches/0009-cross-compile-darwin.patch @@ -1,4 +1,4 @@ -From c64d84f8871d11e44fec66b08f00757ce09a44c0 Mon Sep 17 00:00:00 2001 +From 9487a110ca70c695c010edd1f837921fed926214 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 2 Oct 2020 00:03:12 +0200 Subject: [PATCH 09/25] cross compile darwin @@ -11,7 +11,7 @@ By Isuru Fernando. 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Lib/platform.py b/Lib/platform.py -index 8895177e326..fd93841d034 100755 +index 8895177e32..fd93841d03 100755 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -460,7 +460,12 @@ def win32_ver(release='', version='', csd='', ptype=''): @@ -29,7 +29,7 @@ index 8895177e326..fd93841d034 100755 try: import plistlib diff --git a/configure b/configure -index 51e657ff0d6..7f12da693ee 100755 +index 73d317a659..d89ccd3fbe 100755 --- a/configure +++ b/configure @@ -4052,6 +4052,9 @@ then @@ -53,7 +53,7 @@ index 51e657ff0d6..7f12da693ee 100755 _host_ident= ;; diff --git a/configure.ac b/configure.ac -index f93a9f29b39..5e7d66459cb 100644 +index 4ef6de9dd6..7296f38965 100644 --- a/configure.ac +++ b/configure.ac @@ -324,6 +324,9 @@ then diff --git a/recipe/patches/0010-Fix-TZPATH-on-windows.patch b/recipe/patches/0010-Fix-TZPATH-on-windows.patch index e7eac21de..f19ee8290 100644 --- a/recipe/patches/0010-Fix-TZPATH-on-windows.patch +++ b/recipe/patches/0010-Fix-TZPATH-on-windows.patch @@ -1,4 +1,4 @@ -From 229c4d9663330bc69d703a184f04cb686321ae35 Mon Sep 17 00:00:00 2001 +From e9a820d2930ffabd59c763feb0e5fb2abf4a689d Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 7 Oct 2020 10:08:30 -0500 Subject: [PATCH 10/25] Fix TZPATH on windows @@ -8,7 +8,7 @@ Subject: [PATCH 10/25] Fix TZPATH on windows 1 file changed, 1 insertion(+) diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py -index 43edebce347..2df352ff415 100644 +index 43edebce34..2df352ff41 100644 --- a/Lib/sysconfig/__init__.py +++ b/Lib/sysconfig/__init__.py @@ -499,6 +499,7 @@ def _init_config_vars(): diff --git a/recipe/patches/0011-Make-dyld-search-work-with-SYSTEM_VERSION_COMPAT-1.patch b/recipe/patches/0011-Make-dyld-search-work-with-SYSTEM_VERSION_COMPAT-1.patch index 7bae2e208..b0ae48e2f 100644 --- a/recipe/patches/0011-Make-dyld-search-work-with-SYSTEM_VERSION_COMPAT-1.patch +++ b/recipe/patches/0011-Make-dyld-search-work-with-SYSTEM_VERSION_COMPAT-1.patch @@ -1,4 +1,4 @@ -From 9c84e2a4076d95726c80a06c1bb2b7881e8fbac9 Mon Sep 17 00:00:00 2001 +From 79df59dec6d14948293bc066cea8157495870d3e Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 25 Jan 2021 03:28:08 -0600 Subject: [PATCH 11/25] 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 066cbb99bdd..57eb2d94570 100644 +index 066cbb99bd..57eb2d9457 100644 --- a/Modules/_ctypes/callproc.c +++ b/Modules/_ctypes/callproc.c @@ -1491,7 +1491,7 @@ copy_com_pointer(PyObject *self, PyObject *args) diff --git a/recipe/patches/0012-Unvendor-bzip2.patch b/recipe/patches/0012-Unvendor-bzip2.patch index 554eea26f..35947962c 100644 --- a/recipe/patches/0012-Unvendor-bzip2.patch +++ b/recipe/patches/0012-Unvendor-bzip2.patch @@ -1,4 +1,4 @@ -From dc78eedba9c72af4d0db74472c12bbec79ccef3a Mon Sep 17 00:00:00 2001 +From 15883bdf8f84eb666977c764a4b0bf6213854fd0 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 16 Aug 2021 02:56:27 -0700 Subject: [PATCH 12/25] Unvendor bzip2 @@ -9,7 +9,7 @@ Subject: [PATCH 12/25] Unvendor bzip2 2 files changed, 7 insertions(+), 36 deletions(-) diff --git a/PCbuild/_bz2.vcxproj b/PCbuild/_bz2.vcxproj -index 30ad0dc4864..1d46cc8198f 100644 +index 30ad0dc486..1d46cc8198 100644 --- a/PCbuild/_bz2.vcxproj +++ b/PCbuild/_bz2.vcxproj @@ -94,7 +94,7 @@ @@ -47,7 +47,7 @@ index 30ad0dc4864..1d46cc8198f 100644 diff --git a/PCbuild/_bz2.vcxproj.filters b/PCbuild/_bz2.vcxproj.filters -index 7c0b5162537..ed9510978f1 100644 +index 7c0b516253..ed9510978f 100644 --- a/PCbuild/_bz2.vcxproj.filters +++ b/PCbuild/_bz2.vcxproj.filters @@ -21,33 +21,9 @@ diff --git a/recipe/patches/0013-Unvendor-libffi.patch b/recipe/patches/0013-Unvendor-libffi.patch index cfaa49efc..0e735c0da 100644 --- a/recipe/patches/0013-Unvendor-libffi.patch +++ b/recipe/patches/0013-Unvendor-libffi.patch @@ -1,4 +1,4 @@ -From a3a2a33d893a1f845b0c70841f298030353db4da Mon Sep 17 00:00:00 2001 +From abc23f7a8dbe83f02d08c2bf582b88afabc0cc76 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 16 Aug 2021 03:07:40 -0700 Subject: [PATCH 13/25] Unvendor libffi @@ -8,7 +8,7 @@ Subject: [PATCH 13/25] 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/0014-Unvendor-tcltk.patch b/recipe/patches/0014-Unvendor-tcltk.patch index 79b218110..d06487c08 100644 --- a/recipe/patches/0014-Unvendor-tcltk.patch +++ b/recipe/patches/0014-Unvendor-tcltk.patch @@ -1,4 +1,4 @@ -From cec17554c0bc1bc5d6df7794e649f59b84955d84 Mon Sep 17 00:00:00 2001 +From 0143876cb8791af9922d284961a677896d0d946a Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 20 Aug 2021 10:23:51 -0700 Subject: [PATCH 14/25] Unvendor tcltk @@ -9,7 +9,7 @@ Subject: [PATCH 14/25] Unvendor tcltk 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/PCbuild/_tkinter.vcxproj b/PCbuild/_tkinter.vcxproj -index 5ca877b5f2e..4ee4ff6d619 100644 +index 5ca877b5f2..4ee4ff6d61 100644 --- a/PCbuild/_tkinter.vcxproj +++ b/PCbuild/_tkinter.vcxproj @@ -126,12 +126,6 @@ @@ -26,7 +26,7 @@ index 5ca877b5f2e..4ee4ff6d619 100644 diff --git a/PCbuild/tcltk.props b/PCbuild/tcltk.props -index 2aa3b7a1e42..81299f3a7dc 100644 +index 2aa3b7a1e4..81299f3a7d 100644 --- a/PCbuild/tcltk.props +++ b/PCbuild/tcltk.props @@ -12,12 +12,11 @@ diff --git a/recipe/patches/0015-unvendor-xz.patch b/recipe/patches/0015-unvendor-xz.patch index aeb6d5b87..716607e69 100644 --- a/recipe/patches/0015-unvendor-xz.patch +++ b/recipe/patches/0015-unvendor-xz.patch @@ -1,4 +1,4 @@ -From 2fdf247fb2df41030fc04b02b45b2a8b4eb222dd Mon Sep 17 00:00:00 2001 +From 4358b041184ff9bbd23b36b529469f0feb2d8820 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 25 Sep 2021 10:07:05 -0700 Subject: [PATCH 15/25] unvendor xz @@ -8,7 +8,7 @@ Subject: [PATCH 15/25] unvendor xz 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/PCbuild/_lzma.vcxproj b/PCbuild/_lzma.vcxproj -index 321f41d8d27..6811fd1709e 100644 +index 321f41d8d2..6811fd1709 100644 --- a/PCbuild/_lzma.vcxproj +++ b/PCbuild/_lzma.vcxproj @@ -93,15 +93,15 @@ diff --git a/recipe/patches/0016-unvendor-zlib.patch b/recipe/patches/0016-unvendor-zlib.patch index 47859e3a5..f8de0c450 100644 --- a/recipe/patches/0016-unvendor-zlib.patch +++ b/recipe/patches/0016-unvendor-zlib.patch @@ -1,4 +1,4 @@ -From aeedd9336318c59f931588e9488e8ea56f7f507e Mon Sep 17 00:00:00 2001 +From fc4e7cfa24817aadc865f587c3265a0738761935 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 29 Sep 2021 15:21:55 -0700 Subject: [PATCH 16/25] unvendor zlib @@ -9,7 +9,7 @@ Subject: [PATCH 16/25] unvendor zlib 2 files changed, 4 insertions(+), 95 deletions(-) diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index b85cca2cd51..8e09d243c53 100644 +index b85cca2cd5..8e09d243c5 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -82,7 +82,7 @@ @@ -80,7 +80,7 @@ index b85cca2cd51..8e09d243c53 100644 diff --git a/PCbuild/pythoncore.vcxproj.filters b/PCbuild/pythoncore.vcxproj.filters -index 3eed5a9465b..0892b669d6b 100644 +index 3eed5a9465..0892b669d6 100644 --- a/PCbuild/pythoncore.vcxproj.filters +++ b/PCbuild/pythoncore.vcxproj.filters @@ -852,39 +852,6 @@ diff --git a/recipe/patches/0017-Do-not-pass-g-to-GCC-when-not-Py_DEBUG.patch b/recipe/patches/0017-Do-not-pass-g-to-GCC-when-not-Py_DEBUG.patch index 289ff5cfa..9dc5e88fa 100644 --- a/recipe/patches/0017-Do-not-pass-g-to-GCC-when-not-Py_DEBUG.patch +++ b/recipe/patches/0017-Do-not-pass-g-to-GCC-when-not-Py_DEBUG.patch @@ -1,4 +1,4 @@ -From 80deaab3cca15085a7ce1a2d9b91f82ba4cbec75 Mon Sep 17 00:00:00 2001 +From 8d23a2f1103d46d75deeeb7a04597d7a069237ae Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 16 Aug 2017 11:45:28 +0100 Subject: [PATCH 17/25] Do not pass -g to GCC when not Py_DEBUG @@ -10,10 +10,10 @@ This bloats our exe and our modules a lot. 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure b/configure -index 7f12da693ee..8422d8d0c55 100755 +index d89ccd3fbe..3d8af52364 100755 --- a/configure +++ b/configure -@@ -5671,9 +5671,9 @@ if test $ac_test_CFLAGS; then +@@ -5676,9 +5676,9 @@ if test $ac_test_CFLAGS; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then @@ -25,7 +25,7 @@ index 7f12da693ee..8422d8d0c55 100755 fi else if test "$GCC" = yes; then -@@ -9610,7 +9610,7 @@ then +@@ -9615,7 +9615,7 @@ then if test "$Py_DEBUG" = 'true' ; then OPT="-g $PYDEBUG_CFLAGS -Wall" else @@ -35,10 +35,10 @@ index 7f12da693ee..8422d8d0c55 100755 ;; *) diff --git a/configure.ac b/configure.ac -index 5e7d66459cb..5c287a1cf01 100644 +index 7296f38965..8e27a019f6 100644 --- a/configure.ac +++ b/configure.ac -@@ -2414,7 +2414,7 @@ then +@@ -2418,7 +2418,7 @@ then if test "$Py_DEBUG" = 'true' ; then OPT="-g $PYDEBUG_CFLAGS -Wall" else diff --git a/recipe/patches/0018-Unvendor-expat.patch b/recipe/patches/0018-Unvendor-expat.patch index 32f53bbf2..56712e91f 100644 --- a/recipe/patches/0018-Unvendor-expat.patch +++ b/recipe/patches/0018-Unvendor-expat.patch @@ -1,4 +1,4 @@ -From 42e47289df0079b64edfd188e96a996000b21467 Mon Sep 17 00:00:00 2001 +From 6cd7e17c0d4c9d2661a412980e2e51760f2eab17 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 29 Mar 2023 23:07:10 -0500 Subject: [PATCH 18/25] Unvendor expat @@ -7,11 +7,11 @@ Subject: [PATCH 18/25] 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 fb1589557da..f47bcd8e4e6 100644 +index 8d5117e804..f47bcd8e4e 100644 --- a/PCbuild/_elementtree.vcxproj +++ b/PCbuild/_elementtree.vcxproj @@ -93,38 +93,19 @@ @@ -58,7 +58,7 @@ index fb1589557da..f47bcd8e4e6 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 833ab5e9f7e..5fe782f11a8 100644 +index d517f9392b..5fe782f11a 100644 --- a/PCbuild/pyexpat.vcxproj +++ b/PCbuild/pyexpat.vcxproj @@ -90,26 +90,19 @@ @@ -170,7 +170,7 @@ index 833ab5e9f7e..5fe782f11a8 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/0019-Remove-unused-readelf.patch b/recipe/patches/0019-Remove-unused-readelf.patch index 0851f62b4..78ba620d6 100644 --- a/recipe/patches/0019-Remove-unused-readelf.patch +++ b/recipe/patches/0019-Remove-unused-readelf.patch @@ -1,4 +1,4 @@ -From 003c82b20c0f89b180e90ba3a642bbd7be580e91 Mon Sep 17 00:00:00 2001 +From 63d775f8a9fae79f3ea2e19a3b8204d261d422f3 Mon Sep 17 00:00:00 2001 From: Charles Bousseau Date: Thu, 25 May 2023 17:56:53 -0400 Subject: [PATCH 19/25] Remove unused readelf @@ -15,7 +15,7 @@ Drop unused build dependency on ``readelf``. 1 file changed, 1 deletion(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 2363b99a25c..a486ab9ead4 100644 +index 8fdbbd83b4..0ccc8d58a8 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -38,7 +38,6 @@ CC= @CC@ diff --git a/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch b/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch index e5d091e50..93989551e 100644 --- a/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch +++ b/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch @@ -1,4 +1,4 @@ -From 385de3c5ceddef3fb18f465f49c79bc92b373b81 Mon Sep 17 00:00:00 2001 +From 2b298b0263696246817cd50c535a301c32bf8041 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Fri, 1 Sep 2023 23:32:14 +0200 Subject: [PATCH 20/25] Don't checksharedmods if cross-compiling @@ -10,10 +10,10 @@ Subject: [PATCH 20/25] Don't checksharedmods if cross-compiling create mode 100755 if_runnable.sh diff --git a/Makefile.pre.in b/Makefile.pre.in -index a486ab9ead4..b6a97fa7d94 100644 +index 0ccc8d58a8..326a377dd3 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1376,7 +1376,7 @@ sharedmods: $(SHAREDMODS) pybuilddir.txt +@@ -1377,7 +1377,7 @@ sharedmods: $(SHAREDMODS) pybuilddir.txt # dependency on BUILDPYTHON ensures that the target is run last .PHONY: checksharedmods checksharedmods: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON) @@ -24,7 +24,7 @@ index a486ab9ead4..b6a97fa7d94 100644 rundsymutil: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON) diff --git a/if_runnable.sh b/if_runnable.sh new file mode 100755 -index 00000000000..dcfde5b751e +index 0000000000..dcfde5b751 --- /dev/null +++ b/if_runnable.sh @@ -0,0 +1,10 @@ diff --git a/recipe/patches/0021-Override-configure-LIBFFI.patch b/recipe/patches/0021-Override-configure-LIBFFI.patch index c2076c017..8287fbf72 100644 --- a/recipe/patches/0021-Override-configure-LIBFFI.patch +++ b/recipe/patches/0021-Override-configure-LIBFFI.patch @@ -1,4 +1,4 @@ -From c8f75042114a221d35f19441905c0d1d6dbe7874 Mon Sep 17 00:00:00 2001 +From 49f7947fb7eae9cc5da2504e720d8c5d6f9d57ef Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 5 Sep 2023 21:51:31 +0200 Subject: [PATCH 21/25] Override configure LIBFFI @@ -8,10 +8,10 @@ Subject: [PATCH 21/25] Override configure LIBFFI 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure -index 8422d8d0c55..484a53ebaea 100755 +index 3d8af52364..ed4cbbca2a 100755 --- a/configure +++ b/configure -@@ -14588,7 +14588,7 @@ if test "x$ac_cv_lib_ffi_ffi_call" = xyes +@@ -14593,7 +14593,7 @@ if test "x$ac_cv_lib_ffi_ffi_call" = xyes then : have_libffi=yes diff --git a/recipe/patches/0022-Unvendor-libmpdec.patch b/recipe/patches/0022-Unvendor-libmpdec.patch index 1786c0a10..2cb9e1c08 100644 --- a/recipe/patches/0022-Unvendor-libmpdec.patch +++ b/recipe/patches/0022-Unvendor-libmpdec.patch @@ -1,4 +1,4 @@ -From 345adb941bd2226ce70742036dfdd9c3df4f1161 Mon Sep 17 00:00:00 2001 +From c473ad8b75bad516f96c359a5e6756baea250fc3 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 16 Aug 2024 21:34:43 -0500 Subject: [PATCH 22/25] Unvendor libmpdec @@ -8,7 +8,7 @@ Subject: [PATCH 22/25] Unvendor libmpdec 1 file changed, 6 insertions(+), 44 deletions(-) diff --git a/PCbuild/_decimal.vcxproj b/PCbuild/_decimal.vcxproj -index e9d60b4db1a..0f49d7923f5 100644 +index e9d60b4db1..0f49d7923f 100644 --- a/PCbuild/_decimal.vcxproj +++ b/PCbuild/_decimal.vcxproj @@ -93,65 +93,27 @@ diff --git a/recipe/patches/0023-Brand-conda-forge.patch b/recipe/patches/0023-Brand-conda-forge.patch index 62860e207..d9328b699 100644 --- a/recipe/patches/0023-Brand-conda-forge.patch +++ b/recipe/patches/0023-Brand-conda-forge.patch @@ -1,4 +1,4 @@ -From 5b07a7d1bc7decf7d1c77a4133db32471164ed51 Mon Sep 17 00:00:00 2001 +From 5c916b41afb9f6fc3fb0ee4ec81e781b5b674e1b Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 28 Aug 2024 11:12:22 -0500 Subject: [PATCH 23/25] Brand conda-forge @@ -9,7 +9,7 @@ Subject: [PATCH 23/25] Brand conda-forge 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/platform.py b/Lib/platform.py -index fd93841d034..17d59c77025 100755 +index fd93841d03..17d59c7702 100755 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -1198,6 +1198,7 @@ def _sys_version(sys_version=None): @@ -21,7 +21,7 @@ index fd93841d034..17d59c77025 100755 r'(?:,\s*([\w ]*)' # ", builddate" r'(?:,\s*([\w :]*))?)?\)\s*' # ", buildtime)" diff --git a/Python/getversion.c b/Python/getversion.c -index 226b2f999a6..92e4459bdac 100644 +index 226b2f999a..92e4459bda 100644 --- a/Python/getversion.c +++ b/Python/getversion.c @@ -15,9 +15,9 @@ void _Py_InitVersion(void) diff --git a/recipe/patches/0024-Do-not-define-pid_t-as-it-might-conflict-with-the-ac.patch b/recipe/patches/0024-Do-not-define-pid_t-as-it-might-conflict-with-the-ac.patch index 85e5c5e6a..c4d6888a9 100644 --- a/recipe/patches/0024-Do-not-define-pid_t-as-it-might-conflict-with-the-ac.patch +++ b/recipe/patches/0024-Do-not-define-pid_t-as-it-might-conflict-with-the-ac.patch @@ -1,4 +1,4 @@ -From ad9cf7a94bf4c7fb3f9816781de0587d23bfc3f5 Mon Sep 17 00:00:00 2001 +From bca007ed99217d5982c5c80817f89a4b0719d326 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sun, 12 Jan 2025 10:37:29 +0530 Subject: [PATCH 24/25] Do not define pid_t as it might conflict with the @@ -14,7 +14,7 @@ Subject: [PATCH 24/25] Do not define pid_t as it might conflict with the 6 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Modules/_testcapi/long.c b/Modules/_testcapi/long.c -index 769c3909ea3..242636c7cc4 100644 +index 769c3909ea..242636c7cc 100644 --- a/Modules/_testcapi/long.c +++ b/Modules/_testcapi/long.c @@ -6,6 +6,10 @@ @@ -29,7 +29,7 @@ index 769c3909ea3..242636c7cc4 100644 module _testcapi [clinic start generated code]*/ diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c -index e13a3def14c..edd1adda486 100644 +index e13a3def14..edd1adda48 100644 --- a/Modules/_testcapimodule.c +++ b/Modules/_testcapimodule.c @@ -30,6 +30,10 @@ @@ -44,7 +44,7 @@ index e13a3def14c..edd1adda486 100644 diff --git a/Modules/_testlimitedcapi/long.c b/Modules/_testlimitedcapi/long.c -index 35505ef33f4..e4a0beeb793 100644 +index 35505ef33f..e4a0beeb79 100644 --- a/Modules/_testlimitedcapi/long.c +++ b/Modules/_testlimitedcapi/long.c @@ -8,6 +8,10 @@ @@ -59,7 +59,7 @@ index 35505ef33f4..e4a0beeb793 100644 module _testlimitedcapi [clinic start generated code]*/ diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h -index cd42e1be80b..1fa8d9187b1 100644 +index ac5f01931f..24d56b32e2 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -10,6 +10,10 @@ preserve @@ -74,7 +74,7 @@ index cd42e1be80b..1fa8d9187b1 100644 "stat($module, /, path, *, dir_fd=None, follow_symlinks=True)\n" "--\n" diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index c0dd6965fee..619ae3d299a 100644 +index d342642b93..3748727430 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -43,6 +43,7 @@ @@ -86,7 +86,7 @@ index c0dd6965fee..619ae3d299a 100644 #ifndef MS_WINDOWS diff --git a/PC/pyconfig.h.in b/PC/pyconfig.h.in -index 424421f6ff1..2c1b5a5b834 100644 +index 424421f6ff..2c1b5a5b83 100644 --- a/PC/pyconfig.h.in +++ b/PC/pyconfig.h.in @@ -230,8 +230,6 @@ typedef _W64 int Py_ssize_t; diff --git a/recipe/patches/0025-Search-LLVM_ROOT-for-llvm-binaries.patch b/recipe/patches/0025-Search-LLVM_ROOT-for-llvm-binaries.patch index 027debba2..66577a0bc 100644 --- a/recipe/patches/0025-Search-LLVM_ROOT-for-llvm-binaries.patch +++ b/recipe/patches/0025-Search-LLVM_ROOT-for-llvm-binaries.patch @@ -1,4 +1,4 @@ -From 11763c6ea13c9953c12a1de926be83ffe5220828 Mon Sep 17 00:00:00 2001 +From 63d1ee11fb7156e78c629f40ab98044d80d60e18 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 3 Sep 2025 13:32:24 +0200 Subject: [PATCH 25/25] Search LLVM_ROOT for llvm binaries @@ -8,7 +8,7 @@ Subject: [PATCH 25/25] Search LLVM_ROOT for llvm binaries 1 file changed, 5 insertions(+) diff --git a/Tools/jit/_llvm.py b/Tools/jit/_llvm.py -index b68da1b6be1..88070133ddb 100644 +index b68da1b6be..88070133dd 100644 --- a/Tools/jit/_llvm.py +++ b/Tools/jit/_llvm.py @@ -68,6 +68,11 @@ async def _get_brew_llvm_prefix(*, echo: bool = False) -> str | None: diff --git a/recipe/patches/README.md b/recipe/patches/README.md index 24254607d..1d0138a98 100644 --- a/recipe/patches/README.md +++ b/recipe/patches/README.md @@ -1,24 +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.13.15 +new=v3.13.16 +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 -cp 00*.patch ../recipe/patches/ ``` -On windows, the last loop can be done as follows (once the patches -have been copied; executed within the `recipe/patch` folder): +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 -for /f %f in ('dir /b /S .') do python make-mixed-crlf-patch.py %f +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 8850bb50b736ba8154ee79d73489a1e94ec432c4 Mon Sep 17 00:00:00 2001 From: Dan Yeaw Date: Mon, 5 Oct 2026 10:17:07 -0400 Subject: [PATCH 3/4] Add alternate location for cli-64.exe for conda-build 26.9+ (cherry picked from commit e073344f3301d2248ab2de5c7758514d72dab4e3) --- recipe/fix_staged_scripts.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/recipe/fix_staged_scripts.py b/recipe/fix_staged_scripts.py index 63343fb43..4bfea1003 100644 --- a/recipe/fix_staged_scripts.py +++ b/recipe/fix_staged_scripts.py @@ -31,7 +31,16 @@ def fix_staged_scripts(scripts_dir): # now create the .exe file # This is hardcoded that conda and conda-build are in the same environment base_env = dirname(dirname(os.environ['CONDA_EXE'])) - exe = join(base_env, 'lib', 'site-packages', 'conda_build', 'cli-64.exe') + # conda-build >= 26.9 sources launchers from conda-launchers + candidates = [ + join(base_env, 'share', 'conda-launchers', 'cli-64.exe'), + join(base_env, 'lib', 'site-packages', 'conda_build', 'cli-64.exe'), + ] + exe = next((path for path in candidates if isfile(path)), None) + if exe is None: + raise FileNotFoundError( + 'cli-64.exe launcher not found in any of: %s' % ', '.join(candidates) + ) shutil.copyfile(exe, join(scripts_dir, fn + '.exe')) # remove the original script From 2ac12de08a79a4849134b1ea30a0e8e438de90cb Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 5 Oct 2026 08:11:47 -0700 Subject: [PATCH 4/4] Add target architecture detection for script fixes (cherry picked from commit 6e713eb1421e8bc77e1b4a2986ebc63ab486a8ec) --- recipe/fix_staged_scripts.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipe/fix_staged_scripts.py b/recipe/fix_staged_scripts.py index 4bfea1003..050ce856f 100644 --- a/recipe/fix_staged_scripts.py +++ b/recipe/fix_staged_scripts.py @@ -10,6 +10,7 @@ def fix_staged_scripts(scripts_dir): Fixes scripts which have been installed unix-style to have a .bat helper """ + target_arch = os.environ["target_platform"].split("-")[-1] if not isdir(scripts_dir): return for fn in os.listdir(scripts_dir): @@ -33,8 +34,8 @@ def fix_staged_scripts(scripts_dir): base_env = dirname(dirname(os.environ['CONDA_EXE'])) # conda-build >= 26.9 sources launchers from conda-launchers candidates = [ - join(base_env, 'share', 'conda-launchers', 'cli-64.exe'), - join(base_env, 'lib', 'site-packages', 'conda_build', 'cli-64.exe'), + join(base_env, 'share', 'conda-launchers', f'cli-{target_arch}.exe'), + join(base_env, 'lib', 'site-packages', 'conda_build', f'cli-{target_arch}.exe'), ] exe = next((path for path in candidates if isfile(path)), None) if exe is None: