python-build-standalone
python-build-standalone copied to clipboard
Python 3.11+ distributions on Windows incorrectly refer to libcrypto-1_1.dll and libssl-1_1.dll from PYTHON.json
The Windows builds of Python 3.11 and 3.12 (and maybe 3.13 as well - haven't checked) refer to libcrypto-1_1.dll and libssl-1_1.dll (32-bit) or their 64-bit variants from PYTHON.json, while the install/DLLs folder contains libcrypto-3.dll and libssl-3.dll. I don't know what the best way would be to fix this; one possibility is to replace -1_1 with -3 in all occurrences in CONVERT_TO_BUILTIN_EXTENSIONS of the Windows build script when the target Python version is 3.11 or above, but there might be a better way.
I'll be happy to submit a PR if you let me know how to proceed with this in a way that is acceptable for the maintainers.
Hm, I'm not super familiar with this part of the code yet but it looks like there are a couple things
- We should validate that the
shared_dependsactually exist, so this can't be wrong in the future? - Instead of
shared_depends_$archwe might want to introduceshared_depends_conditionalwitharch,depends,maximum-python-version, andminimum-python-versionfields, similar to elsewhere, e.g.:
https://github.com/astral-sh/python-build-standalone/blob/2b45a4ddfca45f19791a682bc633011709aad660/ci-targets.yaml#L16-L20 https://github.com/astral-sh/python-build-standalone/blob/01cfc3b2dff416f2390cb6d45faa67a384abc644/cpython-unix/extension-modules.yml#L35-L40
Then we can split the definitions per Python version as necessary.
@pittervib sorry, but that looks AI generated and is wrong in several ways. Please don't do that.