Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions README.anaconda.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@ plan that you should follow.

**On each supported platform do the following:**

1. Push your newly built python package to our testing channel (`c3i_test2`).
2. Create a new Conda environment using this new python version: `conda create -n test -c c3i_test2 python=VERSION`
3. Make sure interactive python works, and can import some built in modules (`re`, `math`, `os`):
1. Create a new Conda environment using this new python version: `conda create -n test python=VERSION`
2. Make sure interactive python works, and can import some built in modules (`re`, `math`, `os`):
```
$ python -i
Python 3.8.8 (default, Apr 13 2021, 12:59:45)
Expand All @@ -18,5 +17,5 @@ Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>>
```
4. Make sure that the standard http server doesn't throw errors: `python -m http.server --bind 127.0.0.1`
5. `conda-build` a python dependent package with this version of python. Good examples are `pyarrow` or `scipy`.
3. Make sure that the standard http server doesn't throw errors: `python -m http.server --bind 127.0.0.1`
4. `conda-build` a python dependent package with this version of python. Good examples are `pyarrow` or `scipy`.
3 changes: 3 additions & 0 deletions abs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@ build_parameters:
#- "--skip-existing"
- "--error-overlinking"
- "--error-overdepending"

build_env_vars:
ANACONDA_ROCKET_ENABLE_PY315 : yes
2 changes: 1 addition & 1 deletion recipe/build_base.sh
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,7 @@ ln -s ${PREFIX}/bin/pydoc${VER} ${PREFIX}/bin/pydoc
# Workaround for https://github.com/conda/conda/issues/10969 -
# specifically for conda<=4.10
# https://github.com/conda/conda/issues/11423#issuecomment-1104253815
ln -s ${PREFIX}/bin/python3.14 ${PREFIX}/bin/python3.1
ln -s ${PREFIX}/bin/python${VER} ${PREFIX}/bin/python3.1

# Remove test data to save space
# Though keep `support` as some things use that.
Expand Down
6 changes: 0 additions & 6 deletions recipe/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
python:
- 3.14
python_impl:
- cpython
numpy:
- 2.3
gil_type:
- normal
# Will be enabled as part of https://anaconda.atlassian.net/browse/PKG-5855
Expand Down
19 changes: 12 additions & 7 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% set version = "3.14.6" %}
{% set dev = "" %}
{% set version = "3.15.0" %}
{% set dev = "b3" %}
{% set dev_ = "" %}
{% set ver2 = '.'.join(version.split('.')[0:2]) %}
{% set ver2nd = ''.join(version.split('.')[0:2]) %}
Expand Down Expand Up @@ -61,7 +61,7 @@ source:
{% else %}
- url: https://www.python.org/ftp/python/{{ version }}/Python-{{ version }}{{ dev }}.tar.xz
# md5 from: https://www.python.org/downloads/release/python-{{ ver3nd }}/
sha256: 143b1dddefaec3bd2e21e3b839b34a2b7fb9842272883c576420d605e9f30c63
sha256: 6a935ae234a67e6549894373b0cfeb8361182d03b21442328ae9598ab7422127
{% endif %}
patches:
- patches/0001-Win32-Change-FD_SETSIZE-from-512-to-2048.patch
Expand Down Expand Up @@ -193,10 +193,10 @@ outputs:
{% endif %}
# https://github.com/python/cpython/blob/main/Tools/jit/README.md#installing-llvm:
# "LLVM version 21 is the officially supported version"
- clang-19 # [not win]
- llvm-tools-19 # [not win]
- clang 19.* # [win]
- llvm-tools 19.* # [win]
- clang-21 # [not win]
- llvm-tools-21 # [not win]
- clang 21.* # [win]
- llvm-tools 21.* # [win]
host:
- bzip2 {{ bzip2 }}
- sqlite {{ sqlite }}
Expand Down Expand Up @@ -247,6 +247,7 @@ outputs:
- tests/cython/*
- tests/prefix-replacement/*
- run_test.py
- run_test_py315.py
commands:
- echo on # [win]
- set # [win]
Expand Down Expand Up @@ -300,6 +301,8 @@ outputs:
- popd
- popd
- python run_test.py
- export RUN_TEST_REQUIRE_315=1 && python run_test_py315.py # [unix]
- set RUN_TEST_REQUIRE_315=1 && python run_test_py315.py # [win]
- test ! -f default.profraw # [osx]
# Test workaround for https://github.com/conda/conda/issues/10969
- python3.1 --version # [unix]
Expand All @@ -312,6 +315,8 @@ outputs:
script: build_static.bat # [win]
build:
number: {{ build_number }}
force_use_keys:
- gil_type
activate_in_script: true
ignore_run_exports:
- python_abi
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 285d30e99ac555177c551c112798cc79720f676e Mon Sep 17 00:00:00 2001
From f43869001705b6d14f777f1bdb7a6d53dd4edd96 Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Wed, 16 Aug 2017 11:53:55 +0100
Subject: [PATCH 01/24] Win32: Change FD_SETSIZE from 512 to 2048
Expand All @@ -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 d234d504cb5..3856307c611 100644
index 2c56dbc6a54..845ff4732ca 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -44,7 +44,7 @@
@@ -45,7 +45,7 @@
FD_SETSIZE higher before this; e.g., via compiler /D switch.
*/
#if defined(MS_WINDOWS) && !defined(FD_SETSIZE)
Expand All @@ -22,5 +22,5 @@ index d234d504cb5..3856307c611 100644

