From 50cdcaa971b9e4e9c7954ba422ab10a32a2400c4 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 26 Nov 2025 15:15:05 +0100 Subject: [PATCH 01/24] python 3.15.0a2 --- recipe/conda_build_config.yaml | 6 ++--- recipe/meta.yaml | 16 ++++++++------ ...2-Change-FD_SETSIZE-from-512-to-2048.patch | 6 ++--- ...0002-Win32-Do-not-download-externals.patch | 4 ++-- ...-so-that-it-looks-in-sys.prefix-lib-.patch | 4 ++-- ...-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch | 6 ++--- recipe/patches/0005-Unvendor-openssl.patch | 12 +++++----- recipe/patches/0006-Unvendor-sqlite3.patch | 4 ++-- ...dd-CondaEcosystemModifyDllSearchPath.patch | 12 +++++----- recipe/patches/0008-Doing-d1trimfile.patch | 16 +++++++------- .../patches/0009-cross-compile-darwin.patch | 16 +++++++------- .../patches/0010-Fix-TZPATH-on-windows.patch | 8 +++---- ...ch-work-with-SYSTEM_VERSION_COMPAT-1.patch | 10 ++++----- recipe/patches/0012-Unvendor-bzip2.patch | 4 ++-- recipe/patches/0013-Unvendor-libffi.patch | 4 ++-- recipe/patches/0014-Unvendor-tcltk.patch | 4 ++-- recipe/patches/0015-unvendor-xz.patch | 4 ++-- recipe/patches/0016-unvendor-zlib.patch | 14 ++++++------ ...-not-pass-g-to-GCC-when-not-Py_DEBUG.patch | 14 ++++++------ recipe/patches/0018-Unvendor-expat.patch | 4 ++-- .../patches/0019-Remove-unused-readelf.patch | 6 ++--- ...t-checksharedmods-if-cross-compiling.patch | 8 +++---- .../0021-Override-configure-LIBFFI.patch | 8 +++---- recipe/patches/0022-Unvendor-libmpdec.patch | 14 ++++++------ recipe/patches/0023-Brand-conda-forge.patch | 8 +++---- ...d_t-as-it-might-conflict-with-the-ac.patch | 18 +++++++-------- recipe/patches/0025-Unvendor-zstd.patch | 4 ++-- ...IL_DISABLED-in-windows-to-match-unix.patch | 8 +++---- ...and-guard-for-types_world_is_stopped.patch | 22 +++++++++++++++++++ 29 files changed, 144 insertions(+), 120 deletions(-) create mode 100644 recipe/patches/0027-Expand-guard-for-types_world_is_stopped.patch diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 9d84028dd..2a216093a 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -2,13 +2,13 @@ MACOSX_SDK_VERSION: # [osx and x86_64] - 11.0 # [osx and x86_64] # See https://docs.python.org/3.14/whatsnew/3.14.html#a-new-type-of-interpreter c_compiler_version: # [osx] - - 20.1 # [osx] + - 21 # [osx] cxx_compiler_version: # [osx] - - 20.1 # [osx] + - 21 # [osx] # Override Python `zip_keys` python: - - 3.14 + - 3.15 numpy: - 1.16 python_impl: diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 1b26b7a00..599ffc703 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ -{% set version = "3.14.2" %} -{% set dev = "" %} +{% set version = "3.15.0" %} +{% set dev = "a2" %} {% set dev_ = "" %} {% set ver2 = '.'.join(version.split('.')[0:2]) %} {% set ver2nd = ''.join(version.split('.')[0:2]) %} @@ -46,7 +46,7 @@ package: source: - url: https://www.python.org/ftp/python/{{ version }}/Python-{{ version }}{{ dev }}.tar.xz # md5 from: https://www.python.org/downloads/release/python-{{ ver3nd }}{{ dev }}/ - md5: 19a31b2838db3b53f9f2db8782bf8773 + md5: 8a16a56591101a698e8d0779d41782f4 patches: - patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch - patches/0002-Win32-Do-not-download-externals.patch @@ -80,6 +80,8 @@ source: {% if freethreading == "yes" %} - patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch {% endif %} + # https://github.com/python/cpython/pull/142039 + - patches/0027-Expand-guard-for-types_world_is_stopped.patch build: number: {{ build_number }} @@ -159,10 +161,10 @@ outputs: - llvm-tools # [osx] - ld_impl_{{ target_platform }} # [linux] - binutils_impl_{{ target_platform }} # [linux] - - clang-19 # [not win] - - llvm-tools-19 # [not win] - - clang 19.* # [win] - - llvm-tools 19.* # [win] + - clang-21 # [not win] + - llvm-tools-21 # [not win] + - clang 21.* # [win] + - llvm-tools 21.* # [win] - bzip2 # [build_platform != target_platform] - libsqlite # [build_platform != target_platform] - liblzma-devel # [build_platform != target_platform] 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 348ac3d5d..c03c8843d 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,7 +1,7 @@ -From 3dff368f2f15764584cd9d90234ae7e8248e4e4d Mon Sep 17 00:00:00 2001 +From f0d0c464af24f7fbbc430abaa005eb298e18e5c8 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 +Subject: [PATCH 01/27] Win32: Change FD_SETSIZE from 512 to 2048 https://github.com/ContinuumIO/anaconda-issues/issues/1241 --- @@ -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 d234d504cb5..3856307c611 100644 +index 19fe509ec5e..02c9665afa7 100644 --- a/Modules/selectmodule.c +++ b/Modules/selectmodule.c @@ -44,7 +44,7 @@ diff --git a/recipe/patches/0002-Win32-Do-not-download-externals.patch b/recipe/patches/0002-Win32-Do-not-download-externals.patch index 2fc7dfd08..b5638a655 100644 --- a/recipe/patches/0002-Win32-Do-not-download-externals.patch +++ b/recipe/patches/0002-Win32-Do-not-download-externals.patch @@ -1,7 +1,7 @@ -From 15bfc5e613ae654bd685f65d975d79ce88d3853d Mon Sep 17 00:00:00 2001 +From 6a15ec3d4e45c28bff8510c81f571c6112b13497 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 7 Sep 2017 11:35:47 +0100 -Subject: [PATCH 02/26] Win32: Do not download externals +Subject: [PATCH 02/27] Win32: Do not download externals --- PCbuild/build.bat | 2 +- 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 626e4df29..7f4b0ba92 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,7 +1,7 @@ -From 2e9e95c2e3aa8d212a302de52f19d129c5068d57 Mon Sep 17 00:00:00 2001 +From 299fc079ce68d641b415cb3d8843e029d7fc5b6c Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 5 Dec 2017 22:47:59 +0000 -Subject: [PATCH 03/26] Fix find_library so that it looks in sys.prefix/lib +Subject: [PATCH 03/27] Fix find_library so that it looks in sys.prefix/lib first --- 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 cd2f67fad..fd2a3a12f 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,7 +1,7 @@ -From 12999f1ec012f5c3859aa23070a5d293b852afda Mon Sep 17 00:00:00 2001 +From 5bb72c8e81480293d90558a693e1be1550d512b6 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 27 Oct 2018 18:48:30 +0100 -Subject: [PATCH 04/26] Disable registry lookup unless CONDA_PY_ALLOW_REG_PATHS +Subject: [PATCH 04/27] Disable registry lookup unless CONDA_PY_ALLOW_REG_PATHS is not 0 Co-authored-by: Isuru Fernando @@ -23,7 +23,7 @@ index 1e75993480a..ff96c8e1990 100644 !progname_to_dict(dict, "real_executable") || !library_to_dict(dict, "library") || diff --git a/Modules/getpath.py b/Modules/getpath.py -index b89d7427e3f..21df0efac12 100644 +index ceb605a75c8..6d5b9c0d480 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 3be8ce468..5c1aa3f81 100644 --- a/recipe/patches/0005-Unvendor-openssl.patch +++ b/recipe/patches/0005-Unvendor-openssl.patch @@ -1,7 +1,7 @@ -From f3da6c061da6528ac2aa9069418e2abec3e81bec Mon Sep 17 00:00:00 2001 +From 17fcde2d5bbbe8236afdd38526ad7b59a6868ab5 Mon Sep 17 00:00:00 2001 From: Nehal J Wani Date: Sat, 24 Nov 2018 20:38:02 -0600 -Subject: [PATCH 05/26] Unvendor openssl +Subject: [PATCH 05/27] Unvendor openssl Co-authored-by: Isuru Fernando --- @@ -90,10 +90,10 @@ index 7ca750dda8f..17eee400ebb 100644 diff --git a/PCbuild/python.props b/PCbuild/python.props -index d4d9a54248d..94fb385c1fb 100644 +index 7840e2a1cfc..253aa66f477 100644 --- a/PCbuild/python.props +++ b/PCbuild/python.props -@@ -67,6 +67,7 @@ +@@ -68,6 +68,7 @@ $(EXTERNALS_DIR) @@ -101,13 +101,13 @@ index d4d9a54248d..94fb385c1fb 100644 $([System.IO.Path]::GetFullPath(`$(PySourcePath)externals`)) $(ExternalsDir)\ -@@ -74,20 +75,8 @@ +@@ -75,20 +76,8 @@ - $(ExternalsDir)sqlite-3.50.4.0\ - $(ExternalsDir)bzip2-1.0.8\ -- $(ExternalsDir)xz-5.2.5\ +- $(ExternalsDir)xz-5.8.1.1\ - $(ExternalsDir)libffi-3.4.4\ - $(libffiDir)$(ArchName)\ - $(libffiOutDir)include diff --git a/recipe/patches/0006-Unvendor-sqlite3.patch b/recipe/patches/0006-Unvendor-sqlite3.patch index d97f464ea..4bc21b0b4 100644 --- a/recipe/patches/0006-Unvendor-sqlite3.patch +++ b/recipe/patches/0006-Unvendor-sqlite3.patch @@ -1,7 +1,7 @@ -From 73585456429c8ce96c088d3403afd7e430bdeb85 Mon Sep 17 00:00:00 2001 +From 5d333d7c6aaa395b4bccee40fec534aa7c19d7f5 Mon Sep 17 00:00:00 2001 From: Nehal J Wani Date: Tue, 5 Oct 2021 12:42:06 -0700 -Subject: [PATCH 06/26] Unvendor sqlite3 +Subject: [PATCH 06/27] Unvendor sqlite3 --- PCbuild/_sqlite3.vcxproj | 11 +++++------ diff --git a/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch b/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch index fa194652d..20f7f48e9 100644 --- a/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch +++ b/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch @@ -1,7 +1,7 @@ -From 966dfbe7e1972661885959ec72d34d52af373698 Mon Sep 17 00:00:00 2001 +From 83958047fd8a64f8c049735d5d8594bd5673a696 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 24 Dec 2019 18:37:17 +0100 -Subject: [PATCH 07/26] Add CondaEcosystemModifyDllSearchPath() +Subject: [PATCH 07/27] Add CondaEcosystemModifyDllSearchPath() The python interpreter is modifed so that it works as if the python interpreter was called with the following conda directories. @@ -33,10 +33,10 @@ Co-authored-by: Isuru Fernando 1 file changed, 95 insertions(+) diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c -index 352787c6495..4fd4fcb0f6e 100644 +index 67368b5ce07..e08b2df1226 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c -@@ -80,6 +80,10 @@ +@@ -81,6 +81,10 @@ #ifdef MS_WINDOWS # undef BYTE @@ -47,7 +47,7 @@ index 352787c6495..4fd4fcb0f6e 100644 #endif #define PUTS(fd, str) (void)_Py_write_noraise(fd, str, (int)strlen(str)) -@@ -114,6 +118,93 @@ GENERATE_DEBUG_SECTION(PyRuntime, _PyRuntimeState _PyRuntime) +@@ -115,6 +119,93 @@ GENERATE_DEBUG_SECTION(PyRuntime, _PyRuntimeState _PyRuntime) = _PyRuntimeState_INIT(_PyRuntime, _Py_Debug_Cookie); _Py_COMP_DIAG_POP @@ -141,7 +141,7 @@ index 352787c6495..4fd4fcb0f6e 100644 static int runtime_initialized = 0; -@@ -131,6 +222,10 @@ _PyRuntime_Initialize(void) +@@ -132,6 +223,10 @@ _PyRuntime_Initialize(void) } runtime_initialized = 1; diff --git a/recipe/patches/0008-Doing-d1trimfile.patch b/recipe/patches/0008-Doing-d1trimfile.patch index a80d79b6e..ec9828e04 100644 --- a/recipe/patches/0008-Doing-d1trimfile.patch +++ b/recipe/patches/0008-Doing-d1trimfile.patch @@ -1,7 +1,7 @@ -From 17412eb7031d69a13c749f5d6a5f9cdef01c1188 Mon Sep 17 00:00:00 2001 +From 5c39a338040451810cc97adc1d0088e914cccd07 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 31 Dec 2019 21:47:47 +0100 -Subject: [PATCH 08/26] Doing d1trimfile +Subject: [PATCH 08/27] Doing d1trimfile --- PCbuild/_asyncio.vcxproj | 20 ++++++++++++++++++++ @@ -147,7 +147,7 @@ index f15b80852e3..e565441ca4c 100644 diff --git a/PCbuild/_decimal.vcxproj b/PCbuild/_decimal.vcxproj -index ee7421484b5..e9d60b4db1a 100644 +index 3ba49370d58..921d22e47b3 100644 --- a/PCbuild/_decimal.vcxproj +++ b/PCbuild/_decimal.vcxproj @@ -99,6 +99,10 @@ @@ -179,7 +179,7 @@ index 3eb9c89bcb6..920656f2ee2 100644 diff --git a/PCbuild/_freeze_module.vcxproj b/PCbuild/_freeze_module.vcxproj -index 5ceddf759b8..6b113ad8c2e 100644 +index 605861ad3fd..4082f3f6d51 100644 --- a/PCbuild/_freeze_module.vcxproj +++ b/PCbuild/_freeze_module.vcxproj @@ -93,6 +93,10 @@ @@ -429,7 +429,7 @@ index 4e721e8ce09..3fec7516ed5 100644 \ No newline at end of file + diff --git a/PCbuild/_testcapi.vcxproj b/PCbuild/_testcapi.vcxproj -index a68f15d25aa..5c42f15c312 100644 +index 68707a54ff6..4e88650812f 100644 --- a/PCbuild/_testcapi.vcxproj +++ b/PCbuild/_testcapi.vcxproj @@ -92,6 +92,26 @@ @@ -603,11 +603,11 @@ index 87f6005fffc..de9358312ac 100644 $(tcltkLib);%(AdditionalDependencies) diff --git a/PCbuild/liblzma.vcxproj b/PCbuild/liblzma.vcxproj -index 97938692328..212fb5e1ebc 100644 +index 75d4e162346..d50534affa1 100644 --- a/PCbuild/liblzma.vcxproj +++ b/PCbuild/liblzma.vcxproj @@ -95,6 +95,10 @@ - $(lzmaDir)windows/vs2019;$(lzmaDir)src/liblzma/common;$(lzmaDir)src/common;$(lzmaDir)src/liblzma/api;$(lzmaDir)src/liblzma/check;$(lzmaDir)src/liblzma/delta;$(lzmaDir)src/liblzma/lz;$(lzmaDir)src/liblzma/lzma;$(lzmaDir)src/liblzma/rangecoder;$(lzmaDir)src/liblzma/simple;%(AdditionalIncludeDirectories) + $(lzmaDir)windows;$(lzmaDir)src/liblzma/common;$(lzmaDir)src/common;$(lzmaDir)src/liblzma/api;$(lzmaDir)src/liblzma/check;$(lzmaDir)src/liblzma/delta;$(lzmaDir)src/liblzma/lz;$(lzmaDir)src/liblzma/lzma;$(lzmaDir)src/liblzma/rangecoder;$(lzmaDir)src/liblzma/simple;%(AdditionalIncludeDirectories) 4244;4267;4996;%(DisableSpecificWarnings) %(AdditionalOptions) -Wno-deprecated-declarations + /d1trimfile:%SRC_DIR% @@ -720,7 +720,7 @@ index 3f8772d30b4..d80968e351a 100644 windowsapp.lib;%(AdditionalDependencies) diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index b911c938563..8e45967a83c 100644 +index 359a47fbfc4..ee07e5cffa2 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -99,7 +99,7 @@ diff --git a/recipe/patches/0009-cross-compile-darwin.patch b/recipe/patches/0009-cross-compile-darwin.patch index ae8f1be68..f454977cb 100644 --- a/recipe/patches/0009-cross-compile-darwin.patch +++ b/recipe/patches/0009-cross-compile-darwin.patch @@ -1,7 +1,7 @@ -From 4a750134d0e82bf5e843bcde03a28c4ef7e6c036 Mon Sep 17 00:00:00 2001 +From 73649c07901551bcb28074e72c192e8338f2a794 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 2 Oct 2020 00:03:12 +0200 -Subject: [PATCH 09/26] cross compile darwin +Subject: [PATCH 09/27] cross compile darwin By Isuru Fernando. --- @@ -11,10 +11,10 @@ By Isuru Fernando. 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Lib/platform.py b/Lib/platform.py -index 784b6b749b7..9918b4106e8 100644 +index 4db93bea2a3..fce802b20a2 100644 --- a/Lib/platform.py +++ b/Lib/platform.py -@@ -477,7 +477,12 @@ def win32_ver(release='', version='', csd='', ptype=''): +@@ -475,7 +475,12 @@ def win32_ver(release='', version='', csd='', ptype=''): def _mac_ver_xml(): fn = '/System/Library/CoreServices/SystemVersion.plist' if not os.path.exists(fn): @@ -29,10 +29,10 @@ index 784b6b749b7..9918b4106e8 100644 try: import plistlib diff --git a/configure b/configure -index d31c24dffa2..1e4cf61234b 100755 +index a4514f80c3a..3896a8a6fce 100755 --- a/configure +++ b/configure -@@ -4110,6 +4110,9 @@ then +@@ -4113,6 +4113,9 @@ then *-*-linux*) ac_sys_system=Linux ;; @@ -42,7 +42,7 @@ index d31c24dffa2..1e4cf61234b 100755 *-*-cygwin*) ac_sys_system=Cygwin ;; -@@ -4589,6 +4592,9 @@ if test "$cross_compiling" = yes; then +@@ -4592,6 +4595,9 @@ if test "$cross_compiling" = yes; then _host_ident=$host_cpu esac ;; @@ -53,7 +53,7 @@ index d31c24dffa2..1e4cf61234b 100755 _host_ident= ;; diff --git a/configure.ac b/configure.ac -index af7a9623d7b..e7a4bb5b998 100644 +index a059a07bec2..50381cf760e 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 b380b8065..3164d56d0 100644 --- a/recipe/patches/0010-Fix-TZPATH-on-windows.patch +++ b/recipe/patches/0010-Fix-TZPATH-on-windows.patch @@ -1,14 +1,14 @@ -From 53c0cb3b5f5c206ead42a55dcbc39ce1453dfd38 Mon Sep 17 00:00:00 2001 +From b282fdadd59f2a8e90fc995ed76b95383eac6906 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 7 Oct 2020 10:08:30 -0500 -Subject: [PATCH 10/26] Fix TZPATH on windows +Subject: [PATCH 10/27] Fix TZPATH on windows --- Lib/sysconfig/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py -index 2ecbff222fe..9a263dea8da 100644 +index 8ff9c99435b..2caf1862ba0 100644 --- a/Lib/sysconfig/__init__.py +++ b/Lib/sysconfig/__init__.py @@ -175,6 +175,7 @@ def joinuser(*args): @@ -19,7 +19,7 @@ index 2ecbff222fe..9a263dea8da 100644 _BASE_PREFIX = os.path.normpath(sys.base_prefix) _BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) # Mutex guarding initialization of _CONFIG_VARS. -@@ -555,6 +556,7 @@ def _init_config_vars(): +@@ -550,6 +551,7 @@ def _init_config_vars(): if os.name == 'nt': _init_non_posix(_CONFIG_VARS) _CONFIG_VARS['VPATH'] = sys._vpath 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 719ceb57d..3be21004d 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,7 +1,7 @@ -From fb9d535290c32d9ff02820949cab3d2c212d6397 Mon Sep 17 00:00:00 2001 +From 6a25a0a62fd89072d2f902cd00fd19b8629f8571 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 25 Jan 2021 03:28:08 -0600 -Subject: [PATCH 11/26] Make dyld search work with SYSTEM_VERSION_COMPAT=1 +Subject: [PATCH 11/27] Make dyld search work with SYSTEM_VERSION_COMPAT=1 In macOS Big Sur, if the executable was compiled with `MACOSX_DEPLOYMENT_TARGET=10.15` or below, then SYSTEM_VERSION_COMPAT=1 is the default which means that Big Sur @@ -18,10 +18,10 @@ and this code using 10.16 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c -index 856b0376e5e..8d269ac5969 100644 +index a8c16547e4b..c8d1eb9dd7e 100644 --- a/Modules/_ctypes/callproc.c +++ b/Modules/_ctypes/callproc.c -@@ -1509,7 +1509,7 @@ copy_com_pointer(PyObject *self, PyObject *args) +@@ -1501,7 +1501,7 @@ copy_com_pointer(PyObject *self, PyObject *args) #ifdef HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH # ifdef HAVE_BUILTIN_AVAILABLE # define HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH_RUNTIME \ @@ -30,7 +30,7 @@ index 856b0376e5e..8d269ac5969 100644 # else # define HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH_RUNTIME \ (_dyld_shared_cache_contains_path != NULL) -@@ -1552,8 +1552,10 @@ static PyObject *py_dyld_shared_cache_contains_path(PyObject *self, PyObject *ar +@@ -1544,8 +1544,10 @@ static PyObject *py_dyld_shared_cache_contains_path(PyObject *self, PyObject *ar if (PyUnicode_FSConverter(name, &name2) == 0) return NULL; name_str = PyBytes_AS_STRING(name2); diff --git a/recipe/patches/0012-Unvendor-bzip2.patch b/recipe/patches/0012-Unvendor-bzip2.patch index 94bb7eb82..344272b9d 100644 --- a/recipe/patches/0012-Unvendor-bzip2.patch +++ b/recipe/patches/0012-Unvendor-bzip2.patch @@ -1,7 +1,7 @@ -From 7c194e8eecd10c4f16b25110e53647a87bb71ec6 Mon Sep 17 00:00:00 2001 +From 9afee7464b67b708a18dcee213460f1df98bb404 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 16 Aug 2021 02:56:27 -0700 -Subject: [PATCH 12/26] Unvendor bzip2 +Subject: [PATCH 12/27] Unvendor bzip2 --- PCbuild/_bz2.vcxproj | 15 +++++---------- diff --git a/recipe/patches/0013-Unvendor-libffi.patch b/recipe/patches/0013-Unvendor-libffi.patch index 7da3aa1d1..5adf844c9 100644 --- a/recipe/patches/0013-Unvendor-libffi.patch +++ b/recipe/patches/0013-Unvendor-libffi.patch @@ -1,7 +1,7 @@ -From fafc2c3880a6c1e872142b8ed040a562edb45738 Mon Sep 17 00:00:00 2001 +From 64d9c760bb5a40d5a9f466087b668a8acb4071ce Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 16 Aug 2021 03:07:40 -0700 -Subject: [PATCH 13/26] Unvendor libffi +Subject: [PATCH 13/27] Unvendor libffi --- PCbuild/libffi.props | 17 ++++------------- diff --git a/recipe/patches/0014-Unvendor-tcltk.patch b/recipe/patches/0014-Unvendor-tcltk.patch index 0aafc2b3d..f5f4ac0b6 100644 --- a/recipe/patches/0014-Unvendor-tcltk.patch +++ b/recipe/patches/0014-Unvendor-tcltk.patch @@ -1,7 +1,7 @@ -From bac07ba9b9bdbcc560af20d9eadc38bd30a7fc9b Mon Sep 17 00:00:00 2001 +From aac5645d1d583be0604b130749cb61447e3c02c5 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 20 Aug 2021 10:23:51 -0700 -Subject: [PATCH 14/26] Unvendor tcltk +Subject: [PATCH 14/27] Unvendor tcltk --- PCbuild/_tkinter.vcxproj | 6 ------ diff --git a/recipe/patches/0015-unvendor-xz.patch b/recipe/patches/0015-unvendor-xz.patch index 56e718717..346469d71 100644 --- a/recipe/patches/0015-unvendor-xz.patch +++ b/recipe/patches/0015-unvendor-xz.patch @@ -1,7 +1,7 @@ -From 4492573c31d9b6989cf878c1b133870ccc93886f Mon Sep 17 00:00:00 2001 +From 2925d92d9d9f6b476800ea6832ef3bc6257fb230 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 25 Sep 2021 10:07:05 -0700 -Subject: [PATCH 15/26] unvendor xz +Subject: [PATCH 15/27] unvendor xz --- PCbuild/_lzma.vcxproj | 10 +++------- diff --git a/recipe/patches/0016-unvendor-zlib.patch b/recipe/patches/0016-unvendor-zlib.patch index d59a79019..171e54f5a 100644 --- a/recipe/patches/0016-unvendor-zlib.patch +++ b/recipe/patches/0016-unvendor-zlib.patch @@ -1,7 +1,7 @@ -From aca0e2c3d51aaa449f7e849b7fbc26233d611298 Mon Sep 17 00:00:00 2001 +From 59b4df04ee6775095f53787273d750aa23b96f9e Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 29 Sep 2021 15:21:55 -0700 -Subject: [PATCH 16/26] unvendor zlib +Subject: [PATCH 16/27] unvendor zlib --- PCbuild/pythoncore.vcxproj | 14 ++----- @@ -9,7 +9,7 @@ Subject: [PATCH 16/26] unvendor zlib 2 files changed, 4 insertions(+), 76 deletions(-) diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index 8e45967a83c..fc1a6077b34 100644 +index ee07e5cffa2..0dfc40fab7f 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -82,7 +82,7 @@ @@ -41,7 +41,7 @@ index 8e45967a83c..fc1a6077b34 100644 -@@ -681,12 +681,6 @@ +@@ -689,12 +689,6 @@ @@ -55,10 +55,10 @@ index 8e45967a83c..fc1a6077b34 100644 diff --git a/PCbuild/pythoncore.vcxproj.filters b/PCbuild/pythoncore.vcxproj.filters -index 0e6d42cc959..144a0e3425a 100644 +index 17999690990..7376f1130b5 100644 --- a/PCbuild/pythoncore.vcxproj.filters +++ b/PCbuild/pythoncore.vcxproj.filters -@@ -900,39 +900,6 @@ +@@ -915,39 +915,6 @@ Include\internal\mimalloc @@ -98,7 +98,7 @@ index 0e6d42cc959..144a0e3425a 100644 Include\internal -@@ -1580,39 +1547,6 @@ +@@ -1604,39 +1571,6 @@ Objects 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 d6cb69535..8b3f04dcb 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,7 +1,7 @@ -From 34a225d86b9b9d43fe12b130101e35779c4322bc Mon Sep 17 00:00:00 2001 +From 675879079500bd180419d8fff0d0310da3dc2097 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 16 Aug 2017 11:45:28 +0100 -Subject: [PATCH 17/26] Do not pass -g to GCC when not Py_DEBUG +Subject: [PATCH 17/27] Do not pass -g to GCC when not Py_DEBUG This bloats our exe and our modules a lot. --- @@ -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 1e4cf61234b..61c94c69308 100755 +index 3896a8a6fce..1f1a310988a 100755 --- a/configure +++ b/configure -@@ -5794,9 +5794,9 @@ if test $ac_test_CFLAGS; then +@@ -5797,9 +5797,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 1e4cf61234b..61c94c69308 100755 fi else if test "$GCC" = yes; then -@@ -9572,7 +9572,7 @@ then +@@ -9596,7 +9596,7 @@ then if test "$Py_DEBUG" = 'true' ; then OPT="-g $PYDEBUG_CFLAGS -Wall" else @@ -35,10 +35,10 @@ index 1e4cf61234b..61c94c69308 100755 ;; *) diff --git a/configure.ac b/configure.ac -index e7a4bb5b998..480e59d6c3e 100644 +index 50381cf760e..bbd47d7f4df 100644 --- a/configure.ac +++ b/configure.ac -@@ -2306,7 +2306,7 @@ then +@@ -2322,7 +2322,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 d49ff7eb1..3b2f93a3e 100644 --- a/recipe/patches/0018-Unvendor-expat.patch +++ b/recipe/patches/0018-Unvendor-expat.patch @@ -1,7 +1,7 @@ -From 97ae235561329f2310cd2f03b0e6321b448601ca Mon Sep 17 00:00:00 2001 +From c161a3b3435c3f6ce56c3ff2836913349c74cd2e Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 29 Mar 2023 23:07:10 -0500 -Subject: [PATCH 18/26] Unvendor expat +Subject: [PATCH 18/27] Unvendor expat --- PCbuild/_elementtree.vcxproj | 24 ++---------- diff --git a/recipe/patches/0019-Remove-unused-readelf.patch b/recipe/patches/0019-Remove-unused-readelf.patch index 91d5eb481..a0d4fd0a1 100644 --- a/recipe/patches/0019-Remove-unused-readelf.patch +++ b/recipe/patches/0019-Remove-unused-readelf.patch @@ -1,7 +1,7 @@ -From 2e87abf11bbb270eb6971923b3854f599a5da6c9 Mon Sep 17 00:00:00 2001 +From 95c0b1bec2955b17f8675c47a60b93d4da048cd4 Mon Sep 17 00:00:00 2001 From: Charles Bousseau Date: Thu, 25 May 2023 17:56:53 -0400 -Subject: [PATCH 19/26] Remove unused readelf +Subject: [PATCH 19/27] Remove unused readelf readelf has been dropped. .. date: 2022-11-02-10-56-40 @@ -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 ba039794c88..7b0d6dced64 100644 +index dd28ff5d2a3..4178e867ffa 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 9e126e31e..d538f9e60 100644 --- a/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch +++ b/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch @@ -1,7 +1,7 @@ -From 00a945ee9d283d6d189f782092d06348d2ccef00 Mon Sep 17 00:00:00 2001 +From ae6d1f36713b1d7e5dea559c64ba7240cb3a7e52 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Fri, 1 Sep 2023 23:32:14 +0200 -Subject: [PATCH 20/26] Don't checksharedmods if cross-compiling +Subject: [PATCH 20/27] Don't checksharedmods if cross-compiling --- Makefile.pre.in | 2 +- @@ -10,10 +10,10 @@ Subject: [PATCH 20/26] Don't checksharedmods if cross-compiling create mode 100755 if_runnable.sh diff --git a/Makefile.pre.in b/Makefile.pre.in -index 7b0d6dced64..e1cc236b150 100644 +index 4178e867ffa..e17f942c515 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1593,7 +1593,7 @@ sharedmods: $(SHAREDMODS) pybuilddir.txt +@@ -1603,7 +1603,7 @@ sharedmods: $(SHAREDMODS) pybuilddir.txt # dependency on BUILDPYTHON ensures that the target is run last .PHONY: checksharedmods checksharedmods: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON) diff --git a/recipe/patches/0021-Override-configure-LIBFFI.patch b/recipe/patches/0021-Override-configure-LIBFFI.patch index bc4412089..e2e712508 100644 --- a/recipe/patches/0021-Override-configure-LIBFFI.patch +++ b/recipe/patches/0021-Override-configure-LIBFFI.patch @@ -1,17 +1,17 @@ -From fdef0a3f1a886320e3acd5f01fdbc0907a32d9d8 Mon Sep 17 00:00:00 2001 +From 6c834e4d86f845015526492beb7528cd788ba480 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 5 Sep 2023 21:51:31 +0200 -Subject: [PATCH 21/26] Override configure LIBFFI +Subject: [PATCH 21/27] Override configure LIBFFI --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure -index 61c94c69308..8af6bd41981 100755 +index 1f1a310988a..11f16aa4221 100755 --- a/configure +++ b/configure -@@ -15251,7 +15251,7 @@ if test "x$ac_cv_lib_ffi_ffi_call" = xyes +@@ -15287,7 +15287,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 2bfccdb41..96b065097 100644 --- a/recipe/patches/0022-Unvendor-libmpdec.patch +++ b/recipe/patches/0022-Unvendor-libmpdec.patch @@ -1,17 +1,17 @@ -From 76f71b983fbe97118ff7e9c187e689226fbdd296 Mon Sep 17 00:00:00 2001 +From 522494d5706490a78702c076959c166bf0141a67 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 16 Aug 2024 21:34:43 -0500 -Subject: [PATCH 22/26] Unvendor libmpdec +Subject: [PATCH 22/27] Unvendor libmpdec --- - PCbuild/_decimal.vcxproj | 50 +++++----------------------------------- - 1 file changed, 6 insertions(+), 44 deletions(-) + PCbuild/_decimal.vcxproj | 51 ++++++---------------------------------- + 1 file changed, 7 insertions(+), 44 deletions(-) diff --git a/PCbuild/_decimal.vcxproj b/PCbuild/_decimal.vcxproj -index e9d60b4db1a..0f49d7923f5 100644 +index 921d22e47b3..0f49d7923f5 100644 --- a/PCbuild/_decimal.vcxproj +++ b/PCbuild/_decimal.vcxproj -@@ -93,65 +93,27 @@ +@@ -93,64 +93,27 @@ @@ -40,7 +40,6 @@ index e9d60b4db1a..0f49d7923f5 100644 - - - - - - - @@ -54,6 +53,7 @@ index e9d60b4db1a..0f49d7923f5 100644 - - - ++ diff --git a/recipe/patches/0023-Brand-conda-forge.patch b/recipe/patches/0023-Brand-conda-forge.patch index d7fd45221..330bd6132 100644 --- a/recipe/patches/0023-Brand-conda-forge.patch +++ b/recipe/patches/0023-Brand-conda-forge.patch @@ -1,7 +1,7 @@ -From 3ae72a4b59fec1f5a8f2431f33b37888ebe2f646 Mon Sep 17 00:00:00 2001 +From c8ae5667d4c3a51ec96718fdd69f22c7d9f53580 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 28 Aug 2024 11:12:22 -0500 -Subject: [PATCH 23/26] Brand conda-forge +Subject: [PATCH 23/27] Brand conda-forge --- Lib/platform.py | 1 + @@ -9,10 +9,10 @@ Subject: [PATCH 23/26] Brand conda-forge 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/platform.py b/Lib/platform.py -index 9918b4106e8..1bedf861aad 100644 +index fce802b20a2..a5b7c6f9d2b 100644 --- a/Lib/platform.py +++ b/Lib/platform.py -@@ -1215,6 +1215,7 @@ def _sys_version(sys_version=None): +@@ -1147,6 +1147,7 @@ def _sys_version(sys_version=None): cpython_sys_version_parser = re.compile( r'([\w.+]+)\s*' # "version" r'(?:free-threading build\s+)?' # "free-threading-build" 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 56b92c848..b459a4559 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,7 +1,7 @@ -From dfd3c9a8237180a5456a13ecc3c1e19cb52ccd1a Mon Sep 17 00:00:00 2001 +From ea34c3871dc06ae261ba216808dcd4fbfe277759 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sun, 12 Jan 2025 10:37:29 +0530 -Subject: [PATCH 24/26] Do not define pid_t as it might conflict with the +Subject: [PATCH 24/27] Do not define pid_t as it might conflict with the actual definition --- @@ -30,7 +30,7 @@ index 6313abf5485..bc8169e2f68 100644 module _testcapi [clinic start generated code]*/ diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c -index 2572df9719a..792c0df35af 100644 +index c14f925b4e7..9d2064d3252 100644 --- a/Modules/_testcapimodule.c +++ b/Modules/_testcapimodule.c @@ -23,6 +23,10 @@ @@ -60,7 +60,7 @@ index 34bc7331da9..abae4b19bf0 100644 module _testlimitedcapi [clinic start generated code]*/ diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h -index 87a17935507..a88a9151cb6 100644 +index d880fc52bb3..ec0e9c0b13e 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -10,6 +10,10 @@ preserve @@ -75,10 +75,10 @@ index 87a17935507..a88a9151cb6 100644 "stat($module, /, path, *, dir_fd=None, follow_symlinks=True)\n" "--\n" diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index e1576f809fa..1ea521478e7 100644 +index fc609b2707c..8a4c3d71917 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c -@@ -219,6 +219,7 @@ +@@ -220,6 +220,7 @@ # if defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM) # define HAVE_SYMLINK # endif /* MS_WINDOWS_DESKTOP | MS_WINDOWS_SYSTEM */ @@ -87,10 +87,10 @@ index e1576f809fa..1ea521478e7 100644 diff --git a/PC/pyconfig.h b/PC/pyconfig.h -index 710a737ebcc..92d327b1e35 100644 +index a126fca6f5a..8332de4afb4 100644 --- a/PC/pyconfig.h +++ b/PC/pyconfig.h -@@ -235,8 +235,6 @@ typedef _W64 int Py_ssize_t; +@@ -240,8 +240,6 @@ typedef _W64 int Py_ssize_t; #endif #endif /* MS_WIN32 && !MS_WIN64 */ @@ -100,7 +100,7 @@ index 710a737ebcc..92d327b1e35 100644 #if _MSC_VER >= 1200 /* This file only exists in VC 6.0 or higher */ diff --git a/Python/remote_debug.h b/Python/remote_debug.h -index 8f9b6cd4c49..20cd65dd818 100644 +index e7676013197..24e78509930 100644 --- a/Python/remote_debug.h +++ b/Python/remote_debug.h @@ -28,6 +28,9 @@ extern "C" { diff --git a/recipe/patches/0025-Unvendor-zstd.patch b/recipe/patches/0025-Unvendor-zstd.patch index b7b496249..379068fa8 100644 --- a/recipe/patches/0025-Unvendor-zstd.patch +++ b/recipe/patches/0025-Unvendor-zstd.patch @@ -1,7 +1,7 @@ -From 0c0f398f475a9d61fbec7e004647299cd7e9e049 Mon Sep 17 00:00:00 2001 +From 7bbe08065cdb171461b7c167616c4502e43c9581 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 22 Jul 2025 18:07:54 +0200 -Subject: [PATCH 25/26] Unvendor zstd +Subject: [PATCH 25/27] Unvendor zstd --- PCbuild/_zstd.vcxproj | 58 +------------ diff --git a/recipe/patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch b/recipe/patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch index 32c34f568..f764dd1a5 100644 --- a/recipe/patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch +++ b/recipe/patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch @@ -1,7 +1,7 @@ -From bdffefd91e576916a70808069885b1c33d6b4f62 Mon Sep 17 00:00:00 2001 +From 15881d9435ebdd3d5a4848f1d8bfcb2a66370605 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 2 Dec 2025 09:46:56 -0800 -Subject: [PATCH 26/26] Set Py_GIL_DISABLED in windows to match unix +Subject: [PATCH 26/27] Set Py_GIL_DISABLED in windows to match unix This is not set upstream because the windows distribution supports free-threaded and default builds at the same time. We have the @@ -11,10 +11,10 @@ luxury of not having to do that. 1 file changed, 2 insertions(+) diff --git a/PC/pyconfig.h b/PC/pyconfig.h -index 92d327b1e35..ed0d9c0592b 100644 +index 8332de4afb4..45744078c1b 100644 --- a/PC/pyconfig.h +++ b/PC/pyconfig.h -@@ -105,6 +105,8 @@ WIN32 is still required for the locale module. +@@ -110,6 +110,8 @@ WIN32 is still required for the locale module. #if Py_GIL_DISABLED == 0 #undef Py_GIL_DISABLED #endif diff --git a/recipe/patches/0027-Expand-guard-for-types_world_is_stopped.patch b/recipe/patches/0027-Expand-guard-for-types_world_is_stopped.patch new file mode 100644 index 000000000..eaffaf6fb --- /dev/null +++ b/recipe/patches/0027-Expand-guard-for-types_world_is_stopped.patch @@ -0,0 +1,22 @@ +From f3502590512de85a6ce1fec94434a8da876932d9 Mon Sep 17 00:00:00 2001 +From: "Uwe L. Korn" +Date: Fri, 28 Nov 2025 15:20:43 +0100 +Subject: [PATCH 27/27] Expand guard for types_world_is_stopped + +--- + Objects/typeobject.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Objects/typeobject.c b/Objects/typeobject.c +index 61bcc21ce13..f48bf0b2b4e 100644 +--- a/Objects/typeobject.c ++++ b/Objects/typeobject.c +@@ -81,7 +81,7 @@ class object "PyObject *" "&PyBaseObject_Type" + + #define END_TYPE_DICT_LOCK() Py_END_CRITICAL_SECTION2() + +-#ifndef NDEBUG ++#if !defined(NDEBUG) || defined(Py_DEBUG) + // Return true if the world is currently stopped. + static bool + types_world_is_stopped(void) From 5da4038b0e28bf633eb650b48db76be5061db919 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 26 Nov 2025 20:08:03 +0100 Subject: [PATCH 02/24] Expand OpenSSL version check --- recipe/meta.yaml | 3 +++ recipe/run_test.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 599ffc703..63c40ec79 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -211,6 +211,9 @@ outputs: - ripgrep - cmake - ninja + # Pin to the openssl version used during the build to check whether + # we load the conda-forge version. + - openssl {{ openssl }} - {{ stdlib('c') }} - {{ compiler('c') }} # Tried to use enable_language(C) to avoid needing this. It does not work. diff --git a/recipe/run_test.py b/recipe/run_test.py index d53c4a388..6b6473899 100644 --- a/recipe/run_test.py +++ b/recipe/run_test.py @@ -102,8 +102,8 @@ import ssl print('OPENSSL_VERSION:', ssl.OPENSSL_VERSION) -CONDA_OPENSSL_VERSION = os.getenv('openssl').split(".")[0] -assert CONDA_OPENSSL_VERSION in ssl.OPENSSL_VERSION +CONDA_OPENSSL_VERSION = os.getenv('openssl') +assert CONDA_OPENSSL_VERSION in ssl.OPENSSL_VERSION, f"{CONDA_OPENSSL_VERSION} not found in {ssl.OPENSSL_VERSION}" # See https://github.com/conda-forge/python-feedstock/issues/718 for context: assert sys.hash_info.algorithm.startswith("siphash") From 8279301f705c8a3c3f8a3543f220653b3ce2927b Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Mon, 1 Dec 2025 20:24:20 +0100 Subject: [PATCH 03/24] Upload to python_dev label --- recipe/conda_build_config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index 2a216093a..2ae238ad9 100644 --- a/recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml @@ -30,8 +30,8 @@ build_type: - release - debug # [not win] channel_targets: - - conda-forge main - - conda-forge python_debug # [not win] + - conda-forge python_dev + - conda-forge python_dev_debug # [not win] zip_keys: - build_type - channel_targets From bfd8da26acdf09c30e82706bb7f0b0336d1c1cf0 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 10 Dec 2025 11:21:19 +0100 Subject: [PATCH 04/24] MNT: Re-rendered with conda-smithy 3.53.3 and conda-forge-pinning 2025.12.10.08.45.35 Other tools: - conda-build 25.11.1 - rattler-build 0.54.0 - rattler-build-conda-compat 1.4.10 --- .azure-pipelines/azure-pipelines-linux.yml | 48 +++++----- .azure-pipelines/azure-pipelines-osx.yml | 32 +++---- ...orge_python_dev_debugfreethreadingno.yaml} | 4 +- ...rge_python_dev_debugfreethreadingyes.yaml} | 4 +- ...onda-forge_python_devfreethreadingno.yaml} | 4 +- ...nda-forge_python_devfreethreadingyes.yaml} | 4 +- ...orge_python_dev_debugfreethreadingno.yaml} | 4 +- ...rge_python_dev_debugfreethreadingyes.yaml} | 4 +- ...onda-forge_python_devfreethreadingno.yaml} | 4 +- ...nda-forge_python_devfreethreadingyes.yaml} | 4 +- ...orge_python_dev_debugfreethreadingno.yaml} | 4 +- ...rge_python_dev_debugfreethreadingyes.yaml} | 4 +- ...onda-forge_python_devfreethreadingno.yaml} | 4 +- ...nda-forge_python_devfreethreadingyes.yaml} | 4 +- ...orge_python_dev_debugfreethreadingno.yaml} | 8 +- ...rge_python_dev_debugfreethreadingyes.yaml} | 8 +- ...onda-forge_python_devfreethreadingno.yaml} | 8 +- ...nda-forge_python_devfreethreadingyes.yaml} | 8 +- ...orge_python_dev_debugfreethreadingno.yaml} | 8 +- ...rge_python_dev_debugfreethreadingyes.yaml} | 8 +- ...onda-forge_python_devfreethreadingno.yaml} | 8 +- ...nda-forge_python_devfreethreadingyes.yaml} | 8 +- .ci_support/win_64_freethreadingno.yaml | 4 +- .ci_support/win_64_freethreadingyes.yaml | 4 +- README.md | 96 +++++++++---------- 25 files changed, 148 insertions(+), 148 deletions(-) rename .ci_support/{linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml => linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml} (94%) rename .ci_support/{linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml => linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml} (94%) rename .ci_support/{linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml => linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml} (95%) rename .ci_support/{linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml => linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml} (95%) rename .ci_support/{linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml => linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml} (94%) rename .ci_support/{linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml => linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml} (94%) rename .ci_support/{linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml => linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml} (95%) rename .ci_support/{linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml => linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml} (95%) rename .ci_support/{linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml => linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml} (94%) rename .ci_support/{linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml => linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml} (94%) rename .ci_support/{linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml => linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml} (95%) rename .ci_support/{linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml => linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml} (95%) rename .ci_support/{osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml => osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml} (93%) rename .ci_support/{osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml => osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml} (93%) rename .ci_support/{osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml => osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml} (93%) rename .ci_support/{osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml => osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml} (93%) rename .ci_support/{osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml => osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml} (93%) rename .ci_support/{osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml => osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml} (93%) rename .ci_support/{osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml => osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml} (93%) rename .ci_support/{osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml => osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml} (93%) diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 378d045f1..2ba753abe 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,52 +8,52 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno: - CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno + linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno: + CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes: - CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes + linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes: + CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno: - CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno + linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno: + CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes: - CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes + linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes: + CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno: - CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno + linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno: + CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes: - CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes + linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes: + CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno: - CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno + linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno: + CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes: - CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes + linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes: + CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno: - CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno + linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno: + CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes: - CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes + linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes: + CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno: - CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno + linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno: + CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes: - CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes + linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes: + CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 timeoutInMinutes: 360 diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index af6c938c0..255b6a9c5 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -8,29 +8,29 @@ jobs: vmImage: macOS-15 strategy: matrix: - osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno: - CONFIG: osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno + osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno: + CONFIG: osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno UPLOAD_PACKAGES: 'True' - osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes: - CONFIG: osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes + osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes: + CONFIG: osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes UPLOAD_PACKAGES: 'True' - osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno: - CONFIG: osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno + osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno: + CONFIG: osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno UPLOAD_PACKAGES: 'True' - osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes: - CONFIG: osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes + osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes: + CONFIG: osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes UPLOAD_PACKAGES: 'True' - osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno: - CONFIG: osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno + osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno: + CONFIG: osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno UPLOAD_PACKAGES: 'True' - osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes: - CONFIG: osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes + osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes: + CONFIG: osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes UPLOAD_PACKAGES: 'True' - osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno: - CONFIG: osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno + osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno: + CONFIG: osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno UPLOAD_PACKAGES: 'True' - osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes: - CONFIG: osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes + osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes: + CONFIG: osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: {} diff --git a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml similarity index 94% rename from .ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml rename to .ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml index 37593b055..e450ab9d3 100644 --- a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml +++ b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml @@ -13,7 +13,7 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge python_debug +- conda-forge python_dev_debug cxx_compiler: - gxx cxx_compiler_version: @@ -41,7 +41,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml similarity index 94% rename from .ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml rename to .ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml index b1b3ad18a..31079909e 100644 --- a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml +++ b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml @@ -13,7 +13,7 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge python_debug +- conda-forge python_dev_debug cxx_compiler: - gxx cxx_compiler_version: @@ -41,7 +41,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml similarity index 95% rename from .ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml rename to .ci_support/linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml index df48c0233..c2a3977ac 100644 --- a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml +++ b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml @@ -13,7 +13,7 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge python_dev cxx_compiler: - gxx cxx_compiler_version: @@ -41,7 +41,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml similarity index 95% rename from .ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml rename to .ci_support/linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml index e610789ca..fd74202b0 100644 --- a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml +++ b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml @@ -13,7 +13,7 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge python_dev cxx_compiler: - gxx cxx_compiler_version: @@ -41,7 +41,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml similarity index 94% rename from .ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml rename to .ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml index fd15ad542..4e85b9160 100644 --- a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml +++ b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml @@ -13,7 +13,7 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge python_debug +- conda-forge python_dev_debug cxx_compiler: - gxx cxx_compiler_version: @@ -41,7 +41,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml similarity index 94% rename from .ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml rename to .ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml index 1b77335e7..27265adf8 100644 --- a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml +++ b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml @@ -13,7 +13,7 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge python_debug +- conda-forge python_dev_debug cxx_compiler: - gxx cxx_compiler_version: @@ -41,7 +41,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml similarity index 95% rename from .ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml rename to .ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml index 9438623ec..e394c7044 100644 --- a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml +++ b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml @@ -13,7 +13,7 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge python_dev cxx_compiler: - gxx cxx_compiler_version: @@ -41,7 +41,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml similarity index 95% rename from .ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml rename to .ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml index 94c391015..d66846eb1 100644 --- a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml +++ b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml @@ -13,7 +13,7 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge python_dev cxx_compiler: - gxx cxx_compiler_version: @@ -41,7 +41,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml similarity index 94% rename from .ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml rename to .ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml index 1aab323bc..96546b899 100644 --- a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml +++ b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml @@ -13,7 +13,7 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge python_debug +- conda-forge python_dev_debug cxx_compiler: - gxx cxx_compiler_version: @@ -41,7 +41,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml similarity index 94% rename from .ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml rename to .ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml index 874f4a813..b5cd6b391 100644 --- a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml +++ b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml @@ -13,7 +13,7 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge python_debug +- conda-forge python_dev_debug cxx_compiler: - gxx cxx_compiler_version: @@ -41,7 +41,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml similarity index 95% rename from .ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml rename to .ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml index fae135ea5..bc3202a8d 100644 --- a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml +++ b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml @@ -13,7 +13,7 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge python_dev cxx_compiler: - gxx cxx_compiler_version: @@ -41,7 +41,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml similarity index 95% rename from .ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml rename to .ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml index 70dcd3114..7413de85b 100644 --- a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml +++ b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml @@ -13,7 +13,7 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge python_dev cxx_compiler: - gxx cxx_compiler_version: @@ -41,7 +41,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml similarity index 93% rename from .ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml rename to .ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml index 05ac199c9..5a3a6ffa5 100644 --- a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml +++ b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml @@ -9,7 +9,7 @@ bzip2: c_compiler: - clang c_compiler_version: -- '20.1' +- '21' c_stdlib: - macosx_deployment_target c_stdlib_version: @@ -17,11 +17,11 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge python_debug +- conda-forge python_dev_debug cxx_compiler: - clangxx cxx_compiler_version: -- '20.1' +- '21' expat: - '2' freethreading: @@ -43,7 +43,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml similarity index 93% rename from .ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml rename to .ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml index 2f973fde2..d5efeafa4 100644 --- a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml +++ b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml @@ -9,7 +9,7 @@ bzip2: c_compiler: - clang c_compiler_version: -- '20.1' +- '21' c_stdlib: - macosx_deployment_target c_stdlib_version: @@ -17,11 +17,11 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge python_debug +- conda-forge python_dev_debug cxx_compiler: - clangxx cxx_compiler_version: -- '20.1' +- '21' expat: - '2' freethreading: @@ -43,7 +43,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml similarity index 93% rename from .ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml rename to .ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml index 745a1635f..e0138f85f 100644 --- a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml +++ b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml @@ -9,7 +9,7 @@ bzip2: c_compiler: - clang c_compiler_version: -- '20.1' +- '21' c_stdlib: - macosx_deployment_target c_stdlib_version: @@ -17,11 +17,11 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge python_dev cxx_compiler: - clangxx cxx_compiler_version: -- '20.1' +- '21' expat: - '2' freethreading: @@ -43,7 +43,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml similarity index 93% rename from .ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml rename to .ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml index e4b541998..21d6b3ca9 100644 --- a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml +++ b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml @@ -9,7 +9,7 @@ bzip2: c_compiler: - clang c_compiler_version: -- '20.1' +- '21' c_stdlib: - macosx_deployment_target c_stdlib_version: @@ -17,11 +17,11 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge python_dev cxx_compiler: - clangxx cxx_compiler_version: -- '20.1' +- '21' expat: - '2' freethreading: @@ -43,7 +43,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml b/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml similarity index 93% rename from .ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml rename to .ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml index 4c14dd0b8..40e691881 100644 --- a/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml +++ b/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml @@ -9,7 +9,7 @@ bzip2: c_compiler: - clang c_compiler_version: -- '20.1' +- '21' c_stdlib: - macosx_deployment_target c_stdlib_version: @@ -17,11 +17,11 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge python_debug +- conda-forge python_dev_debug cxx_compiler: - clangxx cxx_compiler_version: -- '20.1' +- '21' expat: - '2' freethreading: @@ -43,7 +43,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml similarity index 93% rename from .ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml rename to .ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml index 5a9fff19a..9fce21abf 100644 --- a/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml +++ b/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml @@ -9,7 +9,7 @@ bzip2: c_compiler: - clang c_compiler_version: -- '20.1' +- '21' c_stdlib: - macosx_deployment_target c_stdlib_version: @@ -17,11 +17,11 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge python_debug +- conda-forge python_dev_debug cxx_compiler: - clangxx cxx_compiler_version: -- '20.1' +- '21' expat: - '2' freethreading: @@ -43,7 +43,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml b/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml similarity index 93% rename from .ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml rename to .ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml index 8589dd2fe..484ed338c 100644 --- a/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml +++ b/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml @@ -9,7 +9,7 @@ bzip2: c_compiler: - clang c_compiler_version: -- '20.1' +- '21' c_stdlib: - macosx_deployment_target c_stdlib_version: @@ -17,11 +17,11 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge python_dev cxx_compiler: - clangxx cxx_compiler_version: -- '20.1' +- '21' expat: - '2' freethreading: @@ -43,7 +43,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml similarity index 93% rename from .ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml rename to .ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml index 01f363958..c0383042b 100644 --- a/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml +++ b/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml @@ -9,7 +9,7 @@ bzip2: c_compiler: - clang c_compiler_version: -- '20.1' +- '21' c_stdlib: - macosx_deployment_target c_stdlib_version: @@ -17,11 +17,11 @@ c_stdlib_version: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge python_dev cxx_compiler: - clangxx cxx_compiler_version: -- '20.1' +- '21' expat: - '2' freethreading: @@ -43,7 +43,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' readline: - '8' target_platform: diff --git a/.ci_support/win_64_freethreadingno.yaml b/.ci_support/win_64_freethreadingno.yaml index 85976e397..1db1459dc 100644 --- a/.ci_support/win_64_freethreadingno.yaml +++ b/.ci_support/win_64_freethreadingno.yaml @@ -9,7 +9,7 @@ c_stdlib: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge python_dev cxx_compiler: - vs2022 expat: @@ -29,7 +29,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' target_platform: - win-64 tk: diff --git a/.ci_support/win_64_freethreadingyes.yaml b/.ci_support/win_64_freethreadingyes.yaml index 9a079f9f6..71df4046b 100644 --- a/.ci_support/win_64_freethreadingyes.yaml +++ b/.ci_support/win_64_freethreadingyes.yaml @@ -9,7 +9,7 @@ c_stdlib: channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: -- conda-forge main +- conda-forge python_dev cxx_compiler: - vs2022 expat: @@ -29,7 +29,7 @@ pin_run_as_build: min_pin: x.x max_pin: x.x python: -- '3.14' +- '3.15' target_platform: - win-64 tk: diff --git a/README.md b/README.md index 78eed68b8..739a20c89 100644 --- a/README.md +++ b/README.md @@ -59,143 +59,143 @@ Current build status - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -235,14 +235,14 @@ Current release info Installing python ================= -Installing `python` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with: +Installing `python` from the `conda-forge/label/python_dev` channel can be achieved by adding `conda-forge/label/python_dev` to your channels with: ``` -conda config --add channels conda-forge +conda config --add channels conda-forge/label/python_dev conda config --set channel_priority strict ``` -Once the `conda-forge` channel has been enabled, `cpython, libpython-static, python, python-freethreading, python-gil, python-jit` can be installed with `conda`: +Once the `conda-forge/label/python_dev` channel has been enabled, `cpython, libpython-static, python, python-freethreading, python-gil, python-jit` can be installed with `conda`: ``` conda install cpython libpython-static python python-freethreading python-gil python-jit @@ -257,26 +257,26 @@ mamba install cpython libpython-static python python-freethreading python-gil py It is possible to list all of the versions of `cpython` available on your platform with `conda`: ``` -conda search cpython --channel conda-forge +conda search cpython --channel conda-forge/label/python_dev ``` or with `mamba`: ``` -mamba search cpython --channel conda-forge +mamba search cpython --channel conda-forge/label/python_dev ``` Alternatively, `mamba repoquery` may provide more information: ``` # Search all versions available on your platform: -mamba repoquery search cpython --channel conda-forge +mamba repoquery search cpython --channel conda-forge/label/python_dev # List packages depending on `cpython`: -mamba repoquery whoneeds cpython --channel conda-forge +mamba repoquery whoneeds cpython --channel conda-forge/label/python_dev # List dependencies of `cpython`: -mamba repoquery depends cpython --channel conda-forge +mamba repoquery depends cpython --channel conda-forge/label/python_dev ``` From cacd389ad4512886a8382deb31eeb6090ed9de6b Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 17 Dec 2025 20:11:01 +0100 Subject: [PATCH 05/24] python 3.15.0a3 --- recipe/meta.yaml | 6 ++--- ...2-Change-FD_SETSIZE-from-512-to-2048.patch | 4 ++-- ...0002-Win32-Do-not-download-externals.patch | 8 +++---- ...-so-that-it-looks-in-sys.prefix-lib-.patch | 4 ++-- ...-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch | 4 ++-- recipe/patches/0005-Unvendor-openssl.patch | 4 ++-- recipe/patches/0006-Unvendor-sqlite3.patch | 4 ++-- ...dd-CondaEcosystemModifyDllSearchPath.patch | 6 ++--- recipe/patches/0008-Doing-d1trimfile.patch | 6 ++--- .../patches/0009-cross-compile-darwin.patch | 20 ++++++++--------- .../patches/0010-Fix-TZPATH-on-windows.patch | 4 ++-- ...ch-work-with-SYSTEM_VERSION_COMPAT-1.patch | 6 ++--- recipe/patches/0012-Unvendor-bzip2.patch | 4 ++-- recipe/patches/0013-Unvendor-libffi.patch | 4 ++-- recipe/patches/0014-Unvendor-tcltk.patch | 4 ++-- recipe/patches/0015-unvendor-xz.patch | 4 ++-- recipe/patches/0016-unvendor-zlib.patch | 18 +++++++-------- ...-not-pass-g-to-GCC-when-not-Py_DEBUG.patch | 14 ++++++------ recipe/patches/0018-Unvendor-expat.patch | 4 ++-- .../patches/0019-Remove-unused-readelf.patch | 6 ++--- ...t-checksharedmods-if-cross-compiling.patch | 14 ++++++------ .../0021-Override-configure-LIBFFI.patch | 8 +++---- recipe/patches/0022-Unvendor-libmpdec.patch | 4 ++-- recipe/patches/0023-Brand-conda-forge.patch | 8 +++---- ...d_t-as-it-might-conflict-with-the-ac.patch | 8 +++---- recipe/patches/0025-Unvendor-zstd.patch | 4 ++-- ...IL_DISABLED-in-windows-to-match-unix.patch | 4 ++-- ...and-guard-for-types_world_is_stopped.patch | 22 ------------------- 28 files changed, 92 insertions(+), 114 deletions(-) delete mode 100644 recipe/patches/0027-Expand-guard-for-types_world_is_stopped.patch diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 63c40ec79..60128474a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "3.15.0" %} -{% set dev = "a2" %} +{% set dev = "a3" %} {% set dev_ = "" %} {% set ver2 = '.'.join(version.split('.')[0:2]) %} {% set ver2nd = ''.join(version.split('.')[0:2]) %} @@ -46,7 +46,7 @@ package: source: - url: https://www.python.org/ftp/python/{{ version }}/Python-{{ version }}{{ dev }}.tar.xz # md5 from: https://www.python.org/downloads/release/python-{{ ver3nd }}{{ dev }}/ - md5: 8a16a56591101a698e8d0779d41782f4 + md5: d6ee7c74b9618520e88ec175f5539623 patches: - patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch - patches/0002-Win32-Do-not-download-externals.patch @@ -81,7 +81,7 @@ source: - patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch {% endif %} # https://github.com/python/cpython/pull/142039 - - patches/0027-Expand-guard-for-types_world_is_stopped.patch + # - patches/0027-Expand-guard-for-types_world_is_stopped.patch build: number: {{ build_number }} 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 c03c8843d..2a265a29a 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,7 +1,7 @@ -From f0d0c464af24f7fbbc430abaa005eb298e18e5c8 Mon Sep 17 00:00:00 2001 +From 8c8d4d1ded1d513cffb4ae94e5bb7c8cef63ec1c Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 16 Aug 2017 11:53:55 +0100 -Subject: [PATCH 01/27] Win32: Change FD_SETSIZE from 512 to 2048 +Subject: [PATCH 01/26] Win32: Change FD_SETSIZE from 512 to 2048 https://github.com/ContinuumIO/anaconda-issues/issues/1241 --- diff --git a/recipe/patches/0002-Win32-Do-not-download-externals.patch b/recipe/patches/0002-Win32-Do-not-download-externals.patch index b5638a655..c3b733400 100644 --- a/recipe/patches/0002-Win32-Do-not-download-externals.patch +++ b/recipe/patches/0002-Win32-Do-not-download-externals.patch @@ -1,17 +1,17 @@ -From 6a15ec3d4e45c28bff8510c81f571c6112b13497 Mon Sep 17 00:00:00 2001 +From 9f50db5dbb5a150b2c7799b16b6afacbb5339aa8 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 7 Sep 2017 11:35:47 +0100 -Subject: [PATCH 02/27] Win32: Do not download externals +Subject: [PATCH 02/26] Win32: Do not download externals --- PCbuild/build.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PCbuild/build.bat b/PCbuild/build.bat -index 60235704886..edb61912b74 100644 +index e4de9a80d76..22892c05dc7 100644 --- a/PCbuild/build.bat +++ b/PCbuild/build.bat -@@ -107,7 +107,7 @@ if "%~1"=="--no-ctypes" (set IncludeCTypes=false) & shift & goto CheckOpts +@@ -109,7 +109,7 @@ if "%~1"=="--no-ctypes" (set IncludeCTypes=false) & shift & goto CheckOpts if "%~1"=="--no-ssl" (set IncludeSSL=false) & shift & goto CheckOpts if "%~1"=="--no-tkinter" (set IncludeTkinter=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 7f4b0ba92..b34b11ca1 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,7 +1,7 @@ -From 299fc079ce68d641b415cb3d8843e029d7fc5b6c Mon Sep 17 00:00:00 2001 +From 7312b782873147be93df6dd501030d8c6fcff5f3 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 5 Dec 2017 22:47:59 +0000 -Subject: [PATCH 03/27] Fix find_library so that it looks in sys.prefix/lib +Subject: [PATCH 03/26] Fix find_library so that it looks in sys.prefix/lib first --- 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 fd2a3a12f..fec353e20 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,7 +1,7 @@ -From 5bb72c8e81480293d90558a693e1be1550d512b6 Mon Sep 17 00:00:00 2001 +From d8e1bbacdc5456cf43d9dfc0c1231023d285afe9 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 27 Oct 2018 18:48:30 +0100 -Subject: [PATCH 04/27] Disable registry lookup unless CONDA_PY_ALLOW_REG_PATHS +Subject: [PATCH 04/26] Disable registry lookup unless CONDA_PY_ALLOW_REG_PATHS is not 0 Co-authored-by: Isuru Fernando diff --git a/recipe/patches/0005-Unvendor-openssl.patch b/recipe/patches/0005-Unvendor-openssl.patch index 5c1aa3f81..177a20930 100644 --- a/recipe/patches/0005-Unvendor-openssl.patch +++ b/recipe/patches/0005-Unvendor-openssl.patch @@ -1,7 +1,7 @@ -From 17fcde2d5bbbe8236afdd38526ad7b59a6868ab5 Mon Sep 17 00:00:00 2001 +From fe3fd0f75ef1e5fbac3aebe2ae615858850d4324 Mon Sep 17 00:00:00 2001 From: Nehal J Wani Date: Sat, 24 Nov 2018 20:38:02 -0600 -Subject: [PATCH 05/27] Unvendor openssl +Subject: [PATCH 05/26] Unvendor openssl Co-authored-by: Isuru Fernando --- diff --git a/recipe/patches/0006-Unvendor-sqlite3.patch b/recipe/patches/0006-Unvendor-sqlite3.patch index 4bc21b0b4..e0eafd424 100644 --- a/recipe/patches/0006-Unvendor-sqlite3.patch +++ b/recipe/patches/0006-Unvendor-sqlite3.patch @@ -1,7 +1,7 @@ -From 5d333d7c6aaa395b4bccee40fec534aa7c19d7f5 Mon Sep 17 00:00:00 2001 +From 89126b92c8ac764ce9e8034789bf74b4ecf003b5 Mon Sep 17 00:00:00 2001 From: Nehal J Wani Date: Tue, 5 Oct 2021 12:42:06 -0700 -Subject: [PATCH 06/27] Unvendor sqlite3 +Subject: [PATCH 06/26] Unvendor sqlite3 --- PCbuild/_sqlite3.vcxproj | 11 +++++------ diff --git a/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch b/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch index 20f7f48e9..7231c0e9c 100644 --- a/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch +++ b/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch @@ -1,7 +1,7 @@ -From 83958047fd8a64f8c049735d5d8594bd5673a696 Mon Sep 17 00:00:00 2001 +From 0d5341782ce10d959a1914b99581aee95c4b4176 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 24 Dec 2019 18:37:17 +0100 -Subject: [PATCH 07/27] Add CondaEcosystemModifyDllSearchPath() +Subject: [PATCH 07/26] Add CondaEcosystemModifyDllSearchPath() The python interpreter is modifed so that it works as if the python interpreter was called with the following conda directories. @@ -33,7 +33,7 @@ Co-authored-by: Isuru Fernando 1 file changed, 95 insertions(+) diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c -index 67368b5ce07..e08b2df1226 100644 +index 2527dca71d7..a2d28a9be46 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c @@ -81,6 +81,10 @@ diff --git a/recipe/patches/0008-Doing-d1trimfile.patch b/recipe/patches/0008-Doing-d1trimfile.patch index ec9828e04..2226f5c44 100644 --- a/recipe/patches/0008-Doing-d1trimfile.patch +++ b/recipe/patches/0008-Doing-d1trimfile.patch @@ -1,7 +1,7 @@ -From 5c39a338040451810cc97adc1d0088e914cccd07 Mon Sep 17 00:00:00 2001 +From 2c64caf81d33ab9dea54bf06d183b877ddc32d47 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 31 Dec 2019 21:47:47 +0100 -Subject: [PATCH 08/27] Doing d1trimfile +Subject: [PATCH 08/26] Doing d1trimfile --- PCbuild/_asyncio.vcxproj | 20 ++++++++++++++++++++ @@ -720,7 +720,7 @@ index 3f8772d30b4..d80968e351a 100644 windowsapp.lib;%(AdditionalDependencies) diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index 359a47fbfc4..ee07e5cffa2 100644 +index dcfb75ce162..5bf342227ad 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -99,7 +99,7 @@ diff --git a/recipe/patches/0009-cross-compile-darwin.patch b/recipe/patches/0009-cross-compile-darwin.patch index f454977cb..5bc03ab03 100644 --- a/recipe/patches/0009-cross-compile-darwin.patch +++ b/recipe/patches/0009-cross-compile-darwin.patch @@ -1,7 +1,7 @@ -From 73649c07901551bcb28074e72c192e8338f2a794 Mon Sep 17 00:00:00 2001 +From 42d193573c79b9760d36d9150d8308f136e874e9 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 2 Oct 2020 00:03:12 +0200 -Subject: [PATCH 09/27] cross compile darwin +Subject: [PATCH 09/26] cross compile darwin By Isuru Fernando. --- @@ -11,10 +11,10 @@ By Isuru Fernando. 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Lib/platform.py b/Lib/platform.py -index 4db93bea2a3..fce802b20a2 100644 +index 3a71b669985..b342ceec761 100644 --- a/Lib/platform.py +++ b/Lib/platform.py -@@ -475,7 +475,12 @@ def win32_ver(release='', version='', csd='', ptype=''): +@@ -474,7 +474,12 @@ def win32_ver(release='', version='', csd='', ptype=''): def _mac_ver_xml(): fn = '/System/Library/CoreServices/SystemVersion.plist' if not os.path.exists(fn): @@ -29,10 +29,10 @@ index 4db93bea2a3..fce802b20a2 100644 try: import plistlib diff --git a/configure b/configure -index a4514f80c3a..3896a8a6fce 100755 +index a1bc7991aa8..f26e19a400a 100755 --- a/configure +++ b/configure -@@ -4113,6 +4113,9 @@ then +@@ -4133,6 +4133,9 @@ then *-*-linux*) ac_sys_system=Linux ;; @@ -42,7 +42,7 @@ index a4514f80c3a..3896a8a6fce 100755 *-*-cygwin*) ac_sys_system=Cygwin ;; -@@ -4592,6 +4595,9 @@ if test "$cross_compiling" = yes; then +@@ -4612,6 +4615,9 @@ if test "$cross_compiling" = yes; then _host_ident=$host_cpu esac ;; @@ -53,10 +53,10 @@ index a4514f80c3a..3896a8a6fce 100755 _host_ident= ;; diff --git a/configure.ac b/configure.ac -index a059a07bec2..50381cf760e 100644 +index a284a118f02..b86228cea4f 100644 --- a/configure.ac +++ b/configure.ac -@@ -324,6 +324,9 @@ then +@@ -333,6 +333,9 @@ then *-*-linux*) ac_sys_system=Linux ;; @@ -66,7 +66,7 @@ index a059a07bec2..50381cf760e 100644 *-*-cygwin*) ac_sys_system=Cygwin ;; -@@ -771,6 +774,9 @@ if test "$cross_compiling" = yes; then +@@ -780,6 +783,9 @@ if test "$cross_compiling" = yes; then _host_ident=$host_cpu esac ;; diff --git a/recipe/patches/0010-Fix-TZPATH-on-windows.patch b/recipe/patches/0010-Fix-TZPATH-on-windows.patch index 3164d56d0..3d6ad29f3 100644 --- a/recipe/patches/0010-Fix-TZPATH-on-windows.patch +++ b/recipe/patches/0010-Fix-TZPATH-on-windows.patch @@ -1,7 +1,7 @@ -From b282fdadd59f2a8e90fc995ed76b95383eac6906 Mon Sep 17 00:00:00 2001 +From 630cb148ad55a8c366b0c4dd357faf0c99d3f133 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 7 Oct 2020 10:08:30 -0500 -Subject: [PATCH 10/27] Fix TZPATH on windows +Subject: [PATCH 10/26] Fix TZPATH on windows --- Lib/sysconfig/__init__.py | 2 ++ 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 3be21004d..dd9587941 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,7 +1,7 @@ -From 6a25a0a62fd89072d2f902cd00fd19b8629f8571 Mon Sep 17 00:00:00 2001 +From 9f173aa92e5bb529fd60991c42abb178f16b1e9a Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 25 Jan 2021 03:28:08 -0600 -Subject: [PATCH 11/27] Make dyld search work with SYSTEM_VERSION_COMPAT=1 +Subject: [PATCH 11/26] Make dyld search work with SYSTEM_VERSION_COMPAT=1 In macOS Big Sur, if the executable was compiled with `MACOSX_DEPLOYMENT_TARGET=10.15` or below, then SYSTEM_VERSION_COMPAT=1 is the default which means that Big Sur @@ -18,7 +18,7 @@ and this code using 10.16 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c -index a8c16547e4b..c8d1eb9dd7e 100644 +index 9a1c1ff8bb9..730e1fd1394 100644 --- a/Modules/_ctypes/callproc.c +++ b/Modules/_ctypes/callproc.c @@ -1501,7 +1501,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 344272b9d..fef372407 100644 --- a/recipe/patches/0012-Unvendor-bzip2.patch +++ b/recipe/patches/0012-Unvendor-bzip2.patch @@ -1,7 +1,7 @@ -From 9afee7464b67b708a18dcee213460f1df98bb404 Mon Sep 17 00:00:00 2001 +From b8da28d50e7830647b1069c3ee791914cf6eda1f Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 16 Aug 2021 02:56:27 -0700 -Subject: [PATCH 12/27] Unvendor bzip2 +Subject: [PATCH 12/26] Unvendor bzip2 --- PCbuild/_bz2.vcxproj | 15 +++++---------- diff --git a/recipe/patches/0013-Unvendor-libffi.patch b/recipe/patches/0013-Unvendor-libffi.patch index 5adf844c9..bc6439490 100644 --- a/recipe/patches/0013-Unvendor-libffi.patch +++ b/recipe/patches/0013-Unvendor-libffi.patch @@ -1,7 +1,7 @@ -From 64d9c760bb5a40d5a9f466087b668a8acb4071ce Mon Sep 17 00:00:00 2001 +From 8fe13b763103443ad71be1c8be14764b1afa0b00 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 16 Aug 2021 03:07:40 -0700 -Subject: [PATCH 13/27] Unvendor libffi +Subject: [PATCH 13/26] Unvendor libffi --- PCbuild/libffi.props | 17 ++++------------- diff --git a/recipe/patches/0014-Unvendor-tcltk.patch b/recipe/patches/0014-Unvendor-tcltk.patch index f5f4ac0b6..e178ca88f 100644 --- a/recipe/patches/0014-Unvendor-tcltk.patch +++ b/recipe/patches/0014-Unvendor-tcltk.patch @@ -1,7 +1,7 @@ -From aac5645d1d583be0604b130749cb61447e3c02c5 Mon Sep 17 00:00:00 2001 +From 1a6e9fc3846eee64ffa9477fd0ca120ee19eac11 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 20 Aug 2021 10:23:51 -0700 -Subject: [PATCH 14/27] Unvendor tcltk +Subject: [PATCH 14/26] Unvendor tcltk --- PCbuild/_tkinter.vcxproj | 6 ------ diff --git a/recipe/patches/0015-unvendor-xz.patch b/recipe/patches/0015-unvendor-xz.patch index 346469d71..d3c137422 100644 --- a/recipe/patches/0015-unvendor-xz.patch +++ b/recipe/patches/0015-unvendor-xz.patch @@ -1,7 +1,7 @@ -From 2925d92d9d9f6b476800ea6832ef3bc6257fb230 Mon Sep 17 00:00:00 2001 +From fae25b8b8186b60128621097ebe4922c0c1d33ae Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 25 Sep 2021 10:07:05 -0700 -Subject: [PATCH 15/27] unvendor xz +Subject: [PATCH 15/26] unvendor xz --- PCbuild/_lzma.vcxproj | 10 +++------- diff --git a/recipe/patches/0016-unvendor-zlib.patch b/recipe/patches/0016-unvendor-zlib.patch index 171e54f5a..6fd1848da 100644 --- a/recipe/patches/0016-unvendor-zlib.patch +++ b/recipe/patches/0016-unvendor-zlib.patch @@ -1,7 +1,7 @@ -From 59b4df04ee6775095f53787273d750aa23b96f9e Mon Sep 17 00:00:00 2001 +From cb1c4b7ebe9936da5001437bcdd54f3f496ebdcd Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 29 Sep 2021 15:21:55 -0700 -Subject: [PATCH 16/27] unvendor zlib +Subject: [PATCH 16/26] unvendor zlib --- PCbuild/pythoncore.vcxproj | 14 ++----- @@ -9,7 +9,7 @@ Subject: [PATCH 16/27] unvendor zlib 2 files changed, 4 insertions(+), 76 deletions(-) diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index ee07e5cffa2..0dfc40fab7f 100644 +index 5bf342227ad..f0e8fa6aaad 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -82,7 +82,7 @@ @@ -30,8 +30,8 @@ index ee07e5cffa2..0dfc40fab7f 100644 $(GeneratedJitStencilsDir);%(AdditionalIncludeDirectories) _USRDLL;Py_BUILD_CORE;Py_BUILD_CORE_BUILTIN;Py_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";ZLIB_COMPAT;%(PreprocessorDefinitions) _Py_HAVE_ZLIB;%(PreprocessorDefinitions) -@@ -112,8 +112,8 @@ - Py_REMOTE_DEBUG;%(PreprocessorDefinitions) +@@ -113,8 +113,8 @@ + Py_STACKREF_DEBUG;%(PreprocessorDefinitions) - version.lib;ws2_32.lib;pathcch.lib;bcrypt.lib;%(AdditionalDependencies) @@ -41,7 +41,7 @@ index ee07e5cffa2..0dfc40fab7f 100644 -@@ -689,12 +689,6 @@ +@@ -691,12 +691,6 @@ @@ -55,10 +55,10 @@ index ee07e5cffa2..0dfc40fab7f 100644 diff --git a/PCbuild/pythoncore.vcxproj.filters b/PCbuild/pythoncore.vcxproj.filters -index 17999690990..7376f1130b5 100644 +index 247f4b5a784..00c8bd6e551 100644 --- a/PCbuild/pythoncore.vcxproj.filters +++ b/PCbuild/pythoncore.vcxproj.filters -@@ -915,39 +915,6 @@ +@@ -918,39 +918,6 @@ Include\internal\mimalloc @@ -98,7 +98,7 @@ index 17999690990..7376f1130b5 100644 Include\internal -@@ -1604,39 +1571,6 @@ +@@ -1607,39 +1574,6 @@ Objects 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 8b3f04dcb..e6499762e 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,7 +1,7 @@ -From 675879079500bd180419d8fff0d0310da3dc2097 Mon Sep 17 00:00:00 2001 +From f8510f4e1d2f6adbe4d7ac28f039febf6ed7d144 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 16 Aug 2017 11:45:28 +0100 -Subject: [PATCH 17/27] Do not pass -g to GCC when not Py_DEBUG +Subject: [PATCH 17/26] Do not pass -g to GCC when not Py_DEBUG This bloats our exe and our modules a lot. --- @@ -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 3896a8a6fce..1f1a310988a 100755 +index f26e19a400a..24b4a5290e6 100755 --- a/configure +++ b/configure -@@ -5797,9 +5797,9 @@ if test $ac_test_CFLAGS; then +@@ -5817,9 +5817,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 3896a8a6fce..1f1a310988a 100755 fi else if test "$GCC" = yes; then -@@ -9596,7 +9596,7 @@ then +@@ -9612,7 +9612,7 @@ then if test "$Py_DEBUG" = 'true' ; then OPT="-g $PYDEBUG_CFLAGS -Wall" else @@ -35,10 +35,10 @@ index 3896a8a6fce..1f1a310988a 100755 ;; *) diff --git a/configure.ac b/configure.ac -index 50381cf760e..bbd47d7f4df 100644 +index b86228cea4f..095fd5fd9ea 100644 --- a/configure.ac +++ b/configure.ac -@@ -2322,7 +2322,7 @@ then +@@ -2327,7 +2327,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 3b2f93a3e..d4ab77db8 100644 --- a/recipe/patches/0018-Unvendor-expat.patch +++ b/recipe/patches/0018-Unvendor-expat.patch @@ -1,7 +1,7 @@ -From c161a3b3435c3f6ce56c3ff2836913349c74cd2e Mon Sep 17 00:00:00 2001 +From b795ea2453a53052d407c26c9f145731fed44580 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 29 Mar 2023 23:07:10 -0500 -Subject: [PATCH 18/27] Unvendor expat +Subject: [PATCH 18/26] Unvendor expat --- PCbuild/_elementtree.vcxproj | 24 ++---------- diff --git a/recipe/patches/0019-Remove-unused-readelf.patch b/recipe/patches/0019-Remove-unused-readelf.patch index a0d4fd0a1..433bc0528 100644 --- a/recipe/patches/0019-Remove-unused-readelf.patch +++ b/recipe/patches/0019-Remove-unused-readelf.patch @@ -1,7 +1,7 @@ -From 95c0b1bec2955b17f8675c47a60b93d4da048cd4 Mon Sep 17 00:00:00 2001 +From 256b1d81abd3c5643150824d234123f3530c9c16 Mon Sep 17 00:00:00 2001 From: Charles Bousseau Date: Thu, 25 May 2023 17:56:53 -0400 -Subject: [PATCH 19/27] Remove unused readelf +Subject: [PATCH 19/26] Remove unused readelf readelf has been dropped. .. date: 2022-11-02-10-56-40 @@ -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 dd28ff5d2a3..4178e867ffa 100644 +index a6beb96d12a..a8207acf889 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 d538f9e60..ff60f22e6 100644 --- a/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch +++ b/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch @@ -1,7 +1,7 @@ -From ae6d1f36713b1d7e5dea559c64ba7240cb3a7e52 Mon Sep 17 00:00:00 2001 +From 512dd160fb94c23a16753e0cd7dd7720782cebf6 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Fri, 1 Sep 2023 23:32:14 +0200 -Subject: [PATCH 20/27] Don't checksharedmods if cross-compiling +Subject: [PATCH 20/26] Don't checksharedmods if cross-compiling --- Makefile.pre.in | 2 +- @@ -10,13 +10,13 @@ Subject: [PATCH 20/27] Don't checksharedmods if cross-compiling create mode 100755 if_runnable.sh diff --git a/Makefile.pre.in b/Makefile.pre.in -index 4178e867ffa..e17f942c515 100644 +index a8207acf889..0e694d378cb 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1603,7 +1603,7 @@ sharedmods: $(SHAREDMODS) pybuilddir.txt - # dependency on BUILDPYTHON ensures that the target is run last - .PHONY: checksharedmods - checksharedmods: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON) +@@ -1609,7 +1609,7 @@ checksharedmods: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON) + else \ + $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/build/check_extension_modules.py --generate-missing-stdlib-info; \ + fi - @$(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/build/check_extension_modules.py + @$(RUNSHARED) $(srcdir)/if_runnable.sh $(PYTHON_FOR_BUILD) $(srcdir)/Tools/build/check_extension_modules.py diff --git a/recipe/patches/0021-Override-configure-LIBFFI.patch b/recipe/patches/0021-Override-configure-LIBFFI.patch index e2e712508..476162470 100644 --- a/recipe/patches/0021-Override-configure-LIBFFI.patch +++ b/recipe/patches/0021-Override-configure-LIBFFI.patch @@ -1,17 +1,17 @@ -From 6c834e4d86f845015526492beb7528cd788ba480 Mon Sep 17 00:00:00 2001 +From 175e7c2f9d1f1d183fc29047daf81b70ace54752 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 5 Sep 2023 21:51:31 +0200 -Subject: [PATCH 21/27] Override configure LIBFFI +Subject: [PATCH 21/26] Override configure LIBFFI --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure -index 1f1a310988a..11f16aa4221 100755 +index 24b4a5290e6..29bf868a17b 100755 --- a/configure +++ b/configure -@@ -15287,7 +15287,7 @@ if test "x$ac_cv_lib_ffi_ffi_call" = xyes +@@ -15303,7 +15303,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 96b065097..b41d1f6c2 100644 --- a/recipe/patches/0022-Unvendor-libmpdec.patch +++ b/recipe/patches/0022-Unvendor-libmpdec.patch @@ -1,7 +1,7 @@ -From 522494d5706490a78702c076959c166bf0141a67 Mon Sep 17 00:00:00 2001 +From e2cd18e27083402da2c9898cf830af50a4abc812 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 16 Aug 2024 21:34:43 -0500 -Subject: [PATCH 22/27] Unvendor libmpdec +Subject: [PATCH 22/26] Unvendor libmpdec --- PCbuild/_decimal.vcxproj | 51 ++++++---------------------------------- diff --git a/recipe/patches/0023-Brand-conda-forge.patch b/recipe/patches/0023-Brand-conda-forge.patch index 330bd6132..d1adb62dd 100644 --- a/recipe/patches/0023-Brand-conda-forge.patch +++ b/recipe/patches/0023-Brand-conda-forge.patch @@ -1,7 +1,7 @@ -From c8ae5667d4c3a51ec96718fdd69f22c7d9f53580 Mon Sep 17 00:00:00 2001 +From dfc270d853e31e8f6fd77fcbf4cee5903153e9ed Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 28 Aug 2024 11:12:22 -0500 -Subject: [PATCH 23/27] Brand conda-forge +Subject: [PATCH 23/26] Brand conda-forge --- Lib/platform.py | 1 + @@ -9,10 +9,10 @@ Subject: [PATCH 23/27] Brand conda-forge 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/platform.py b/Lib/platform.py -index fce802b20a2..a5b7c6f9d2b 100644 +index b342ceec761..201abdda7ab 100644 --- a/Lib/platform.py +++ b/Lib/platform.py -@@ -1147,6 +1147,7 @@ def _sys_version(sys_version=None): +@@ -1146,6 +1146,7 @@ def _sys_version(sys_version=None): cpython_sys_version_parser = re.compile( r'([\w.+]+)\s*' # "version" r'(?:free-threading build\s+)?' # "free-threading-build" 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 b459a4559..a53ca95c2 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,7 +1,7 @@ -From ea34c3871dc06ae261ba216808dcd4fbfe277759 Mon Sep 17 00:00:00 2001 +From 2a47d939b009483e82dd373c9416227e67478334 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sun, 12 Jan 2025 10:37:29 +0530 -Subject: [PATCH 24/27] Do not define pid_t as it might conflict with the +Subject: [PATCH 24/26] Do not define pid_t as it might conflict with the actual definition --- @@ -75,7 +75,7 @@ index d880fc52bb3..ec0e9c0b13e 100644 "stat($module, /, path, *, dir_fd=None, follow_symlinks=True)\n" "--\n" diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index fc609b2707c..8a4c3d71917 100644 +index 221cfc5a934..6be30793a58 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -220,6 +220,7 @@ @@ -100,7 +100,7 @@ index a126fca6f5a..8332de4afb4 100644 #if _MSC_VER >= 1200 /* This file only exists in VC 6.0 or higher */ diff --git a/Python/remote_debug.h b/Python/remote_debug.h -index e7676013197..24e78509930 100644 +index d3932a3fd1e..6346deb9f49 100644 --- a/Python/remote_debug.h +++ b/Python/remote_debug.h @@ -28,6 +28,9 @@ extern "C" { diff --git a/recipe/patches/0025-Unvendor-zstd.patch b/recipe/patches/0025-Unvendor-zstd.patch index 379068fa8..4fbbb0fc2 100644 --- a/recipe/patches/0025-Unvendor-zstd.patch +++ b/recipe/patches/0025-Unvendor-zstd.patch @@ -1,7 +1,7 @@ -From 7bbe08065cdb171461b7c167616c4502e43c9581 Mon Sep 17 00:00:00 2001 +From b6c16c900f6aaae919cc04856723d199097c1f5b Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 22 Jul 2025 18:07:54 +0200 -Subject: [PATCH 25/27] Unvendor zstd +Subject: [PATCH 25/26] Unvendor zstd --- PCbuild/_zstd.vcxproj | 58 +------------ diff --git a/recipe/patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch b/recipe/patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch index f764dd1a5..c4451976c 100644 --- a/recipe/patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch +++ b/recipe/patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch @@ -1,7 +1,7 @@ -From 15881d9435ebdd3d5a4848f1d8bfcb2a66370605 Mon Sep 17 00:00:00 2001 +From 9efaededaf799dd06bbd0972be4fc4569c16a8c8 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 2 Dec 2025 09:46:56 -0800 -Subject: [PATCH 26/27] Set Py_GIL_DISABLED in windows to match unix +Subject: [PATCH 26/26] Set Py_GIL_DISABLED in windows to match unix This is not set upstream because the windows distribution supports free-threaded and default builds at the same time. We have the diff --git a/recipe/patches/0027-Expand-guard-for-types_world_is_stopped.patch b/recipe/patches/0027-Expand-guard-for-types_world_is_stopped.patch deleted file mode 100644 index eaffaf6fb..000000000 --- a/recipe/patches/0027-Expand-guard-for-types_world_is_stopped.patch +++ /dev/null @@ -1,22 +0,0 @@ -From f3502590512de85a6ce1fec94434a8da876932d9 Mon Sep 17 00:00:00 2001 -From: "Uwe L. Korn" -Date: Fri, 28 Nov 2025 15:20:43 +0100 -Subject: [PATCH 27/27] Expand guard for types_world_is_stopped - ---- - Objects/typeobject.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Objects/typeobject.c b/Objects/typeobject.c -index 61bcc21ce13..f48bf0b2b4e 100644 ---- a/Objects/typeobject.c -+++ b/Objects/typeobject.c -@@ -81,7 +81,7 @@ class object "PyObject *" "&PyBaseObject_Type" - - #define END_TYPE_DICT_LOCK() Py_END_CRITICAL_SECTION2() - --#ifndef NDEBUG -+#if !defined(NDEBUG) || defined(Py_DEBUG) - // Return true if the world is currently stopped. - static bool - types_world_is_stopped(void) From daf9c8f1815d9f7b4bff812cc92a02f775f3ef8e Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 17 Dec 2025 20:13:14 +0100 Subject: [PATCH 06/24] fix --- recipe/meta.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 60128474a..7c6069da7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -80,8 +80,6 @@ source: {% if freethreading == "yes" %} - patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch {% endif %} - # https://github.com/python/cpython/pull/142039 - # - patches/0027-Expand-guard-for-types_world_is_stopped.patch build: number: {{ build_number }} From c237464a35c806b29fb078b9081d9a8129b731b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Thu, 15 Jan 2026 14:37:11 +0100 Subject: [PATCH 07/24] Use sysconfigdata from shared library build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the sysconfigdata from the shared library build rather than the static one. The main difference is that this ensures that programs link to the shared Python library rather than the static library. Other differences are mostly superficial (build directories, test invocation commands). Fixes #565 Signed-off-by: Michał Górny --- recipe/build_base.sh | 4 +++- recipe/meta.yaml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/recipe/build_base.sh b/recipe/build_base.sh index a376602ca..8f32b42cb 100644 --- a/recipe/build_base.sh +++ b/recipe/build_base.sh @@ -395,7 +395,9 @@ if [[ ${target_platform} =~ .*linux.* ]]; then ln -sf ${PREFIX}/lib/libpython${VERABI}${SHLIB_EXT}.1.0 ${PREFIX}/lib/libpython${VERABI}${SHLIB_EXT} fi -SYSCONFIG=$(find ${_buildd_static}/$(cat ${_buildd_static}/pybuilddir.txt) -name "_sysconfigdata*.py" -print0) +# Use sysconfigdata from shared build, as we want packages to prefer linking against the shared library. +# Issue #565. +SYSCONFIG=$(find ${_buildd_shared}/$(cat ${_buildd_shared}/pybuilddir.txt) -name "_sysconfigdata*.py" -print0) cat ${SYSCONFIG} | ${SYS_PYTHON} "${RECIPE_DIR}"/replace-word-pairs.py \ "${_FLAGS_REPLACE[@]}" \ > ${PREFIX}/lib/python${VERABI_NO_DBG}/$(basename ${SYSCONFIG}) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7c6069da7..bc771353e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -4,7 +4,7 @@ {% set ver2 = '.'.join(version.split('.')[0:2]) %} {% set ver2nd = ''.join(version.split('.')[0:2]) %} {% set ver3nd = ''.join(version.split('.')[0:3]) %} -{% set build_number = 0 %} +{% set build_number = 1 %} # this makes the linter happy {% set channel_targets = channel_targets or 'conda-forge main' %} From dc22d8545d3055095419d98e86ec8d625885e068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Thu, 15 Jan 2026 16:26:26 +0100 Subject: [PATCH 08/24] Also use shared-lib `build-details.json` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- recipe/build_base.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/recipe/build_base.sh b/recipe/build_base.sh index 8f32b42cb..6f48b68a7 100644 --- a/recipe/build_base.sh +++ b/recipe/build_base.sh @@ -395,12 +395,15 @@ if [[ ${target_platform} =~ .*linux.* ]]; then ln -sf ${PREFIX}/lib/libpython${VERABI}${SHLIB_EXT}.1.0 ${PREFIX}/lib/libpython${VERABI}${SHLIB_EXT} fi -# Use sysconfigdata from shared build, as we want packages to prefer linking against the shared library. -# Issue #565. -SYSCONFIG=$(find ${_buildd_shared}/$(cat ${_buildd_shared}/pybuilddir.txt) -name "_sysconfigdata*.py" -print0) +# Use sysconfigdata and build-details.json from the shared build, as we want packages to prefer +# linking against the shared library. Issue #565. +BUILD_DIR=$(< ${_buildd_shared}/pybuilddir.txt) +SYSCONFIG=$(find ${_buildd_shared}/${BUILD_DIR} -name "_sysconfigdata*.py" -print0) cat ${SYSCONFIG} | ${SYS_PYTHON} "${RECIPE_DIR}"/replace-word-pairs.py \ "${_FLAGS_REPLACE[@]}" \ > ${PREFIX}/lib/python${VERABI_NO_DBG}/$(basename ${SYSCONFIG}) +BUILD_DETAILS=${_buildd_shared}/${BUILD_DIR}/build-details.json +cp ${BUILD_DETAILS} ${PREFIX}/lib/python${VERABI_NO_DBG}/ MAKEFILE=$(find ${PREFIX}/lib/python${VERABI_NO_DBG}/ -path "*config-*/Makefile" -print0) cp ${MAKEFILE} /tmp/Makefile-$$ cat /tmp/Makefile-$$ | ${SYS_PYTHON} "${RECIPE_DIR}"/replace-word-pairs.py \ From 0e83970090571c5c9f7dc17ad84d03f5fd4dd8e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 16 Jan 2026 17:34:06 +0100 Subject: [PATCH 09/24] Add missing ripgrep dep to the test case MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index bc771353e..189548b26 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -310,6 +310,7 @@ outputs: requires: - {{ stdlib('c') }} - {{ compiler('c') }} + - ripgrep commands: - VER=${PKG_VERSION%.*} # [not win] - VERABI=${VER} # [not win] From b422d66386d709cf04d54e4dd49cb3a435565239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 16 Jan 2026 17:42:42 +0100 Subject: [PATCH 10/24] Fix the linking test case MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now python3-config defaults to shared linking, so perform that part of the test first. Then remove the shared libraries to force static linking. Signed-off-by: Michał Górny --- .../prefix-replacement/build-and-test.sh | 47 +++++++++---------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/recipe/tests/prefix-replacement/build-and-test.sh b/recipe/tests/prefix-replacement/build-and-test.sh index 633b741a3..851d74fa2 100644 --- a/recipe/tests/prefix-replacement/build-and-test.sh +++ b/recipe/tests/prefix-replacement/build-and-test.sh @@ -2,32 +2,7 @@ set -ex -if [[ "$PKG_NAME" == "libpython-static" ]]; then - # see bpo44182 for why -L${CONDA_PREFIX}/lib is added - ${CC} a.c $(python3-config --cflags) $(python3-config --embed --ldflags) -L${CONDA_PREFIX}/lib -o ${CONDA_PREFIX}/bin/embedded-python-static - if [[ "$target_platform" == linux-* ]]; then - if ${READELF} -d ${CONDA_PREFIX}/bin/embedded-python-static | rg libpython; then - echo "ERROR :: Embedded python linked to shared python library. It is expected to link to the static library." - fi - elif [[ "$target_platform" == osx-* ]]; then - if ${OTOOL} -l ${CONDA_PREFIX}/bin/embedded-python-static | rg libpython; then - echo "ERROR :: Embedded python linked to shared python library. It is expected to link to the static library." - fi - fi - ${CONDA_PREFIX}/bin/embedded-python-static - - # I thought this would prefer the shared library for Python. I was wrong: - # EMBED_LDFLAGS=$(python3-config --ldflags) - # re='^(.*)(-lpython[^ ]*)(.*)$' - # if [[ ${EMBED_LDFLAGS} =~ $re ]]; then - # EMBED_LDFLAGS="${BASH_REMATCH[1]} ${BASH_REMATCH[3]} -Wl,-Bdynamic ${BASH_REMATCH[2]}" - # fi - # ${CC} a.c $(python3-config --cflags) ${EMBED_LDFLAGS} -o ${CONDA_PREFIX}/bin/embedded-python-shared - - # Brute-force way of linking to the shared library, sorry! - rm -rf ${CONDA_PREFIX}/lib/libpython*.a -fi - +# see bpo44182 for why -L${CONDA_PREFIX}/lib is added ${CC} a.c $(python3-config --cflags) \ $(python3-config --embed --ldflags) \ -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib \ @@ -44,4 +19,24 @@ elif [[ "$target_platform" == osx-* ]]; then fi ${CONDA_PREFIX}/bin/embedded-python-shared +if [[ "$PKG_NAME" == "libpython-static" ]]; then + # remove the shared library to force static linking + rm -f ${CONDA_PREFIX}/lib/libpython*.{so,dylib} + + ${CC} a.c $(python3-config --cflags) \ + $(python3-config --embed --ldflags) \ + -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib \ + -o ${CONDA_PREFIX}/bin/embedded-python-static + if [[ "$target_platform" == linux-* ]]; then + if ${READELF} -d ${CONDA_PREFIX}/bin/embedded-python-static | rg libpython; then + echo "ERROR :: Embedded python linked to shared python library. It is expected to link to the static library." + fi + elif [[ "$target_platform" == osx-* ]]; then + if ${OTOOL} -l ${CONDA_PREFIX}/bin/embedded-python-static | rg libpython; then + echo "ERROR :: Embedded python linked to shared python library. It is expected to link to the static library." + fi + fi + ${CONDA_PREFIX}/bin/embedded-python-static +fi + set +x From 622caf66f38c7654bc6b06269b167528c004d496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 21 Jan 2026 16:23:07 +0100 Subject: [PATCH 11/24] MNT: Re-rendered with conda-smithy 3.54.1 and conda-forge-pinning 2026.01.20.09.33.33 Other tools: - conda-build 25.11.1 - rattler-build 0.55.0 - rattler-build-conda-compat 1.4.10 --- .scripts/run_osx_build.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index 361edeb2c..bac7141a9 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -63,6 +63,25 @@ if [[ "${sha:-}" == "" ]]; then sha=$(git rev-parse HEAD) fi +if [[ "${OSX_SDK_DIR:-}" == "" ]]; then + if [[ "${CI:-}" == "" ]]; then + echo "Please set OSX_SDK_DIR to a directory where SDKs can be downloaded to. Aborting" + exit 1 + else + export OSX_SDK_DIR=/opt/conda-sdks + /usr/bin/sudo mkdir -p "${OSX_SDK_DIR}" + /usr/bin/sudo chown "${USER}" "${OSX_SDK_DIR}" + fi +else + if tmpf=$(mktemp -p "$OSX_SDK_DIR" tmp.XXXXXXXX 2>/dev/null); then + rm -f "$tmpf" + echo "OSX_SDK_DIR is writeable without sudo, continuing" + else + echo "User-provided OSX_SDK_DIR is not writeable for current user! Aborting" + exit 1 + fi +fi + echo -e "\n\nRunning the build setup script." source run_conda_forge_build_setup From 6eeda71c4e440d6d17a1936f522cb374d2368a27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Thu, 22 Jan 2026 15:59:51 +0100 Subject: [PATCH 12/24] Split shared Python library to `libpython` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #843 Signed-off-by: Michał Górny --- recipe/build_base.sh | 10 --- recipe/build_shared.bat | 0 recipe/build_shared.sh | 33 +++++++ recipe/meta.yaml | 87 ++++++++++++++++--- recipe/tests/cmake/CMakeLists.txt | 14 +-- .../prefix-replacement/build-and-test.sh | 66 +++++++------- 6 files changed, 147 insertions(+), 63 deletions(-) create mode 100644 recipe/build_shared.bat create mode 100644 recipe/build_shared.sh diff --git a/recipe/build_base.sh b/recipe/build_base.sh index 6f48b68a7..bf36540ab 100644 --- a/recipe/build_base.sh +++ b/recipe/build_base.sh @@ -385,15 +385,6 @@ if [[ ${_OPTIMIZED} == yes ]]; then _FLAGS_REPLACE+=("") done fi -# Install the shared library (for people who embed Python only, e.g. GDB). -# Linking module extensions to this on Linux is redundant (but harmless). -# Linking module extensions to this on Darwin is harmful (multiply defined symbols). -shopt -s extglob -cp -pf ${_buildd_shared}/libpython*${SHLIB_EXT}!(.lto) ${PREFIX}/lib/ -shopt -u extglob -if [[ ${target_platform} =~ .*linux.* ]]; then - ln -sf ${PREFIX}/lib/libpython${VERABI}${SHLIB_EXT}.1.0 ${PREFIX}/lib/libpython${VERABI}${SHLIB_EXT} -fi # Use sysconfigdata and build-details.json from the shared build, as we want packages to prefer # linking against the shared library. Issue #565. @@ -520,7 +511,6 @@ rm ${PREFIX}/lib/libpython${VERABI}.a if [[ ${PY_INTERP_DEBUG} == yes ]]; then rm ${PREFIX}/bin/python${VER} ln -s ${PREFIX}/bin/python${VERABI} ${PREFIX}/bin/python${VER} - ln -s ${PREFIX}/lib/libpython${VERABI}${SHLIB_EXT} ${PREFIX}/lib/libpython${VERABI_NO_DBG}${SHLIB_EXT} ln -s ${PREFIX}/include/python${VERABI} ${PREFIX}/include/python${VER} fi diff --git a/recipe/build_shared.bat b/recipe/build_shared.bat new file mode 100644 index 000000000..e69de29bb diff --git a/recipe/build_shared.sh b/recipe/build_shared.sh new file mode 100644 index 000000000..35812a5d1 --- /dev/null +++ b/recipe/build_shared.sh @@ -0,0 +1,33 @@ +#!/bin/bash +set -ex + +_buildd_shared=build-shared +if [[ ${PY_INTERP_DEBUG} == yes ]]; then + DBG=d +else + DBG= +fi +if [[ ${PY_FREETHREADING} == yes ]]; then + # This Python will not be usable with non-free threading Python modules. + THREAD=t +else + THREAD= +fi + +VER=${PKG_VERSION%.*} +ABIFLAGS=${DBG}${THREAD} +VERABI=${VER}${THREAD}${DBG} +VERABI_NO_DBG=${VER}${THREAD} + +# Install the shared library (for people who embed Python only, e.g. GDB). +# Linking module extensions to this on Linux is redundant (but harmless). +# Linking module extensions to this on Darwin is harmful (multiply defined symbols). +shopt -s extglob +cp -pf ${_buildd_shared}/libpython*${SHLIB_EXT}!(.lto) ${PREFIX}/lib/ +shopt -u extglob +if [[ ${target_platform} =~ .*linux.* ]]; then + ln -sf ${PREFIX}/lib/libpython${VERABI}${SHLIB_EXT}.1.0 ${PREFIX}/lib/libpython${VERABI}${SHLIB_EXT} +fi +if [[ ${PY_INTERP_DEBUG} == yes ]]; then + ln -s ${PREFIX}/lib/libpython${VERABI}${SHLIB_EXT} ${PREFIX}/lib/libpython${VERABI_NO_DBG}${SHLIB_EXT} +fi diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 189548b26..6266f8cdb 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -221,7 +221,6 @@ outputs: files: - tests/cmake/* - tests/cython/* - - tests/prefix-replacement/* - run_test.py commands: - echo on # [win] @@ -247,8 +246,11 @@ outputs: - _CONDA_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_x86_64_conda_linux_gnu python -c "import sysconfig; print(sysconfig.get_config_var('CC'))" # [linux64] # check for unreplaced @ symbols in sysconfig files, excluding e.g. '"$@".lto' - for f in ${CONDA_PREFIX}/lib/python*/_sysconfig*.py; do echo "Checking $f:"; if [[ `rg @[^@]*@ $f` ]]; then echo "FAILED ON $f"; cat $f; exit 1; fi; done # [linux64 or osx] - - test ! -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.a # [unix] - - test ! -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.nolto.a # [unix] + - test ! -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.so # [unix] + - test ! -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.a # [unix] + - test ! -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.so # [linux] + - test ! -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.dylib # [osx] + - test ! -f ${PREFIX}/lib/libpython${PKG_VERSION%.*}.nolto.a # [unix] {% if freethreading == "yes" %} - if not exist %PREFIX%\\libs\\python3t.lib exit 1 # [win] - if not exist %PREFIX%\\libs\\python{{ ver2nd }}t.lib exit 1 # [win] @@ -265,14 +267,8 @@ outputs: - if not exist %PREFIX%\\Scripts\\pydoc.exe exit 1 # [win] - if not exist %PREFIX%\\include\\pyconfig.h exit 1 # [win] - pushd tests - - pushd prefix-replacement # [unix] - - bash build-and-test.sh # [unix] - - popd # [unix] - pushd cmake -{% if freethreading == "no" %} - # TODO: use the new FindPython3 which supports freethreading - - cmake -GNinja -DPY_VER={{ version }} --debug-find --trace --debug-output --debug-trycompile . -{% endif %} + - cmake -GNinja -DPY_VER={{ version }} -DEXTRA_COMPONENTS="Development.Module" --debug-find --trace --debug-output --debug-trycompile . - popd - popd - python run_test.py @@ -283,6 +279,61 @@ outputs: # Test for wide character supported via ncursesw - TERM=xterm >/dev/null python -c "import curses; scr = curses.initscr(); curses.unget_wch('x'); assert 'x' == scr.get_wch()" # [unix] + - name: libpython + script: build_shared.sh # [unix] + script: build_shared.bat # [win] + build: + number: {{ build_number }} + activate_in_script: true + ignore_run_exports: + - python_abi + script_env: + - PY_INTERP_DEBUG={{ py_interp_debug }} + - PY_FREETHREADING={{ freethreading }} + string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}{{ debug }}_{{ abi_tag }} + requirements: + build: + - {{ compiler('c') }} + - {{ stdlib('c') }} + - {{ compiler('cxx') }} + host: + - {{ pin_subpackage('python', exact=True) }} + run: + - {{ pin_subpackage('python', exact=True) }} + test: + files: + - tests/cmake/* + - tests/prefix-replacement/* + requires: + - {{ stdlib('c') }} + - {{ compiler('c') }} + # cmake expects a C++ compiler for some reason + - {{ compiler('cxx') }} + - ripgrep + - cmake + - ninja + commands: + - VER=${PKG_VERSION%.*} # [not win] + - VERABI=${VER} # [not win] +{% if freethreading == "yes" %} + - VERABI=${VERABI}t # [not win] +{% endif %} + - VERABI_NO_DBG=${VERABI} # [not win] +{% if py_interp_debug == "yes" %} + - VERABI=${VERABI}d # [not win] +{% endif %} + - test -f ${PREFIX}/lib/libpython${VERABI}.so # [linux] + - test -f ${PREFIX}/lib/libpython3.so # [linux and build_type == "release"] + - test -f ${PREFIX}/lib/libpython${VERABI}.dylib # [osx] + - pushd tests + - pushd prefix-replacement # [unix] + - bash build-and-test.sh # [unix] + - popd # [unix] + - pushd cmake + - cmake -GNinja -DPY_VER={{ version }} -DEXTRA_COMPONENTS="Development.Embed" --debug-find --trace --debug-output --debug-trycompile . + - popd + - popd + - name: libpython-static script: build_static.sh # [unix] script: build_static.bat # [win] @@ -306,11 +357,16 @@ outputs: - {{ pin_subpackage('python', exact=True) }} test: files: + - tests/cmake/* - tests/prefix-replacement/* requires: - {{ stdlib('c') }} - {{ compiler('c') }} + # cmake expects a C++ compiler for some reason + - {{ compiler('cxx') }} - ripgrep + - cmake + - ninja commands: - VER=${PKG_VERSION%.*} # [not win] - VERABI=${VER} # [not win] @@ -324,9 +380,14 @@ outputs: - test -f ${PREFIX}/lib/libpython${VERABI}.a # [unix] - test -f ${PREFIX}/lib/libpython${VERABI_NO_DBG}.nolto.a # [unix] - test -f ${PREFIX}/lib/python${VERABI_NO_DBG}/config-${VERABI}-darwin/libpython${VERABI}.a # [osx] - - pushd tests/prefix-replacement # [unix] - - bash build-and-test.sh # [unix] - - popd # [unix] + - pushd tests + - pushd prefix-replacement # [unix] + - bash build-and-test.sh # [unix] + - popd # [unix] + - pushd cmake + - cmake -GNinja -DPY_VER={{ version }} -DEXTRA_COMPONENTS="Development.Embed" --debug-find --trace --debug-output --debug-trycompile . + - popd + - popd - name: cpython build: diff --git a/recipe/tests/cmake/CMakeLists.txt b/recipe/tests/cmake/CMakeLists.txt index a13e20ae1..f3e41560c 100644 --- a/recipe/tests/cmake/CMakeLists.txt +++ b/recipe/tests/cmake/CMakeLists.txt @@ -1,16 +1,10 @@ -# https://martinopilia.com/posts/2018/09/15/building-python-extension.html -# FindPythonInterp and FindPythonLibs are deprecated since cmake 3.12 -# These can be replaced by find_package(Python ${PY_VER} REQUIRED) -# But these are still used by other packages, so we keep them. +# https://scikit-build-core.readthedocs.io/en/latest/guide/cmakelists.html#finding-python cmake_minimum_required(VERSION 3.10) enable_language(C) project(mymath) -option(PY_VER, "Python version to use") +option(PY_VER "Python version to use") +option(EXTRA_COMPONENTS "Additional Python components to check for") -find_package(PythonInterp ${PY_VER} REQUIRED) -# PATHS $ENV{CONDA_PREFIX} - -# This goes after, since it uses PythonInterp as hint -find_package(PythonLibs ${PY_VER} REQUIRED) +find_package(Python ${PY_VER} COMPONENTS Interpreter ${EXTRA_COMPONENTS} REQUIRED) diff --git a/recipe/tests/prefix-replacement/build-and-test.sh b/recipe/tests/prefix-replacement/build-and-test.sh index 851d74fa2..d710bde75 100644 --- a/recipe/tests/prefix-replacement/build-and-test.sh +++ b/recipe/tests/prefix-replacement/build-and-test.sh @@ -2,41 +2,47 @@ set -ex -# see bpo44182 for why -L${CONDA_PREFIX}/lib is added -${CC} a.c $(python3-config --cflags) \ - $(python3-config --embed --ldflags) \ - -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib \ - -o ${CONDA_PREFIX}/bin/embedded-python-shared +case ${PKG_NAME} in + libpython) + # see bpo44182 for why -L${CONDA_PREFIX}/lib is added + ${CC} a.c $(python3-config --cflags) \ + $(python3-config --embed --ldflags) \ + -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib \ + -o ${CONDA_PREFIX}/bin/embedded-python-shared -if [[ "$target_platform" == linux-* ]]; then - if ! ${READELF} -d ${CONDA_PREFIX}/bin/embedded-python-shared | rg libpython; then - echo "ERROR :: Embedded python linked to static python library. We tried to force it to use the shared library." - fi -elif [[ "$target_platform" == osx-* ]]; then - if ! ${OTOOL} -l ${CONDA_PREFIX}/bin/embedded-python-shared | rg libpython; then - echo "ERROR :: Embedded python linked to static python library. We tried to force it to use the shared library." - fi -fi -${CONDA_PREFIX}/bin/embedded-python-shared - -if [[ "$PKG_NAME" == "libpython-static" ]]; then - # remove the shared library to force static linking - rm -f ${CONDA_PREFIX}/lib/libpython*.{so,dylib} + if [[ "$target_platform" == linux-* ]]; then + if ! ${READELF} -d ${CONDA_PREFIX}/bin/embedded-python-shared | rg libpython; then + echo "ERROR :: Embedded python linked to static python library. We tried to force it to use the shared library." + fi + elif [[ "$target_platform" == osx-* ]]; then + if ! ${OTOOL} -l ${CONDA_PREFIX}/bin/embedded-python-shared | rg libpython; then + echo "ERROR :: Embedded python linked to static python library. We tried to force it to use the shared library." + fi + fi + ${CONDA_PREFIX}/bin/embedded-python-shared + ;; - ${CC} a.c $(python3-config --cflags) \ + libpython-static) + ${CC} a.c $(python3-config --cflags) \ $(python3-config --embed --ldflags) \ -L${CONDA_PREFIX}/lib -Wl,-rpath,${CONDA_PREFIX}/lib \ -o ${CONDA_PREFIX}/bin/embedded-python-static - if [[ "$target_platform" == linux-* ]]; then - if ${READELF} -d ${CONDA_PREFIX}/bin/embedded-python-static | rg libpython; then - echo "ERROR :: Embedded python linked to shared python library. It is expected to link to the static library." + if [[ "$target_platform" == linux-* ]]; then + if ${READELF} -d ${CONDA_PREFIX}/bin/embedded-python-static | rg libpython; then + echo "ERROR :: Embedded python linked to shared python library. It is expected to link to the static library." + fi + elif [[ "$target_platform" == osx-* ]]; then + if ${OTOOL} -l ${CONDA_PREFIX}/bin/embedded-python-static | rg libpython; then + echo "ERROR :: Embedded python linked to shared python library. It is expected to link to the static library." + fi fi - elif [[ "$target_platform" == osx-* ]]; then - if ${OTOOL} -l ${CONDA_PREFIX}/bin/embedded-python-static | rg libpython; then - echo "ERROR :: Embedded python linked to shared python library. It is expected to link to the static library." - fi - fi - ${CONDA_PREFIX}/bin/embedded-python-static -fi + ${CONDA_PREFIX}/bin/embedded-python-static + ;; + + *) + # invalid package + exit 1 + ;; +esac set +x From a407c5dc3aba1f4183fa7d22e70ff113052b7b79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Thu, 22 Jan 2026 19:52:30 +0100 Subject: [PATCH 13/24] MNT: Re-rendered with conda-smithy 3.54.1 and conda-forge-pinning 2026.01.22.10.05.09 Other tools: - conda-build 25.11.1 - rattler-build 0.55.0 - rattler-build-conda-compat 1.4.10 --- README.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 739a20c89..c190c2a10 100644 --- a/README.md +++ b/README.md @@ -226,6 +226,7 @@ Current release info | Name | Downloads | Version | Platforms | | --- | --- | --- | --- | | [![Conda Recipe](https://img.shields.io/badge/recipe-cpython-green.svg)](https://anaconda.org/conda-forge/cpython) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/cpython.svg)](https://anaconda.org/conda-forge/cpython) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/cpython.svg)](https://anaconda.org/conda-forge/cpython) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/cpython.svg)](https://anaconda.org/conda-forge/cpython) | +| [![Conda Recipe](https://img.shields.io/badge/recipe-libpython-green.svg)](https://anaconda.org/conda-forge/libpython) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libpython.svg)](https://anaconda.org/conda-forge/libpython) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libpython.svg)](https://anaconda.org/conda-forge/libpython) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libpython.svg)](https://anaconda.org/conda-forge/libpython) | | [![Conda Recipe](https://img.shields.io/badge/recipe-libpython--static-green.svg)](https://anaconda.org/conda-forge/libpython-static) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/libpython-static.svg)](https://anaconda.org/conda-forge/libpython-static) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/libpython-static.svg)](https://anaconda.org/conda-forge/libpython-static) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/libpython-static.svg)](https://anaconda.org/conda-forge/libpython-static) | | [![Conda Recipe](https://img.shields.io/badge/recipe-python-green.svg)](https://anaconda.org/conda-forge/python) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/python.svg)](https://anaconda.org/conda-forge/python) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/python.svg)](https://anaconda.org/conda-forge/python) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/python.svg)](https://anaconda.org/conda-forge/python) | | [![Conda Recipe](https://img.shields.io/badge/recipe-python--freethreading-green.svg)](https://anaconda.org/conda-forge/python-freethreading) | [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/python-freethreading.svg)](https://anaconda.org/conda-forge/python-freethreading) | [![Conda Version](https://img.shields.io/conda/vn/conda-forge/python-freethreading.svg)](https://anaconda.org/conda-forge/python-freethreading) | [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/python-freethreading.svg)](https://anaconda.org/conda-forge/python-freethreading) | @@ -235,48 +236,48 @@ Current release info Installing python ================= -Installing `python` from the `conda-forge/label/python_dev` channel can be achieved by adding `conda-forge/label/python_dev` to your channels with: +Installing `python` from the `conda-forge/label/python_dev_debug` channel can be achieved by adding `conda-forge/label/python_dev_debug` to your channels with: ``` -conda config --add channels conda-forge/label/python_dev +conda config --add channels conda-forge/label/python_dev_debug conda config --set channel_priority strict ``` -Once the `conda-forge/label/python_dev` channel has been enabled, `cpython, libpython-static, python, python-freethreading, python-gil, python-jit` can be installed with `conda`: +Once the `conda-forge/label/python_dev_debug` channel has been enabled, `cpython, libpython, libpython-static, python, python-freethreading, python-gil, python-jit` can be installed with `conda`: ``` -conda install cpython libpython-static python python-freethreading python-gil python-jit +conda install cpython libpython libpython-static python python-freethreading python-gil python-jit ``` or with `mamba`: ``` -mamba install cpython libpython-static python python-freethreading python-gil python-jit +mamba install cpython libpython libpython-static python python-freethreading python-gil python-jit ``` It is possible to list all of the versions of `cpython` available on your platform with `conda`: ``` -conda search cpython --channel conda-forge/label/python_dev +conda search cpython --channel conda-forge/label/python_dev_debug ``` or with `mamba`: ``` -mamba search cpython --channel conda-forge/label/python_dev +mamba search cpython --channel conda-forge/label/python_dev_debug ``` Alternatively, `mamba repoquery` may provide more information: ``` # Search all versions available on your platform: -mamba repoquery search cpython --channel conda-forge/label/python_dev +mamba repoquery search cpython --channel conda-forge/label/python_dev_debug # List packages depending on `cpython`: -mamba repoquery whoneeds cpython --channel conda-forge/label/python_dev +mamba repoquery whoneeds cpython --channel conda-forge/label/python_dev_debug # List dependencies of `cpython`: -mamba repoquery depends cpython --channel conda-forge/label/python_dev +mamba repoquery depends cpython --channel conda-forge/label/python_dev_debug ``` From 0d3e6ce5761710d94c2c9011d6593907f9aa44b0 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Mon, 16 Mar 2026 16:26:39 +0100 Subject: [PATCH 14/24] Python 3.15.0a7 --- recipe/meta.yaml | 4 ++-- ...01-Win32-Change-FD_SETSIZE-from-512-to-2048.patch | 4 ++-- .../0002-Win32-Do-not-download-externals.patch | 6 +++--- ...library-so-that-it-looks-in-sys.prefix-lib-.patch | 8 ++++---- ...egistry-lookup-unless-CONDA_PY_ALLOW_REG_PA.patch | 10 +++++----- recipe/patches/0005-Unvendor-openssl.patch | 8 ++++---- recipe/patches/0006-Unvendor-sqlite3.patch | 2 +- .../0007-Add-CondaEcosystemModifyDllSearchPath.patch | 10 +++++----- recipe/patches/0008-Doing-d1trimfile.patch | 12 ++++++------ recipe/patches/0009-cross-compile-darwin.patch | 12 ++++++------ recipe/patches/0010-Fix-TZPATH-on-windows.patch | 2 +- ...ld-search-work-with-SYSTEM_VERSION_COMPAT-1.patch | 2 +- recipe/patches/0012-Unvendor-bzip2.patch | 2 +- recipe/patches/0013-Unvendor-libffi.patch | 2 +- recipe/patches/0014-Unvendor-tcltk.patch | 2 +- recipe/patches/0015-unvendor-xz.patch | 2 +- recipe/patches/0016-unvendor-zlib.patch | 12 ++++++------ ...0017-Do-not-pass-g-to-GCC-when-not-Py_DEBUG.patch | 10 +++++----- recipe/patches/0018-Unvendor-expat.patch | 6 +++--- recipe/patches/0019-Remove-unused-readelf.patch | 4 ++-- ...20-Don-t-checksharedmods-if-cross-compiling.patch | 6 +++--- recipe/patches/0021-Override-configure-LIBFFI.patch | 6 +++--- recipe/patches/0022-Unvendor-libmpdec.patch | 2 +- recipe/patches/0023-Brand-conda-forge.patch | 4 ++-- ...fine-pid_t-as-it-might-conflict-with-the-ac.patch | 10 +++++----- recipe/patches/0025-Unvendor-zstd.patch | 2 +- ...et-Py_GIL_DISABLED-in-windows-to-match-unix.patch | 2 +- 27 files changed, 76 insertions(+), 76 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 6266f8cdb..76a3853cf 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "3.15.0" %} -{% set dev = "a3" %} +{% set dev = "a7" %} {% set dev_ = "" %} {% set ver2 = '.'.join(version.split('.')[0:2]) %} {% set ver2nd = ''.join(version.split('.')[0:2]) %} @@ -46,7 +46,7 @@ package: source: - url: https://www.python.org/ftp/python/{{ version }}/Python-{{ version }}{{ dev }}.tar.xz # md5 from: https://www.python.org/downloads/release/python-{{ ver3nd }}{{ dev }}/ - md5: d6ee7c74b9618520e88ec175f5539623 + md5: 76b680750285a243d63dec8374b70818 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/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch b/recipe/patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch index 2a265a29a..18c2ccaf8 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 8c8d4d1ded1d513cffb4ae94e5bb7c8cef63ec1c Mon Sep 17 00:00:00 2001 +From ffb1951d87e6554c3e0ae00b6ab8a042e085779a 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 19fe509ec5e..02c9665afa7 100644 +index 137bf2ca55b..70e2d178c54 100644 --- a/Modules/selectmodule.c +++ b/Modules/selectmodule.c @@ -44,7 +44,7 @@ diff --git a/recipe/patches/0002-Win32-Do-not-download-externals.patch b/recipe/patches/0002-Win32-Do-not-download-externals.patch index c3b733400..ef7b2585f 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 9f50db5dbb5a150b2c7799b16b6afacbb5339aa8 Mon Sep 17 00:00:00 2001 +From 25b73c426a756ffea6425130b7e22b5ee544c8ff Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 7 Sep 2017 11:35:47 +0100 Subject: [PATCH 02/26] Win32: Do not download externals @@ -8,10 +8,10 @@ Subject: [PATCH 02/26] Win32: Do not download externals 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PCbuild/build.bat b/PCbuild/build.bat -index e4de9a80d76..22892c05dc7 100644 +index 8fb2f096c93..e69b3aef564 100644 --- a/PCbuild/build.bat +++ b/PCbuild/build.bat -@@ -109,7 +109,7 @@ if "%~1"=="--no-ctypes" (set IncludeCTypes=false) & shift & goto CheckOpts +@@ -112,7 +112,7 @@ if "%~1"=="--no-ctypes" (set IncludeCTypes=false) & shift & goto CheckOpts if "%~1"=="--no-ssl" (set IncludeSSL=false) & shift & goto CheckOpts if "%~1"=="--no-tkinter" (set IncludeTkinter=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 b34b11ca1..c398546f1 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 7312b782873147be93df6dd501030d8c6fcff5f3 Mon Sep 17 00:00:00 2001 +From bd6431cd6b69c8111e1b3c72a89d5ace434c6265 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 5 Dec 2017 22:47:59 +0000 Subject: [PATCH 03/26] Fix find_library so that it looks in sys.prefix/lib @@ -25,10 +25,10 @@ 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 378f12167c6..bf45580ab9f 100644 +index 3b21658433b..ecd2c6cbd9c 100644 --- a/Lib/ctypes/util.py +++ b/Lib/ctypes/util.py -@@ -129,7 +129,8 @@ def dllist(): +@@ -135,7 +135,8 @@ def dllist(): elif os.name == "posix" and sys.platform in {"darwin", "ios", "tvos", "watchos"}: from ctypes.macholib.dyld import dyld_find as _dyld_find def find_library(name): @@ -38,7 +38,7 @@ index 378f12167c6..bf45580ab9f 100644 '%s.dylib' % name, '%s.framework/%s' % (name, name)] for name in possible: -@@ -430,10 +431,30 @@ def _findLib_ld(name): +@@ -436,10 +437,30 @@ def _findLib_ld(name): pass # result will be None return result 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 fec353e20..7d3b5f681 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 d8e1bbacdc5456cf43d9dfc0c1231023d285afe9 Mon Sep 17 00:00:00 2001 +From e380a8cfc9757d26d85cfe1d0c965b7415fb73ac Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Sat, 27 Oct 2018 18:48:30 +0100 Subject: [PATCH 04/26] Disable registry lookup unless CONDA_PY_ALLOW_REG_PATHS @@ -23,7 +23,7 @@ index 1e75993480a..ff96c8e1990 100644 !progname_to_dict(dict, "real_executable") || !library_to_dict(dict, "library") || diff --git a/Modules/getpath.py b/Modules/getpath.py -index ceb605a75c8..6d5b9c0d480 100644 +index 4dceb5cdc8d..43a47ca77af 100644 --- a/Modules/getpath.py +++ b/Modules/getpath.py @@ -52,6 +52,7 @@ @@ -34,9 +34,9 @@ index ceb605a75c8..6d5b9c0d480 100644 # ** Values calculated at runtime ** # config -- [in/out] dict of the PyConfig structure -@@ -704,7 +705,7 @@ def search_up(prefix, *landmarks, test=isfile): - else: - pythonpath.append(joinpath(base_prefix, ZIP_LANDMARK)) +@@ -706,7 +707,7 @@ def search_up(prefix, *landmarks, test=isfile): + stdlib_zip = joinpath(base_prefix, ZIP_LANDMARK) + pythonpath.append(stdlib_zip) - if os_name == 'nt' and use_environment and winreg: + if os_name == 'nt' and use_environment and winreg and ENV_CONDA_PY_ALLOW_REG_PATHS and ENV_CONDA_PY_ALLOW_REG_PATHS != '0': diff --git a/recipe/patches/0005-Unvendor-openssl.patch b/recipe/patches/0005-Unvendor-openssl.patch index 177a20930..9660771c2 100644 --- a/recipe/patches/0005-Unvendor-openssl.patch +++ b/recipe/patches/0005-Unvendor-openssl.patch @@ -1,4 +1,4 @@ -From fe3fd0f75ef1e5fbac3aebe2ae615858850d4324 Mon Sep 17 00:00:00 2001 +From d441985a62cf37f233a6093a187e06497740069d Mon Sep 17 00:00:00 2001 From: Nehal J Wani Date: Sat, 24 Nov 2018 20:38:02 -0600 Subject: [PATCH 05/26] Unvendor openssl @@ -90,7 +90,7 @@ index 7ca750dda8f..17eee400ebb 100644 diff --git a/PCbuild/python.props b/PCbuild/python.props -index 7840e2a1cfc..253aa66f477 100644 +index 3ad8d81dfc9..05c8c7cd83f 100644 --- a/PCbuild/python.props +++ b/PCbuild/python.props @@ -68,6 +68,7 @@ @@ -112,8 +112,8 @@ index 7840e2a1cfc..253aa66f477 100644 - $(libffiDir)$(ArchName)\ - $(libffiOutDir)include $(ExternalsDir)\mpdecimal-4.0.0\ -- $(ExternalsDir)openssl-3.0.18\ -- $(ExternalsDir)openssl-bin-3.0.18\$(ArchName)\ +- $(ExternalsDir)openssl-3.5.5\ +- $(ExternalsDir)openssl-bin-3.5.5\$(ArchName)\ - $(opensslOutDir)include $(ExternalsDir)\nasm-2.11.06\ - $(ExternalsDir)\zlib-1.3.1\ diff --git a/recipe/patches/0006-Unvendor-sqlite3.patch b/recipe/patches/0006-Unvendor-sqlite3.patch index e0eafd424..089cba660 100644 --- a/recipe/patches/0006-Unvendor-sqlite3.patch +++ b/recipe/patches/0006-Unvendor-sqlite3.patch @@ -1,4 +1,4 @@ -From 89126b92c8ac764ce9e8034789bf74b4ecf003b5 Mon Sep 17 00:00:00 2001 +From b9106812add3d50b2f441cf7d463725f60b9978c Mon Sep 17 00:00:00 2001 From: Nehal J Wani Date: Tue, 5 Oct 2021 12:42:06 -0700 Subject: [PATCH 06/26] Unvendor sqlite3 diff --git a/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch b/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch index 7231c0e9c..2adf2356a 100644 --- a/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch +++ b/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch @@ -1,4 +1,4 @@ -From 0d5341782ce10d959a1914b99581aee95c4b4176 Mon Sep 17 00:00:00 2001 +From 32d83eacf1dc0cb8db86f22cd310e376d5493350 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 24 Dec 2019 18:37:17 +0100 Subject: [PATCH 07/26] Add CondaEcosystemModifyDllSearchPath() @@ -33,10 +33,10 @@ Co-authored-by: Isuru Fernando 1 file changed, 95 insertions(+) diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c -index 2527dca71d7..a2d28a9be46 100644 +index 711e7bc89b7..89ad70f2105 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c -@@ -81,6 +81,10 @@ +@@ -85,6 +85,10 @@ #ifdef MS_WINDOWS # undef BYTE @@ -47,7 +47,7 @@ index 2527dca71d7..a2d28a9be46 100644 #endif #define PUTS(fd, str) (void)_Py_write_noraise(fd, str, (int)strlen(str)) -@@ -115,6 +119,93 @@ GENERATE_DEBUG_SECTION(PyRuntime, _PyRuntimeState _PyRuntime) +@@ -119,6 +123,93 @@ GENERATE_DEBUG_SECTION(PyRuntime, _PyRuntimeState _PyRuntime) = _PyRuntimeState_INIT(_PyRuntime, _Py_Debug_Cookie); _Py_COMP_DIAG_POP @@ -141,7 +141,7 @@ index 2527dca71d7..a2d28a9be46 100644 static int runtime_initialized = 0; -@@ -132,6 +223,10 @@ _PyRuntime_Initialize(void) +@@ -136,6 +227,10 @@ _PyRuntime_Initialize(void) } runtime_initialized = 1; diff --git a/recipe/patches/0008-Doing-d1trimfile.patch b/recipe/patches/0008-Doing-d1trimfile.patch index 2226f5c44..23878624c 100644 --- a/recipe/patches/0008-Doing-d1trimfile.patch +++ b/recipe/patches/0008-Doing-d1trimfile.patch @@ -1,4 +1,4 @@ -From 2c64caf81d33ab9dea54bf06d183b877ddc32d47 Mon Sep 17 00:00:00 2001 +From 9a38ec4f30d8ec426af73ff082b696dd31d3dcbb Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Tue, 31 Dec 2019 21:47:47 +0100 Subject: [PATCH 08/26] Doing d1trimfile @@ -179,7 +179,7 @@ index 3eb9c89bcb6..920656f2ee2 100644 diff --git a/PCbuild/_freeze_module.vcxproj b/PCbuild/_freeze_module.vcxproj -index 605861ad3fd..4082f3f6d51 100644 +index cb806459596..a85ba7ca53f 100644 --- a/PCbuild/_freeze_module.vcxproj +++ b/PCbuild/_freeze_module.vcxproj @@ -93,6 +93,10 @@ @@ -535,7 +535,7 @@ index c35ac83c1c7..c9d7f5d22b7 100644 diff --git a/PCbuild/_testinternalcapi.vcxproj b/PCbuild/_testinternalcapi.vcxproj -index f7e050b7c74..58c3e10c0f0 100644 +index f3e423fa046..ac285717998 100644 --- a/PCbuild/_testinternalcapi.vcxproj +++ b/PCbuild/_testinternalcapi.vcxproj @@ -92,6 +92,26 @@ @@ -618,13 +618,13 @@ index 75d4e162346..d50534affa1 100644 diff --git a/PCbuild/pyexpat.vcxproj b/PCbuild/pyexpat.vcxproj -index dc9161a8b29..3bcef600a3e 100644 +index 8e0f5f63112..7a1d5942a6c 100644 --- a/PCbuild/pyexpat.vcxproj +++ b/PCbuild/pyexpat.vcxproj @@ -92,6 +92,10 @@ $(PySourcePath)Modules\expat;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;PYEXPAT_EXPORTS;XML_STATIC;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;XML_STATIC;%(PreprocessorDefinitions) + /d1trimfile:%SRC_DIR% + /d1trimfile:%SRC_DIR% + /d1trimfile:%SRC_DIR% @@ -720,7 +720,7 @@ index 3f8772d30b4..d80968e351a 100644 windowsapp.lib;%(AdditionalDependencies) diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index dcfb75ce162..5bf342227ad 100644 +index 61bee29c0af..d1efe476439 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -99,7 +99,7 @@ diff --git a/recipe/patches/0009-cross-compile-darwin.patch b/recipe/patches/0009-cross-compile-darwin.patch index 5bc03ab03..998ecdecd 100644 --- a/recipe/patches/0009-cross-compile-darwin.patch +++ b/recipe/patches/0009-cross-compile-darwin.patch @@ -1,4 +1,4 @@ -From 42d193573c79b9760d36d9150d8308f136e874e9 Mon Sep 17 00:00:00 2001 +From 323229d393ca44056d519d8b926ac57d900f6fa9 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Fri, 2 Oct 2020 00:03:12 +0200 Subject: [PATCH 09/26] 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 3a71b669985..b342ceec761 100644 +index 9d7aa5c66a9..2401eff96df 100644 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -474,7 +474,12 @@ def win32_ver(release='', version='', csd='', ptype=''): @@ -29,10 +29,10 @@ index 3a71b669985..b342ceec761 100644 try: import plistlib diff --git a/configure b/configure -index a1bc7991aa8..f26e19a400a 100755 +index eca5f03cdcf..0595b8dc8c2 100755 --- a/configure +++ b/configure -@@ -4133,6 +4133,9 @@ then +@@ -4140,6 +4140,9 @@ then *-*-linux*) ac_sys_system=Linux ;; @@ -42,7 +42,7 @@ index a1bc7991aa8..f26e19a400a 100755 *-*-cygwin*) ac_sys_system=Cygwin ;; -@@ -4612,6 +4615,9 @@ if test "$cross_compiling" = yes; then +@@ -4619,6 +4622,9 @@ if test "$cross_compiling" = yes; then _host_ident=$host_cpu esac ;; @@ -53,7 +53,7 @@ index a1bc7991aa8..f26e19a400a 100755 _host_ident= ;; diff --git a/configure.ac b/configure.ac -index a284a118f02..b86228cea4f 100644 +index c21024a1e77..9a63e9bbaef 100644 --- a/configure.ac +++ b/configure.ac @@ -333,6 +333,9 @@ then diff --git a/recipe/patches/0010-Fix-TZPATH-on-windows.patch b/recipe/patches/0010-Fix-TZPATH-on-windows.patch index 3d6ad29f3..aeb319c9e 100644 --- a/recipe/patches/0010-Fix-TZPATH-on-windows.patch +++ b/recipe/patches/0010-Fix-TZPATH-on-windows.patch @@ -1,4 +1,4 @@ -From 630cb148ad55a8c366b0c4dd357faf0c99d3f133 Mon Sep 17 00:00:00 2001 +From 1848c4134c71cda587ff04bea02e59cb2347669d Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 7 Oct 2020 10:08:30 -0500 Subject: [PATCH 10/26] Fix TZPATH on windows 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 dd9587941..0aaf0cf25 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 9f173aa92e5bb529fd60991c42abb178f16b1e9a Mon Sep 17 00:00:00 2001 +From 387b71e1e8de72e8b88166e0a7cbdb79416acd53 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 25 Jan 2021 03:28:08 -0600 Subject: [PATCH 11/26] Make dyld search work with SYSTEM_VERSION_COMPAT=1 diff --git a/recipe/patches/0012-Unvendor-bzip2.patch b/recipe/patches/0012-Unvendor-bzip2.patch index fef372407..bc19267ae 100644 --- a/recipe/patches/0012-Unvendor-bzip2.patch +++ b/recipe/patches/0012-Unvendor-bzip2.patch @@ -1,4 +1,4 @@ -From b8da28d50e7830647b1069c3ee791914cf6eda1f Mon Sep 17 00:00:00 2001 +From 108f13f1274c37edc200c431e74f6d5de1f0472e Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 16 Aug 2021 02:56:27 -0700 Subject: [PATCH 12/26] Unvendor bzip2 diff --git a/recipe/patches/0013-Unvendor-libffi.patch b/recipe/patches/0013-Unvendor-libffi.patch index bc6439490..1e9516e69 100644 --- a/recipe/patches/0013-Unvendor-libffi.patch +++ b/recipe/patches/0013-Unvendor-libffi.patch @@ -1,4 +1,4 @@ -From 8fe13b763103443ad71be1c8be14764b1afa0b00 Mon Sep 17 00:00:00 2001 +From e12404f2f87ab519d56519e894798a020a31a50b Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Mon, 16 Aug 2021 03:07:40 -0700 Subject: [PATCH 13/26] Unvendor libffi diff --git a/recipe/patches/0014-Unvendor-tcltk.patch b/recipe/patches/0014-Unvendor-tcltk.patch index e178ca88f..8f882b629 100644 --- a/recipe/patches/0014-Unvendor-tcltk.patch +++ b/recipe/patches/0014-Unvendor-tcltk.patch @@ -1,4 +1,4 @@ -From 1a6e9fc3846eee64ffa9477fd0ca120ee19eac11 Mon Sep 17 00:00:00 2001 +From 224891042e975b4c534582fcb201f7b1510bb7ad Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 20 Aug 2021 10:23:51 -0700 Subject: [PATCH 14/26] Unvendor tcltk diff --git a/recipe/patches/0015-unvendor-xz.patch b/recipe/patches/0015-unvendor-xz.patch index d3c137422..6bfa48584 100644 --- a/recipe/patches/0015-unvendor-xz.patch +++ b/recipe/patches/0015-unvendor-xz.patch @@ -1,4 +1,4 @@ -From fae25b8b8186b60128621097ebe4922c0c1d33ae Mon Sep 17 00:00:00 2001 +From a49377ccaae2185b5ed4658d361725c32a3b5b67 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sat, 25 Sep 2021 10:07:05 -0700 Subject: [PATCH 15/26] unvendor xz diff --git a/recipe/patches/0016-unvendor-zlib.patch b/recipe/patches/0016-unvendor-zlib.patch index 6fd1848da..46015dc89 100644 --- a/recipe/patches/0016-unvendor-zlib.patch +++ b/recipe/patches/0016-unvendor-zlib.patch @@ -1,4 +1,4 @@ -From cb1c4b7ebe9936da5001437bcdd54f3f496ebdcd Mon Sep 17 00:00:00 2001 +From a20ff3cb121cccad86df60f0e6594b01cb16c97a Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 29 Sep 2021 15:21:55 -0700 Subject: [PATCH 16/26] unvendor zlib @@ -9,7 +9,7 @@ Subject: [PATCH 16/26] unvendor zlib 2 files changed, 4 insertions(+), 76 deletions(-) diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index 5bf342227ad..f0e8fa6aaad 100644 +index d1efe476439..62b762f8bdc 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -82,7 +82,7 @@ @@ -41,7 +41,7 @@ index 5bf342227ad..f0e8fa6aaad 100644 -@@ -691,12 +691,6 @@ +@@ -695,12 +695,6 @@ @@ -55,10 +55,10 @@ index 5bf342227ad..f0e8fa6aaad 100644 diff --git a/PCbuild/pythoncore.vcxproj.filters b/PCbuild/pythoncore.vcxproj.filters -index 247f4b5a784..00c8bd6e551 100644 +index 664788e69af..53665c076ac 100644 --- a/PCbuild/pythoncore.vcxproj.filters +++ b/PCbuild/pythoncore.vcxproj.filters -@@ -918,39 +918,6 @@ +@@ -921,39 +921,6 @@ Include\internal\mimalloc @@ -98,7 +98,7 @@ index 247f4b5a784..00c8bd6e551 100644 Include\internal -@@ -1607,39 +1574,6 @@ +@@ -1613,39 +1580,6 @@ Objects 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 e6499762e..32edaddb5 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 f8510f4e1d2f6adbe4d7ac28f039febf6ed7d144 Mon Sep 17 00:00:00 2001 +From f424f1bd6619a7134bb4543b52d36ed8af4b7aa6 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Wed, 16 Aug 2017 11:45:28 +0100 Subject: [PATCH 17/26] 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 f26e19a400a..24b4a5290e6 100755 +index 0595b8dc8c2..4f2966857ba 100755 --- a/configure +++ b/configure -@@ -5817,9 +5817,9 @@ if test $ac_test_CFLAGS; then +@@ -5824,9 +5824,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 f26e19a400a..24b4a5290e6 100755 fi else if test "$GCC" = yes; then -@@ -9612,7 +9612,7 @@ then +@@ -9619,7 +9619,7 @@ then if test "$Py_DEBUG" = 'true' ; then OPT="-g $PYDEBUG_CFLAGS -Wall" else @@ -35,7 +35,7 @@ index f26e19a400a..24b4a5290e6 100755 ;; *) diff --git a/configure.ac b/configure.ac -index b86228cea4f..095fd5fd9ea 100644 +index 9a63e9bbaef..854e66bedcb 100644 --- a/configure.ac +++ b/configure.ac @@ -2327,7 +2327,7 @@ then diff --git a/recipe/patches/0018-Unvendor-expat.patch b/recipe/patches/0018-Unvendor-expat.patch index d4ab77db8..1eaac615a 100644 --- a/recipe/patches/0018-Unvendor-expat.patch +++ b/recipe/patches/0018-Unvendor-expat.patch @@ -1,4 +1,4 @@ -From b795ea2453a53052d407c26c9f145731fed44580 Mon Sep 17 00:00:00 2001 +From a1019278bfabcbacd69bbbf62cba9b5e8edd5763 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 29 Mar 2023 23:07:10 -0500 Subject: [PATCH 18/26] Unvendor expat @@ -129,7 +129,7 @@ index a5368024cce..7cc8e9a3b9b 100644 \ No newline at end of file + diff --git a/PCbuild/pyexpat.vcxproj b/PCbuild/pyexpat.vcxproj -index 3bcef600a3e..ec5d4b64b3c 100644 +index 7a1d5942a6c..8bc1bcec7e8 100644 --- a/PCbuild/pyexpat.vcxproj +++ b/PCbuild/pyexpat.vcxproj @@ -90,23 +90,19 @@ @@ -138,7 +138,7 @@ index 3bcef600a3e..ec5d4b64b3c 100644 - $(PySourcePath)Modules\expat;%(AdditionalIncludeDirectories) + $(condaDir)\include;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;PYEXPAT_EXPORTS;XML_STATIC;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;XML_STATIC;%(PreprocessorDefinitions) /d1trimfile:%SRC_DIR% /d1trimfile:%SRC_DIR% /d1trimfile:%SRC_DIR% diff --git a/recipe/patches/0019-Remove-unused-readelf.patch b/recipe/patches/0019-Remove-unused-readelf.patch index 433bc0528..ca162a4d6 100644 --- a/recipe/patches/0019-Remove-unused-readelf.patch +++ b/recipe/patches/0019-Remove-unused-readelf.patch @@ -1,4 +1,4 @@ -From 256b1d81abd3c5643150824d234123f3530c9c16 Mon Sep 17 00:00:00 2001 +From dac34619b5be2dea6cff95887e8350716e1e4ca5 Mon Sep 17 00:00:00 2001 From: Charles Bousseau Date: Thu, 25 May 2023 17:56:53 -0400 Subject: [PATCH 19/26] 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 a6beb96d12a..a8207acf889 100644 +index 120a6add385..e39dfef95ae 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 ff60f22e6..dd578b035 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 512dd160fb94c23a16753e0cd7dd7720782cebf6 Mon Sep 17 00:00:00 2001 +From b5e14a23a5c91e6f7e14f923efed0ac803ef79f6 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Fri, 1 Sep 2023 23:32:14 +0200 Subject: [PATCH 20/26] Don't checksharedmods if cross-compiling @@ -10,10 +10,10 @@ Subject: [PATCH 20/26] Don't checksharedmods if cross-compiling create mode 100755 if_runnable.sh diff --git a/Makefile.pre.in b/Makefile.pre.in -index a8207acf889..0e694d378cb 100644 +index e39dfef95ae..109939cbc36 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1609,7 +1609,7 @@ checksharedmods: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON) +@@ -1615,7 +1615,7 @@ checksharedmods: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON) else \ $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/build/check_extension_modules.py --generate-missing-stdlib-info; \ fi diff --git a/recipe/patches/0021-Override-configure-LIBFFI.patch b/recipe/patches/0021-Override-configure-LIBFFI.patch index 476162470..502cd71e0 100644 --- a/recipe/patches/0021-Override-configure-LIBFFI.patch +++ b/recipe/patches/0021-Override-configure-LIBFFI.patch @@ -1,4 +1,4 @@ -From 175e7c2f9d1f1d183fc29047daf81b70ace54752 Mon Sep 17 00:00:00 2001 +From ff05e640d84cddc9fb18ae57b476fdbcc0a99c05 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 5 Sep 2023 21:51:31 +0200 Subject: [PATCH 21/26] Override configure LIBFFI @@ -8,10 +8,10 @@ Subject: [PATCH 21/26] Override configure LIBFFI 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure -index 24b4a5290e6..29bf868a17b 100755 +index 4f2966857ba..9f700232d40 100755 --- a/configure +++ b/configure -@@ -15303,7 +15303,7 @@ if test "x$ac_cv_lib_ffi_ffi_call" = xyes +@@ -15317,7 +15317,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 b41d1f6c2..0a24c8977 100644 --- a/recipe/patches/0022-Unvendor-libmpdec.patch +++ b/recipe/patches/0022-Unvendor-libmpdec.patch @@ -1,4 +1,4 @@ -From e2cd18e27083402da2c9898cf830af50a4abc812 Mon Sep 17 00:00:00 2001 +From b713152ab14c7df7ed3ea0e2b963c263e2a46eef Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Fri, 16 Aug 2024 21:34:43 -0500 Subject: [PATCH 22/26] Unvendor libmpdec diff --git a/recipe/patches/0023-Brand-conda-forge.patch b/recipe/patches/0023-Brand-conda-forge.patch index d1adb62dd..bf3e53476 100644 --- a/recipe/patches/0023-Brand-conda-forge.patch +++ b/recipe/patches/0023-Brand-conda-forge.patch @@ -1,4 +1,4 @@ -From dfc270d853e31e8f6fd77fcbf4cee5903153e9ed Mon Sep 17 00:00:00 2001 +From a5f26fdd98167ffbcfd64502e85c6cbac3a4638c Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Wed, 28 Aug 2024 11:12:22 -0500 Subject: [PATCH 23/26] Brand conda-forge @@ -9,7 +9,7 @@ Subject: [PATCH 23/26] Brand conda-forge 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/platform.py b/Lib/platform.py -index b342ceec761..201abdda7ab 100644 +index 2401eff96df..69808d58586 100644 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -1146,6 +1146,7 @@ def _sys_version(sys_version=None): 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 a53ca95c2..39d08ce32 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 2a47d939b009483e82dd373c9416227e67478334 Mon Sep 17 00:00:00 2001 +From 3076bdfe11bc89567638c0ff669a8ad817dd759b Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sun, 12 Jan 2025 10:37:29 +0530 Subject: [PATCH 24/26] Do not define pid_t as it might conflict with the @@ -30,7 +30,7 @@ index 6313abf5485..bc8169e2f68 100644 module _testcapi [clinic start generated code]*/ diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c -index c14f925b4e7..9d2064d3252 100644 +index c0ab35cda19..af073445222 100644 --- a/Modules/_testcapimodule.c +++ b/Modules/_testcapimodule.c @@ -23,6 +23,10 @@ @@ -60,7 +60,7 @@ index 34bc7331da9..abae4b19bf0 100644 module _testlimitedcapi [clinic start generated code]*/ diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h -index d880fc52bb3..ec0e9c0b13e 100644 +index ad4c5dd1c9b..0053e527fe7 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -10,6 +10,10 @@ preserve @@ -75,7 +75,7 @@ index d880fc52bb3..ec0e9c0b13e 100644 "stat($module, /, path, *, dir_fd=None, follow_symlinks=True)\n" "--\n" diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index 221cfc5a934..6be30793a58 100644 +index aa3d682a19b..102ba435d86 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -220,6 +220,7 @@ @@ -100,7 +100,7 @@ index a126fca6f5a..8332de4afb4 100644 #if _MSC_VER >= 1200 /* This file only exists in VC 6.0 or higher */ diff --git a/Python/remote_debug.h b/Python/remote_debug.h -index d3932a3fd1e..6346deb9f49 100644 +index 7628fb04ba5..398c91c0470 100644 --- a/Python/remote_debug.h +++ b/Python/remote_debug.h @@ -28,6 +28,9 @@ extern "C" { diff --git a/recipe/patches/0025-Unvendor-zstd.patch b/recipe/patches/0025-Unvendor-zstd.patch index 4fbbb0fc2..d258ba066 100644 --- a/recipe/patches/0025-Unvendor-zstd.patch +++ b/recipe/patches/0025-Unvendor-zstd.patch @@ -1,4 +1,4 @@ -From b6c16c900f6aaae919cc04856723d199097c1f5b Mon Sep 17 00:00:00 2001 +From afc1b0812b94fbb4ada518031f0c518c526f932e Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Tue, 22 Jul 2025 18:07:54 +0200 Subject: [PATCH 25/26] Unvendor zstd diff --git a/recipe/patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch b/recipe/patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch index c4451976c..523b2d3c1 100644 --- a/recipe/patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch +++ b/recipe/patches/0026-Set-Py_GIL_DISABLED-in-windows-to-match-unix.patch @@ -1,4 +1,4 @@ -From 9efaededaf799dd06bbd0972be4fc4569c16a8c8 Mon Sep 17 00:00:00 2001 +From 6a769cac72e65980185dbc12c76655656fea19ad Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Tue, 2 Dec 2025 09:46:56 -0800 Subject: [PATCH 26/26] Set Py_GIL_DISABLED in windows to match unix From cceff208ba7e5f80b532772137d085af5bc91a79 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Mon, 16 Mar 2026 16:28:01 +0100 Subject: [PATCH 15/24] MNT: Re-rendered with conda-smithy 3.56.3 and conda-forge-pinning 2026.03.16.13.44.37 Other tools: - conda-build 26.1.0 - rattler-build 0.58.4 - rattler-build-conda-compat 1.4.11 --- .azure-pipelines/azure-pipelines-osx.yml | 10 +++++++++- ...da-forge_python_dev_debugfreethreadingno.yaml | 4 ++-- ...a-forge_python_dev_debugfreethreadingyes.yaml | 4 ++-- ...etsconda-forge_python_devfreethreadingno.yaml | 4 ++-- ...tsconda-forge_python_devfreethreadingyes.yaml | 4 ++-- .github/workflows/conda-build.yml | 15 +++++++++++++++ .scripts/build_steps.sh | 1 + LICENSE.txt | 3 +-- README.md | 16 ++++++++-------- azure-pipelines.yml | 2 +- build-locally.py | 8 +------- 11 files changed, 44 insertions(+), 27 deletions(-) create mode 100644 .github/workflows/conda-build.yml diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index 255b6a9c5..f7f2a778f 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,33 +5,41 @@ jobs: - job: osx pool: - vmImage: macOS-15 + vmImage: $(VMIMAGE) strategy: matrix: osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno: CONFIG: osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15 osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes: CONFIG: osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15 osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno: CONFIG: osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15 osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes: CONFIG: osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15 osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno: CONFIG: osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15 osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes: CONFIG: osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15 osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno: CONFIG: osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15 osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes: CONFIG: osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes UPLOAD_PACKAGES: 'True' + VMIMAGE: macOS-15 timeoutInMinutes: 360 variables: {} diff --git a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml index 5a3a6ffa5..eb477a3f6 100644 --- a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml +++ b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.13' +- '11.0' MACOSX_SDK_VERSION: - '11.0' build_type: @@ -13,7 +13,7 @@ c_compiler_version: c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.13' +- '11.0' channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: diff --git a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml index d5efeafa4..95124a5f3 100644 --- a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml +++ b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.13' +- '11.0' MACOSX_SDK_VERSION: - '11.0' build_type: @@ -13,7 +13,7 @@ c_compiler_version: c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.13' +- '11.0' channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: diff --git a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml index e0138f85f..a875cde41 100644 --- a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml +++ b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.13' +- '11.0' MACOSX_SDK_VERSION: - '11.0' build_type: @@ -13,7 +13,7 @@ c_compiler_version: c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.13' +- '11.0' channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: diff --git a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml index 21d6b3ca9..c8b0b8e56 100644 --- a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml +++ b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes.yaml @@ -1,5 +1,5 @@ MACOSX_DEPLOYMENT_TARGET: -- '10.13' +- '11.0' MACOSX_SDK_VERSION: - '11.0' build_type: @@ -13,7 +13,7 @@ c_compiler_version: c_stdlib: - macosx_deployment_target c_stdlib_version: -- '10.13' +- '11.0' channel_sources: - conda-forge/label/python_rc,conda-forge channel_targets: diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml new file mode 100644 index 000000000..b4e6e61b9 --- /dev/null +++ b/.github/workflows/conda-build.yml @@ -0,0 +1,15 @@ +# This file was generated automatically from conda-smithy. To update this configuration, +# update the conda-forge.yml and/or the recipe/meta.yaml. +# -*- mode: yaml -*- + +name: Build conda package +on: + workflow_dispatch: + +jobs: + build: + name: Disabled build + runs-on: ubuntu-slim + if: false + steps: + - run: exit 0 diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index 780a358ff..be060cb03 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -20,6 +20,7 @@ export PYTHONUNBUFFERED=1 export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}" export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support" export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" +export RATTLER_CACHE_DIR="${FEEDSTOCK_ROOT}/build_artifacts/pkg_cache" cat >~/.condarc < Date: Mon, 16 Mar 2026 16:30:31 +0100 Subject: [PATCH 16/24] Fix clash between folders in lib and usable libraries --- ...3-Fix-find_library-so-that-it-looks-in-sys.prefix-lib-.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 c398546f1..a3f9e58dc 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 @@ -47,7 +47,7 @@ index 3b21658433b..ecd2c6cbd9c 100644 + return None + for fullname in (name, "lib%s.so" % (name)): + path = os.path.join(sys.prefix, 'lib', fullname) -+ if os.path.exists(path): ++ if os.path.exists(path) and not os.path.isdir(path): + return path + return None + From 1a1a4251de3cf1e7e0fdbfe17259ca5132d6b85c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 17 Apr 2026 17:07:07 +0200 Subject: [PATCH 17/24] Bump to 3.15.0a8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- recipe/meta.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 76a3853cf..fc790a50a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "3.15.0" %} -{% set dev = "a7" %} +{% set dev = "a8" %} {% set dev_ = "" %} {% set ver2 = '.'.join(version.split('.')[0:2]) %} {% set ver2nd = ''.join(version.split('.')[0:2]) %} @@ -45,8 +45,8 @@ package: source: - url: https://www.python.org/ftp/python/{{ version }}/Python-{{ version }}{{ dev }}.tar.xz - # md5 from: https://www.python.org/downloads/release/python-{{ ver3nd }}{{ dev }}/ - md5: 76b680750285a243d63dec8374b70818 + # sha256 from: https://www.python.org/downloads/release/python-{{ ver3nd }}{{ dev }}/ + sha256: 28f1b6358609042ebcc81488ec24569519f50804bb07dc23cc707b281b031c69 patches: - patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch - patches/0002-Win32-Do-not-download-externals.patch From bc7a609f6249d06b2f002ec82d617d8cb9318cf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 17 Apr 2026 17:07:35 +0200 Subject: [PATCH 18/24] MNT: Re-rendered with conda-smithy 3.60.0 and conda-forge-pinning 2026.04.17.03.21.26 Other tools: - conda-build 26.3.0 - rattler-build 0.62.0 - rattler-build-conda-compat 1.4.12 --- .azure-pipelines/azure-pipelines-linux.yml | 88 ------------ .github/workflows/conda-build.yml | 160 ++++++++++++++++++++- .scripts/run_docker_build.sh | 33 ++++- README.md | 16 +-- azure-pipelines.yml | 1 - 5 files changed, 190 insertions(+), 108 deletions(-) delete mode 100755 .azure-pipelines/azure-pipelines-linux.yml diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml deleted file mode 100755 index 2ba753abe..000000000 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ /dev/null @@ -1,88 +0,0 @@ -# This file was generated automatically from conda-smithy. To update this configuration, -# update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- - -jobs: -- job: linux - pool: - vmImage: ubuntu-latest - strategy: - matrix: - linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno: - CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes: - CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno: - CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes: - CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno: - CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes: - CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno: - CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes: - CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno: - CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes: - CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno: - CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes: - CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - timeoutInMinutes: 360 - variables: {} - - steps: - # configure qemu binfmt-misc running. This allows us to run docker containers - # embedded qemu-static - - script: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes - ls /proc/sys/fs/binfmt_misc/ - condition: not(startsWith(variables['CONFIG'], 'linux_64')) - displayName: Configure binfmt_misc - - - script: | - export CI=azure - export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) - export remote_url=$(Build.Repository.Uri) - export sha=$(Build.SourceVersion) - export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME - export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) - if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then - export IS_PR_BUILD="True" - else - export IS_PR_BUILD="False" - fi - .scripts/run_docker_build.sh - displayName: Run docker build - env: - BINSTAR_TOKEN: $(BINSTAR_TOKEN) - FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) - STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index b4e6e61b9..cf09c9150 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -4,12 +4,162 @@ name: Build conda package on: - workflow_dispatch: + push: + + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} + cancel-in-progress: true jobs: build: - name: Disabled build - runs-on: ubuntu-slim - if: false + name: ${{ matrix.CONFIG }} + runs-on: ${{ matrix.runs_on }} + timeout-minutes: 360 + strategy: + fail-fast: false + max-parallel: 50 + matrix: + include: + - CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['ubuntu-latest'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 steps: - - run: exit 0 + + - name: Checkout code + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - name: Build on Linux + id: build-linux + if: matrix.os == 'ubuntu' + env: + CONFIG: ${{ matrix.CONFIG }} + UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} + DOCKER_IMAGE: ${{ matrix.DOCKER_IMAGE }} + CI: github_actions + CONDA_FORGE_DOCKER_RUN_ARGS: "${{ matrix.CONDA_FORGE_DOCKER_RUN_ARGS }}" + BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} + FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} + STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} + shell: bash + run: | + if [[ "$(uname -m)" == "x86_64" ]]; then + echo "::group::Configure binfmt_misc" + docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes + fi + export flow_run_id="github_$GITHUB_RUN_ID" + export remote_url="https://github.com/$GITHUB_REPOSITORY" + export sha="$GITHUB_SHA" + export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" + export GIT_BRANCH="$(basename $GITHUB_REF)" + if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then + export IS_PR_BUILD="True" + else + export IS_PR_BUILD="False" + fi + echo "::endgroup::" + ./.scripts/run_docker_build.sh + + - name: Build on macOS + id: build-macos + if: matrix.os == 'macos' + env: + CONFIG: ${{ matrix.CONFIG }} + UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} + CI: github_actions + BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} + FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} + STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} + shell: bash + run: | + export flow_run_id="github_$GITHUB_RUN_ID" + export remote_url="https://github.com/$GITHUB_REPOSITORY" + export sha="$GITHUB_SHA" + export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" + export GIT_BRANCH="$(basename $GITHUB_REF)" + if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then + export IS_PR_BUILD="True" + else + export IS_PR_BUILD="False" + fi + ./.scripts/run_osx_build.sh + + - name: Build on windows + id: build-windows + if: matrix.os == 'windows' + shell: cmd + run: | + set "flow_run_id=github_%GITHUB_RUN_ID%" + set "remote_url=https://github.com/%GITHUB_REPOSITORY%" + set "sha=%GITHUB_SHA%" + call ".scripts\run_win_build.bat" + env: + # default value; make it explicit, as it needs to match with artefact + # generation below. Not configurable for now, can be revisited later + CONDA_BLD_DIR: C:\bld + MINIFORGE_HOME: ${{ contains(runner.arch, 'ARM') && 'C' || 'D' }}:\Miniforge + PYTHONUNBUFFERED: 1 + CONFIG: ${{ matrix.CONFIG }} + CI: github_actions + UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} + BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} + FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} + STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} \ No newline at end of file diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index b63b5a05a..10d6a2af9 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -11,6 +11,8 @@ source .scripts/logging_utils.sh set -xeo pipefail +DOCKER_EXECUTABLE="${DOCKER_EXECUTABLE:-docker}" + THISDIR="$( cd "$( dirname "$0" )" >/dev/null && pwd )" PROVIDER_DIR="$(basename "$THISDIR")" @@ -27,7 +29,7 @@ if [[ "${sha:-}" == "" ]]; then popd fi -docker info +${DOCKER_EXECUTABLE} info # In order for the conda-build process in the container to write to the mounted # volumes, we need to run with the same id as the host machine, which is @@ -35,6 +37,7 @@ docker info export HOST_USER_ID=$(id -u) # Check if docker-machine is being used (normally on OSX) and get the uid from # the VM + if hash docker-machine 2> /dev/null && docker-machine active > /dev/null; then export HOST_USER_ID=$(docker-machine ssh $(docker-machine active) id -u) fi @@ -76,16 +79,34 @@ if [ -z "${CI}" ]; then DOCKER_RUN_ARGS="-it ${DOCKER_RUN_ARGS}" fi -( endgroup "Configure Docker" ) 2> /dev/null +# Default volume suffix for Docker (preserve original behavior) +VOLUME_SUFFIX=",z" +# Podman-specific handling +if [ "${DOCKER_EXECUTABLE}" = "podman" ]; then + # Fix file permissions for rootless podman builds + podman unshare chown -R ${HOST_USER_ID}:${HOST_USER_ID} "${ARTIFACTS}" + podman unshare chown -R ${HOST_USER_ID}:${HOST_USER_ID} "${RECIPE_ROOT}" + + # Add SELinux label only if enforcing + if command -v getenforce &>/dev/null && [ "$(getenforce)" = "Enforcing" ]; then + VOLUME_SUFFIX=",z" + else + VOLUME_SUFFIX="" + fi +fi + +( endgroup "Configure Docker" ) 2> /dev/null ( startgroup "Start Docker" ) 2> /dev/null export UPLOAD_PACKAGES="${UPLOAD_PACKAGES:-True}" export IS_PR_BUILD="${IS_PR_BUILD:-False}" -docker pull "${DOCKER_IMAGE}" -docker run ${DOCKER_RUN_ARGS} \ - -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw,z,delegated \ - -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw,z,delegated \ + +${DOCKER_EXECUTABLE} pull "${DOCKER_IMAGE}" + +${DOCKER_EXECUTABLE} run ${DOCKER_RUN_ARGS} \ + -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw${VOLUME_SUFFIX},delegated \ + -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw${VOLUME_SUFFIX},delegated \ -e CONFIG \ -e HOST_USER_ID \ -e UPLOAD_PACKAGES \ diff --git a/README.md b/README.md index c024120af..c190c2a10 100644 --- a/README.md +++ b/README.md @@ -236,14 +236,14 @@ Current release info Installing python ================= -Installing `python` from the `conda-forge/label/python_dev` channel can be achieved by adding `conda-forge/label/python_dev` to your channels with: +Installing `python` from the `conda-forge/label/python_dev_debug` channel can be achieved by adding `conda-forge/label/python_dev_debug` to your channels with: ``` -conda config --add channels conda-forge/label/python_dev +conda config --add channels conda-forge/label/python_dev_debug conda config --set channel_priority strict ``` -Once the `conda-forge/label/python_dev` channel has been enabled, `cpython, libpython, libpython-static, python, python-freethreading, python-gil, python-jit` can be installed with `conda`: +Once the `conda-forge/label/python_dev_debug` channel has been enabled, `cpython, libpython, libpython-static, python, python-freethreading, python-gil, python-jit` can be installed with `conda`: ``` conda install cpython libpython libpython-static python python-freethreading python-gil python-jit @@ -258,26 +258,26 @@ mamba install cpython libpython libpython-static python python-freethreading pyt It is possible to list all of the versions of `cpython` available on your platform with `conda`: ``` -conda search cpython --channel conda-forge/label/python_dev +conda search cpython --channel conda-forge/label/python_dev_debug ``` or with `mamba`: ``` -mamba search cpython --channel conda-forge/label/python_dev +mamba search cpython --channel conda-forge/label/python_dev_debug ``` Alternatively, `mamba repoquery` may provide more information: ``` # Search all versions available on your platform: -mamba repoquery search cpython --channel conda-forge/label/python_dev +mamba repoquery search cpython --channel conda-forge/label/python_dev_debug # List packages depending on `cpython`: -mamba repoquery whoneeds cpython --channel conda-forge/label/python_dev +mamba repoquery whoneeds cpython --channel conda-forge/label/python_dev_debug # List dependencies of `cpython`: -mamba repoquery depends cpython --channel conda-forge/label/python_dev +mamba repoquery depends cpython --channel conda-forge/label/python_dev_debug ``` diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 438c19be3..03594e446 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -28,6 +28,5 @@ stages: condition: and(succeeded(), eq(dependencies.Check.outputs['Skip.result.start_main'], 'true')) dependsOn: Check jobs: - - template: ./.azure-pipelines/azure-pipelines-linux.yml - template: ./.azure-pipelines/azure-pipelines-osx.yml - template: ./.azure-pipelines/azure-pipelines-win.yml \ No newline at end of file From 00ccfcba23166bbb48d26800221379ae376059f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Fri, 17 Apr 2026 17:16:38 +0200 Subject: [PATCH 19/24] Reset the build number MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index fc790a50a..a3a4579bf 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -4,7 +4,7 @@ {% set ver2 = '.'.join(version.split('.')[0:2]) %} {% set ver2nd = ''.join(version.split('.')[0:2]) %} {% set ver3nd = ''.join(version.split('.')[0:3]) %} -{% set build_number = 1 %} +{% set build_number = 0 %} # this makes the linter happy {% set channel_targets = channel_targets or 'conda-forge main' %} From d2ba5b97a9dfccc9bf5cc1affeae4e3b3ab2c975 Mon Sep 17 00:00:00 2001 From: Mike Henry <11765982+mikemhenry@users.noreply.github.com> Date: Tue, 16 Jun 2026 15:05:52 -0700 Subject: [PATCH 20/24] Bump to 3.15.0b2 --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index a3a4579bf..764c4782b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "3.15.0" %} -{% set dev = "a8" %} +{% set dev = "b2" %} {% set dev_ = "" %} {% set ver2 = '.'.join(version.split('.')[0:2]) %} {% set ver2nd = ''.join(version.split('.')[0:2]) %} @@ -46,7 +46,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: 28f1b6358609042ebcc81488ec24569519f50804bb07dc23cc707b281b031c69 + sha256: d14f474ab679e90bc734b02ff58447b6ec99a821af61d6ff0c1da0f86e341a71 patches: - patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch - patches/0002-Win32-Do-not-download-externals.patch From b4b22c7cc942c898fc5a5507a6ea6158f05c1489 Mon Sep 17 00:00:00 2001 From: "conda-forge-webservices[bot]" <91080706+conda-forge-webservices[bot]@users.noreply.github.com> Date: Tue, 16 Jun 2026 22:09:55 +0000 Subject: [PATCH 21/24] MNT: Re-rendered with conda-smithy 2026.6.14 and conda-forge-pinning 2026.06.16.09.36.5 --- .azure-pipelines/azure-pipelines-osx.yml | 56 +++++++- .azure-pipelines/azure-pipelines-win.yml | 27 ++-- .ci_support/README | 0 .gitattributes | 0 .github/workflows/conda-build.yml | 160 ++++++++++++++++++----- .gitignore | 1 + .scripts/build_steps.sh | 29 +++- .scripts/logging_utils.sh | 0 .scripts/run_docker_build.sh | 25 +++- .scripts/run_osx_build.sh | 4 +- .scripts/run_win_build.bat | 2 +- LICENSE.txt | 0 README.md | 121 ++--------------- build-locally.py | 5 +- 14 files changed, 256 insertions(+), 174 deletions(-) mode change 100644 => 100755 .ci_support/README mode change 100644 => 100755 .gitattributes mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .scripts/logging_utils.sh mode change 100644 => 100755 LICENSE.txt diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index f7f2a778f..079a8ddc0 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -12,34 +12,82 @@ jobs: CONFIG: osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false + store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes: CONFIG: osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false + store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno: CONFIG: osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false + store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes: CONFIG: osx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false + store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno: CONFIG: osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false + store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes: CONFIG: osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false + store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno: CONFIG: osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false + store_build_artifacts: false + tools_install_dir: ~/miniforge3 osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes: CONFIG: osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes UPLOAD_PACKAGES: 'True' VMIMAGE: macOS-15 + build_workspace_dir: ~/miniforge3/conda-bld + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false + store_build_artifacts: false + tools_install_dir: ~/miniforge3 timeoutInMinutes: 360 variables: {} @@ -47,12 +95,14 @@ jobs: # TODO: Fast finish on azure pipelines? - script: | export CI=azure + export CONDA_BLD_PATH=$(build_workspace_dir) + export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) + export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME + export MINIFORGE_HOME=$(tools_install_dir) + export OSX_FORCE_SDK_DOWNLOAD="1" export flow_run_id=azure_$(Build.BuildNumber).$(System.JobAttempt) export remote_url=$(Build.Repository.Uri) export sha=$(Build.SourceVersion) - export OSX_FORCE_SDK_DOWNLOAD="1" - export GIT_BRANCH=$BUILD_SOURCEBRANCHNAME - export FEEDSTOCK_NAME=$(basename ${BUILD_REPOSITORY_NAME}) if [[ "${BUILD_REASON:-}" == "PullRequest" ]]; then export IS_PR_BUILD="True" else diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index d5d5b9980..9c4f923eb 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -11,31 +11,40 @@ jobs: win_64_freethreadingno: CONFIG: win_64_freethreadingno UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false + store_build_artifacts: false + tools_install_dir: D:\Miniforge win_64_freethreadingyes: CONFIG: win_64_freethreadingyes UPLOAD_PACKAGES: 'True' + build_workspace_dir: D:\\bld\\ + free_disk_space: skip + pagefile_size: 0 + resize_partitions: false + store_build_artifacts: false + tools_install_dir: D:\Miniforge timeoutInMinutes: 360 variables: - CONDA_BLD_PATH: D:\\bld\\ - MINIFORGE_HOME: D:\Miniforge UPLOAD_TEMP: D:\\tmp steps: - - script: | call ".scripts\run_win_build.bat" displayName: Run Windows build env: - MINIFORGE_HOME: $(MINIFORGE_HOME) - CONDA_BLD_PATH: $(CONDA_BLD_PATH) - PYTHONUNBUFFERED: 1 - CONFIG: $(CONFIG) CI: azure + CONFIG: $(CONFIG) + CONDA_BLD_PATH: $(build_workspace_dir) + MINIFORGE_HOME: $(tools_install_dir) + PYTHONUNBUFFERED: 1 + UPLOAD_PACKAGES: $(UPLOAD_PACKAGES) + UPLOAD_TEMP: $(UPLOAD_TEMP) flow_run_id: azure_$(Build.BuildNumber).$(System.JobAttempt) remote_url: $(Build.Repository.Uri) sha: $(Build.SourceVersion) - UPLOAD_PACKAGES: $(UPLOAD_PACKAGES) - UPLOAD_TEMP: $(UPLOAD_TEMP) BINSTAR_TOKEN: $(BINSTAR_TOKEN) FEEDSTOCK_TOKEN: $(FEEDSTOCK_TOKEN) STAGING_BINSTAR_TOKEN: $(STAGING_BINSTAR_TOKEN) diff --git a/.ci_support/README b/.ci_support/README old mode 100644 new mode 100755 diff --git a/.gitattributes b/.gitattributes old mode 100644 new mode 100755 diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index cf09c9150..51b9029c7 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -23,118 +23,216 @@ jobs: matrix: include: - CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 - CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + STORE_BUILD_ARTIFACTS: False UPLOAD_PACKAGES: True + build_workspace_dir: build_artifacts + docker_run_args: + free_disk_space: skip os: ubuntu + pagefile_size: 0 + resize_partitions: False runs_on: ['ubuntu-latest'] - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + tools_install_dir: ~/miniforge3 steps: - name: Checkout code uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - name: Configure binfmt_misc + if: matrix.os == 'ubuntu' + shell: bash + run: | + if [[ "$(uname -m)" == "x86_64" ]]; then + docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes + fi - name: Build on Linux id: build-linux if: matrix.os == 'ubuntu' env: + CI: github_actions + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} + CONDA_FORGE_DOCKER_RUN_ARGS: ${{ matrix.docker_run_args }} CONFIG: ${{ matrix.CONFIG }} - UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} DOCKER_IMAGE: ${{ matrix.DOCKER_IMAGE }} - CI: github_actions - CONDA_FORGE_DOCKER_RUN_ARGS: "${{ matrix.CONDA_FORGE_DOCKER_RUN_ARGS }}" + UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} + RATTLER_BUILD_COLOR: always + RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION: 'true' BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} shell: bash run: | - if [[ "$(uname -m)" == "x86_64" ]]; then - echo "::group::Configure binfmt_misc" - docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes - fi + export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}" + export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" + export GIT_BRANCH="$(basename $GITHUB_REF)" + export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}" export flow_run_id="github_$GITHUB_RUN_ID" export remote_url="https://github.com/$GITHUB_REPOSITORY" export sha="$GITHUB_SHA" - export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" - export GIT_BRANCH="$(basename $GITHUB_REF)" if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then export IS_PR_BUILD="True" else export IS_PR_BUILD="False" fi - echo "::endgroup::" ./.scripts/run_docker_build.sh - name: Build on macOS id: build-macos if: matrix.os == 'macos' env: + CI: github_actions + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} CONFIG: ${{ matrix.CONFIG }} + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} - CI: github_actions + RATTLER_BUILD_COLOR: always + RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION: 'true' BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} shell: bash run: | + export CONDA_BLD_PATH="${CONDA_BLD_PATH/#~/${HOME}}" + export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" + export GIT_BRANCH="$(basename $GITHUB_REF)" + export MINIFORGE_HOME="${MINIFORGE_HOME/#~/${HOME}}" export flow_run_id="github_$GITHUB_RUN_ID" export remote_url="https://github.com/$GITHUB_REPOSITORY" export sha="$GITHUB_SHA" - export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)" - export GIT_BRANCH="$(basename $GITHUB_REF)" if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then export IS_PR_BUILD="True" else @@ -152,14 +250,14 @@ jobs: set "sha=%GITHUB_SHA%" call ".scripts\run_win_build.bat" env: - # default value; make it explicit, as it needs to match with artefact - # generation below. Not configurable for now, can be revisited later - CONDA_BLD_DIR: C:\bld - MINIFORGE_HOME: ${{ contains(runner.arch, 'ARM') && 'C' || 'D' }}:\Miniforge - PYTHONUNBUFFERED: 1 - CONFIG: ${{ matrix.CONFIG }} CI: github_actions + CONDA_BLD_PATH: ${{ matrix.build_workspace_dir }} + CONFIG: ${{ matrix.CONFIG }} + MINIFORGE_HOME: ${{ matrix.tools_install_dir }} + PYTHONUNBUFFERED: 1 UPLOAD_PACKAGES: ${{ matrix.UPLOAD_PACKAGES }} + RATTLER_BUILD_COLOR: always + RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION: 'true' BINSTAR_TOKEN: ${{ secrets.BINSTAR_TOKEN }} FEEDSTOCK_TOKEN: ${{ secrets.FEEDSTOCK_TOKEN }} STAGING_BINSTAR_TOKEN: ${{ secrets.STAGING_BINSTAR_TOKEN }} \ No newline at end of file diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index 47b5408a8..86a9c55b4 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ # Ignore all files and folders in root * !/conda-forge.yml +!.recipe_maintainers.json # Don't ignore any files/folders if the parent folder is 'un-ignored' # This also avoids warnings when adding an already-checked file with an ignored parent. diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index be060cb03..5c97f7442 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -36,7 +36,7 @@ mv /opt/conda/conda-meta/history /opt/conda/conda-meta/history.$(date +%Y-%m-%d- echo > /opt/conda/conda-meta/history micromamba install --root-prefix ~/.conda --prefix /opt/conda \ --yes --override-channels --channel conda-forge --strict-channel-priority \ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=26.3" export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 # set up the condarc @@ -61,18 +61,33 @@ if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then fi if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then - if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then - EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" - fi - conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + # differences between conda-build vs. rattler-build + # - 1 step (conda debug + manually open shell) vs. 2 step (rb debug {setup, shell}) + # - recipe is positional vs. --recipe "${RECIPE_ROOT}" + # - --output-id vs. --output-name + # - --clobber-file vs. none + # - none vs. --target-platform + conda debug \ + "${RECIPE_ROOT}" \ + -m "${CI_SUPPORT}/${CONFIG}.yaml" \ ${EXTRA_CB_OPTIONS:-} \ + ${BUILD_OUTPUT_ID:+--output-id "${BUILD_OUTPUT_ID}"} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" # Drop into an interactive shell /bin/bash else - conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --suppress-variables ${EXTRA_CB_OPTIONS:-} \ + # differences between conda-build vs. rattler-build + # - recipe is positional vs. --recipe "${RECIPE_ROOT}" + # - --suppress-variables vs. none + # - --clobber-file vs. none + # - none vs. --target-platform + # - --extra-meta a=b c=d vs. --extra-meta a=b --extra-meta c=d + conda-build \ + "${RECIPE_ROOT}" \ + -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --suppress-variables \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" ( startgroup "Inspecting artifacts" ) 2> /dev/null diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh old mode 100644 new mode 100755 diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index 10d6a2af9..17d983f11 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -96,6 +96,14 @@ if [ "${DOCKER_EXECUTABLE}" = "podman" ]; then fi fi +# When running on GitHub Actions, mount the step summary file into the container +# and point GITHUB_STEP_SUMMARY at it so that rattler-build's GitHub integration +# can write its summary. GitHub writes the file out to the job summary after the +# step finishes. +if [[ -n "${GITHUB_STEP_SUMMARY:-}" ]]; then + DOCKER_RUN_ARGS="${DOCKER_RUN_ARGS} -v ${GITHUB_STEP_SUMMARY}:/home/conda/github_step_summary:rw${VOLUME_SUFFIX},delegated -e GITHUB_STEP_SUMMARY=/home/conda/github_step_summary" +fi + ( endgroup "Configure Docker" ) 2> /dev/null ( startgroup "Start Docker" ) 2> /dev/null @@ -107,17 +115,20 @@ ${DOCKER_EXECUTABLE} pull "${DOCKER_IMAGE}" ${DOCKER_EXECUTABLE} run ${DOCKER_RUN_ARGS} \ -v "${RECIPE_ROOT}":/home/conda/recipe_root:rw${VOLUME_SUFFIX},delegated \ -v "${FEEDSTOCK_ROOT}":/home/conda/feedstock_root:rw${VOLUME_SUFFIX},delegated \ + -e BUILD_OUTPUT_ID \ + -e BUILD_WITH_CONDA_DEBUG \ + -e CI \ -e CONFIG \ + -e CPU_COUNT \ + -e FEEDSTOCK_NAME \ + -e GIT_BRANCH \ + -e GITHUB_ACTIONS \ -e HOST_USER_ID \ - -e UPLOAD_PACKAGES \ -e IS_PR_BUILD \ - -e GIT_BRANCH \ + -e RATTLER_BUILD_COLOR \ + -e RATTLER_BUILD_ENABLE_GITHUB_INTEGRATION \ -e UPLOAD_ON_BRANCH \ - -e CI \ - -e FEEDSTOCK_NAME \ - -e CPU_COUNT \ - -e BUILD_WITH_CONDA_DEBUG \ - -e BUILD_OUTPUT_ID \ + -e UPLOAD_PACKAGES \ -e flow_run_id \ -e remote_url \ -e sha \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index bac7141a9..b0eda55cd 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -26,7 +26,7 @@ chmod +x "${micromamba_exe}" echo "Creating environment" "${micromamba_exe}" create --yes --root-prefix "${MAMBA_ROOT_PREFIX}" --prefix "${MINIFORGE_HOME}" \ --channel conda-forge \ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=26.3" echo "Moving pkgs cache from ${MAMBA_ROOT_PREFIX} to ${MINIFORGE_HOME}" mv "${MAMBA_ROOT_PREFIX}/pkgs" "${MINIFORGE_HOME}" echo "Cleaning up micromamba" @@ -73,7 +73,7 @@ if [[ "${OSX_SDK_DIR:-}" == "" ]]; then /usr/bin/sudo chown "${USER}" "${OSX_SDK_DIR}" fi else - if tmpf=$(mktemp -p "$OSX_SDK_DIR" tmp.XXXXXXXX 2>/dev/null); then + if tmpf=$(mktemp "$OSX_SDK_DIR"/tmp.XXXXXXXX 2>/dev/null); then rm -f "$tmpf" echo "OSX_SDK_DIR is writeable without sudo, continuing" else diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 27c552b1a..c07d98e61 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -31,7 +31,7 @@ if !errorlevel! neq 0 exit /b !errorlevel! echo Creating environment call "%MICROMAMBA_EXE%" create --yes --root-prefix "%MAMBA_ROOT_PREFIX%" --prefix "%MINIFORGE_HOME%" ^ --channel conda-forge ^ - pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=24.1" + pip python=3.12 conda-build conda-forge-ci-setup=4 "conda-build>=26.3" if !errorlevel! neq 0 exit /b !errorlevel! echo Removing %MAMBA_ROOT_PREFIX% del /S /Q "%MAMBA_ROOT_PREFIX%" >nul diff --git a/LICENSE.txt b/LICENSE.txt old mode 100644 new mode 100755 diff --git a/README.md b/README.md index c190c2a10..845d26cdc 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,14 @@ Current build status ==================== -
VariantStatus
linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingnolinux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno - variant + variant
linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyeslinux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes - variant + variant
linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingnolinux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno - variant + variant
linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyeslinux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes - variant + variant
linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingnolinux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno - variant + variant
linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyeslinux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes - variant + variant
linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingnolinux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno - variant + variant
linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyeslinux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes - variant + variant
linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingnolinux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno - variant + variant
linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyeslinux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes - variant + variant
linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingnolinux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno - variant + variant
linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyeslinux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes - variant + variant
osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingnoosx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno - variant + variant
osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyesosx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes - variant + variant
osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingnoosx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno - variant + variant
osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyesosx_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes - variant + variant
osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingnoosx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno - variant + variant
osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyesosx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes - variant + variant
osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingnoosx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno - variant + variant
osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyesosx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes - variant + variant
+
+ + + @@ -59,90 +66,6 @@ Current build status
GitHub Actions + + + +
Azure
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VariantStatus
linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno - - variant - -
linux_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes - - variant - -
linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno - - variant - -
linux_64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes - - variant - -
linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno - - variant - -
linux_aarch64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes - - variant - -
linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno - - variant - -
linux_aarch64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes - - variant - -
linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno - - variant - -
linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes - - variant - -
linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno - - variant - -
linux_ppc64le_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes - - variant - -
osx_64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno @@ -170,34 +93,6 @@ Current build status variant
osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingno - - variant - -
osx_arm64_build_typedebugchannel_targetsconda-forge_python_dev_debugfreethreadingyes - - variant - -
osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingno - - variant - -
osx_arm64_build_typereleasechannel_targetsconda-forge_python_devfreethreadingyes - - variant - -
win_64_freethreadingno diff --git a/build-locally.py b/build-locally.py index 05493e4d8..3beb68ccd 100755 --- a/build-locally.py +++ b/build-locally.py @@ -98,7 +98,10 @@ def main(args=None): p.add_argument( "--debug", action="store_true", - help="Setup debug environment using `conda debug`", + help=( + "Setup debug environment using `conda debug` " + "(or `rattler-build debug` for rattler-build recipes)" + ), ) p.add_argument("--output-id", help="If running debug, specify the output to setup.") From 64ee679ade7e3074bcc2c62c1d41c90bc443d63c Mon Sep 17 00:00:00 2001 From: Mike Henry <11765982+mikemhenry@users.noreply.github.com> Date: Tue, 16 Jun 2026 15:49:32 -0700 Subject: [PATCH 22/24] bump ci From 480bd02fd27e4c7fd831bf86fa9ea045595325be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 15 Jul 2026 19:52:58 +0200 Subject: [PATCH 23/24] Bump to 3.15.0b3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 764c4782b..95c1015f7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "3.15.0" %} -{% set dev = "b2" %} +{% set dev = "b3" %} {% set dev_ = "" %} {% set ver2 = '.'.join(version.split('.')[0:2]) %} {% set ver2nd = ''.join(version.split('.')[0:2]) %} @@ -46,7 +46,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: d14f474ab679e90bc734b02ff58447b6ec99a821af61d6ff0c1da0f86e341a71 + sha256: 6a935ae234a67e6549894373b0cfeb8361182d03b21442328ae9598ab7422127 patches: - patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch - patches/0002-Win32-Do-not-download-externals.patch From df4d01f380f75ea2388fe2a907476558f92839a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Wed, 15 Jul 2026 19:53:42 +0200 Subject: [PATCH 24/24] MNT: Re-rendered with conda-smithy 2026.6.14 and conda-forge-pinning 2026.07.15.02.44.34 Other tools: - conda-build 26.5.0 - rattler-build 0.68.0 - rattler-build-conda-compat 1.4.15 --- .ci_support/README | 0 .gitattributes | 0 .gitignore | 0 .scripts/logging_utils.sh | 0 LICENSE.txt | 0 README.md | 16 ++++++++-------- 6 files changed, 8 insertions(+), 8 deletions(-) mode change 100755 => 100644 .ci_support/README mode change 100755 => 100644 .gitattributes mode change 100755 => 100644 .gitignore mode change 100755 => 100644 .scripts/logging_utils.sh mode change 100755 => 100644 LICENSE.txt diff --git a/.ci_support/README b/.ci_support/README old mode 100755 new mode 100644 diff --git a/.gitattributes b/.gitattributes old mode 100755 new mode 100644 diff --git a/.gitignore b/.gitignore old mode 100755 new mode 100644 diff --git a/.scripts/logging_utils.sh b/.scripts/logging_utils.sh old mode 100755 new mode 100644 diff --git a/LICENSE.txt b/LICENSE.txt old mode 100755 new mode 100644 diff --git a/README.md b/README.md index 845d26cdc..1db2da8f9 100644 --- a/README.md +++ b/README.md @@ -131,14 +131,14 @@ Current release info Installing python ================= -Installing `python` from the `conda-forge/label/python_dev_debug` channel can be achieved by adding `conda-forge/label/python_dev_debug` to your channels with: +Installing `python` from the `conda-forge/label/python_dev` channel can be achieved by adding `conda-forge/label/python_dev` to your channels with: ``` -conda config --add channels conda-forge/label/python_dev_debug +conda config --add channels conda-forge/label/python_dev conda config --set channel_priority strict ``` -Once the `conda-forge/label/python_dev_debug` channel has been enabled, `cpython, libpython, libpython-static, python, python-freethreading, python-gil, python-jit` can be installed with `conda`: +Once the `conda-forge/label/python_dev` channel has been enabled, `cpython, libpython, libpython-static, python, python-freethreading, python-gil, python-jit` can be installed with `conda`: ``` conda install cpython libpython libpython-static python python-freethreading python-gil python-jit @@ -153,26 +153,26 @@ mamba install cpython libpython libpython-static python python-freethreading pyt It is possible to list all of the versions of `cpython` available on your platform with `conda`: ``` -conda search cpython --channel conda-forge/label/python_dev_debug +conda search cpython --channel conda-forge/label/python_dev ``` or with `mamba`: ``` -mamba search cpython --channel conda-forge/label/python_dev_debug +mamba search cpython --channel conda-forge/label/python_dev ``` Alternatively, `mamba repoquery` may provide more information: ``` # Search all versions available on your platform: -mamba repoquery search cpython --channel conda-forge/label/python_dev_debug +mamba repoquery search cpython --channel conda-forge/label/python_dev # List packages depending on `cpython`: -mamba repoquery whoneeds cpython --channel conda-forge/label/python_dev_debug +mamba repoquery whoneeds cpython --channel conda-forge/label/python_dev # List dependencies of `cpython`: -mamba repoquery depends cpython --channel conda-forge/label/python_dev_debug +mamba repoquery depends cpython --channel conda-forge/label/python_dev ```