diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml
index acf21ca62..8cfbdb1d7 100755
--- a/.azure-pipelines/azure-pipelines-linux.yml
+++ b/.azure-pipelines/azure-pipelines-linux.yml
@@ -8,36 +8,66 @@ jobs:
vmImage: ubuntu-latest
strategy:
matrix:
- linux_64_build_typedebugchannel_targetsconda-forge_python_debug:
- CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_debug
+ linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno:
+ CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- SHORT_CONFIG: linux_64_build_typedebugchannel_tar_hcab9fe8502
- linux_64_build_typereleasechannel_targetsconda-forge_main:
- CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_main
+ SHORT_CONFIG: linux_64_build_typedebugchannel_tar_h10d856d4b5
+ linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes:
+ CONFIG: linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- SHORT_CONFIG: linux_64_build_typereleasechannel_t_h0a44af7c38
- linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug:
- CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug
+ SHORT_CONFIG: linux_64_build_typedebugchannel_tar_hf83d9e2d40
+ linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno:
+ CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- SHORT_CONFIG: linux_aarch64_build_typedebugchanne_h4e1127e844
- linux_aarch64_build_typereleasechannel_targetsconda-forge_main:
- CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_main
+ SHORT_CONFIG: linux_64_build_typereleasechannel_t_h01f3c15664
+ linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes:
+ CONFIG: linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- SHORT_CONFIG: linux_aarch64_build_typereleasechan_hcde066807d
- linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug:
- CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug
+ SHORT_CONFIG: linux_64_build_typereleasechannel_t_hf5ff4d161a
+ linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno:
+ CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- SHORT_CONFIG: linux_ppc64le_build_typedebugchanne_he8193b4f7f
- linux_ppc64le_build_typereleasechannel_targetsconda-forge_main:
- CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_main
+ SHORT_CONFIG: linux_aarch64_build_typedebugchanne_hd2db0a21ac
+ linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes:
+ CONFIG: linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes
UPLOAD_PACKAGES: 'True'
DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
- SHORT_CONFIG: linux_ppc64le_build_typereleasechan_h12bca821c7
+ SHORT_CONFIG: linux_aarch64_build_typedebugchanne_h51de969340
+ linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno:
+ CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
+ SHORT_CONFIG: linux_aarch64_build_typereleasechan_hccc48f4a35
+ linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes:
+ CONFIG: linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
+ SHORT_CONFIG: linux_aarch64_build_typereleasechan_h78d2c7f561
+ linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno:
+ CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
+ SHORT_CONFIG: linux_ppc64le_build_typedebugchanne_hac8bb296cb
+ linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes:
+ CONFIG: linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
+ SHORT_CONFIG: linux_ppc64le_build_typedebugchanne_hb74ed675c1
+ linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno:
+ CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
+ SHORT_CONFIG: linux_ppc64le_build_typereleasechan_h5454d1d581
+ linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes:
+ CONFIG: linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes
+ UPLOAD_PACKAGES: 'True'
+ DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64
+ SHORT_CONFIG: linux_ppc64le_build_typereleasechan_hed84b2c374
timeoutInMinutes: 360
variables: {}
diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml
index 76221e897..53557e11a 100755
--- a/.azure-pipelines/azure-pipelines-osx.yml
+++ b/.azure-pipelines/azure-pipelines-osx.yml
@@ -8,22 +8,38 @@ jobs:
vmImage: macOS-12
strategy:
matrix:
- osx_64_build_typedebugchannel_targetsconda-forge_python_debug:
- CONFIG: osx_64_build_typedebugchannel_targetsconda-forge_python_debug
+ osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno:
+ CONFIG: osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno
UPLOAD_PACKAGES: 'True'
- SHORT_CONFIG: osx_64_build_typedebugchannel_targe_h343640355d
- osx_64_build_typereleasechannel_targetsconda-forge_main:
- CONFIG: osx_64_build_typereleasechannel_targetsconda-forge_main
+ SHORT_CONFIG: osx_64_build_typedebugchannel_targe_h5e47894640
+ osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes:
+ CONFIG: osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes
UPLOAD_PACKAGES: 'True'
- SHORT_CONFIG: osx_64_build_typereleasechannel_tar_h217401936b
- osx_arm64_build_typedebugchannel_targetsconda-forge_python_debug:
- CONFIG: osx_arm64_build_typedebugchannel_targetsconda-forge_python_debug
+ SHORT_CONFIG: osx_64_build_typedebugchannel_targe_h116d33564c
+ osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno:
+ CONFIG: osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno
UPLOAD_PACKAGES: 'True'
- SHORT_CONFIG: osx_arm64_build_typedebugchannel_ta_h18126b8f59
- osx_arm64_build_typereleasechannel_targetsconda-forge_main:
- CONFIG: osx_arm64_build_typereleasechannel_targetsconda-forge_main
+ SHORT_CONFIG: osx_64_build_typereleasechannel_tar_h425d4db04a
+ osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes:
+ CONFIG: osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes
UPLOAD_PACKAGES: 'True'
- SHORT_CONFIG: osx_arm64_build_typereleasechannel__hbf952199ba
+ SHORT_CONFIG: osx_64_build_typereleasechannel_tar_haa8f77b834
+ osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno:
+ CONFIG: osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno
+ UPLOAD_PACKAGES: 'True'
+ SHORT_CONFIG: osx_arm64_build_typedebugchannel_ta_h4a1f0d054b
+ osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes:
+ CONFIG: osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes
+ UPLOAD_PACKAGES: 'True'
+ SHORT_CONFIG: osx_arm64_build_typedebugchannel_ta_h49dbe0c1f7
+ osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno:
+ CONFIG: osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno
+ UPLOAD_PACKAGES: 'True'
+ SHORT_CONFIG: osx_arm64_build_typereleasechannel__h0d9a29af97
+ osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes:
+ CONFIG: osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes
+ UPLOAD_PACKAGES: 'True'
+ SHORT_CONFIG: osx_arm64_build_typereleasechannel__h92a1d5a633
timeoutInMinutes: 360
variables: {}
diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml
index ae079344d..42c8bb4c5 100755
--- a/.azure-pipelines/azure-pipelines-win.yml
+++ b/.azure-pipelines/azure-pipelines-win.yml
@@ -8,10 +8,14 @@ jobs:
vmImage: windows-2022
strategy:
matrix:
- win_64_:
- CONFIG: win_64_
+ win_64_freethreadingno:
+ CONFIG: win_64_freethreadingno
UPLOAD_PACKAGES: 'True'
- SHORT_CONFIG: win_64_
+ SHORT_CONFIG: win_64_freethreadingno
+ win_64_freethreadingyes:
+ CONFIG: win_64_freethreadingyes
+ UPLOAD_PACKAGES: 'True'
+ SHORT_CONFIG: win_64_freethreadingyes
timeoutInMinutes: 360
variables:
CONDA_BLD_PATH: D:\\bld\\
diff --git a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debug.yaml b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
similarity index 90%
rename from .ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debug.yaml
rename to .ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
index 3b3d4b763..0e59bcc0d 100644
--- a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debug.yaml
+++ b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
@@ -13,7 +13,7 @@ c_stdlib_version:
cdt_name:
- cos7
channel_sources:
-- conda-forge
+- conda-forge/label/python_rc,conda-forge
channel_targets:
- conda-forge python_debug
cxx_compiler:
@@ -24,6 +24,8 @@ docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
expat:
- '2'
+freethreading:
+- 'no'
libffi:
- '3.4'
libuuid:
@@ -37,7 +39,7 @@ pin_run_as_build:
min_pin: x.x
max_pin: x.x
python:
-- '3.12'
+- '3.13'
readline:
- '8'
sqlite:
diff --git a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml
new file mode 100644
index 000000000..4ce6895f1
--- /dev/null
+++ b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml
@@ -0,0 +1,61 @@
+build_type:
+- debug
+bzip2:
+- '1'
+c_compiler:
+- gcc
+c_compiler_version:
+- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
+cdt_name:
+- cos7
+channel_sources:
+- conda-forge/label/python_rc,conda-forge
+channel_targets:
+- conda-forge python_debug
+cxx_compiler:
+- gxx
+cxx_compiler_version:
+- '12'
+docker_image:
+- quay.io/condaforge/linux-anvil-cos7-x86_64
+expat:
+- '2'
+freethreading:
+- 'yes'
+libffi:
+- '3.4'
+libuuid:
+- '2'
+ncurses:
+- '6'
+openssl:
+- '3'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- '3.13'
+readline:
+- '8'
+sqlite:
+- '3'
+target_platform:
+- linux-64
+tk:
+- '8.6'
+xz:
+- '5'
+zip_keys:
+- - build_type
+ - channel_targets
+- - c_compiler_version
+ - cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
+zlib:
+- '1'
diff --git a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_main.yaml b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
similarity index 90%
rename from .ci_support/linux_64_build_typereleasechannel_targetsconda-forge_main.yaml
rename to .ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
index 446438692..976f7378e 100644
--- a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_main.yaml
+++ b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
@@ -13,7 +13,7 @@ c_stdlib_version:
cdt_name:
- cos7
channel_sources:
-- conda-forge
+- conda-forge/label/python_rc,conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
@@ -24,6 +24,8 @@ docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
expat:
- '2'
+freethreading:
+- 'no'
libffi:
- '3.4'
libuuid:
@@ -37,7 +39,7 @@ pin_run_as_build:
min_pin: x.x
max_pin: x.x
python:
-- '3.12'
+- '3.13'
readline:
- '8'
sqlite:
diff --git a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml
new file mode 100644
index 000000000..21f44cb1b
--- /dev/null
+++ b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml
@@ -0,0 +1,61 @@
+build_type:
+- release
+bzip2:
+- '1'
+c_compiler:
+- gcc
+c_compiler_version:
+- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
+cdt_name:
+- cos7
+channel_sources:
+- conda-forge/label/python_rc,conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- gxx
+cxx_compiler_version:
+- '12'
+docker_image:
+- quay.io/condaforge/linux-anvil-cos7-x86_64
+expat:
+- '2'
+freethreading:
+- 'yes'
+libffi:
+- '3.4'
+libuuid:
+- '2'
+ncurses:
+- '6'
+openssl:
+- '3'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- '3.13'
+readline:
+- '8'
+sqlite:
+- '3'
+target_platform:
+- linux-64
+tk:
+- '8.6'
+xz:
+- '5'
+zip_keys:
+- - build_type
+ - channel_targets
+- - c_compiler_version
+ - cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
+zlib:
+- '1'
diff --git a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug.yaml b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
similarity index 90%
rename from .ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug.yaml
rename to .ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
index 8959a1173..a838d66f5 100644
--- a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug.yaml
+++ b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
@@ -17,7 +17,7 @@ cdt_arch:
cdt_name:
- cos7
channel_sources:
-- conda-forge
+- conda-forge/label/python_rc,conda-forge
channel_targets:
- conda-forge python_debug
cxx_compiler:
@@ -28,6 +28,8 @@ docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
expat:
- '2'
+freethreading:
+- 'no'
libffi:
- '3.4'
libuuid:
@@ -41,7 +43,7 @@ pin_run_as_build:
min_pin: x.x
max_pin: x.x
python:
-- '3.12'
+- '3.13'
readline:
- '8'
sqlite:
diff --git a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml
new file mode 100644
index 000000000..6c2d40250
--- /dev/null
+++ b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml
@@ -0,0 +1,65 @@
+BUILD:
+- aarch64-conda_cos7-linux-gnu
+build_type:
+- debug
+bzip2:
+- '1'
+c_compiler:
+- gcc
+c_compiler_version:
+- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
+cdt_arch:
+- aarch64
+cdt_name:
+- cos7
+channel_sources:
+- conda-forge/label/python_rc,conda-forge
+channel_targets:
+- conda-forge python_debug
+cxx_compiler:
+- gxx
+cxx_compiler_version:
+- '12'
+docker_image:
+- quay.io/condaforge/linux-anvil-cos7-x86_64
+expat:
+- '2'
+freethreading:
+- 'yes'
+libffi:
+- '3.4'
+libuuid:
+- '2'
+ncurses:
+- '6'
+openssl:
+- '3'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- '3.13'
+readline:
+- '8'
+sqlite:
+- '3'
+target_platform:
+- linux-aarch64
+tk:
+- '8.6'
+xz:
+- '5'
+zip_keys:
+- - build_type
+ - channel_targets
+- - c_compiler_version
+ - cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
+zlib:
+- '1'
diff --git a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_main.yaml b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
similarity index 90%
rename from .ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_main.yaml
rename to .ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
index 256d6c49c..8d84461fd 100644
--- a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_main.yaml
+++ b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
@@ -17,7 +17,7 @@ cdt_arch:
cdt_name:
- cos7
channel_sources:
-- conda-forge
+- conda-forge/label/python_rc,conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
@@ -28,6 +28,8 @@ docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
expat:
- '2'
+freethreading:
+- 'no'
libffi:
- '3.4'
libuuid:
@@ -41,7 +43,7 @@ pin_run_as_build:
min_pin: x.x
max_pin: x.x
python:
-- '3.12'
+- '3.13'
readline:
- '8'
sqlite:
diff --git a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml
new file mode 100644
index 000000000..9974fe562
--- /dev/null
+++ b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml
@@ -0,0 +1,65 @@
+BUILD:
+- aarch64-conda_cos7-linux-gnu
+build_type:
+- release
+bzip2:
+- '1'
+c_compiler:
+- gcc
+c_compiler_version:
+- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
+cdt_arch:
+- aarch64
+cdt_name:
+- cos7
+channel_sources:
+- conda-forge/label/python_rc,conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- gxx
+cxx_compiler_version:
+- '12'
+docker_image:
+- quay.io/condaforge/linux-anvil-cos7-x86_64
+expat:
+- '2'
+freethreading:
+- 'yes'
+libffi:
+- '3.4'
+libuuid:
+- '2'
+ncurses:
+- '6'
+openssl:
+- '3'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- '3.13'
+readline:
+- '8'
+sqlite:
+- '3'
+target_platform:
+- linux-aarch64
+tk:
+- '8.6'
+xz:
+- '5'
+zip_keys:
+- - build_type
+ - channel_targets
+- - c_compiler_version
+ - cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
+zlib:
+- '1'
diff --git a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug.yaml b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
similarity index 90%
rename from .ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug.yaml
rename to .ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
index 16804e7b3..39ca0a5b1 100644
--- a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug.yaml
+++ b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
@@ -13,7 +13,7 @@ c_stdlib_version:
cdt_name:
- cos7
channel_sources:
-- conda-forge
+- conda-forge/label/python_rc,conda-forge
channel_targets:
- conda-forge python_debug
cxx_compiler:
@@ -24,6 +24,8 @@ docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
expat:
- '2'
+freethreading:
+- 'no'
libffi:
- '3.4'
libuuid:
@@ -37,7 +39,7 @@ pin_run_as_build:
min_pin: x.x
max_pin: x.x
python:
-- '3.12'
+- '3.13'
readline:
- '8'
sqlite:
diff --git a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml
new file mode 100644
index 000000000..92b13440d
--- /dev/null
+++ b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml
@@ -0,0 +1,59 @@
+build_type:
+- debug
+bzip2:
+- '1'
+c_compiler:
+- gcc
+c_compiler_version:
+- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
+cdt_name:
+- cos7
+channel_sources:
+- conda-forge/label/python_rc,conda-forge
+channel_targets:
+- conda-forge python_debug
+cxx_compiler:
+- gxx
+cxx_compiler_version:
+- '12'
+docker_image:
+- quay.io/condaforge/linux-anvil-cos7-x86_64
+expat:
+- '2'
+freethreading:
+- 'yes'
+libffi:
+- '3.4'
+libuuid:
+- '2'
+ncurses:
+- '6'
+openssl:
+- '3'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- '3.13'
+readline:
+- '8'
+sqlite:
+- '3'
+target_platform:
+- linux-ppc64le
+xz:
+- '5'
+zip_keys:
+- - build_type
+ - channel_targets
+- - c_compiler_version
+ - cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
+zlib:
+- '1'
diff --git a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_main.yaml b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
similarity index 90%
rename from .ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_main.yaml
rename to .ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
index d955476dc..a56edc858 100644
--- a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_main.yaml
+++ b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
@@ -13,7 +13,7 @@ c_stdlib_version:
cdt_name:
- cos7
channel_sources:
-- conda-forge
+- conda-forge/label/python_rc,conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
@@ -24,6 +24,8 @@ docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
expat:
- '2'
+freethreading:
+- 'no'
libffi:
- '3.4'
libuuid:
@@ -37,7 +39,7 @@ pin_run_as_build:
min_pin: x.x
max_pin: x.x
python:
-- '3.12'
+- '3.13'
readline:
- '8'
sqlite:
diff --git a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml
new file mode 100644
index 000000000..a0bc0da50
--- /dev/null
+++ b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml
@@ -0,0 +1,59 @@
+build_type:
+- release
+bzip2:
+- '1'
+c_compiler:
+- gcc
+c_compiler_version:
+- '12'
+c_stdlib:
+- sysroot
+c_stdlib_version:
+- '2.17'
+cdt_name:
+- cos7
+channel_sources:
+- conda-forge/label/python_rc,conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- gxx
+cxx_compiler_version:
+- '12'
+docker_image:
+- quay.io/condaforge/linux-anvil-cos7-x86_64
+expat:
+- '2'
+freethreading:
+- 'yes'
+libffi:
+- '3.4'
+libuuid:
+- '2'
+ncurses:
+- '6'
+openssl:
+- '3'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- '3.13'
+readline:
+- '8'
+sqlite:
+- '3'
+target_platform:
+- linux-ppc64le
+xz:
+- '5'
+zip_keys:
+- - build_type
+ - channel_targets
+- - c_compiler_version
+ - cxx_compiler_version
+- - c_stdlib_version
+ - cdt_name
+zlib:
+- '1'
diff --git a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debug.yaml b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
similarity index 90%
rename from .ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debug.yaml
rename to .ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
index ab3f07f75..34fac3d79 100644
--- a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debug.yaml
+++ b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
@@ -15,7 +15,7 @@ c_stdlib:
c_stdlib_version:
- '10.13'
channel_sources:
-- conda-forge
+- conda-forge/label/python_rc,conda-forge
channel_targets:
- conda-forge python_debug
cxx_compiler:
@@ -24,6 +24,8 @@ cxx_compiler_version:
- '16'
expat:
- '2'
+freethreading:
+- 'no'
libffi:
- '3.4'
macos_machine:
@@ -37,7 +39,7 @@ pin_run_as_build:
min_pin: x.x
max_pin: x.x
python:
-- '3.12'
+- '3.13'
readline:
- '8'
sqlite:
diff --git a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml
new file mode 100644
index 000000000..c9b4e5896
--- /dev/null
+++ b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml
@@ -0,0 +1,59 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '10.13'
+MACOSX_SDK_VERSION:
+- '11.0'
+build_type:
+- debug
+bzip2:
+- '1'
+c_compiler:
+- clang
+c_compiler_version:
+- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '10.13'
+channel_sources:
+- conda-forge/label/python_rc,conda-forge
+channel_targets:
+- conda-forge python_debug
+cxx_compiler:
+- clangxx
+cxx_compiler_version:
+- '16'
+expat:
+- '2'
+freethreading:
+- 'yes'
+libffi:
+- '3.4'
+macos_machine:
+- x86_64-apple-darwin13.4.0
+ncurses:
+- '6'
+openssl:
+- '3'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- '3.13'
+readline:
+- '8'
+sqlite:
+- '3'
+target_platform:
+- osx-64
+tk:
+- '8.6'
+xz:
+- '5'
+zip_keys:
+- - build_type
+ - channel_targets
+- - c_compiler_version
+ - cxx_compiler_version
+zlib:
+- '1'
diff --git a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_main.yaml b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
similarity index 90%
rename from .ci_support/osx_64_build_typereleasechannel_targetsconda-forge_main.yaml
rename to .ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
index 614f0f48a..5f3d95150 100644
--- a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_main.yaml
+++ b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
@@ -15,7 +15,7 @@ c_stdlib:
c_stdlib_version:
- '10.13'
channel_sources:
-- conda-forge
+- conda-forge/label/python_rc,conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
@@ -24,6 +24,8 @@ cxx_compiler_version:
- '16'
expat:
- '2'
+freethreading:
+- 'no'
libffi:
- '3.4'
macos_machine:
@@ -37,7 +39,7 @@ pin_run_as_build:
min_pin: x.x
max_pin: x.x
python:
-- '3.12'
+- '3.13'
readline:
- '8'
sqlite:
diff --git a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml
new file mode 100644
index 000000000..f617ec7f0
--- /dev/null
+++ b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml
@@ -0,0 +1,59 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '10.13'
+MACOSX_SDK_VERSION:
+- '11.0'
+build_type:
+- release
+bzip2:
+- '1'
+c_compiler:
+- clang
+c_compiler_version:
+- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '10.13'
+channel_sources:
+- conda-forge/label/python_rc,conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- clangxx
+cxx_compiler_version:
+- '16'
+expat:
+- '2'
+freethreading:
+- 'yes'
+libffi:
+- '3.4'
+macos_machine:
+- x86_64-apple-darwin13.4.0
+ncurses:
+- '6'
+openssl:
+- '3'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- '3.13'
+readline:
+- '8'
+sqlite:
+- '3'
+target_platform:
+- osx-64
+tk:
+- '8.6'
+xz:
+- '5'
+zip_keys:
+- - build_type
+ - channel_targets
+- - c_compiler_version
+ - cxx_compiler_version
+zlib:
+- '1'
diff --git a/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debug.yaml b/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
similarity index 90%
rename from .ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debug.yaml
rename to .ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
index 6bc8d62b7..f3120928e 100644
--- a/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debug.yaml
+++ b/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml
@@ -15,7 +15,7 @@ c_stdlib:
c_stdlib_version:
- '11.0'
channel_sources:
-- conda-forge
+- conda-forge/label/python_rc,conda-forge
channel_targets:
- conda-forge python_debug
cxx_compiler:
@@ -24,6 +24,8 @@ cxx_compiler_version:
- '16'
expat:
- '2'
+freethreading:
+- 'no'
libffi:
- '3.4'
macos_machine:
@@ -37,7 +39,7 @@ pin_run_as_build:
min_pin: x.x
max_pin: x.x
python:
-- '3.12'
+- '3.13'
readline:
- '8'
sqlite:
diff --git a/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml
new file mode 100644
index 000000000..103426e53
--- /dev/null
+++ b/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml
@@ -0,0 +1,59 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '11.0'
+MACOSX_SDK_VERSION:
+- '11.0'
+build_type:
+- debug
+bzip2:
+- '1'
+c_compiler:
+- clang
+c_compiler_version:
+- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '11.0'
+channel_sources:
+- conda-forge/label/python_rc,conda-forge
+channel_targets:
+- conda-forge python_debug
+cxx_compiler:
+- clangxx
+cxx_compiler_version:
+- '16'
+expat:
+- '2'
+freethreading:
+- 'yes'
+libffi:
+- '3.4'
+macos_machine:
+- arm64-apple-darwin20.0.0
+ncurses:
+- '6'
+openssl:
+- '3'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- '3.13'
+readline:
+- '8'
+sqlite:
+- '3'
+target_platform:
+- osx-arm64
+tk:
+- '8.6'
+xz:
+- '5'
+zip_keys:
+- - build_type
+ - channel_targets
+- - c_compiler_version
+ - cxx_compiler_version
+zlib:
+- '1'
diff --git a/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_main.yaml b/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
similarity index 90%
rename from .ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_main.yaml
rename to .ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
index 3796ea1ef..c3b2eb070 100644
--- a/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_main.yaml
+++ b/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml
@@ -15,7 +15,7 @@ c_stdlib:
c_stdlib_version:
- '11.0'
channel_sources:
-- conda-forge
+- conda-forge/label/python_rc,conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
@@ -24,6 +24,8 @@ cxx_compiler_version:
- '16'
expat:
- '2'
+freethreading:
+- 'no'
libffi:
- '3.4'
macos_machine:
@@ -37,7 +39,7 @@ pin_run_as_build:
min_pin: x.x
max_pin: x.x
python:
-- '3.12'
+- '3.13'
readline:
- '8'
sqlite:
diff --git a/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml
new file mode 100644
index 000000000..8b2463ee3
--- /dev/null
+++ b/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml
@@ -0,0 +1,59 @@
+MACOSX_DEPLOYMENT_TARGET:
+- '11.0'
+MACOSX_SDK_VERSION:
+- '11.0'
+build_type:
+- release
+bzip2:
+- '1'
+c_compiler:
+- clang
+c_compiler_version:
+- '16'
+c_stdlib:
+- macosx_deployment_target
+c_stdlib_version:
+- '11.0'
+channel_sources:
+- conda-forge/label/python_rc,conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- clangxx
+cxx_compiler_version:
+- '16'
+expat:
+- '2'
+freethreading:
+- 'yes'
+libffi:
+- '3.4'
+macos_machine:
+- arm64-apple-darwin20.0.0
+ncurses:
+- '6'
+openssl:
+- '3'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- '3.13'
+readline:
+- '8'
+sqlite:
+- '3'
+target_platform:
+- osx-arm64
+tk:
+- '8.6'
+xz:
+- '5'
+zip_keys:
+- - build_type
+ - channel_targets
+- - c_compiler_version
+ - cxx_compiler_version
+zlib:
+- '1'
diff --git a/.ci_support/win_64_.yaml b/.ci_support/win_64_freethreadingno.yaml
similarity index 83%
rename from .ci_support/win_64_.yaml
rename to .ci_support/win_64_freethreadingno.yaml
index ea1efabe6..b688167b4 100644
--- a/.ci_support/win_64_.yaml
+++ b/.ci_support/win_64_freethreadingno.yaml
@@ -7,13 +7,15 @@ c_compiler:
c_stdlib:
- vs
channel_sources:
-- conda-forge
+- conda-forge/label/python_rc,conda-forge
channel_targets:
- conda-forge main
cxx_compiler:
- vs2019
expat:
- '2'
+freethreading:
+- 'no'
libffi:
- '3.4'
openssl:
@@ -23,7 +25,7 @@ pin_run_as_build:
min_pin: x.x
max_pin: x.x
python:
-- '3.12'
+- '3.13'
sqlite:
- '3'
target_platform:
diff --git a/.ci_support/win_64_freethreadingyes.yaml b/.ci_support/win_64_freethreadingyes.yaml
new file mode 100644
index 000000000..448c687b4
--- /dev/null
+++ b/.ci_support/win_64_freethreadingyes.yaml
@@ -0,0 +1,41 @@
+build_type:
+- release
+bzip2:
+- '1'
+c_compiler:
+- vs2019
+c_stdlib:
+- vs
+channel_sources:
+- conda-forge/label/python_rc,conda-forge
+channel_targets:
+- conda-forge main
+cxx_compiler:
+- vs2019
+expat:
+- '2'
+freethreading:
+- 'yes'
+libffi:
+- '3.4'
+openssl:
+- '3'
+pin_run_as_build:
+ python:
+ min_pin: x.x
+ max_pin: x.x
+python:
+- '3.13'
+sqlite:
+- '3'
+target_platform:
+- win-64
+tk:
+- '8.6'
+xz:
+- '5'
+zip_keys:
+- - build_type
+ - channel_targets
+zlib:
+- '1'
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 92fb27fc6..5b95939c8 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1 +1 @@
-* @chrisburr @isuruf @jakirkham @katietz @mbargull @mingwandroid @msarahan @ocefpaf @pelson @scopatz @xhochy
\ No newline at end of file
+* @chrisburr @isuruf @jakirkham @katietz @mbargull @msarahan @ocefpaf @pelson @scopatz @xhochy
\ No newline at end of file
diff --git a/README.md b/README.md
index 1562065d5..e8b8effaa 100644
--- a/README.md
+++ b/README.md
@@ -39,80 +39,157 @@ Current build status
| Variant | Status |
- | linux_64_build_typedebugchannel_targetsconda-forge_python_debug |
+ linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno |
-
+
|
- | linux_64_build_typereleasechannel_targetsconda-forge_main |
+ linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes |
-
+
|
- | linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debug |
+ linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno |
-
+
|
- | linux_aarch64_build_typereleasechannel_targetsconda-forge_main |
+ linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes |
-
+
|
- | linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debug |
+ linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno |
-
+
|
- | linux_ppc64le_build_typereleasechannel_targetsconda-forge_main |
+ linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes |
-
+
|
- | osx_64_build_typedebugchannel_targetsconda-forge_python_debug |
+ linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno |
-
+
|
- | osx_64_build_typereleasechannel_targetsconda-forge_main |
+ linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes |
-
+
|
- | osx_arm64_build_typedebugchannel_targetsconda-forge_python_debug |
+ linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno |
-
+
|
- | osx_arm64_build_typereleasechannel_targetsconda-forge_main |
+ linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes |
-
+
|
- | win_64 |
+ linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno |
-
+
+
+ |
+
+ | linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes |
+
+
+
+
+ |
+
+ | osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno |
+
+
+
+
+ |
+
+ | osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes |
+
+
+
+
+ |
+
+ | osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno |
+
+
+
+
+ |
+
+ | osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes |
+
+
+
+
+ |
+
+ | osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno |
+
+
+
+
+ |
+
+ | osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes |
+
+
+
+
+ |
+
+ | osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno |
+
+
+
+
+ |
+
+ | osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes |
+
+
+
+
+ |
+
+ | win_64_freethreadingno |
+
+
+
+
+ |
+
+ | win_64_freethreadingyes |
+
+
+
|
@@ -128,6 +205,8 @@ Current release info
| Name | Downloads | Version | Platforms |
| --- | --- | --- | --- |
+| [](https://anaconda.org/conda-forge/cpython) | [](https://anaconda.org/conda-forge/cpython) | [](https://anaconda.org/conda-forge/cpython) | [](https://anaconda.org/conda-forge/cpython) |
+| [](https://anaconda.org/conda-forge/cpython-jit) | [](https://anaconda.org/conda-forge/cpython-jit) | [](https://anaconda.org/conda-forge/cpython-jit) | [](https://anaconda.org/conda-forge/cpython-jit) |
| [](https://anaconda.org/conda-forge/libpython-static) | [](https://anaconda.org/conda-forge/libpython-static) | [](https://anaconda.org/conda-forge/libpython-static) | [](https://anaconda.org/conda-forge/libpython-static) |
| [](https://anaconda.org/conda-forge/python) | [](https://anaconda.org/conda-forge/python) | [](https://anaconda.org/conda-forge/python) | [](https://anaconda.org/conda-forge/python) |
@@ -141,41 +220,41 @@ conda config --add channels conda-forge/label/python_debug
conda config --set channel_priority strict
```
-Once the `conda-forge/label/python_debug` channel has been enabled, `libpython-static, python` can be installed with `conda`:
+Once the `conda-forge/label/python_debug` channel has been enabled, `cpython, cpython-jit, libpython-static, python` can be installed with `conda`:
```
-conda install libpython-static python
+conda install cpython cpython-jit libpython-static python
```
or with `mamba`:
```
-mamba install libpython-static python
+mamba install cpython cpython-jit libpython-static python
```
-It is possible to list all of the versions of `libpython-static` available on your platform with `conda`:
+It is possible to list all of the versions of `cpython` available on your platform with `conda`:
```
-conda search libpython-static --channel conda-forge/label/python_debug
+conda search cpython --channel conda-forge/label/python_debug
```
or with `mamba`:
```
-mamba search libpython-static --channel conda-forge/label/python_debug
+mamba search cpython --channel conda-forge/label/python_debug
```
Alternatively, `mamba repoquery` may provide more information:
```
# Search all versions available on your platform:
-mamba repoquery search libpython-static --channel conda-forge/label/python_debug
+mamba repoquery search cpython --channel conda-forge/label/python_debug
-# List packages depending on `libpython-static`:
-mamba repoquery whoneeds libpython-static --channel conda-forge/label/python_debug
+# List packages depending on `cpython`:
+mamba repoquery whoneeds cpython --channel conda-forge/label/python_debug
-# List dependencies of `libpython-static`:
-mamba repoquery depends libpython-static --channel conda-forge/label/python_debug
+# List dependencies of `cpython`:
+mamba repoquery depends cpython --channel conda-forge/label/python_debug
```
@@ -250,7 +329,6 @@ Feedstock Maintainers
* [@jakirkham](https://github.com/jakirkham/)
* [@katietz](https://github.com/katietz/)
* [@mbargull](https://github.com/mbargull/)
-* [@mingwandroid](https://github.com/mingwandroid/)
* [@msarahan](https://github.com/msarahan/)
* [@ocefpaf](https://github.com/ocefpaf/)
* [@pelson](https://github.com/pelson/)
diff --git a/recipe/brand_python.py b/recipe/brand_python.py
index ef2738af9..9ce579ccf 100644
--- a/recipe/brand_python.py
+++ b/recipe/brand_python.py
@@ -15,7 +15,7 @@ def patch_platform(msg):
with open(platform_file, 'w') as fh:
for line in lines_it:
fh.write(line)
- if line.lstrip().startswith('sys_version_parser'):
+ if line.lstrip().startswith('cpython_sys_version_parser'):
next_line = next(lines_it)
fh.write(" r'([\w.+]+)\s*" + '(?:' + re.escape(' ' + msg) + ')?' + "\s*'\n")
diff --git a/recipe/build-locally.py b/recipe/build-locally.py
deleted file mode 100644
index 8f7ecca4f..000000000
--- a/recipe/build-locally.py
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/usr/bin/env python3
-#
-# This file has been generated by conda-smithy in order to build the recipe
-# locally.
-#
-import os
-import glob
-import subprocess
-from argparse import ArgumentParser
-
-
-def setup_environment(ns):
- os.environ["CONFIG"] = ns.config
- os.environ["UPLOAD_PACKAGES"] = "False"
-
-
-def run_docker_build(ns):
- script = ".scripts/run_docker_build.sh"
- subprocess.check_call([script])
-
-
-def verify_config(ns):
- valid_configs = {
- os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml")
- }
- print(f"valid configs are {valid_configs}")
- if ns.config in valid_configs:
- print("Using " + ns.config + " configuration")
- return
- elif len(valid_configs) == 1:
- ns.config = valid_configs.pop()
- print("Found " + ns.config + " configuration")
- elif ns.config is None:
- print("config not selected, please choose from the following:\n")
- selections = list(enumerate(sorted(valid_configs), 1))
- for i, c in selections:
- print(f"{i}. {c}")
- s = input("\n> ")
- idx = int(s) - 1
- ns.config = selections[idx][1]
- print(f"selected {ns.config}")
- else:
- raise ValueError("config " + ns.config + " is not valid")
- # Remove the following, as implemented
- if not ns.config.startswith("linux"):
- raise ValueError(
- f"only Linux configs currently supported, got {ns.config}"
- )
-
-
-def main(args=None):
- p = ArgumentParser("build-locally")
- p.add_argument("config", default=None, nargs="?")
-
- ns = p.parse_args(args=args)
- verify_config(ns)
- setup_environment(ns)
-
- run_docker_build(ns)
-
-
-if __name__ == "__main__":
- main()
diff --git a/recipe/build_base.bat b/recipe/build_base.bat
index fdfed954e..1ae6bc4c8 100644
--- a/recipe/build_base.bat
+++ b/recipe/build_base.bat
@@ -20,6 +20,10 @@ for /F "tokens=1,2 delims=." %%i in ("%PKG_VERSION%") do (
set "VERNODOTS=%%i%%j"
)
+for /F "tokens=1,2 delims=." %%i in ("%PKG_VERSION%") do (
+ set "VER=%%i.%%j"
+)
+
:: Make sure the "python" value in conda_build_config.yaml is up to date.
for /F "tokens=1,2 delims=." %%i in ("%PKG_VERSION%") do (
if NOT "%PY_VER%"=="%%i.%%j" exit 1
@@ -44,6 +48,16 @@ if "%DEBUG_C%"=="yes" (
set PGO=--pgo
)
+if "%PY_FREETHREADING%" == "yes" (
+ set "FREETHREADING=--disable-gil"
+ set "THREAD=t"
+ set "EXE_T=%VER%t"
+) else (
+ set "FREETHREADING="
+ set "THREAD="
+ set "EXE_T="
+)
+
:: AP doesn't support PGO atm?
set PGO=
@@ -51,13 +65,13 @@ cd PCbuild
:: Twice because:
:: error : importlib_zipimport.h updated. You will need to rebuild pythoncore to see the changes.
-call build.bat %PGO% %CONFIG% -m -e -v -p %PLATFORM%
-call build.bat %PGO% %CONFIG% -m -e -v -p %PLATFORM%
+call build.bat %PGO% %CONFIG% %FREETHREADING% --experimental-jit-off -m -e -v -p %PLATFORM%
+call build.bat %PGO% %CONFIG% %FREETHREADING% --experimental-jit-off -m -e -v -p %PLATFORM%
if errorlevel 1 exit 1
cd ..
:: Populate the root package directory
-for %%x in (python%VERNODOTS%%_D%.dll python3%_D%.dll python%_D%.exe pythonw%_D%.exe) do (
+for %%x in (python%VERNODOTS%%THREAD%%_D%.dll python3%THREAD%%_D%.dll python%EXE_T%%_D%.exe pythonw%EXE_T%%_D%.exe) do (
if exist %SRC_DIR%\PCbuild\%BUILD_PATH%\%%x (
copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\%%x %PREFIX%
) else (
@@ -73,6 +87,8 @@ for %%x in (python%_D%.pdb python%VERNODOTS%%_D%.pdb pythonw%_D%.pdb) do (
)
)
+@echo on
+
copy %SRC_DIR%\LICENSE %PREFIX%\LICENSE_PYTHON.txt
if errorlevel 1 exit 1
@@ -86,7 +102,6 @@ if errorlevel 1 exit 1
copy /Y %SRC_DIR%\PC\icons\pyc.ico %PREFIX%\DLLs\
if errorlevel 1 exit 1
-
:: Populate the Tools directory
mkdir %PREFIX%\Tools
xcopy /s /y /i %SRC_DIR%\Tools\i18n %PREFIX%\Tools\i18n
@@ -96,13 +111,9 @@ if errorlevel 1 exit 1
del %PREFIX%\Tools\scripts\README
if errorlevel 1 exit 1
-del %PREFIX%\Tools\scripts\dutree.doc
-if errorlevel 1 exit 1
del %PREFIX%\Tools\scripts\idle3
if errorlevel 1 exit 1
-move /y %PREFIX%\Tools\scripts\2to3 %PREFIX%\Tools\scripts\2to3.py
-if errorlevel 1 exit 1
move /y %PREFIX%\Tools\scripts\pydoc3 %PREFIX%\Tools\scripts\pydoc3.py
if errorlevel 1 exit 1
@@ -110,8 +121,9 @@ if errorlevel 1 exit 1
xcopy /s /y %SRC_DIR%\Include %PREFIX%\include\
if errorlevel 1 exit 1
-copy /Y %SRC_DIR%\PC\pyconfig.h %PREFIX%\include\
-if errorlevel 1 exit 1
+@rem Safe to omit this? Is this maybe somewhere else?
+@rem copy /Y %SRC_DIR%\PC\pyconfig.h %PREFIX%\include\
+@rem if errorlevel 1 exit 1
:: Populate the Scripts directory
if not exist %SCRIPTS% (mkdir %SCRIPTS%)
@@ -122,9 +134,6 @@ for %%x in (idle pydoc) do (
if errorlevel 1 exit 1
)
-copy /Y %SRC_DIR%\Tools\scripts\2to3 %SCRIPTS%
-if errorlevel 1 exit 1
-
:: Populate the libs directory
if not exist %PREFIX%\libs mkdir %PREFIX%\libs
if exist %SRC_DIR%\PCbuild\%BUILD_PATH%\python%VERNODOTS%%_D%.lib copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\python%VERNODOTS%%_D%.lib %PREFIX%\libs\
@@ -141,16 +150,21 @@ xcopy /s /y %SRC_DIR%\Lib %PREFIX%\Lib\
if errorlevel 1 exit 1
:: Copy venv[w]launcher scripts to venv\srcipts\nt
-if exist %SRC_DIR%\PCbuild\%BUILD_PATH%\venvlauncher%_D%.exe (
- copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\venvlauncher%_D%.exe %PREFIX%\Lib\venv\scripts\nt\python.exe
+:: See https://github.com/python/cpython/blob/b4a316087c32d83e375087fd35fc511bc430ee8b/Lib/venv/__init__.py#L334-L376
+if exist %SRC_DIR%\PCbuild\%BUILD_PATH%\venvlauncher%THREAD%%_D%.exe (
+ @rem We did copy pythonw.exe until 3.12 but starting with 3.13 we seem to need the latter. Should we omit the first?
+ copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\venvlauncher%THREAD%%_D%.exe %PREFIX%\Lib\venv\scripts\nt\python.exe
+ copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\venvlauncher%THREAD%%_D%.exe %PREFIX%\Lib\venv\scripts\nt\venvlauncher%THREAD%%_D%.exe
) else (
- echo "WARNING :: %SRC_DIR%\PCbuild\%BUILD_PATH%\venvlauncher%_D%.exe does not exist"
+ echo "WARNING :: %SRC_DIR%\PCbuild\%BUILD_PATH%\venvlauncher%THREAD%%_D%.exe does not exist"
)
-if exist %SRC_DIR%\PCbuild\%BUILD_PATH%\venvwlauncher%_D%.exe (
- copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\venvwlauncher%_D%.exe %PREFIX%\Lib\venv\scripts\nt\pythonw.exe
+if exist %SRC_DIR%\PCbuild\%BUILD_PATH%\venvwlauncher%THREAD%%_D%.exe (
+ @rem We did copy pythonw.exe until 3.12 but starting with 3.13 we seem to need the latter. Should we omit the first?
+ copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\venvwlauncher%THREAD%%_D%.exe %PREFIX%\Lib\venv\scripts\nt\pythonw.exe
+ copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\venvwlauncher%THREAD%%_D%.exe %PREFIX%\Lib\venv\scripts\nt\venvwlauncher%THREAD%%_D%.exe
) else (
- echo "WARNING :: %SRC_DIR%\PCbuild\%BUILD_PATH%\venvwlauncher%_D%.exe does not exist"
+ echo "WARNING :: %SRC_DIR%\PCbuild\%BUILD_PATH%\venvwlauncher%THREAD%%_D%.exe does not exist"
)
@@ -176,6 +190,7 @@ if errorlevel 1 exit 1
:: We need our Python to be found!
if "%_D%" neq "" copy %PREFIX%\python%_D%.exe %PREFIX%\python.exe
+if "%EXE_T%" neq "" copy %PREFIX%\python%EXE_T%.exe %PREFIX%\python.exe
%PREFIX%\python.exe -Wi %PREFIX%\Lib\compileall.py -f -q -x "bad_coding|badsyntax|py2_" %PREFIX%\Lib
if errorlevel 1 exit 1
diff --git a/recipe/build_base.sh b/recipe/build_base.sh
index 3c09c2917..7008e2762 100644
--- a/recipe/build_base.sh
+++ b/recipe/build_base.sh
@@ -4,6 +4,13 @@ set -ex
# Get an updated config.sub and config.guess
cp $BUILD_PREFIX/share/libtool/build-aux/config.* .
+if [[ ! -d ${BUILD_PREFIX}/python-bin ]]; then
+ # Need an up-to-date python to build python.
+ # python 3.10 in miniforge is too old.
+ CONDA_SUBDIR=$build_platform conda create -p ${BUILD_PREFIX}/python-bin python -c conda-forge --yes --quiet
+ export PATH=${BUILD_PREFIX}/python-bin/bin:${PATH}
+fi
+
# The LTO/PGO information was sourced from @pitrou and the Debian rules file in:
# http://http.debian.net/debian/pool/main/p/python3.6/python3.6_3.6.2-2.debian.tar.xz
# https://packages.debian.org/source/sid/python3.6
@@ -24,14 +31,6 @@ _buildd_shared=build-shared
_ENABLE_SHARED=--enable-shared
# We *still* build a shared lib here for non-static embedded use cases
_DISABLE_SHARED=--disable-shared
-# Hack to allow easily comparing static vs shared interpreter performance
-# .. hack because we just build it shared in both the build-static and
-# build-shared directories.
-# Yes this hack is a bit confusing, sorry about that.
-if [[ ${PY_INTERP_LINKAGE_NATURE} == shared ]]; then
- _DISABLE_SHARED=--enable-shared
- _ENABLE_SHARED=--enable-shared
-fi
# For debugging builds, set this to no to disable profile-guided optimization
if [[ ${PY_INTERP_DEBUG} == yes ]]; then
@@ -64,8 +63,16 @@ else
DBG=
fi
-ABIFLAGS=${DBG}
-VERABI=${VER}${DBG}
+if [[ ${PY_FREETHREADING} == yes ]]; then
+ # This Python will not be usable with non-free threading Python modules.
+ THREAD=t
+else
+ THREAD=
+fi
+
+ABIFLAGS=${DBG}${THREAD}
+VERABI=${VER}${THREAD}${DBG}
+VERABI_NO_DBG=${VER}${THREAD}
# Make sure the "python" value in conda_build_config.yaml is up to date.
test "${PY_VER}" = "${VER}"
@@ -76,7 +83,7 @@ test "${PY_VER}" = "${VER}"
unset _PYTHON_SYSCONFIGDATA_NAME
unset _CONDA_PYTHON_SYSCONFIGDATA_NAME
-# Prevent lib/python${VER}/_sysconfigdata_*.py from ending up with full paths to these things
+# Prevent lib/python${VERABI_NO_DBG}/_sysconfigdata_*.py from ending up with full paths to these things
# in _build_env because _build_env will not get found during prefix replacement, only _h_env_placeh ...
AR=$(basename "${AR}")
@@ -264,6 +271,16 @@ _common_configure_args+=(--with-tcltk-includes="-I${PREFIX}/include")
_common_configure_args+=("--with-tcltk-libs=-L${PREFIX}/lib -ltcl8.6 -ltk8.6")
_common_configure_args+=(--with-platlibdir=lib)
+if [[ "${PY_INTERP_DEBUG}" == "yes" || "${target_platform}" != *"-64" ]]; then
+ _common_configure_args+=(--enable-experimental-jit=no)
+else
+ _common_configure_args+=(--enable-experimental-jit=yes-off)
+fi
+
+if [[ ${PY_FREETHREADING} == yes ]]; then
+ _common_configure_args+=(--disable-gil)
+fi
+
# Add more optimization flags for the static Python interpreter:
declare -a PROFILE_TASK=()
if [[ ${_OPTIMIZED} == yes ]]; then
@@ -356,7 +373,7 @@ fi
# build a static library with PIC objects and without LTO/PGO
make -j${CPU_COUNT} -C ${_buildd_shared} \
EXTRA_CFLAGS="${EXTRA_CFLAGS}" \
- LIBRARY=libpython${VERABI}-pic.a libpython${VERABI}-pic.a
+ LIBRARY=libpython${VERABI_NO_DBG}-pic.a libpython${VERABI_NO_DBG}-pic.a
make -C ${_buildd_static} install
@@ -388,15 +405,15 @@ fi
SYSCONFIG=$(find ${_buildd_static}/$(cat ${_buildd_static}/pybuilddir.txt) -name "_sysconfigdata*.py" -print0)
cat ${SYSCONFIG} | ${SYS_PYTHON} "${RECIPE_DIR}"/replace-word-pairs.py \
"${_FLAGS_REPLACE[@]}" \
- > ${PREFIX}/lib/python${VER}/$(basename ${SYSCONFIG})
-MAKEFILE=$(find ${PREFIX}/lib/python${VER}/ -path "*config-*/Makefile" -print0)
+ > ${PREFIX}/lib/python${VERABI_NO_DBG}/$(basename ${SYSCONFIG})
+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 \
"${_FLAGS_REPLACE[@]}" \
> ${MAKEFILE}
# Check to see that our differences took.
-# echo diff -urN ${SYSCONFIG} ${PREFIX}/lib/python${VER}/$(basename ${SYSCONFIG})
-# diff -urN ${SYSCONFIG} ${PREFIX}/lib/python${VER}/$(basename ${SYSCONFIG})
+# echo diff -urN ${SYSCONFIG} ${PREFIX}/lib/python${VERABI_NO_DBG}/$(basename ${SYSCONFIG})
+# diff -urN ${SYSCONFIG} ${PREFIX}/lib/python${VERABI_NO_DBG}/$(basename ${SYSCONFIG})
# Python installs python${VER}m and python${VER}, one as a hardlink to the other. conda-build breaks these
# by copying. Since the executable may be static it may be very large so change one to be a symlink
@@ -413,7 +430,7 @@ ln -s ${PREFIX}/bin/python${VER} ${PREFIX}/bin/python3.1
# Remove test data to save space
# Though keep `support` as some things use that.
# TODO :: Make a subpackage for this once we implement multi-level testing.
-pushd ${PREFIX}/lib/python${VER}
+pushd ${PREFIX}/lib/python${VERABI_NO_DBG}
mkdir test_keep
mv test/__init__.py test/support test/test_support* test/test_script_helper* test_keep/
rm -rf test */test
@@ -426,7 +443,7 @@ pushd ${PREFIX}
chmod +w lib/libpython${VERABI}.a
${STRIP} -S lib/libpython${VERABI}.a
fi
- CONFIG_LIBPYTHON=$(find lib/python${VER}/config-${VERABI}* -name "libpython${VERABI}.a")
+ CONFIG_LIBPYTHON=$(find lib/python${VERABI_NO_DBG}/config-${VERABI}* -name "libpython${VERABI}.a")
if [[ -f lib/libpython${VERABI}.a ]] && [[ -f ${CONFIG_LIBPYTHON} ]]; then
chmod +w ${CONFIG_LIBPYTHON}
rm ${CONFIG_LIBPYTHON}
@@ -452,7 +469,7 @@ esac
# Copy sysconfig that gets recorded to a non-default name
# using the new compilers with python will require setting _PYTHON_SYSCONFIGDATA_NAME
# to the name of this file (minus the .py extension)
-pushd "${PREFIX}"/lib/python${VER}
+pushd "${PREFIX}"/lib/python${VERABI_NO_DBG}
# On Python 3.5 _sysconfigdata.py was getting copied in here and compiled for some reason.
# This breaks our attempt to find the right one as recorded_name.
find lib-dynload -name "_sysconfigdata*.py*" -exec rm {} \;
@@ -488,7 +505,7 @@ pushd "${PREFIX}"/lib/python${VER}
sed -i.bak "s@$OLD_HOST-@@g" sysconfigfile
if [[ "$target_platform" == linux* ]]; then
# For linux, make sure the system gcc uses our linker
- sed -i.bak "s@-pthread@-pthread -B $PREFIX/compiler_compat@g" sysconfigfile
+ sed -i.bak "s@-pthread@-pthread -B $PREFIX/shared/python_compiler_compat@g" sysconfigfile
fi
# Don't set -march and -mtune for system gcc
sed -i.bak "s@-march=[^( |\\\"|\\\')]*@@g" sysconfigfile
@@ -513,10 +530,10 @@ pushd "${PREFIX}"/lib/python${VER}
popd
if [[ ${HOST} =~ .*linux.* ]]; then
- mkdir -p ${PREFIX}/compiler_compat
- ln -s ${PREFIX}/bin/${HOST}-ld ${PREFIX}/compiler_compat/ld
- echo "Files in this folder are to enhance backwards compatibility of anaconda software with older compilers." > ${PREFIX}/compiler_compat/README
- echo "See: https://github.com/conda/conda/issues/6030 for more information." >> ${PREFIX}/compiler_compat/README
+ mkdir -p ${PREFIX}/shared/python_compiler_compat
+ ln -s ${PREFIX}/bin/${HOST}-ld ${PREFIX}/shared/python_compiler_compat/ld
+ echo "Files in this folder are to enhance backwards compatibility of anaconda software with older compilers." > ${PREFIX}/shared/python_compiler_compat/README
+ echo "See: https://github.com/conda/conda/issues/6030 for more information." >> ${PREFIX}/shared/python_compiler_compat/README
fi
python -c "import compileall,os;compileall.compile_dir(os.environ['PREFIX'])"
@@ -525,7 +542,7 @@ 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${VER}${SHLIB_EXT}
+ 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
@@ -533,6 +550,5 @@ if [[ "$target_platform" == linux-* ]]; then
rm ${PREFIX}/include/uuid.h
fi
-# Workaround for old conda versions which fail to install noarch packages for Python 3.10+
-# https://github.com/conda/conda/issues/10969
-ln -s "${PREFIX}/lib/python${VER}" "${PREFIX}/lib/python3.1"
+# See ${RECIPE_DIR}/sitecustomize.py
+cp "${RECIPE_DIR}/sitecustomize.py" "${PREFIX}/lib/python${VERABI_NO_DBG}/sitecustomize.py"
diff --git a/recipe/build_static.sh b/recipe/build_static.sh
index 2e2fac46b..f77243733 100644
--- a/recipe/build_static.sh
+++ b/recipe/build_static.sh
@@ -8,18 +8,26 @@ if [[ ${PY_INTERP_DEBUG} == yes ]]; then
else
DBG=
fi
-VER=${PKG_VERSION%.*}
-VERABI=${VER}${DBG}
+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}
cp -pf ${_buildd_static}/libpython${VERABI}.a ${PREFIX}/lib/libpython${VERABI}.a
if [[ ${HOST} =~ .*linux.* ]]; then
- pushd ${PREFIX}/lib/python${VER}/config-${VERABI}-${HOST/-conda/}
+ pushd ${PREFIX}/lib/python${VERABI_NO_DBG}/config-${VERABI}-${HOST/-conda/}
elif [[ ${HOST} =~ .*darwin.* ]]; then
- pushd ${PREFIX}/lib/python${VER}/config-${VERABI}-darwin
+ pushd ${PREFIX}/lib/python${VERABI_NO_DBG}/config-${VERABI}-darwin
fi
ln -s ../../libpython${VERABI}.a libpython${VERABI}.a
popd
# If the LTO info in the normal lib is problematic (using different compilers for example
# we also provide a 'nolto' version).
-cp -pf ${_buildd_shared}/libpython${VERABI}-pic.a ${PREFIX}/lib/libpython${VERABI}.nolto.a
+cp -pf ${_buildd_shared}/libpython${VERABI_NO_DBG}-pic.a ${PREFIX}/lib/libpython${VERABI_NO_DBG}.nolto.a
diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml
index fe08aa1c9..174cfb632 100644
--- a/recipe/conda_build_config.yaml
+++ b/recipe/conda_build_config.yaml
@@ -1,5 +1,5 @@
python:
- - 3.12
+ - 3.13
python_impl:
- cpython
numpy:
@@ -9,9 +9,14 @@ MACOSX_SDK_VERSION: # [osx and x86_64]
build_type:
- release
- debug # [not win]
+channel_sources:
+ - conda-forge/label/python_rc,conda-forge
channel_targets:
- conda-forge main
- conda-forge python_debug # [not win]
+freethreading:
+ - yes
+ - no
zip_keys:
- build_type
- channel_targets
diff --git a/recipe/install_jit_activation.bat b/recipe/install_jit_activation.bat
new file mode 100644
index 000000000..71ecf061f
--- /dev/null
+++ b/recipe/install_jit_activation.bat
@@ -0,0 +1,16 @@
+@echo on
+
+:: Copy the [de]activate scripts to %PREFIX%\etc\conda\[de]activate.d.
+:: This will allow them to be run on environment activation.
+if not exist %PREFIX%\etc\conda\activate.d mkdir %PREFIX%\etc\conda\activate.d
+copy %RECIPE_DIR%\scripts\activate.bat %PREFIX%\etc\conda\activate.d\%PKG_NAME%_activate.bat
+if errorlevel 1 exit 1
+:: We also copy .sh scripts to be able to use them with POSIX CLI on Windows.
+copy %RECIPE_DIR%\scripts\activate.sh %PREFIX%\etc\conda\activate.d\%PKG_NAME%_activate.sh
+if errorlevel 1 exit 1
+
+if not exist %PREFIX%\etc\conda\deactivate.d mkdir %PREFIX%\etc\conda\deactivate.d
+copy %RECIPE_DIR%\scripts\deactivate.bat %PREFIX%\etc\conda\deactivate.d\%PKG_NAME%_deactivate.bat
+if errorlevel 1 exit 1
+copy %RECIPE_DIR%\scripts\deactivate.sh %PREFIX%\etc\conda\deactivate.d\%PKG_NAME%_deactivate.sh
+if errorlevel 1 exit 1
diff --git a/recipe/install_jit_activation.sh b/recipe/install_jit_activation.sh
new file mode 100644
index 000000000..1de6ae066
--- /dev/null
+++ b/recipe/install_jit_activation.sh
@@ -0,0 +1,7 @@
+# Copy the [de]activate scripts to $PREFIX/etc/conda/[de]activate.d.
+# This will allow them to be run on environment activation.
+for CHANGE in "activate" "deactivate"
+do
+ mkdir -p "${PREFIX}/etc/conda/${CHANGE}.d"
+ cp "${RECIPE_DIR}/scripts/${CHANGE}.sh" "${PREFIX}/etc/conda/${CHANGE}.d/${PKG_NAME}_${CHANGE}.sh"
+done
diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index 641867322..9d09a6530 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -1,5 +1,5 @@
-{% set version = "3.12.5" %}
-{% set dev = "" %}
+{% set version = "3.13.0" %}
+{% set dev = "rc1" %}
{% set dev_ = "" %}
{% set ver2 = '.'.join(version.split('.')[0:2]) %}
{% set ver2nd = ''.join(version.split('.')[0:2]) %}
@@ -11,22 +11,18 @@
# Sanitize build system env. var tweak parameters
# (passed to the build scripts via script_env).
-{% set from_source_control = os.environ.get('CONDA_BUILD_FROM_SOURCE_CONTROL', '') %}
-{% if from_source_control == '' or from_source_control == 'no' %}
- {% set from_source_control = 'no' %}
-{% else %}
- {% set from_source_control = 'yes' %}
-{% endif %}
-{% set linkage_nature = os.environ.get('PY_INTERP_LINKAGE_NATURE', '') %}
-{% if linkage_nature != '' %}
- {% set linkage_nature = "_" ~ linkage_nature %}
+{% if freethreading is not defined %}
+ {% set freethreading = "yes" %}
{% endif %}
-{% if linkage_nature == 'shared' %}
- {% set linkage_nature_env = 'shared' %}
+
+{% set abi_tag = "cp" + ver2nd %}
+# freethreading, set using conda_build_config.yaml
+{% if freethreading == "yes" %}
+ {% set abi_tag = abi_tag + "t" %}
{% else %}
- {% set linkage_nature_env = 'static' %}
+ {% set build_number = build_number + 100 %}
{% endif %}
-{% set dbg_abi = "" %}
+
{% if build_type == "debug" %}
{% set py_interp_debug = "yes" %}
{% set debug = "_debug" %}
@@ -40,14 +36,9 @@ package:
version: {{ version }}{{ dev }}
source:
-{% if from_source_control == 'yes' %}
- - git_url: https://github.com/python/CPython.git
- git_tag: v{{ version }}{{ dev }}
-{% else %}
- 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: 02c7d269e077f4034963bba6befdc715
-{% endif %}
+ md5: 9213ecfedc510ac2a14c0eeea96baf02
patches:
- patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch
- patches/0002-Win32-Do-not-download-externals.patch
@@ -72,20 +63,16 @@ source:
- patches/0019-Remove-unused-readelf.patch
- patches/0020-Don-t-checksharedmods-if-cross-compiling.patch
- patches/0021-Override-configure-LIBFFI.patch
- - patches/0022-Allow-linking-ncursesw-panelw-on-macOS-if-available.patch
+ - patches/0022-Unvendor-libmpdec.patch
build:
number: {{ build_number }}
requirements:
build:
-{% if from_source_control == 'yes' %}
- - git
-{% else %}
- patch # [not win]
- m2-patch # [win]
- m2-gcc-libs # [win]
-{% endif %}
outputs:
- name: python
@@ -116,21 +103,22 @@ outputs:
skip: true # [win and int(float(vc)) < 14]
skip_compile_pyc:
- '*.py' # [build_platform != target_platform]
- string: {{ dev_ }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}{{ linkage_nature }}{{ debug }}_cpython # ["conda-forge" in (channel_targets or "")]
- string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}{{ linkage_nature }}{{ debug }} # ["conda-forge" not in (channel_targets or "")]
-{% if 'conda-forge' in channel_targets %}
+ string: {{ dev_ }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}{{ debug }}_{{ abi_tag }}
run_exports:
noarch:
- python
weak:
- - python_abi {{ ver2 }}.* *_cp{{ ver2nd }}
+ - python_abi {{ ver2 }}.* *_{{ abi_tag }}
{% if py_interp_debug == "yes" %}
- - python {{ ver2 }}.* *_debug_cpython
+ - python {{ ver2 }}.* *_debug_{{ abi_tag }}
{% endif %}
+ track_features:
+{% if freethreading == "yes" %}
+ - py_freethreading
{% endif %}
script_env:
- - PY_INTERP_LINKAGE_NATURE={{ linkage_nature_env }}
- PY_INTERP_DEBUG={{ py_interp_debug }}
+ - PY_FREETHREADING={{ freethreading }}
# Putting these here means they get emitted to build_env_setup.{sh,bat} meaning we can launch IDEs
# after sourcing or calling that script without examine the contents of conda_build.{sh,bat} for
# important env. vars.
@@ -157,9 +145,11 @@ outputs:
# configure script looks for llvm-ar for lto
- llvm-tools # [osx]
- ld_impl_{{ target_platform }} # [linux]
-{% if 'conda-forge' in channel_targets %}
- binutils_impl_{{ target_platform }} # [linux]
-{% endif %}
+ - clang-18 # [not win]
+ - llvm-tools-18 # [not win]
+ - clang 18.* # [win]
+ - llvm-tools 18.* # [win]
- bzip2 # [build_platform != target_platform]
- sqlite # [build_platform != target_platform]
- xz # [build_platform != target_platform]
@@ -169,7 +159,6 @@ outputs:
- tk # [build_platform != target_platform]
- ncurses # [unix and build_platform != target_platform]
- libffi # [build_platform != target_platform]
- - libnsl # [linux and build_platform != target_platform]
- libuuid # [linux and build_platform != target_platform]
- libxcrypt # [linux and build_platform != target_platform]
- expat # [build_platform != target_platform]
@@ -184,9 +173,8 @@ outputs:
- ncurses # [unix]
- libffi
- ld_impl_{{ target_platform }} >=2.36.1 # [linux]
- - libnsl # [linux]
- libuuid # [linux]
- - libxcrypt # [linux]
+ - libmpdec-devel
- expat
run:
- ld_impl_{{ target_platform }} >=2.36.1 # [linux]
@@ -194,10 +182,7 @@ outputs:
{% if dev != '' %}
- _python_rc
{% endif %}
-{% if 'conda-forge' in channel_targets %}
- run_constrained:
- - python_abi {{ ver2 }}.* *_cp{{ ver2nd }}
-{% endif %}
+ - python_abi {{ ver2 }}.* *_{{ abi_tag }}
test:
downstreams:
- cython
@@ -219,7 +204,6 @@ outputs:
- set # [win]
- python -V
- python3 -V # [not win]
- - 2to3 -h
- pydoc -h
- python3-config --help # [not win]
- set "PIP_NO_BUILD_ISOLATION=False" # [win]
@@ -244,33 +228,30 @@ outputs:
# https://github.com/conda-forge/python-feedstock/issues/384
- if exist %PREFIX%\\Scripts\\pydoc exit 1 # [win]
- if exist %PREFIX%\\Scripts\\idle exit 1 # [win]
- - if exist %PREFIX%\\Scripts\\2to3 exit 1 # [win]
- if not exist %PREFIX%\\Scripts\\pydoc-script.py exit 1 # [win]
- if not exist %PREFIX%\\Scripts\\idle-script.py exit 1 # [win]
- - if not exist %PREFIX%\\Scripts\\2to3-script.py exit 1 # [win]
- if not exist %PREFIX%\\Scripts\\idle.exe exit 1 # [win]
- - if not exist %PREFIX%\\Scripts\\2to3.exe exit 1 # [win]
- if not exist %PREFIX%\\Scripts\\pydoc.exe exit 1 # [win]
- pushd tests
- pushd prefix-replacement # [unix]
- bash build-and-test.sh # [unix]
- popd # [unix]
- pushd cmake
- - cmake -GNinja -DPY_VER={{ version }}
- # --trace --debug-output --debug-trycompile .
+{% if freethreading == "yes" %}
+ - cmake -GNinja -DPY_VER={{ version }} --debug-find --trace --debug-output --debug-trycompile . || true # [unix]
+ - cmake -GNinja -DPY_VER={{ version }} --debug-find --trace --debug-output --debug-trycompile . || type nul>nul # [win]
+{% else %}
+ - cmake -GNinja -DPY_VER={{ version }} --debug-find --trace --debug-output --debug-trycompile .
+{% endif %}
- popd
- popd
- python run_test.py
- test ! -f default.profraw # [osx]
- # Test workaround for https://github.com/conda/conda/issues/10969
- - test -d "$PREFIX/lib/python3.1/site-packages" # [unix]
- python3.1 --version # [unix]
# Test for segfault on osx-64 with libffi=3.4, see https://bugs.python.org/issue44556
- python -c "from ctypes import CFUNCTYPE; CFUNCTYPE(None)(id)"
# 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]
- # crypt module will be removed in 3.13 => this failing is a reminder to remove the libxcrypt dependency
- - python -c "import crypt" # [unix]
- name: libpython-static
script: build_static.sh # [unix]
@@ -282,16 +263,13 @@ outputs:
- python_abi
script_env:
- PY_INTERP_DEBUG={{ py_interp_debug }}
- string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}{{ linkage_nature }}{{ debug }}_cpython # ["conda-forge" in (channel_targets or "")]
- string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}{{ linkage_nature }}{{ debug }} # ["conda-forge" not in (channel_targets or "")]
+ - PY_FREETHREADING={{ freethreading }}
+ string: h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}{{ debug }}_{{ abi_tag }}
requirements:
build:
- {{ compiler('c') }}
- {{ stdlib('c') }}
- {{ compiler('cxx') }}
-{% if from_source_control == 'yes' %}
- - git
-{% endif %}
host:
- {{ pin_subpackage('python', exact=True) }}
run:
@@ -302,19 +280,59 @@ outputs:
requires:
- {{ compiler('c') }}
commands:
- - VER=${PKG_VERSION%.*} # [not win]
+ - 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=${VER}d # [not win]
-{% else %}
- - VERABI=${VER} # [not win]
+ - VERABI=${VERABI}d # [not win]
{% endif %}
- test -f ${PREFIX}/lib/libpython${VERABI}.a # [unix]
- - test -f ${PREFIX}/lib/libpython${VERABI}.nolto.a # [unix]
- - test -f ${PREFIX}/lib/python${VER}/config-${VERABI}-darwin/libpython${VERABI}.a # [osx]
+ - 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]
+ - name: cpython
+ build:
+ noarch: generic
+ requirements:
+ - python {{ version }}.*
+ - python_abi * *_{{ abi_tag }}
+
+ - name: python-freethreading
+ build:
+ noarch: generic
+{% if freethreading != "yes" %}
+ skip: True
+{% endif %}
+ requirements:
+ - cpython {{ version }}.*
+ - python_abi * *_{{ abi_tag }}
+
+ - name: cpython-gil
+ build:
+ noarch: generic
+{% if freethreading == "yes" %}
+ skip: True
+{% endif %}
+ requirements:
+ - cpython {{ version }}.*
+ - python_abi * *_{{ abi_tag }}
+
+ - name: python-jit
+ script: install_jit_activation.sh # [not win]
+ script: install_jit_activation.bat # [win]
+ build:
+ noarch: generic
+ requirements:
+ - cpython {{ version }}.*
+ - __unix # [unix]
+ - __win # [win]
+
about:
home: https://www.python.org/
license: Python-2.0
@@ -327,6 +345,27 @@ about:
fewer lines of code than would be possible in languages such as C++ or
Java. The language provides constructs intended to enable clear programs
on both a small and large scale.
+
+ We provide some meta packages for convenience.
+ To get a CPython flavour, use
+
+ conda install cpython
+
+ To get the freethreading build (i.e. without the Global Interpreter Lock - GIL)
+
+ conda install python-freethreading
+
+ To get the default build (i.e. with the GIL)
+
+ conda install python-gil
+
+ To enable the use of the experimental JIT compiler in CPython
+
+ conda install python-jit
+
+ or set the environment variable PYTHON_JIT=1. Note that the JIT support
+ is available for x86_64 builds only.
+
doc_url: https://www.python.org/doc/versions/
doc_source_url: https://github.com/python/pythondotorg/blob/master/docs/source/index.rst
dev_url: https://docs.python.org/devguide/
@@ -338,7 +377,6 @@ extra:
- isuruf
- jakirkham
- mbargull
- - mingwandroid
- msarahan
- pelson
- ocefpaf
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 b0aefe51d..4cdae8ba5 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 4f915b76bf52d9a4a355e0047b0ac8d66a8ec336 Mon Sep 17 00:00:00 2001
+From 7178343ae96f9cfebfb5eef9b46a6a955173394c Mon Sep 17 00:00:00 2001
From: Ray Donnelly
Date: Wed, 16 Aug 2017 11:53:55 +0100
Subject: [PATCH 01/22] Win32: Change FD_SETSIZE from 512 to 2048
@@ -9,10 +9,10 @@ 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 97f1db20f6..166222bafb 100644
+index 5bd9b7732a..504f79e899 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
-@@ -46,7 +46,7 @@
+@@ -45,7 +45,7 @@
FD_SETSIZE higher before this; e.g., via compiler /D switch.
*/
#if defined(MS_WINDOWS) && !defined(FD_SETSIZE)
diff --git a/recipe/patches/0002-Win32-Do-not-download-externals.patch b/recipe/patches/0002-Win32-Do-not-download-externals.patch
index e9ca11c7a..a121a568e 100644
--- a/recipe/patches/0002-Win32-Do-not-download-externals.patch
+++ b/recipe/patches/0002-Win32-Do-not-download-externals.patch
@@ -1,22 +1,29 @@
-From 89ac50838fc3c43b63342d7b9c434fe68e11d678 Mon Sep 17 00:00:00 2001
+From e3cf4b7cc0c94751c96e9366ee755e4fc46152ee Mon Sep 17 00:00:00 2001
From: Ray Donnelly
Date: Thu, 7 Sep 2017 11:35:47 +0100
Subject: [PATCH 02/22] Win32: Do not download externals
---
- PCbuild/build.bat | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ PCbuild/build.bat | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/PCbuild/build.bat b/PCbuild/build.bat
-index d333ceabd2..11e3d16a4f 100644
+index 6c76f09a07..3dc802b8ce 100644
--- a/PCbuild/build.bat
+++ b/PCbuild/build.bat
-@@ -97,7 +97,7 @@ if "%IncludeCTypes%"=="" set IncludeCTypes=true
+@@ -102,7 +102,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
+
+-if "%IncludeExternals%"=="" set IncludeExternals=true
++@rem if "%IncludeExternals%"=="" set IncludeExternals=true
+ if "%IncludeCTypes%"=="" set IncludeCTypes=true
if "%IncludeSSL%"=="" set IncludeSSL=true
if "%IncludeTkinter%"=="" set IncludeTkinter=true
-
--if "%IncludeExternals%"=="true" call "%dir%get_externals.bat"
-+rem if "%IncludeExternals%"=="true" call "%dir%get_externals.bat"
-
- if "%do_pgo%" EQU "true" if "%platf%" EQU "x64" (
- if "%PROCESSOR_ARCHITEW6432%" NEQ "AMD64" if "%PROCESSOR_ARCHITECTURE%" NEQ "AMD64" (
+@@ -196,4 +196,4 @@ rem Display the current build version information
+ call "%dir%find_msbuild.bat" %MSBUILD%
+ if ERRORLEVEL 1 (echo Cannot locate MSBuild.exe on PATH or as MSBUILD variable & exit /b 2)
+ %MSBUILD% "%dir%pythoncore.vcxproj" /t:ShowVersionInfo /v:m /nologo %1 %2 %3 %4 %5 %6 %7 %8 %9
+-if ERRORLEVEL 1 exit /b 3
+\ No newline at end of file
++if ERRORLEVEL 1 exit /b 3
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 89ad52dab..d2dbeabf9 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 1add97729db66a572b0ad8f26186071c6d1b19fd Mon Sep 17 00:00:00 2001
+From 736883361dfffbe7330c221cb259c20c0f28b65a Mon Sep 17 00:00:00 2001
From: Ray Donnelly
Date: Tue, 5 Dec 2017 22:47:59 +0000
Subject: [PATCH 03/22] Fix find_library so that it looks in sys.prefix/lib
@@ -25,11 +25,11 @@ index 583c47daff..ab9b01c87e 100644
yield os.path.join(executable_path, name[len('@executable_path/'):])
diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
-index c550883e7c..78b0b014f0 100644
+index 117bf06cb0..2e9fa474ac 100644
--- a/Lib/ctypes/util.py
+++ b/Lib/ctypes/util.py
@@ -70,7 +70,8 @@ def find_library(name):
- elif os.name == "posix" and sys.platform == "darwin":
+ 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):
- possible = ['lib%s.dylib' % name,
@@ -38,7 +38,7 @@ index c550883e7c..78b0b014f0 100644
'%s.dylib' % name,
'%s.framework/%s' % (name, name)]
for name in possible:
-@@ -327,10 +328,30 @@ def _findLib_ld(name):
+@@ -336,10 +337,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 98b125fa7..bb06aa770 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 4c0b20c3cebfcb8eaa0406c7b626322d01087492 Mon Sep 17 00:00:00 2001
+From 6fb5ee0171f592da6888e71fe0a05581fffaae43 Mon Sep 17 00:00:00 2001
From: Ray Donnelly
Date: Sat, 27 Oct 2018 18:48:30 +0100
Subject: [PATCH 04/22] Disable registry lookup unless CONDA_PY_ALLOW_REG_PATHS
@@ -11,10 +11,10 @@ Co-authored-by: Isuru Fernando
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/Modules/getpath.c b/Modules/getpath.c
-index 0a31000075..b0efef2f53 100644
+index d0128b20fa..e7cfeba25e 100644
--- a/Modules/getpath.c
+++ b/Modules/getpath.c
-@@ -899,6 +899,7 @@ _PyConfig_InitPathConfig(PyConfig *config, int compute_path_config)
+@@ -945,6 +945,7 @@ _PyConfig_InitPathConfig(PyConfig *config, int compute_path_config)
!env_to_dict(dict, "ENV_PATH", 0) ||
!env_to_dict(dict, "ENV_PYTHONHOME", 0) ||
!env_to_dict(dict, "ENV_PYTHONEXECUTABLE", 0) ||
@@ -23,10 +23,10 @@ index 0a31000075..b0efef2f53 100644
!progname_to_dict(dict, "real_executable") ||
!library_to_dict(dict, "library") ||
diff --git a/Modules/getpath.py b/Modules/getpath.py
-index 9913fcba49..15a06c7e44 100644
+index 1f1bfcb4f6..344900c05e 100644
--- a/Modules/getpath.py
+++ b/Modules/getpath.py
-@@ -51,6 +51,7 @@
+@@ -52,6 +52,7 @@
# ENV_PYTHONHOME -- [in] getenv(...)
# ENV_PYTHONEXECUTABLE -- [in] getenv(...)
# ENV___PYVENV_LAUNCHER__ -- [in] getenv(...)
@@ -34,7 +34,7 @@ index 9913fcba49..15a06c7e44 100644
# ** Values calculated at runtime **
# config -- [in/out] dict of the PyConfig structure
-@@ -673,7 +674,7 @@ def search_up(prefix, *landmarks, test=isfile):
+@@ -681,7 +682,7 @@ def search_up(prefix, *landmarks, test=isfile):
else:
pythonpath.append(joinpath(prefix, ZIP_LANDMARK))
diff --git a/recipe/patches/0005-Unvendor-openssl.patch b/recipe/patches/0005-Unvendor-openssl.patch
index 11c730271..f5b299c5f 100644
--- a/recipe/patches/0005-Unvendor-openssl.patch
+++ b/recipe/patches/0005-Unvendor-openssl.patch
@@ -1,4 +1,4 @@
-From 91c6890e658e06e72213b8699e9c7e15ab42de55 Mon Sep 17 00:00:00 2001
+From 9b09680cddf6efce8bc7f4ca62b7f31cd5b5eb62 Mon Sep 17 00:00:00 2001
From: Nehal J Wani
Date: Sat, 24 Nov 2018 20:38:02 -0600
Subject: [PATCH 05/22] Unvendor openssl
@@ -6,16 +6,16 @@ Subject: [PATCH 05/22] Unvendor openssl
Co-authored-by: Isuru Fernando
---
PCbuild/_ssl.vcxproj | 3 --
- PCbuild/_ssl.vcxproj.filters | 3 --
+ PCbuild/_ssl.vcxproj.filters | 5 +---
PCbuild/openssl.props | 14 ++-------
- PCbuild/openssl.vcxproj | 56 ------------------------------------
+ PCbuild/openssl.vcxproj | 58 +-----------------------------------
PCbuild/python.props | 11 +------
PCbuild/python.vcxproj | 3 ++
- PCbuild/pythonw.vcxproj | 3 ++
- 7 files changed, 9 insertions(+), 84 deletions(-)
+ PCbuild/pythonw.vcxproj | 5 +++-
+ 7 files changed, 12 insertions(+), 87 deletions(-)
diff --git a/PCbuild/_ssl.vcxproj b/PCbuild/_ssl.vcxproj
-index 226ff506f8..e2fac911e1 100644
+index d4e1affab0..ce21f992ff 100644
--- a/PCbuild/_ssl.vcxproj
+++ b/PCbuild/_ssl.vcxproj
@@ -99,9 +99,6 @@
@@ -29,10 +29,10 @@ index 226ff506f8..e2fac911e1 100644
diff --git a/PCbuild/_ssl.vcxproj.filters b/PCbuild/_ssl.vcxproj.filters
-index 716a69a41a..8aef9e03fc 100644
+index 716a69a41a..7e8e5800a0 100644
--- a/PCbuild/_ssl.vcxproj.filters
+++ b/PCbuild/_ssl.vcxproj.filters
-@@ -12,9 +12,6 @@
+@@ -12,13 +12,10 @@
Source Files
@@ -42,6 +42,12 @@ index 716a69a41a..8aef9e03fc 100644
+ Resource Files
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/openssl.props b/PCbuild/openssl.props
index 5fd708b211..044cefd95e 100644
--- a/PCbuild/openssl.props
@@ -75,7 +81,7 @@ index 5fd708b211..044cefd95e 100644
-
diff --git a/PCbuild/openssl.vcxproj b/PCbuild/openssl.vcxproj
-index 0da6f67495..17eee400eb 100644
+index 0da6f67495..b79f35b2c7 100644
--- a/PCbuild/openssl.vcxproj
+++ b/PCbuild/openssl.vcxproj
@@ -60,64 +60,8 @@
@@ -143,8 +149,15 @@ index 0da6f67495..17eee400eb 100644
+@@ -136,4 +80,4 @@ nmake
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/python.props b/PCbuild/python.props
-index d799948fa3..cf0913f331 100644
+index 86fe8531d7..0ec0914fac 100644
--- a/PCbuild/python.props
+++ b/PCbuild/python.props
@@ -61,6 +61,7 @@
@@ -155,7 +168,7 @@ index d799948fa3..cf0913f331 100644
$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals`))
$(ExternalsDir)\
-@@ -68,17 +69,7 @@
+@@ -68,18 +69,8 @@
@@ -165,6 +178,7 @@ index d799948fa3..cf0913f331 100644
- $(ExternalsDir)libffi-3.4.4\
- $(libffiDir)$(ArchName)\
- $(libffiOutDir)include
+ $(ExternalsDir)\mpdecimal-4.0.0\
- $(ExternalsDir)openssl-3.0.13\
- $(ExternalsDir)openssl-bin-3.0.13\$(ArchName)\
- $(opensslOutDir)include
@@ -174,10 +188,10 @@ index d799948fa3..cf0913f331 100644
diff --git a/PCbuild/python.vcxproj b/PCbuild/python.vcxproj
-index 846c87fd1a..8021002c16 100644
+index 4a99ffc677..b11fb61796 100644
--- a/PCbuild/python.vcxproj
+++ b/PCbuild/python.vcxproj
-@@ -107,6 +107,9 @@
+@@ -110,6 +110,9 @@
@@ -188,10 +202,10 @@ index 846c87fd1a..8021002c16 100644
diff --git a/PCbuild/pythonw.vcxproj b/PCbuild/pythonw.vcxproj
-index f485352f64..38a2547089 100644
+index d08c210ef8..58a9e852be 100644
--- a/PCbuild/pythonw.vcxproj
+++ b/PCbuild/pythonw.vcxproj
-@@ -99,6 +99,9 @@
+@@ -102,6 +102,9 @@
@@ -201,3 +215,10 @@ index f485352f64..38a2547089 100644
+@@ -112,4 +115,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/recipe/patches/0006-Unvendor-sqlite3.patch b/recipe/patches/0006-Unvendor-sqlite3.patch
index 13ca0de77..d23d1c497 100644
--- a/recipe/patches/0006-Unvendor-sqlite3.patch
+++ b/recipe/patches/0006-Unvendor-sqlite3.patch
@@ -1,4 +1,4 @@
-From 0a0c280aec453af0a3904a696dfc71175e6dc246 Mon Sep 17 00:00:00 2001
+From 0c234591237306b0d24320fcddcb35275f0866f9 Mon Sep 17 00:00:00 2001
From: Nehal J Wani
Date: Tue, 5 Oct 2021 12:42:06 -0700
Subject: [PATCH 06/22] Unvendor sqlite3
@@ -10,7 +10,7 @@ Subject: [PATCH 06/22] Unvendor sqlite3
3 files changed, 11 insertions(+), 14 deletions(-)
diff --git a/PCbuild/_sqlite3.vcxproj b/PCbuild/_sqlite3.vcxproj
-index 57c7413671..4735477f00 100644
+index 9ae0a0fc3a..f482734ba1 100644
--- a/PCbuild/_sqlite3.vcxproj
+++ b/PCbuild/_sqlite3.vcxproj
@@ -93,9 +93,12 @@
@@ -43,20 +43,20 @@ index 57c7413671..4735477f00 100644
\ No newline at end of file
+
diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln
-index bdddec60da..ab43b610a9 100644
+index d10e1c46a9..7516820de8 100644
--- a/PCbuild/pcbuild.sln
+++ b/PCbuild/pcbuild.sln
-@@ -99,8 +99,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyexpat", "pyexpat.vcxproj"
+@@ -71,8 +71,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_elementtree", "_elementtre
EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_hashlib", "_hashlib.vcxproj", "{447F05A8-F581-4CAC-A466-5AC7936E207E}"
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_socket", "_socket.vcxproj", "{86937F53-C189-40EF-8CE8-8759D8E7D480}"
EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3", "sqlite3.vcxproj", "{A1A295E5-463C-437F-81CA-1F32367685DA}"
+-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_sqlite3", "_sqlite3.vcxproj", "{13CECB97-4119-4316-9D42-8534019A5A44}"
-EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_multiprocessing", "_multiprocessing.vcxproj", "{9E48B300-37D1-11DD-8C41-005056C00008}"
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ssl", "_ssl.vcxproj", "{C6E20F84-3247-4AD6-B051-B073268F73BA}"
EndProject
- Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python3dll", "python3dll.vcxproj", "{885D4898-D08D-4091-9C40-C700CFE3FC5A}"
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testcapi", "_testcapi.vcxproj", "{6901D91C-6E48-4BB7-9FEC-700C8131DF1D}"
diff --git a/PCbuild/sqlite3.vcxproj b/PCbuild/sqlite3.vcxproj
-index c502d51833..c1ff0c9a08 100644
+index 6bcc4e913c..9fe4bb740a 100644
--- a/PCbuild/sqlite3.vcxproj
+++ b/PCbuild/sqlite3.vcxproj
@@ -88,12 +88,12 @@
diff --git a/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch b/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch
index 2df358864..b56f8cd45 100644
--- a/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch
+++ b/recipe/patches/0007-Add-CondaEcosystemModifyDllSearchPath.patch
@@ -1,4 +1,4 @@
-From 46d9b400457bec18d25f3977758daa76d53acbf4 Mon Sep 17 00:00:00 2001
+From 549322421754214dfdbc456a51c77d6f64947d16 Mon Sep 17 00:00:00 2001
From: Ray Donnelly
Date: Tue, 24 Dec 2019 18:37:17 +0100
Subject: [PATCH 07/22] Add CondaEcosystemModifyDllSearchPath()
@@ -33,10 +33,10 @@ Co-authored-by: Isuru Fernando
1 file changed, 96 insertions(+)
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
-index 2c36527a87..84cbae8248 100644
+index 13bd62da4d..d68bd42a9f 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
-@@ -51,6 +51,10 @@
+@@ -60,6 +60,10 @@
#ifdef MS_WINDOWS
# undef BYTE
@@ -46,8 +46,8 @@ index 2c36527a87..84cbae8248 100644
+# include
#endif
- #define PUTS(fd, str) _Py_write_noraise(fd, str, (int)strlen(str))
-@@ -98,6 +102,94 @@ __attribute__ ((section (".PyRuntime")))
+ #define PUTS(fd, str) (void)_Py_write_noraise(fd, str, (int)strlen(str))
+@@ -106,6 +110,94 @@ __attribute__ ((section (".PyRuntime")))
= _PyRuntimeState_INIT(_PyRuntime);
_Py_COMP_DIAG_POP
@@ -142,7 +142,7 @@ index 2c36527a87..84cbae8248 100644
static int runtime_initialized = 0;
PyStatus
-@@ -114,6 +206,10 @@ _PyRuntime_Initialize(void)
+@@ -122,6 +214,10 @@ _PyRuntime_Initialize(void)
}
runtime_initialized = 1;
diff --git a/recipe/patches/0008-Doing-d1trimfile.patch b/recipe/patches/0008-Doing-d1trimfile.patch
index 8b012444c..040d4fd35 100644
--- a/recipe/patches/0008-Doing-d1trimfile.patch
+++ b/recipe/patches/0008-Doing-d1trimfile.patch
@@ -1,55 +1,54 @@
-From 679e1d26a2d1883952ef98d191cc08242adcab12 Mon Sep 17 00:00:00 2001
+From dd7a7668da8a8a9e9ccc4d8062fb74be19763400 Mon Sep 17 00:00:00 2001
From: Ray Donnelly
Date: Tue, 31 Dec 2019 21:47:47 +0100
Subject: [PATCH 08/22] Doing d1trimfile
---
PCbuild/_asyncio.vcxproj | 20 ++++++++++++++++++++
- PCbuild/_bz2.vcxproj | 4 ++++
+ PCbuild/_bz2.vcxproj | 6 +++++-
PCbuild/_ctypes.vcxproj | 4 ++++
- PCbuild/_ctypes_test.vcxproj | 20 ++++++++++++++++++++
+ PCbuild/_ctypes_test.vcxproj | 22 +++++++++++++++++++++-
PCbuild/_decimal.vcxproj | 4 ++++
PCbuild/_elementtree.vcxproj | 6 +++++-
PCbuild/_freeze_module.vcxproj | 4 ++++
PCbuild/_hashlib.vcxproj | 12 ++++++++++++
PCbuild/_lzma.vcxproj | 4 ++++
- PCbuild/_msi.vcxproj | 12 ++++++++++++
- PCbuild/_multiprocessing.vcxproj | 12 ++++++++++++
- PCbuild/_overlapped.vcxproj | 12 ++++++++++++
+ PCbuild/_multiprocessing.vcxproj | 14 +++++++++++++-
+ PCbuild/_overlapped.vcxproj | 14 +++++++++++++-
PCbuild/_queue.vcxproj | 20 ++++++++++++++++++++
- PCbuild/_socket.vcxproj | 12 ++++++++++++
+ PCbuild/_socket.vcxproj | 14 +++++++++++++-
PCbuild/_sqlite3.vcxproj | 4 ++++
PCbuild/_ssl.vcxproj | 12 ++++++++++++
- PCbuild/_testbuffer.vcxproj | 20 ++++++++++++++++++++
+ PCbuild/_testbuffer.vcxproj | 22 +++++++++++++++++++++-
PCbuild/_testcapi.vcxproj | 20 ++++++++++++++++++++
- PCbuild/_testconsole.vcxproj | 4 ++++
- PCbuild/_testembed.vcxproj | 4 ++++
+ PCbuild/_testconsole.vcxproj | 6 +++++-
+ PCbuild/_testembed.vcxproj | 6 +++++-
PCbuild/_testimportmultiple.vcxproj | 20 ++++++++++++++++++++
PCbuild/_testinternalcapi.vcxproj | 20 ++++++++++++++++++++
- PCbuild/_testmultiphase.vcxproj | 4 ++++
- PCbuild/_tkinter.vcxproj | 4 ++++
+ PCbuild/_testmultiphase.vcxproj | 6 +++++-
+ PCbuild/_tkinter.vcxproj | 6 +++++-
PCbuild/liblzma.vcxproj | 4 ++++
PCbuild/pyexpat.vcxproj | 4 ++++
PCbuild/pylauncher.vcxproj | 4 ++++
- PCbuild/pyshellext.vcxproj | 4 ++++
+ PCbuild/pyshellext.vcxproj | 6 +++++-
PCbuild/python.vcxproj | 4 ++++
- PCbuild/python3dll.vcxproj | 4 ++++
+ PCbuild/python3dll.vcxproj | 6 +++++-
PCbuild/python_uwp.vcxproj | 2 +-
PCbuild/pythoncore.vcxproj | 2 +-
PCbuild/pythonw.vcxproj | 12 ++++++++++++
PCbuild/pythonw_uwp.vcxproj | 2 +-
- PCbuild/pywlauncher.vcxproj | 4 ++++
- PCbuild/select.vcxproj | 12 ++++++++++++
- PCbuild/unicodedata.vcxproj | 20 ++++++++++++++++++++
+ PCbuild/pywlauncher.vcxproj | 6 +++++-
+ PCbuild/select.vcxproj | 14 +++++++++++++-
+ PCbuild/unicodedata.vcxproj | 22 +++++++++++++++++++++-
PCbuild/venvlauncher.vcxproj | 4 ++++
PCbuild/venvwlauncher.vcxproj | 4 ++++
- PCbuild/winsound.vcxproj | 12 ++++++++++++
+ PCbuild/winsound.vcxproj | 14 +++++++++++++-
PCbuild/xxlimited.vcxproj | 6 ++++++
PCbuild/xxlimited_35.vcxproj | 6 ++++++
- 42 files changed, 364 insertions(+), 4 deletions(-)
+ 41 files changed, 368 insertions(+), 20 deletions(-)
diff --git a/PCbuild/_asyncio.vcxproj b/PCbuild/_asyncio.vcxproj
-index ed1e1bc0a4..47d322be5f 100644
+index 76b0ffd660..1402860e19 100644
--- a/PCbuild/_asyncio.vcxproj
+++ b/PCbuild/_asyncio.vcxproj
@@ -91,6 +91,26 @@
@@ -80,7 +79,7 @@ index ed1e1bc0a4..47d322be5f 100644
diff --git a/PCbuild/_bz2.vcxproj b/PCbuild/_bz2.vcxproj
-index 3fe95fbf83..0402f7a9aa 100644
+index e0dc6ec187..30ad0dc486 100644
--- a/PCbuild/_bz2.vcxproj
+++ b/PCbuild/_bz2.vcxproj
@@ -97,6 +97,10 @@
@@ -94,8 +93,15 @@ index 3fe95fbf83..0402f7a9aa 100644
+@@ -125,4 +129,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/_ctypes.vcxproj b/PCbuild/_ctypes.vcxproj
-index 253da31e9c..9e85bd9723 100644
+index 63d5fa49cd..6329f3d960 100644
--- a/PCbuild/_ctypes.vcxproj
+++ b/PCbuild/_ctypes.vcxproj
@@ -95,6 +95,10 @@
@@ -110,7 +116,7 @@ index 253da31e9c..9e85bd9723 100644
/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)
diff --git a/PCbuild/_ctypes_test.vcxproj b/PCbuild/_ctypes_test.vcxproj
-index 8a01e743a4..1ad658d5f9 100644
+index 97354739c0..b200d59290 100644
--- a/PCbuild/_ctypes_test.vcxproj
+++ b/PCbuild/_ctypes_test.vcxproj
@@ -92,6 +92,26 @@
@@ -140,14 +146,21 @@ index 8a01e743a4..1ad658d5f9 100644
+@@ -109,4 +129,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/_decimal.vcxproj b/PCbuild/_decimal.vcxproj
-index 0916f1a2d3..17a4cbfcd7 100644
+index ee7421484b..e9d60b4db1 100644
--- a/PCbuild/_decimal.vcxproj
+++ b/PCbuild/_decimal.vcxproj
@@ -99,6 +99,10 @@
CONFIG_64;ANSI;%(PreprocessorDefinitions)
CONFIG_64;MASM;%(PreprocessorDefinitions)
- ..\Modules\_decimal;..\Modules\_decimal\libmpdec;%(AdditionalIncludeDirectories)
+ ..\Modules\_decimal;..\Modules\_decimal\windows;$(mpdecimalDir)\libmpdec;%(AdditionalIncludeDirectories)
+ /d1trimfile:%SRC_DIR%
+ /d1trimfile:%SRC_DIR%
+ /d1trimfile:%SRC_DIR%
@@ -156,7 +169,7 @@ index 0916f1a2d3..17a4cbfcd7 100644
diff --git a/PCbuild/_elementtree.vcxproj b/PCbuild/_elementtree.vcxproj
-index 8da5244bac..20cc09d63f 100644
+index 8c9c0e42f7..94da21f642 100644
--- a/PCbuild/_elementtree.vcxproj
+++ b/PCbuild/_elementtree.vcxproj
@@ -94,7 +94,11 @@
@@ -173,11 +186,11 @@ index 8da5244bac..20cc09d63f 100644
diff --git a/PCbuild/_freeze_module.vcxproj b/PCbuild/_freeze_module.vcxproj
-index 3df0a07204..26982e0ceb 100644
+index e5e18de60e..f9757290b2 100644
--- a/PCbuild/_freeze_module.vcxproj
+++ b/PCbuild/_freeze_module.vcxproj
-@@ -91,6 +91,10 @@
- Py_NO_ENABLE_SHARED;Py_BUILD_CORE;_CONSOLE;%(PreprocessorDefinitions)
+@@ -92,6 +92,10 @@
+ $(IntDir);%(AdditionalIncludeDirectories)
Disabled
false
+ /d1trimfile:%SRC_DIR%
@@ -188,7 +201,7 @@ index 3df0a07204..26982e0ceb 100644
Console
diff --git a/PCbuild/_hashlib.vcxproj b/PCbuild/_hashlib.vcxproj
-index 6dad8183c5..6d3d37fdf9 100644
+index 2cd205224b..1ff3a9cdec 100644
--- a/PCbuild/_hashlib.vcxproj
+++ b/PCbuild/_hashlib.vcxproj
@@ -96,6 +96,18 @@
@@ -211,7 +224,7 @@ index 6dad8183c5..6d3d37fdf9 100644
diff --git a/PCbuild/_lzma.vcxproj b/PCbuild/_lzma.vcxproj
-index fe076a6fc5..0565132363 100644
+index 40107d4b76..321f41d8d2 100644
--- a/PCbuild/_lzma.vcxproj
+++ b/PCbuild/_lzma.vcxproj
@@ -95,6 +95,10 @@
@@ -225,31 +238,8 @@ index fe076a6fc5..0565132363 100644
$(OutDir)liblzma$(PyDebugExt).lib;%(AdditionalDependencies)
-diff --git a/PCbuild/_msi.vcxproj b/PCbuild/_msi.vcxproj
-index 720eb2931b..247ab0e915 100644
---- a/PCbuild/_msi.vcxproj
-+++ b/PCbuild/_msi.vcxproj
-@@ -96,6 +96,18 @@
-
- cabinet.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)
-
-+
-+ /d1trimfile:%SRC_DIR%
-+
-+
-+ /d1trimfile:%SRC_DIR%
-+
-+
-+ /d1trimfile:%SRC_DIR%
-+
-+
-+ /d1trimfile:%SRC_DIR%
-+
-
-
-
diff --git a/PCbuild/_multiprocessing.vcxproj b/PCbuild/_multiprocessing.vcxproj
-index 77b6bfc8e1..3c2b651549 100644
+index a65397f532..451ca37599 100644
--- a/PCbuild/_multiprocessing.vcxproj
+++ b/PCbuild/_multiprocessing.vcxproj
@@ -95,6 +95,18 @@
@@ -271,8 +261,15 @@ index 77b6bfc8e1..3c2b651549 100644
+@@ -115,4 +127,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/_overlapped.vcxproj b/PCbuild/_overlapped.vcxproj
-index 9e60d3b5db..95b57290f8 100644
+index 224bf05d53..f7efa63f56 100644
--- a/PCbuild/_overlapped.vcxproj
+++ b/PCbuild/_overlapped.vcxproj
@@ -95,6 +95,18 @@
@@ -294,8 +291,15 @@ index 9e60d3b5db..95b57290f8 100644
+@@ -111,4 +123,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/_queue.vcxproj b/PCbuild/_queue.vcxproj
-index 8065b23585..e46ab5a83b 100644
+index 80a1c3c6a4..8d4555299a 100644
--- a/PCbuild/_queue.vcxproj
+++ b/PCbuild/_queue.vcxproj
@@ -91,6 +91,26 @@
@@ -326,7 +330,7 @@ index 8065b23585..e46ab5a83b 100644
diff --git a/PCbuild/_socket.vcxproj b/PCbuild/_socket.vcxproj
-index 78fa4d6729..be19cf1dca 100644
+index 41af089592..45ecbcc464 100644
--- a/PCbuild/_socket.vcxproj
+++ b/PCbuild/_socket.vcxproj
@@ -95,6 +95,18 @@
@@ -348,8 +352,15 @@ index 78fa4d6729..be19cf1dca 100644
+@@ -114,4 +126,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/_sqlite3.vcxproj b/PCbuild/_sqlite3.vcxproj
-index 4735477f00..c7c377e217 100644
+index f482734ba1..70943daa02 100644
--- a/PCbuild/_sqlite3.vcxproj
+++ b/PCbuild/_sqlite3.vcxproj
@@ -95,6 +95,10 @@
@@ -364,7 +375,7 @@ index 4735477f00..c7c377e217 100644
$(condaDir)\lib\sqlite3.lib;%(AdditionalDependencies)
diff --git a/PCbuild/_ssl.vcxproj b/PCbuild/_ssl.vcxproj
-index e2fac911e1..5c1ae2fce2 100644
+index ce21f992ff..34561515c1 100644
--- a/PCbuild/_ssl.vcxproj
+++ b/PCbuild/_ssl.vcxproj
@@ -96,6 +96,18 @@
@@ -387,7 +398,7 @@ index e2fac911e1..5c1ae2fce2 100644
diff --git a/PCbuild/_testbuffer.vcxproj b/PCbuild/_testbuffer.vcxproj
-index 917d7ae50f..8c7e141eea 100644
+index 4e721e8ce0..3fec7516ed 100644
--- a/PCbuild/_testbuffer.vcxproj
+++ b/PCbuild/_testbuffer.vcxproj
@@ -92,6 +92,26 @@
@@ -417,8 +428,15 @@ index 917d7ae50f..8c7e141eea 100644
+@@ -106,4 +126,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/_testcapi.vcxproj b/PCbuild/_testcapi.vcxproj
-index 257562c75d..41bd3cc56c 100644
+index 44dbf23481..ec791cfe60 100644
--- a/PCbuild/_testcapi.vcxproj
+++ b/PCbuild/_testcapi.vcxproj
@@ -92,6 +92,26 @@
@@ -449,7 +467,7 @@ index 257562c75d..41bd3cc56c 100644
diff --git a/PCbuild/_testconsole.vcxproj b/PCbuild/_testconsole.vcxproj
-index 5d7e14eff1..695dcb3b91 100644
+index 69d312b17a..bee3326ef8 100644
--- a/PCbuild/_testconsole.vcxproj
+++ b/PCbuild/_testconsole.vcxproj
@@ -92,6 +92,10 @@
@@ -463,8 +481,15 @@ index 5d7e14eff1..695dcb3b91 100644
Console
+@@ -112,4 +116,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/_testembed.vcxproj b/PCbuild/_testembed.vcxproj
-index a7ea8787e0..eab72171e3 100644
+index a7ea8787e0..e8edb3dd75 100644
--- a/PCbuild/_testembed.vcxproj
+++ b/PCbuild/_testembed.vcxproj
@@ -89,6 +89,10 @@
@@ -478,8 +503,15 @@ index a7ea8787e0..eab72171e3 100644
Console
+@@ -109,4 +113,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/_testimportmultiple.vcxproj b/PCbuild/_testimportmultiple.vcxproj
-index 6d80d5779f..951bf40e7c 100644
+index c35ac83c1c..c9d7f5d22b 100644
--- a/PCbuild/_testimportmultiple.vcxproj
+++ b/PCbuild/_testimportmultiple.vcxproj
@@ -92,6 +92,26 @@
@@ -510,7 +542,7 @@ index 6d80d5779f..951bf40e7c 100644
diff --git a/PCbuild/_testinternalcapi.vcxproj b/PCbuild/_testinternalcapi.vcxproj
-index 6c5b12cd40..d25c774913 100644
+index 87db569423..c91bc1a2b9 100644
--- a/PCbuild/_testinternalcapi.vcxproj
+++ b/PCbuild/_testinternalcapi.vcxproj
@@ -92,6 +92,26 @@
@@ -539,9 +571,9 @@ index 6c5b12cd40..d25c774913 100644
+
-
+
diff --git a/PCbuild/_testmultiphase.vcxproj b/PCbuild/_testmultiphase.vcxproj
-index 430eb528cc..7a268d227b 100644
+index e730fe308a..a6f13ef31d 100644
--- a/PCbuild/_testmultiphase.vcxproj
+++ b/PCbuild/_testmultiphase.vcxproj
@@ -92,6 +92,10 @@
@@ -555,8 +587,15 @@ index 430eb528cc..7a268d227b 100644
Console
+@@ -112,4 +116,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/_tkinter.vcxproj b/PCbuild/_tkinter.vcxproj
-index 30cedcbb43..0484a5c81f 100644
+index 117488a016..5ca877b5f2 100644
--- a/PCbuild/_tkinter.vcxproj
+++ b/PCbuild/_tkinter.vcxproj
@@ -96,6 +96,10 @@
@@ -570,6 +609,13 @@ index 30cedcbb43..0484a5c81f 100644
$(tcltkLib);%(AdditionalDependencies)
+@@ -134,4 +138,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/liblzma.vcxproj b/PCbuild/liblzma.vcxproj
index 4dd42ab98a..7c2dbc7e70 100644
--- a/PCbuild/liblzma.vcxproj
@@ -586,7 +632,7 @@ index 4dd42ab98a..7c2dbc7e70 100644
diff --git a/PCbuild/pyexpat.vcxproj b/PCbuild/pyexpat.vcxproj
-index 001f8afd89..3be4ac06dd 100644
+index dc9161a8b2..3bcef600a3 100644
--- a/PCbuild/pyexpat.vcxproj
+++ b/PCbuild/pyexpat.vcxproj
@@ -92,6 +92,10 @@
@@ -616,7 +662,7 @@ index 35f2f7e505..02d7961c5d 100644
shell32.lib;pathcch.lib;%(AdditionalDependencies)
diff --git a/PCbuild/pyshellext.vcxproj b/PCbuild/pyshellext.vcxproj
-index ea432d6bc9..13bc692103 100644
+index ea432d6bc9..50397324a2 100644
--- a/PCbuild/pyshellext.vcxproj
+++ b/PCbuild/pyshellext.vcxproj
@@ -92,6 +92,10 @@
@@ -630,11 +676,18 @@ index ea432d6bc9..13bc692103 100644
version.lib;shlwapi.lib;%(AdditionalDependencies)
+@@ -114,4 +118,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/python.vcxproj b/PCbuild/python.vcxproj
-index 8021002c16..9eb3f36940 100644
+index b11fb61796..dacf01e264 100644
--- a/PCbuild/python.vcxproj
+++ b/PCbuild/python.vcxproj
-@@ -91,6 +91,10 @@
+@@ -92,6 +92,10 @@
Py_BUILD_CORE;_CONSOLE;%(PreprocessorDefinitions)
@@ -646,7 +699,7 @@ index 8021002c16..9eb3f36940 100644
Console
diff --git a/PCbuild/python3dll.vcxproj b/PCbuild/python3dll.vcxproj
-index ec22e6fc76..80dff0a3d9 100644
+index 235ea1cf9d..d861f6c6a4 100644
--- a/PCbuild/python3dll.vcxproj
+++ b/PCbuild/python3dll.vcxproj
@@ -93,6 +93,10 @@
@@ -660,6 +713,13 @@ index ec22e6fc76..80dff0a3d9 100644
true
+@@ -107,4 +111,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/python_uwp.vcxproj b/PCbuild/python_uwp.vcxproj
index fb27e9e712..f8dc841ef1 100644
--- a/PCbuild/python_uwp.vcxproj
@@ -674,7 +734,7 @@ index fb27e9e712..f8dc841ef1 100644
windowsapp.lib;%(AdditionalDependencies)
diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj
-index b265264dc1..9390c4d7d7 100644
+index 70212903c8..b85cca2cd5 100644
--- a/PCbuild/pythoncore.vcxproj
+++ b/PCbuild/pythoncore.vcxproj
@@ -99,7 +99,7 @@
@@ -687,12 +747,12 @@ index b265264dc1..9390c4d7d7 100644
$(zlibDir);%(AdditionalIncludeDirectories)
_USRDLL;Py_BUILD_CORE;Py_BUILD_CORE_BUILTIN;Py_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions)
diff --git a/PCbuild/pythonw.vcxproj b/PCbuild/pythonw.vcxproj
-index 38a2547089..0b05df346e 100644
+index 58a9e852be..ce6e35477b 100644
--- a/PCbuild/pythonw.vcxproj
+++ b/PCbuild/pythonw.vcxproj
-@@ -93,6 +93,18 @@
- 8000000
- 8000000
+@@ -96,6 +96,18 @@
+
+ 3000000
+
+ /d1trimfile:%SRC_DIR%
@@ -723,7 +783,7 @@ index e21e46a1b7..ff7dc6635d 100644
windowsapp.lib;%(AdditionalDependencies)
diff --git a/PCbuild/pywlauncher.vcxproj b/PCbuild/pywlauncher.vcxproj
-index e50b69aefe..3aa738bb7f 100644
+index e50b69aefe..d64a06b5e6 100644
--- a/PCbuild/pywlauncher.vcxproj
+++ b/PCbuild/pywlauncher.vcxproj
@@ -93,6 +93,10 @@
@@ -737,8 +797,15 @@ index e50b69aefe..3aa738bb7f 100644
shell32.lib;pathcch.lib;%(AdditionalDependencies)
+@@ -111,4 +115,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/select.vcxproj b/PCbuild/select.vcxproj
-index 750a713949..1da66eaddc 100644
+index d7448fd4d7..9fab5e8a63 100644
--- a/PCbuild/select.vcxproj
+++ b/PCbuild/select.vcxproj
@@ -94,6 +94,18 @@
@@ -760,8 +827,15 @@ index 750a713949..1da66eaddc 100644
+@@ -110,4 +122,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/unicodedata.vcxproj b/PCbuild/unicodedata.vcxproj
-index addef75335..1a13f363e2 100644
+index 781f938e2a..3870c85adf 100644
--- a/PCbuild/unicodedata.vcxproj
+++ b/PCbuild/unicodedata.vcxproj
@@ -91,6 +91,26 @@
@@ -791,13 +865,20 @@ index addef75335..1a13f363e2 100644
+@@ -110,4 +130,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/venvlauncher.vcxproj b/PCbuild/venvlauncher.vcxproj
-index 123e84ec4e..6272f9f69d 100644
+index 1193e03224..6855845d13 100644
--- a/PCbuild/venvlauncher.vcxproj
+++ b/PCbuild/venvlauncher.vcxproj
-@@ -93,6 +93,10 @@
+@@ -94,6 +94,10 @@
- _CONSOLE;VENV_REDIRECT;%(PreprocessorDefinitions)
+ EXENAME=L"$(PyExeName)$(PyDebugExt).exe";_CONSOLE;%(PreprocessorDefinitions)
MultiThreaded
+ /d1trimfile:%SRC_DIR%
+ /d1trimfile:%SRC_DIR%
@@ -807,12 +888,12 @@ index 123e84ec4e..6272f9f69d 100644
PY_ICON;%(PreprocessorDefinitions)
diff --git a/PCbuild/venvwlauncher.vcxproj b/PCbuild/venvwlauncher.vcxproj
-index b8504d5d08..60d6308713 100644
+index 1b61718201..4eecc214aa 100644
--- a/PCbuild/venvwlauncher.vcxproj
+++ b/PCbuild/venvwlauncher.vcxproj
-@@ -93,6 +93,10 @@
+@@ -94,6 +94,10 @@
- _WINDOWS;VENV_REDIRECT;%(PreprocessorDefinitions)
+ EXENAME=L"$(PyExeName)$(PyDebugExt).exe";_WINDOWS;%(PreprocessorDefinitions)
MultiThreaded
+ /d1trimfile:%SRC_DIR%
+ /d1trimfile:%SRC_DIR%
@@ -822,7 +903,7 @@ index b8504d5d08..60d6308713 100644
PYW_ICON;%(PreprocessorDefinitions)
diff --git a/PCbuild/winsound.vcxproj b/PCbuild/winsound.vcxproj
-index 32cedc9b44..c9abee1d69 100644
+index c26029b15a..1e543b31c4 100644
--- a/PCbuild/winsound.vcxproj
+++ b/PCbuild/winsound.vcxproj
@@ -96,6 +96,18 @@
@@ -844,8 +925,15 @@ index 32cedc9b44..c9abee1d69 100644
+@@ -112,4 +124,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/PCbuild/xxlimited.vcxproj b/PCbuild/xxlimited.vcxproj
-index 1c776fb0da..36dec23c20 100644
+index 093e6920c0..19dd43c19c 100644
--- a/PCbuild/xxlimited.vcxproj
+++ b/PCbuild/xxlimited.vcxproj
@@ -93,6 +93,12 @@
@@ -862,7 +950,7 @@ index 1c776fb0da..36dec23c20 100644
wsock32.lib;%(AdditionalDependencies)
diff --git a/PCbuild/xxlimited_35.vcxproj b/PCbuild/xxlimited_35.vcxproj
-index dd830b3b6a..fef2c5b9f4 100644
+index 3f4d4463f2..2572449ba0 100644
--- a/PCbuild/xxlimited_35.vcxproj
+++ b/PCbuild/xxlimited_35.vcxproj
@@ -93,6 +93,12 @@
diff --git a/recipe/patches/0009-cross-compile-darwin.patch b/recipe/patches/0009-cross-compile-darwin.patch
index 2ef8f8c09..5f13e8cb6 100644
--- a/recipe/patches/0009-cross-compile-darwin.patch
+++ b/recipe/patches/0009-cross-compile-darwin.patch
@@ -1,4 +1,4 @@
-From fae08eb999d62039e0dbbeb65761f0e4c507c471 Mon Sep 17 00:00:00 2001
+From a8e5a682c72ddd09f434e1cf6cdaa853c4e07f93 Mon Sep 17 00:00:00 2001
From: Ray Donnelly
Date: Fri, 2 Oct 2020 00:03:12 +0200
Subject: [PATCH 09/22] 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 c5b6048036..7470545466 100755
+index 5958382276..44264f0c81 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -459,7 +459,12 @@ def win32_ver(release='', version='', csd='', ptype=''):
@@ -29,10 +29,10 @@ index c5b6048036..7470545466 100755
try:
import plistlib
diff --git a/configure b/configure
-index 6dc8a66e48..552597c021 100755
+index beffc1fd76..c1a6fc4382 100755
--- a/configure
+++ b/configure
-@@ -4267,6 +4267,9 @@ then
+@@ -4048,6 +4048,9 @@ then
*-*-linux*)
ac_sys_system=Linux
;;
@@ -42,21 +42,21 @@ index 6dc8a66e48..552597c021 100755
*-*-cygwin*)
ac_sys_system=Cygwin
;;
-@@ -4332,6 +4335,9 @@ if test "$cross_compiling" = yes; then
- _host_cpu=$host_cpu
+@@ -4496,6 +4499,9 @@ if test "$cross_compiling" = yes; then
+ _host_ident=$host_cpu
esac
;;
+ *-*-darwin*)
-+ _host_cpu=$host_cpu
++ _host_ident=$host_cpu
+ ;;
*-*-cygwin*)
- _host_cpu=
+ _host_ident=
;;
diff --git a/configure.ac b/configure.ac
-index 8a32cb58f4..36b565af1b 100644
+index 5842bd24c4..e99df82739 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -547,6 +547,9 @@ then
+@@ -324,6 +324,9 @@ then
*-*-linux*)
ac_sys_system=Linux
;;
@@ -66,13 +66,13 @@ index 8a32cb58f4..36b565af1b 100644
*-*-cygwin*)
ac_sys_system=Cygwin
;;
-@@ -610,6 +613,9 @@ if test "$cross_compiling" = yes; then
- _host_cpu=$host_cpu
+@@ -748,6 +751,9 @@ if test "$cross_compiling" = yes; then
+ _host_ident=$host_cpu
esac
;;
+ *-*-darwin*)
-+ _host_cpu=$host_cpu
++ _host_ident=$host_cpu
+ ;;
*-*-cygwin*)
- _host_cpu=
+ _host_ident=
;;
diff --git a/recipe/patches/0010-Fix-TZPATH-on-windows.patch b/recipe/patches/0010-Fix-TZPATH-on-windows.patch
index 1020b8573..0b0f73151 100644
--- a/recipe/patches/0010-Fix-TZPATH-on-windows.patch
+++ b/recipe/patches/0010-Fix-TZPATH-on-windows.patch
@@ -1,17 +1,17 @@
-From eaf0b19149ec28a231e0c73e36b2a6fdc29c250e Mon Sep 17 00:00:00 2001
+From ae26b5e3744016d2f3c7fad32500765d250ed364 Mon Sep 17 00:00:00 2001
From: Isuru Fernando
Date: Wed, 7 Oct 2020 10:08:30 -0500
Subject: [PATCH 10/22] Fix TZPATH on windows
---
- Lib/sysconfig.py | 1 +
+ Lib/sysconfig/__init__.py | 1 +
1 file changed, 1 insertion(+)
-diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
-index 122d441bd1..8e1d823a4c 100644
---- a/Lib/sysconfig.py
-+++ b/Lib/sysconfig.py
-@@ -666,6 +666,7 @@ def _init_config_vars():
+diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py
+index 80aef34471..f31706d7a6 100644
+--- a/Lib/sysconfig/__init__.py
++++ b/Lib/sysconfig/__init__.py
+@@ -479,6 +479,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 8fafc58d7..537c07ca3 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 dfa56fb035e286513a96ab1ee60a438a61295aac Mon Sep 17 00:00:00 2001
+From d0ce3c5e7c42270aa5c381e4cf629ddab5205dbc Mon Sep 17 00:00:00 2001
From: Isuru Fernando
Date: Mon, 25 Jan 2021 03:28:08 -0600
Subject: [PATCH 11/22] Make dyld search work with SYSTEM_VERSION_COMPAT=1
@@ -15,10 +15,10 @@ as that part is compiled with `MACOSX_DEPLOYMENT_TARGET=11.0`)
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
-index d2fe525dd4..62eaf1d889 100644
+index cbed2f32ca..f717b1f4d1 100644
--- a/Modules/_ctypes/callproc.c
+++ b/Modules/_ctypes/callproc.c
-@@ -1460,7 +1460,7 @@ copy_com_pointer(PyObject *self, PyObject *args)
+@@ -1489,7 +1489,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 \
diff --git a/recipe/patches/0012-Unvendor-bzip2.patch b/recipe/patches/0012-Unvendor-bzip2.patch
index 23f0716de..3647dd535 100644
--- a/recipe/patches/0012-Unvendor-bzip2.patch
+++ b/recipe/patches/0012-Unvendor-bzip2.patch
@@ -1,15 +1,15 @@
-From 4cfee77c16d2985f27f61ed831027f18ad51a641 Mon Sep 17 00:00:00 2001
+From 2b63337924c78aac42780af33679349b0c1010c5 Mon Sep 17 00:00:00 2001
From: Isuru Fernando
Date: Mon, 16 Aug 2021 02:56:27 -0700
Subject: [PATCH 12/22] Unvendor bzip2
---
PCbuild/_bz2.vcxproj | 15 +++++----------
- PCbuild/_bz2.vcxproj.filters | 26 +-------------------------
- 2 files changed, 6 insertions(+), 35 deletions(-)
+ PCbuild/_bz2.vcxproj.filters | 28 ++--------------------------
+ 2 files changed, 7 insertions(+), 36 deletions(-)
diff --git a/PCbuild/_bz2.vcxproj b/PCbuild/_bz2.vcxproj
-index 0402f7a9aa..569c7c5de9 100644
+index 30ad0dc486..1d46cc8198 100644
--- a/PCbuild/_bz2.vcxproj
+++ b/PCbuild/_bz2.vcxproj
@@ -94,7 +94,7 @@
@@ -47,7 +47,7 @@ index 0402f7a9aa..569c7c5de9 100644
diff --git a/PCbuild/_bz2.vcxproj.filters b/PCbuild/_bz2.vcxproj.filters
-index 7c0b516253..c1f960608c 100644
+index 7c0b516253..ed9510978f 100644
--- a/PCbuild/_bz2.vcxproj.filters
+++ b/PCbuild/_bz2.vcxproj.filters
@@ -21,33 +21,9 @@
@@ -85,3 +85,10 @@ index 7c0b516253..c1f960608c 100644
Header Files\bzip2
+@@ -56,4 +32,4 @@
+ Resource Files
+
+
+-
+\ No newline at end of file
++
diff --git a/recipe/patches/0013-Unvendor-libffi.patch b/recipe/patches/0013-Unvendor-libffi.patch
index 3b921e6fa..9deb3b986 100644
--- a/recipe/patches/0013-Unvendor-libffi.patch
+++ b/recipe/patches/0013-Unvendor-libffi.patch
@@ -1,4 +1,4 @@
-From a346f51234b70e907c8bac4156e2f67f209ca380 Mon Sep 17 00:00:00 2001
+From 4bdb6acf12607d04d1eb19c187fd4002d330859e Mon Sep 17 00:00:00 2001
From: Isuru Fernando
Date: Mon, 16 Aug 2021 03:07:40 -0700
Subject: [PATCH 13/22] Unvendor libffi
diff --git a/recipe/patches/0014-Unvendor-tcltk.patch b/recipe/patches/0014-Unvendor-tcltk.patch
index ae34ec8a0..381f800c9 100644
--- a/recipe/patches/0014-Unvendor-tcltk.patch
+++ b/recipe/patches/0014-Unvendor-tcltk.patch
@@ -1,15 +1,15 @@
-From dcb96fc3a6604875421ad94654bad12424db494c Mon Sep 17 00:00:00 2001
+From d447498487ffbcb673fd46f2c399049164813b7e Mon Sep 17 00:00:00 2001
From: Isuru Fernando
Date: Fri, 20 Aug 2021 10:23:51 -0700
Subject: [PATCH 14/22] Unvendor tcltk
---
PCbuild/_tkinter.vcxproj | 6 ------
- PCbuild/tcltk.props | 12 +++++-------
- 2 files changed, 5 insertions(+), 13 deletions(-)
+ PCbuild/tcltk.props | 11 +++++------
+ 2 files changed, 5 insertions(+), 12 deletions(-)
diff --git a/PCbuild/_tkinter.vcxproj b/PCbuild/_tkinter.vcxproj
-index 0484a5c81f..d1393c914d 100644
+index 5ca877b5f2..4ee4ff6d61 100644
--- a/PCbuild/_tkinter.vcxproj
+++ b/PCbuild/_tkinter.vcxproj
@@ -126,12 +126,6 @@
@@ -26,16 +26,15 @@ index 0484a5c81f..d1393c914d 100644
diff --git a/PCbuild/tcltk.props b/PCbuild/tcltk.props
-index 9d5189b3b8..a8f5b8811c 100644
+index 95b699b4ca..7aa8ef582c 100644
--- a/PCbuild/tcltk.props
+++ b/PCbuild/tcltk.props
-@@ -17,13 +17,11 @@
- $([System.Version]::Parse($(TixVersion)).Minor)
- $([System.Version]::Parse($(TixVersion)).Build)
- $([System.Version]::Parse($(TixVersion)).Revision)
+@@ -12,12 +12,11 @@
+ $([System.Version]::Parse($(TkVersion)).Minor)
+ $([System.Version]::Parse($(TkVersion)).Build)
+ $([System.Version]::Parse($(TkVersion)).Revision)
- $(ExternalsDir)tcl-core-$(TclVersion)\
- $(ExternalsDir)tk-$(TkVersion)\
-- $(ExternalsDir)tix-$(TixVersion)\
- $(ExternalsDir)tcltk-$(TclVersion)\$(ArchName)\
- $(tcltkDir)\bin\tclsh$(TclMajorVersion)$(TclMinorVersion)t.exe
- $(tcltkDir)\..\win32\bin\tclsh$(TclMajorVersion)$(TclMinorVersion)t.exe
diff --git a/recipe/patches/0015-unvendor-xz.patch b/recipe/patches/0015-unvendor-xz.patch
index bbb3882a8..03ca833bd 100644
--- a/recipe/patches/0015-unvendor-xz.patch
+++ b/recipe/patches/0015-unvendor-xz.patch
@@ -1,4 +1,4 @@
-From e2ef6df310bc7877332881ac140aab4d884a887e Mon Sep 17 00:00:00 2001
+From 06c84376da44deeb053c8c31b7aaf02a3bfc7883 Mon Sep 17 00:00:00 2001
From: Isuru Fernando
Date: Sat, 25 Sep 2021 10:07:05 -0700
Subject: [PATCH 15/22] unvendor xz
@@ -8,7 +8,7 @@ Subject: [PATCH 15/22] unvendor xz
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/PCbuild/_lzma.vcxproj b/PCbuild/_lzma.vcxproj
-index 0565132363..e8b2704cee 100644
+index 321f41d8d2..bd7d6c64b1 100644
--- a/PCbuild/_lzma.vcxproj
+++ b/PCbuild/_lzma.vcxproj
@@ -93,15 +93,15 @@
diff --git a/recipe/patches/0016-unvendor-zlib.patch b/recipe/patches/0016-unvendor-zlib.patch
index d96dc9790..c33e4b82a 100644
--- a/recipe/patches/0016-unvendor-zlib.patch
+++ b/recipe/patches/0016-unvendor-zlib.patch
@@ -1,4 +1,4 @@
-From 91fcbab935cefba1855808e5b275d2b81b79d53a Mon Sep 17 00:00:00 2001
+From b84d1d0dc0e2b74ed33953051a3140254be34a7d Mon Sep 17 00:00:00 2001
From: Isuru Fernando
Date: Wed, 29 Sep 2021 15:21:55 -0700
Subject: [PATCH 16/22] unvendor zlib
@@ -9,7 +9,7 @@ Subject: [PATCH 16/22] unvendor zlib
2 files changed, 4 insertions(+), 95 deletions(-)
diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj
-index 9390c4d7d7..b36c48abb3 100644
+index b85cca2cd5..8e09d243c5 100644
--- a/PCbuild/pythoncore.vcxproj
+++ b/PCbuild/pythoncore.vcxproj
@@ -82,7 +82,7 @@
@@ -21,7 +21,7 @@ index 9390c4d7d7..b36c48abb3 100644
false
-@@ -101,12 +101,13 @@
+@@ -101,14 +101,15 @@
/d1trimfile:%SRC_DIR%
$(PySourcePath)Modules\_hacl\include;$(PySourcePath)Modules\_hacl\internal;$(PySourcePath)Python;%(AdditionalIncludeDirectories)
@@ -29,6 +29,8 @@ index 9390c4d7d7..b36c48abb3 100644
+ $(condaDir)\include;%(AdditionalIncludeDirectories)
_USRDLL;Py_BUILD_CORE;Py_BUILD_CORE_BUILTIN;Py_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions)
_Py_HAVE_ZLIB;%(PreprocessorDefinitions)
+ _Py_JIT;%(PreprocessorDefinitions)
+ _Py_TIER2=$(UseTIER2);%(PreprocessorDefinitions)
- version.lib;ws2_32.lib;pathcch.lib;bcrypt.lib;%(AdditionalDependencies)
@@ -37,7 +39,7 @@ index 9390c4d7d7..b36c48abb3 100644
-@@ -353,19 +354,6 @@
+@@ -397,19 +398,6 @@
@@ -57,7 +59,7 @@ index 9390c4d7d7..b36c48abb3 100644
-@@ -577,19 +565,6 @@
+@@ -643,19 +631,6 @@
@@ -78,12 +80,12 @@ index 9390c4d7d7..b36c48abb3 100644
diff --git a/PCbuild/pythoncore.vcxproj.filters b/PCbuild/pythoncore.vcxproj.filters
-index 67a32f653d..9c064964b5 100644
+index 3eed5a9465..0892b669d6 100644
--- a/PCbuild/pythoncore.vcxproj.filters
+++ b/PCbuild/pythoncore.vcxproj.filters
-@@ -717,39 +717,6 @@
-
- Include\internal
+@@ -852,39 +852,6 @@
+
+ Include\internal\mimalloc
-
- Modules\zlib
@@ -121,7 +123,7 @@ index 67a32f653d..9c064964b5 100644
Include\internal
-@@ -1307,39 +1274,6 @@
+@@ -1514,39 +1481,6 @@
Modules
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 266edb532..a9297f222 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 7c7ce51dae3af7b8325e1ccdf8bcd7225b2b5065 Mon Sep 17 00:00:00 2001
+From a0010ee411fae6c4ac73f4cbd1ca497a912f2844 Mon Sep 17 00:00:00 2001
From: Ray Donnelly
Date: Wed, 16 Aug 2017 11:45:28 +0100
Subject: [PATCH 17/22] 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 552597c021..cff40b9959 100755
+index c1a6fc4382..1edd09e0cc 100755
--- a/configure
+++ b/configure
-@@ -5465,9 +5465,9 @@ if test $ac_test_CFLAGS; then
+@@ -5667,9 +5667,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 552597c021..cff40b9959 100755
fi
else
if test "$GCC" = yes; then
-@@ -9335,7 +9335,7 @@ then
+@@ -9501,7 +9501,7 @@ then
if test "$Py_DEBUG" = 'true' ; then
OPT="-g $PYDEBUG_CFLAGS -Wall"
else
@@ -35,10 +35,10 @@ index 552597c021..cff40b9959 100755
;;
*)
diff --git a/configure.ac b/configure.ac
-index 36b565af1b..538122985c 100644
+index e99df82739..2df5beb5c0 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -2255,7 +2255,7 @@ then
+@@ -2361,7 +2361,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 60dde921a..c4d000a5b 100644
--- a/recipe/patches/0018-Unvendor-expat.patch
+++ b/recipe/patches/0018-Unvendor-expat.patch
@@ -1,4 +1,4 @@
-From 578d46ad1930ab405cd908d8ec68368db36f0801 Mon Sep 17 00:00:00 2001
+From 8979b94cda12107faa89698d05d30c6519ac6bf4 Mon Sep 17 00:00:00 2001
From: Isuru Fernando
Date: Wed, 29 Mar 2023 23:07:10 -0500
Subject: [PATCH 18/22] Unvendor expat
@@ -11,7 +11,7 @@ Subject: [PATCH 18/22] Unvendor expat
4 files changed, 10 insertions(+), 104 deletions(-)
diff --git a/PCbuild/_elementtree.vcxproj b/PCbuild/_elementtree.vcxproj
-index 20cc09d63f..de476a6add 100644
+index 94da21f642..f47bcd8e4e 100644
--- a/PCbuild/_elementtree.vcxproj
+++ b/PCbuild/_elementtree.vcxproj
@@ -93,36 +93,19 @@
@@ -133,7 +133,7 @@ index bc14e31f32..7cc8e9a3b9 100644
\ No newline at end of file
+
diff --git a/PCbuild/pyexpat.vcxproj b/PCbuild/pyexpat.vcxproj
-index 3be4ac06dd..e253b39c86 100644
+index 3bcef600a3..ec5d4b64b3 100644
--- a/PCbuild/pyexpat.vcxproj
+++ b/PCbuild/pyexpat.vcxproj
@@ -90,23 +90,19 @@
diff --git a/recipe/patches/0019-Remove-unused-readelf.patch b/recipe/patches/0019-Remove-unused-readelf.patch
index 19a4e8827..4407632ad 100644
--- a/recipe/patches/0019-Remove-unused-readelf.patch
+++ b/recipe/patches/0019-Remove-unused-readelf.patch
@@ -1,4 +1,4 @@
-From fd9f5630ec6e354261274f5cb79501024197f3a1 Mon Sep 17 00:00:00 2001
+From 938bbf50591026c72ee403cbfb20c4cd8bbb836d Mon Sep 17 00:00:00 2001
From: Charles Bousseau
Date: Thu, 25 May 2023 17:56:53 -0400
Subject: [PATCH 19/22] 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 4a957fb004..689ece9d24 100644
+index 6b40228bca..79102c6585 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -38,7 +38,6 @@ CC= @CC@
@@ -24,5 +24,5 @@ index 4a957fb004..689ece9d24 100644
AR= @AR@
-READELF= @READELF@
SOABI= @SOABI@
- LDVERSION= @LDVERSION@
- LIBPYTHON= @LIBPYTHON@
+ ABIFLAGS= @ABIFLAGS@
+ ABI_THREAD= @ABI_THREAD@
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 ac2822641..7d33a838c 100644
--- a/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch
+++ b/recipe/patches/0020-Don-t-checksharedmods-if-cross-compiling.patch
@@ -1,19 +1,19 @@
-From 46ed1d097913ea6752125324ecf254a51e4927b4 Mon Sep 17 00:00:00 2001
+From 38466ceef3e3d900c680d338489cc39ad0f7888d Mon Sep 17 00:00:00 2001
From: "Uwe L. Korn"
Date: Fri, 1 Sep 2023 23:32:14 +0200
Subject: [PATCH 20/22] Don't checksharedmods if cross-compiling
---
- Makefile.pre.in | 2 +-
- if_runnable.sh | 5 +++++
- 2 files changed, 6 insertions(+), 1 deletion(-)
+ Makefile.pre.in | 2 +-
+ if_runnable.sh | 10 ++++++++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
create mode 100755 if_runnable.sh
diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 689ece9d24..913cbd8e23 100644
+index 79102c6585..ebacdb9d0f 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -994,7 +994,7 @@ sharedmods: $(SHAREDMODS) pybuilddir.txt
+@@ -1367,7 +1367,7 @@ sharedmods: $(SHAREDMODS) pybuilddir.txt
# dependency on BUILDPYTHON ensures that the target is run last
.PHONY: checksharedmods
checksharedmods: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON)
@@ -24,7 +24,7 @@ index 689ece9d24..913cbd8e23 100644
rundsymutil: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON)
diff --git a/if_runnable.sh b/if_runnable.sh
new file mode 100755
-index 0000000000..14f84a8597
+index 0000000000..dcfde5b751
--- /dev/null
+++ b/if_runnable.sh
@@ -0,0 +1,10 @@
diff --git a/recipe/patches/0021-Override-configure-LIBFFI.patch b/recipe/patches/0021-Override-configure-LIBFFI.patch
index 5934acc09..ba0d64d3e 100644
--- a/recipe/patches/0021-Override-configure-LIBFFI.patch
+++ b/recipe/patches/0021-Override-configure-LIBFFI.patch
@@ -1,4 +1,4 @@
-From 9278cac7fd97574e551bf989795d61381131ac97 Mon Sep 17 00:00:00 2001
+From aa476f87309f709b47c221bbaa6efe3b6009cff1 Mon Sep 17 00:00:00 2001
From: "Uwe L. Korn"
Date: Tue, 5 Sep 2023 21:51:31 +0200
Subject: [PATCH 21/22] Override configure LIBFFI
@@ -8,10 +8,10 @@ Subject: [PATCH 21/22] Override configure LIBFFI
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
-index cff40b9959..50cbcc1ac7 100755
+index 1edd09e0cc..b837875dbf 100755
--- a/configure
+++ b/configure
-@@ -14095,7 +14095,7 @@ if test "x$ac_cv_lib_ffi_ffi_call" = xyes
+@@ -14269,7 +14269,7 @@ if test "x$ac_cv_lib_ffi_ffi_call" = xyes
then :
have_libffi=yes
diff --git a/recipe/patches/0022-Allow-linking-ncursesw-panelw-on-macOS-if-available.patch b/recipe/patches/0022-Allow-linking-ncursesw-panelw-on-macOS-if-available.patch
deleted file mode 100644
index 8b087e7b7..000000000
--- a/recipe/patches/0022-Allow-linking-ncursesw-panelw-on-macOS-if-available.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From bbc64a8ca9d69dbfd220a3924a71f7ea12cd43da Mon Sep 17 00:00:00 2001
-From: Marcel Bargull
-Date: Thu, 14 Dec 2023 22:16:33 +0100
-Subject: [PATCH 22/22] Allow linking ncursesw/panelw on macOS if available
-
-Signed-off-by: Marcel Bargull
----
- configure | 4 ----
- configure.ac | 6 ------
- 2 files changed, 10 deletions(-)
-
-diff --git a/configure b/configure
-index 50cbcc1ac7..0108f553bf 100755
---- a/configure
-+++ b/configure
-@@ -25714,7 +25714,6 @@ fi
- if test "x$ac_cv_header_ncurses_h" = xyes
- then :
-
-- if test "$ac_sys_system" != "Darwin"; then
-
- pkg_failed=no
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ncursesw" >&5
-@@ -25910,7 +25909,6 @@ printf "%s\n" "yes" >&6; }
- have_curses=ncursesw
-
- fi
-- fi
-
- if test "x$have_curses" = xno
- then :
-@@ -26146,7 +26144,6 @@ if test "x$ac_cv_header_panel_h" = xyes
- then :
-
-
-- if test "$ac_sys_system" != "Darwin"; then
- if test "x$have_curses" = xncursesw
- then :
-
-@@ -26341,7 +26338,6 @@ printf "%s\n" "yes" >&6; }
- fi
-
- fi
-- fi
-
- if test "x$have_curses" = xncurses
- then :
-diff --git a/configure.ac b/configure.ac
-index 538122985c..284c0daddd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -6432,8 +6432,6 @@ AH_TEMPLATE([HAVE_NCURSESW], [Define to 1 if you have the `ncursesw' library.])
- AC_CHECK_HEADERS([curses.h ncurses.h])
-
- AS_VAR_IF([ac_cv_header_ncurses_h], [yes], [
-- if test "$ac_sys_system" != "Darwin"; then
-- dnl On macOS, there is no separate /usr/lib/libncursesw nor libpanelw.
- PKG_CHECK_MODULES([CURSES], [ncursesw], [
- AC_DEFINE([HAVE_NCURSESW], [1])
- have_curses=ncursesw
-@@ -6447,7 +6445,6 @@ AS_VAR_IF([ac_cv_header_ncurses_h], [yes], [
- ])
- ])
- ])
-- fi
-
- AS_VAR_IF([have_curses], [no], [
- PKG_CHECK_MODULES([CURSES], [ncurses], [
-@@ -6496,8 +6493,6 @@ AC_CHECK_HEADERS([panel.h])
-
- AS_VAR_IF([ac_cv_header_panel_h], [yes], [
-
-- if test "$ac_sys_system" != "Darwin"; then
-- dnl On macOS, there is no separate /usr/lib/libncursesw nor libpanelw.
- AS_VAR_IF([have_curses], [ncursesw], [
- PKG_CHECK_MODULES([PANEL], [panelw], [
- have_panel=panelw
-@@ -6511,7 +6506,6 @@ AS_VAR_IF([ac_cv_header_panel_h], [yes], [
- ])
- ])
- ])
-- fi
-
- AS_VAR_IF([have_curses], [ncurses], [
- PKG_CHECK_MODULES([PANEL], [panel], [
diff --git a/recipe/patches/0022-Unvendor-libmpdec.patch b/recipe/patches/0022-Unvendor-libmpdec.patch
new file mode 100644
index 000000000..6df989619
--- /dev/null
+++ b/recipe/patches/0022-Unvendor-libmpdec.patch
@@ -0,0 +1,85 @@
+From f913216ab628d7519525bd047c6553aec72814cc Mon Sep 17 00:00:00 2001
+From: Isuru Fernando
+Date: Fri, 16 Aug 2024 21:34:43 -0500
+Subject: [PATCH 22/22] Unvendor libmpdec
+
+---
+ PCbuild/_decimal.vcxproj | 50 +++++-----------------------------------
+ 1 file changed, 6 insertions(+), 44 deletions(-)
+
+diff --git a/PCbuild/_decimal.vcxproj b/PCbuild/_decimal.vcxproj
+index e9d60b4db1..0f49d7923f 100644
+--- a/PCbuild/_decimal.vcxproj
++++ b/PCbuild/_decimal.vcxproj
+@@ -93,65 +93,27 @@
+
+
+
+- BUILD_LIBMPDEC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
++ _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
+ CONFIG_32;PPRO;MASM;%(PreprocessorDefinitions)
+ CONFIG_32;ANSI;%(PreprocessorDefinitions)
+ CONFIG_64;ANSI;%(PreprocessorDefinitions)
+ CONFIG_64;MASM;%(PreprocessorDefinitions)
+- ..\Modules\_decimal;..\Modules\_decimal\windows;$(mpdecimalDir)\libmpdec;%(AdditionalIncludeDirectories)
++ ..\Modules\_decimal;$(condaDir)\include;%(AdditionalIncludeDirectories)
+ /d1trimfile:%SRC_DIR%
+ /d1trimfile:%SRC_DIR%
+ /d1trimfile:%SRC_DIR%
+ /d1trimfile:%SRC_DIR%
+
++
++ $(condaDir)\lib;%(AdditionalLibraryDirectories)
++ mpdec.lib;%(AdditionalDependencies)
++
+
+
+-
+-
+-
+-
+-
+-
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+- true
+- true
+- true
+- ml64 /nologo /c /Zi /Fo "$(IntDir)vcdiv64.obj" "%(FullPath)"
+- $(IntDir)vcdiv64.obj;%(Outputs)
+-
+
+
+
diff --git a/recipe/run_test.py b/recipe/run_test.py
index 6529b7e5a..7c2e60425 100644
--- a/recipe/run_test.py
+++ b/recipe/run_test.py
@@ -16,6 +16,8 @@
print('tuple.__itemsize__:', tuple.__itemsize__)
if sys.platform == 'win32':
assert 'MSC v.19' in sys.version
+if hasattr(sys, "abiflags"):
+ print('sys.abiflags', sys.abiflags)
print('sys.maxunicode:', sys.maxunicode)
print('platform.architecture:', platform.architecture())
print('platform.python_version:', platform.python_version())
@@ -50,7 +52,6 @@
import _struct
import _testcapi
import array
-import audioop
import binascii
import bz2
import cmath
@@ -77,10 +78,8 @@
if not (ppc64le or armv7l):
import _curses
import _curses_panel
- import crypt
import fcntl
import grp
- import nis
import readline
import resource
import syslog
diff --git a/recipe/scripts/activate.bat b/recipe/scripts/activate.bat
new file mode 100644
index 000000000..75c269be1
--- /dev/null
+++ b/recipe/scripts/activate.bat
@@ -0,0 +1,3 @@
+@echo off
+set "PYTHON_JIT_CONDA_BACKUP=%PYTHON_JIT%"
+set "PYTHON_JIT=1"
diff --git a/recipe/scripts/activate.sh b/recipe/scripts/activate.sh
new file mode 100644
index 000000000..1aa5a3216
--- /dev/null
+++ b/recipe/scripts/activate.sh
@@ -0,0 +1,4 @@
+if [ "${PYTHON_JIT+x}" ] ; then
+ export PYTHON_JIT_CONDA_BACKUP="${PYTHON_JIT}"
+fi
+export PYTHON_JIT=1
diff --git a/recipe/scripts/deactivate.bat b/recipe/scripts/deactivate.bat
new file mode 100644
index 000000000..43da52e3b
--- /dev/null
+++ b/recipe/scripts/deactivate.bat
@@ -0,0 +1,3 @@
+@echo off
+set "PYTHON_JIT=%PYTHON_JIT_CONDA_BACKUP%"
+set "PYTHON_JIT_CONDA_BACKUP="
diff --git a/recipe/scripts/deactivate.sh b/recipe/scripts/deactivate.sh
new file mode 100644
index 000000000..5bb99b600
--- /dev/null
+++ b/recipe/scripts/deactivate.sh
@@ -0,0 +1,4 @@
+if [ "${PYTHON_JIT_CONDA_BACKUP+x}" ] ; then
+ export PYTHON_JIT=$PYTHON_JIT_CONDA_BACKUP
+ unset PYTHON_JIT_CONDA_BACKUP
+fi
diff --git a/recipe/sitecustomize.py b/recipe/sitecustomize.py
new file mode 100644
index 000000000..ce5918175
--- /dev/null
+++ b/recipe/sitecustomize.py
@@ -0,0 +1,25 @@
+import site, sys, os
+
+dirs_to_add = []
+# Workaround for https://github.com/conda/conda/issues/14053
+# Older conda versions install noarch: python packages in wrong places.
+# For example python3.1 because older conda assumed python minor version
+# will have only one digit. noarhc pkgs for freethreading builds are supposed
+# to be installed into /lib/python3.13t/site-packages, but conda
+# installs them to /lib/python3.13/site-packages.
+# The workaround is to add all these wrong paths to sys.path using
+# site.addsitedir so that cpython and other tools like pip know about these
+# locations to check when importing packages and uninstalling packages.
+# When installing packages, pip will use the correct location
+# /lib/python3.13t/site-packages.
+if 't' in sys.abiflags:
+ dirs_to_add.append(os.path.join(sys.prefix, 'lib', f'python3.{sys.version_info[1]}', 'site-packages'))
+# Workaround for https://github.com/conda/conda/issues/10969
+dirs_to_add.append(os.path.join(sys.prefix, 'lib', f'python3.1', 'site-packages'))
+# A python version independent directory that ABI3 and noarch packages can use.
+# This is unused at the moment, but keeping it here for experimentation.
+dirs_to_add.append(os.path.join(sys.prefix, 'lib', f'python', 'site-packages'))
+
+for d in dirs_to_add:
+ if os.path.exists(d):
+ site.addsitedir(d)
diff --git a/recipe/tests/prefix-replacement/a.c b/recipe/tests/prefix-replacement/a.c
index dacc1d63e..93922c20d 100644
--- a/recipe/tests/prefix-replacement/a.c
+++ b/recipe/tests/prefix-replacement/a.c
@@ -9,7 +9,8 @@ main(int argc, char *argv[])
fprintf(stderr, "Fatal error: cannot decode argv[0]\n");
exit(1);
}
- Py_SetProgramName(program); /* optional but recommended */
+ // Removed in Python 3.13 and needs to be replaced with https://docs.python.org/3.13/c-api/init_config.html#c.PyConfig.program_name
+ // Py_SetProgramName(program); /* optional but recommended */
Py_Initialize();
PyRun_SimpleString("from time import time,ctime\n"
"print('Today is', ctime(time()))\n");