-
Couldn't load subscription status.
- 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
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 guess because the hostpython already has it, there's no need to build it again?
…ython3Recipe.test_create_python_bundle`
4331463 to
1b52e2a
Compare
cabe6a5 to
c87f361
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
Any recipe not using a pythonhosted.org url will likely need to be revised, because eg. GitHub hosted bundles don't have version metadata that setuptools can use. |
|
I think those recipes aren’t a top priority since they’re not widely used and most of the popular ones are already up to date. Let’s handle the rest in another PR since this one already includes 15 files. |
|
Thanks! |
Python 3.14 finally removes the
distutilspackage, which breaks the way p4a byte-compiles all its recipes usingsetup.py install. This PR replaces all instances ofsetup.py installwithpip install, but leaves all other uses ofsetup.py.Two recipes,
androidandfreetype, used distutils in other ways. I've replaced those uses withsetuptools, too.