Re: Question about python updates
Guido Falsi <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.ports |
|---|---|
| Message-ID | <[email protected]> |
On 2/10/26 02:48, Charlie Li wrote: > On 09/02/2026 16:37, Guido Falsi wrote: >> Hi, >> >> I'll take the risk of prodding the wasp nest related to python version >> upgrade. >> >> I'm forced to do this as the maintainer of deskutils/calibre. >> >> Tat project has recently released a new major version with and hard >> requirement of python 3.14 or newer [1]. It uses new constructs and >> imports in multiple places, as much as needed to make the "hack it to >> work with 3.11" strategy not viable (short of of creating a full fork >> of the software). >> >> So my question, which is not a demand, but just a request for >> information I did not find elsewhere: >> >> Is there any effort underway to update the python default to a newer >> version? >> > The other replies have covered the existing effort to get to 3.12 as > default, which is a stopgap to 3.13. Generally python@'s procedure is to > set the default to N-1, where N is the latest upstream CPython release > branch. > > Unlike previous default changes, 3.12 and later's changes have become > far more intrusive, specifically deprecations and removals of certain > components that nearly every package has (historically) relied on. The > greater Python package ecosystem has also not been the most timely to > act upon those changes let alone receive the information of them happening. > > The main problem for us in ports is that setting a lower flavour bound > that is higher than the default is broken. This is because the flavour > corresponding to the default will not exist, which causes poudriere- > bulk(8) to abort immediately. The workaround is to set the lower bound > to the current default, but set BROKEN on every flavour except for 3.14 > (and soon 3.14t). Thanks for the suggestion, not sure how this works, but I'll try. Do you have any pointers to some port implementing this I can look at for inspiration? >> Also, apart from that, as I explain in [1], if I simply put >> USES=python:3.14+ in the Makefile, the port fails to build due to many >> of its requirements failing to provide a py-314 flavor. Is there any >> work on this front? >> >> I ask to know if there is some effort I can join and maybe help, >> although I'm not a python expert. >> > Which dependencies have an upper flavour bound to < 3.14? > This is a list copied from the failed poudriere build: py314-jeepney-0.9.0 devel/py-jeepney@py314 py314-apsw-3.50.4.0 databases/py-apsw@py314 py314-msgpack-1.1.2 devel/py-msgpack@py314 py314-python-dateutil-2.9.0 devel/py-python-dateutil@py314 py314-lxml-6.0.2 devel/py-lxml@py314 py314-PyQt6-sip-13.11.0 devel/py-qt6-sip@py314 py314-sip-6.15.1,1 devel/py-sip@py314 py314-PyQt-builder-1.19.1 devel/py-qtbuilder@py314 py314-xxhash-3.6.0 devel/py-xxhash@py314 py314-netifaces-0.11.0_1 net/py-netifaces@py314 py314-pycryptodome-3.23.0 security/py-pycryptodome@py314 py314-dnspython-2.8.0_1,1 dns/py-dnspython@py314 py314-feedparser-6.0.12 textproc/py-feedparser@py314 py314-zeroconf-0.132.2 net/py-zeroconf@py314 py314-markdown-3.10 textproc/py-markdown@py314 py314-qt6-pyqt-6.10.2 devel/py-qt6-pyqt@py314 py314-pillow-11.3.0_2 graphics/py-pillow@py314 py314-regex-2025.11.3 textproc/py-regex@py314 py314-css-parser-1.0.10_1 www/py-css-parser@py314 py314-mechanize-0.4.10_1 www/py-mechanize@py314 py314-html5-parser-0.4.12_4 www/py-html5-parser@py314 py314-beautifulsoup-4.13.4_2 www/py-beautifulsoup@py314 py314-qt6-webengine-6.10.0 www/py-qt6-webengine@py314 Some are quite frightening, I'll try to find time to tackle some of these. -- Guido Falsi <[email protected]>