-
Notifications
You must be signed in to change notification settings - Fork 2k
Update to Python 3.14, remove distutils #3242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
On Python 3.14, many recipes, notably `msgpack`, no longer byte- compile with `setup.py install`, because the way that command byte-compiles relies on `distutils`, which is gone.
It was actually using distutils every time, apparently?
pip install
instead of setup.py install
when building recipes
I bumped the freetype versions just because I happened to be looking at them. If this isn't good practice, I'll put them back. |
@clayote Can we port |
hmmm... sure, why not |
I don't think this will require the version hack
`setuptools-scm` can't deal with the github hosted one, it seems.
The way I had to change the source url to get the newly PyProject based FreetypePy recipe to build suggests that I'll need to make similar changes to every other recipe. Well, it had to happen eventually. |
The version of cffi that adds Python 3.14 support also drops Python 3.8 support. I think that means p4a will need to pick one or the other, and I'd certainly favor Python 3.14. |
On Python 3.14, many recipes, notably `msgpack`, no longer byte- compile with `setup.py install`, because the way that command byte-compiles relies on `distutils`, which is gone.
It was actually using distutils every time, apparently?
I don't think this will require the version hack
`setuptools-scm` can't deal with the github hosted one, it seems.
I guess because the hostpython already has it, there's no need to build it again?
…ython3Recipe.test_create_python_bundle`
Python 3.14 finally removes the
distutils
package, which breaks the way p4a byte-compiles all its recipes usingsetup.py install
. This PR replaces all instances ofsetup.py install
withpip install
, but leaves all other uses ofsetup.py
.Two recipes,
android
andfreetype
, used distutils in other ways. I've replaced those uses withsetuptools
, too.