#if defined(HAVE_POLL_H)
--
2.50.1 (Apple Git-155)
2.51.0

12 changes: 6 additions & 6 deletions recipe/patches/0002-Win32-Do-not-download-externals.patch
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 2e62556e56120f7b6d15ba97fdf8733deebb9ea9 Mon Sep 17 00:00:00 2001
From 1faa47b5f8c0ca3aa98ee0e3bb317106458bd514 Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Thu, 7 Sep 2017 11:35:47 +0100
Subject: [PATCH 02/24] Win32: Do not download externals
Expand All @@ -8,18 +8,18 @@ Subject: [PATCH 02/24] Win32: Do not download externals
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/PCbuild/build.bat b/PCbuild/build.bat
index 60235704886..867a352057f 100644
index 9d2f032f5a9..f0629639913 100644
--- a/PCbuild/build.bat
+++ b/PCbuild/build.bat
@@ -113,7 +113,7 @@ if "%IncludeSSL%"=="" set IncludeSSL=true
@@ -118,7 +118,7 @@ if "%IncludeSSL%"=="" set IncludeSSL=true
if "%IncludeTkinter%"=="" set IncludeTkinter=true
if "%UseJIT%" NEQ "true" set IncludeLLVM=false

-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" (
if /I "%target%"=="Clean" set clean=true
if /I "%target%"=="CleanAll" set clean=true
Comment on lines 18 to +22

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks wrong, btw. Our patch shouldn't be introducing new things -- although I got the same thing when I tried to regenerate the patches.

Maybe it works because "Hunk already applied" or something we'd need to look closely at the build output.

The first bit rem ... seems OK as that is in the original 0002-*.patch. But that is the only change in the original patch!

The second bit looks like git done goofed:

$git diff v3.14.6 v3.15.0b3 -- PCbuild/build.bat 
...
@@ -115,6 +120,9 @@ if "%UseJIT%" NEQ "true" set IncludeLLVM=false
 
 if "%IncludeExternals%"=="true" call "%dir%get_externals.bat"
 
