Python 3.15.0b3#232
Conversation
|
@ifitchet I was able to build python 3.15.0b3 on linux-64 locally: I'm waiting for AnacondaRecipes/python_abi-feedstock#6 to be unblocked on PBP |
| -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 |
There was a problem hiding this comment.
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... 🤷
| @@ -1197,5 +1197,5 @@ index 00000000000..a73ea8a0e91 | |||
| + return hPython3 != NULL; | |||
| +} | |||
| -- | |||
There was a problem hiding this comment.
Similarly, here. In the original patch, the only change is to if os_name ...
$git diff v3.14.6 v3.15.0b3 -- Modules/getpath.py
...
@@ -697,12 +691,13 @@ def search_up(prefix, *landmarks, test=isfile):
library_dir = dirname(library)
else:
library_dir = executable_dir
- pythonpath.append(joinpath(library_dir, ZIP_LANDMARK))
+ stdlib_zip = joinpath(library_dir, ZIP_LANDMARK)
elif build_prefix:
# QUIRK: POSIX uses the default prefix when in the build directory
- pythonpath.append(joinpath(PREFIX, ZIP_LANDMARK))
+ stdlib_zip = joinpath(PREFIX, ZIP_LANDMARK)
else:
- pythonpath.append(joinpath(base_prefix, ZIP_LANDMARK))
+ stdlib_zip = joinpath(base_prefix, ZIP_LANDMARK)
+ pythonpath.append(stdlib_zip)
if os_name == 'nt' and use_environment and winreg:
# QUIRK: Windows also lists paths in the registry. Paths are stored
...
where you can see bits of the 3.14.6 -> 3.15.0b3 changes sneaking in.
🤔
Destination channel: main
Links
Explanation of changes:
Notes: