Python 2.7 will reach end-of-life in January 2020, over 9 years after it was released. This falls within the Fedora 31 lifetime. Packages that depend on Python 2 are being switched to Python 3 or removed from Fedora: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages Python 2 will be retired in Fedora 32: https://fedoraproject.org/wiki/Changes/RetirePython2 To help planning, we'd like to know the plans for Singular's future. Specifically: - What is the reason for the Python2 dependency? (Is it software written in Python, or does it just provide Python bindings, or use Python in the build system or test runner?) - What are the upstream/community plans/timelines regarding Python 3? - What is the guidance for porting to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?) This bug is filed semi-automatically, and might not have all the context specific to Singular. If you need anything from us, or something is unclear, please mention it here. Thank you.
Please answer the above questions. If you don't, the package can be orphaned: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages If you need any information or help, or if you need some more time, please let us know.
> - What is the reason for the Python2 dependency? (Is it software written in Python, or does it just provide Python bindings, or use Python in the build system or test runner?) It provides python bindings. It loads a shared module to work on math objects with python. > - What are the upstream/community plans/timelines regarding Python 3? Unknown. Reported at upstream https://www.singular.uni-kl.de:8002/trac/ticket/853#ticket > - What is the guidance for porting to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?) Experimented making a port locally. Most of the code works, but the knowledge of internal python objects is too difficult to port. For the moment the python interface will be disabled. While checking it, noticed it was already partially broken, due to one of the modules not linking to libboost_numpy%{python2_version_nodots} Next Singular.spec will come with a "%bcond_with python".
The Singular package no longer needs python2 on f31 or newer.