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]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.