-
-
Notifications
You must be signed in to change notification settings - Fork 198
Description
Issue №2724 opened by Starbuck5 at 2021-09-17 05:22:54
This has come up in some discussions, but it would be good to have an issue tracking it.
Distutils has been marked as deprecated in Python 3.10, and will be removed in Python 3.12.
Reference: https://www.python.org/dev/peps/pep-0632/
We should probably move to setuptools, rather than some third party solution. The PEP authors say they expect minimal disruption from the switch, since setuptools has most of the same functionality, the same way. However, I'm not sure it's going to be so easy for us, based on my limited knowledge of setup.py and the config_ scripts.
The aging of distutils is already hurting us though. For example, it can't find vcvarsall.bat (MSVC) when I build locally using VS 2019, so I had to patch my own installation of distutils.
One good first step for this is to simplify the build process itself, independent of distutils or setuptools. For example, I believe there's unused code to make .msi installers, unused since pygame 1.9.1 according to the pygame downloads page. And dropping SDL1 will help, because there's still varied things to handle the various SETUP configs.
Comments
# # illume commented at 2022-08-21 11:04:44
There was another issue discussing this meson/cmake, where at least Ankith and I talked about wanting to wait to see where the pieces land.
Then I noticed this issue here...
One good first step for this is to simplify the build process itself
I agree! haha.
I started a buildconfig modernization issue. The idea is to better document/test/type/check with pylint that code. From the conda packaging patches and problems I think we can use that as a way to try and standarise the config APIs for at least things like includes/libraries/etc.
Modernization of buildconfig will make it easier for us to port to another system (if we go that way).