+if /I "%target%"=="Clean" set clean=true
+if /I "%target%"=="CleanAll" set clean=true
+
 if "%do_pgo%" EQU "true" if "%platf%" EQU "x64" (
     if "%PROCESSOR_ARCHITEW6432%" NEQ "AMD64" if "%PROCESSOR_ARCHITECTURE%" NEQ "AMD64" (
         echo.ERROR: Cannot cross-compile with PGO 
...

So the if /I ... bits were in the original bump from 3.14.6 to 3.15.0b3. So they should not also be in our patch.

My suspicion is that git sees the if /I lines as having changed with the 3 lines of context and has included them.

However, it looks as though it has also deleted the if "%do_pga%" ... lines. Which would be bad... Did it echo "Cannot cross-compile with PGO" ??

Given that it built... 🤷

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for catching that.

0002 and 0004 still each have a single intentional change vs our master branch; the Clean/CleanAll and stdlib_zip lines are just upstream context from the 3.14→3.15 move.

0014 and 0022 were the real regressions — fixed in 633a0fe.

--
2.50.1 (Apple Git-155)
2.51.0

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From c48a3c1cc321e00bd361f5fce271a18c03c4a202 Mon Sep 17 00:00:00 2001
From 054ec3e5926c29850db8d0cae3aaebc2670bfccb Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Tue, 5 Dec 2017 22:47:59 +0000
Subject: [PATCH 03/24] Fix find_library so that it looks in sys.prefix/lib
Expand All @@ -25,10 +25,10 @@ index 583c47daff3..ab9b01c87e2 100644
yield os.path.join(executable_path, name[len('@executable_path/'):])

diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
index 378f12167c6..bf45580ab9f 100644
index 35ac5b6bfd6..09c3e1703dc 100644
--- a/Lib/ctypes/util.py
+++ b/Lib/ctypes/util.py
@@ -129,7 +129,8 @@ def dllist():
@@ -136,7 +136,8 @@ def dllist():
elif os.name == "posix" and sys.platform in {"darwin", "ios", "tvos", "watchos"}:
from ctypes.macholib.dyld import dyld_find as _dyld_find
def find_library(name):
Expand All @@ -38,7 +38,7 @@ index 378f12167c6..bf45580ab9f 100644
'%s.dylib' % name,
'%s.framework/%s' % (name, name)]
for name in possible:
@@ -430,10 +431,30 @@ def _findLib_ld(name):
@@ -437,10 +438,30 @@ def _findLib_ld(name):
pass # result will be None
return result

Expand Down Expand Up @@ -72,5 +72,5 @@ index 378f12167c6..bf45580ab9f 100644

# Listing loaded libraries on other systems will try to use
--
2.50.1 (Apple Git-155)
2.51.0

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 4435da9460f82ce6c96c4b92f58eab6edfc90da1 Mon Sep 17 00:00:00 2001
From 41b486c6f4a3028836368f79711da6f5934f9386 Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Sat, 27 Oct 2018 18:48:30 +0100
Subject: [PATCH 04/24] Disable registry lookup unless CONDA_PY_ALLOW_REG_PATHS
Expand All @@ -25,7 +25,7 @@ index 1e75993480a..ff96c8e1990 100644
!progname_to_dict(dict, "real_executable") ||
!library_to_dict(dict, "library") ||
diff --git a/Modules/getpath.py b/Modules/getpath.py
index b89d7427e3f..21df0efac12 100644
index 6199567bd77..ea370c2f686 100644
--- a/Modules/getpath.py
+++ b/Modules/getpath.py
@@ -52,6 +52,7 @@
Expand All @@ -36,9 +36,9 @@ index b89d7427e3f..21df0efac12 100644

# ** Values calculated at runtime **
# config -- [in/out] dict of the PyConfig structure
@@ -704,7 +705,7 @@ def search_up(prefix, *landmarks, test=isfile):
else:
pythonpath.append(joinpath(base_prefix, ZIP_LANDMARK))
@@ -699,7 +700,7 @@ def search_up(prefix, *landmarks, test=isfile):
stdlib_zip = joinpath(base_prefix, ZIP_LANDMARK)
pythonpath.append(stdlib_zip)

- if os_name == 'nt' and use_environment and winreg:
+ if os_name == 'nt' and use_environment and winreg and ENV_CONDA_PY_ALLOW_REG_PATHS and ENV_CONDA_PY_ALLOW_REG_PATHS != '0':
Expand Down Expand Up @@ -1197,5 +1197,5 @@ index 00000000000..a73ea8a0e91
+ return hPython3 != NULL;
+}
--
2.50.1 (Apple Git-155)
2.51.0

88 changes: 44 additions & 44 deletions recipe/patches/0005-Unvendor-openssl.patch
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
From 04cfcc1728485e2fbdd04f1c34425e8377b72c61 Mon Sep 17 00:00:00 2001
From: Nehal J Wani <nehaljw.kkd1@gmail.com>
Date: Sat, 24 Nov 2018 20:38:02 -0600
Subject: [PATCH 05/24] Unvendor openssl
Co-authored-by: Isuru Fernando <isuruf@gmail.com>
---
PCbuild/openssl.props | 14 ++------------
PCbuild/openssl.vcxproj | 32 --------------------------------
PCbuild/python.props | 27 ++++++++++++++-------------
PCbuild/python.vcxproj | 3 +++
PCbuild/pythonw.vcxproj | 3 +++
5 files changed, 22 insertions(+), 57 deletions(-)
diff --git a/PCbuild/openssl.props b/PCbuild/openssl.props
index 5fd708b211e..044cefd95ea 100644
--- a/PCbuild/openssl.props
+++ b/PCbuild/openssl.props
@@ -2,10 +2,10 @@
From 0642618fc60bb673e0336ba43e0ac790d46b0913 Mon Sep 17 00:00:00 2001
From: Nehal J Wani <nehaljw.kkd1@gmail.com>
Date: Sat, 24 Nov 2018 20:38:02 -0600
Subject: [PATCH 05/24] Unvendor openssl

Co-authored-by: Isuru Fernando <isuruf@gmail.com>
---
PCbuild/openssl.props | 14 ++------------
PCbuild/openssl.vcxproj | 32 --------------------------------
PCbuild/python.props | 13 +------------
PCbuild/python.vcxproj | 3 +++
PCbuild/pythonw.vcxproj | 3 +++
5 files changed, 9 insertions(+), 56 deletions(-)

diff --git a/PCbuild/openssl.props b/PCbuild/openssl.props
index 5fd708b211e..044cefd95ea 100644
--- a/PCbuild/openssl.props
+++ b/PCbuild/openssl.props
@@ -2,10 +2,10 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
Expand All @@ -29,7 +29,7 @@ index 5fd708b211e..044cefd95ea 100644
<AdditionalDependencies>ws2_32.lib;libcrypto.lib;libssl.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
@@ -21,14 +21,4 @@
@@ -21,14 +21,4 @@
<_SSLDLL Include="$(opensslOutDir)\libssl$(_DLLSuffix).dll" />
<_SSLDLL Include="$(opensslOutDir)\libssl$(_DLLSuffix).pdb" />
</ItemGroup>
Expand All @@ -44,11 +44,11 @@ index 5fd708b211e..044cefd95ea 100644
- <Delete Files="@(_SSLDLL->'$(OutDir)%(Filename)%(Extension)')" TreatErrorsAsWarnings="true" />
- </Target>
</Project>
diff --git a/PCbuild/openssl.vcxproj b/PCbuild/openssl.vcxproj
index 7ca750dda8f..17eee400ebb 100644
--- a/PCbuild/openssl.vcxproj
+++ b/PCbuild/openssl.vcxproj
@@ -60,40 +60,8 @@
diff --git a/PCbuild/openssl.vcxproj b/PCbuild/openssl.vcxproj
index 7ca750dda8f..17eee400ebb 100644
--- a/PCbuild/openssl.vcxproj
+++ b/PCbuild/openssl.vcxproj
@@ -60,40 +60,8 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="pyproject.props" />

Expand Down Expand Up @@ -89,25 +89,25 @@ index 7ca750dda8f..17eee400ebb 100644
<Target Name="Clean" />
<Target Name="CleanAll">
<Delete Files="$(TargetPath);$(BuildPath)$(tclDLLName)" />
diff --git a/PCbuild/python.props b/PCbuild/python.props
index ce4a7781fbd..253aa66f477 100644
--- a/PCbuild/python.props
+++ b/PCbuild/python.props
@@ -68,6 +68,7 @@
diff --git a/PCbuild/python.props b/PCbuild/python.props
index 8d931bba28a..744ce0c540a 100644
--- a/PCbuild/python.props
+++ b/PCbuild/python.props
@@ -91,6 +91,7 @@
<!-- Directories of external projects. tcltk is handled in tcltk.props -->
<PropertyGroup>
<ExternalsDir Condition="$(ExternalsDir) == ''">$(EXTERNALS_DIR)</ExternalsDir>
+ <condaDir>$(LIBRARY_PREFIX)\</condaDir>
<ExternalsDir Condition="$(ExternalsDir) == ''">$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals`))</ExternalsDir>
<ExternalsDir Condition="!HasTrailingSlash($(ExternalsDir))">$(ExternalsDir)\</ExternalsDir>
</PropertyGroup>
@@ -75,20 +76,8 @@
@@ -98,20 +99,8 @@
<Import Project="$(ExternalProps)" Condition="$(ExternalProps) != '' and Exists('$(ExternalProps)')" />

<PropertyGroup>
- <sqlite3Dir Condition="$(sqlite3Dir) == ''">$(ExternalsDir)sqlite-3.50.4.0\</sqlite3Dir>
- <sqlite3Dir Condition="$(sqlite3Dir) == ''">$(ExternalsDir)sqlite-3.53.2.0\</sqlite3Dir>
- <bz2Dir Condition="$(bz2Dir) == ''">$(ExternalsDir)bzip2-1.0.8\</bz2Dir>
- <lzmaDir Condition="$(lzmaDir) == ''">$(ExternalsDir)xz-5.2.5\</lzmaDir>
- <lzmaDir Condition="$(lzmaDir) == ''">$(ExternalsDir)xz-5.8.1.1\</lzmaDir>
- <libffiDir Condition="$(libffiDir) == ''">$(ExternalsDir)libffi-3.4.4\</libffiDir>
- <libffiOutDir Condition="$(libffiOutDir) == ''">$(libffiDir)$(ArchName)\</libffiOutDir>
- <libffiIncludeDir Condition="$(libffiIncludeDir) == ''">$(libffiOutDir)include</libffiIncludeDir>
Expand All @@ -122,11 +122,11 @@ index ce4a7781fbd..253aa66f477 100644
</PropertyGroup>

<PropertyGroup>
diff --git a/PCbuild/python.vcxproj b/PCbuild/python.vcxproj
index 70dabaa3c8b..255be6ab910 100644
--- a/PCbuild/python.vcxproj
+++ b/PCbuild/python.vcxproj
@@ -110,6 +110,9 @@
diff --git a/PCbuild/python.vcxproj b/PCbuild/python.vcxproj
index 417ede34c54..c73404ad2ad 100644
--- a/PCbuild/python.vcxproj
+++ b/PCbuild/python.vcxproj
@@ -110,6 +110,9 @@
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\Programs\python.c" />
Expand All @@ -136,11 +136,11 @@ index 70dabaa3c8b..255be6ab910 100644
</ItemGroup>
<ItemGroup>
<ProjectReference Include="pythoncore.vcxproj">
diff --git a/PCbuild/pythonw.vcxproj b/PCbuild/pythonw.vcxproj
index c6a5b8ce90a..8645a7bf438 100644
--- a/PCbuild/pythonw.vcxproj
+++ b/PCbuild/pythonw.vcxproj
@@ -105,6 +105,9 @@
diff --git a/PCbuild/pythonw.vcxproj b/PCbuild/pythonw.vcxproj
index 244cdf622ad..03376ab24fd 100644
--- a/PCbuild/pythonw.vcxproj
+++ b/PCbuild/pythonw.vcxproj
@@ -105,6 +105,9 @@
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\PC\WinMain.c" />
Expand All @@ -151,5 +151,5 @@ index c6a5b8ce90a..8645a7bf438 100644
<ItemGroup>
<ProjectReference Include="pythoncore.vcxproj">
--
2.50.1 (Apple Git-155)
2.51.0

8 changes: 4 additions & 4 deletions recipe/patches/0006-Unvendor-sqlite3.patch
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From d5656337151f4e876436e7baa7dc01b4f907c5b6 Mon Sep 17 00:00:00 2001
From 3f1f9787e7e3a15dd7e490666d338fd4aaf9ed5f Mon Sep 17 00:00:00 2001
From: Nehal J Wani <nehaljw.kkd1@gmail.com>
Date: Tue, 5 Oct 2021 12:42:06 -0700
Subject: [PATCH 06/24] Unvendor sqlite3
Expand Down Expand Up @@ -39,10 +39,10 @@ index 9ae0a0fc3a0..9baaafed518 100644
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln
index 7296ea75301..a7f716ff105 100644
index 09a989d3864..086ca1132c0 100644
--- a/PCbuild/pcbuild.sln
+++ b/PCbuild/pcbuild.sln
@@ -98,8 +98,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyexpat", "pyexpat.vcxproj"
@@ -99,8 +99,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyexpat", "pyexpat.vcxproj"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_hashlib", "_hashlib.vcxproj", "{447F05A8-F581-4CAC-A466-5AC7936E207E}"
EndProject
Expand Down Expand Up @@ -75,5 +75,5 @@ index f12ec348b37..f9e5e449a49 100644
<ItemDefinitionGroup>
<ClCompile>
--
2.50.1 (Apple Git-155)
2.51.0

Loading