• Question about python updates

    From Guido Falsi@mad@madpilot.net to muc.lists.freebsd.ports on Mon Feb 9 22:37:59 2026
    From Newsgroup: muc.lists.freebsd.ports

    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?

    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.


    Thanks in advance!


    [1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293021
    --
    Guido Falsi <mad@madpilot.net>



    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21b-Linux NewsLink 1.2
  • From Dan Mahoney \(ports\)@freebsd@gushi.org to muc.lists.freebsd.ports on Mon Feb 9 13:45:08 2026
    From Newsgroup: muc.lists.freebsd.ports


    On Feb 9, 2026, at 1:37rC>PM, Guido Falsi <mad@madpilot.net> 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?

    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.
    Also, 3.11 currently shows in pkg audit (Hi, we operate critical internet infrastructure, this affects us, we have auditors to answer who question our decisions to deploy software with known CVE's), and the python project has not seen the urgency in releasing a 3.11.15, even though it's currently in a "security patches only" state -- um, this would be that, please do the needful!
    I've been in touch with the release maintainers there, but there's not a perceived sense of urgency here, and of course, in BSD-land, everything's nailed to 3.11.
    If other people are in touch with the python folks, this would probably be a good sentiment to echo.
    Is there some way dayjob can help with this?
    -Dan
    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21b-Linux NewsLink 1.2
  • From Charlie Li@vishwin@freebsd.org to muc.lists.freebsd.ports on Mon Feb 9 20:48:23 2026
    From Newsgroup: muc.lists.freebsd.ports

    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------vw2iu070w6TNfOQ4VtrsuTJr
    Content-Type: multipart/mixed; boundary="------------DkMvT7sOj0KSjiZfrJaI4n7t";
    protected-headers="v1"
    Message-ID: <7a34f9d9-28a2-46dd-8c66-bf97a7e246b4@freebsd.org>
    Date: Mon, 9 Feb 2026 20:48:23 -0500
    MIME-Version: 1.0
    User-Agent: Mozilla Thunderbird
    Subject: Re: Question about python updates
    To: ports@freebsd.org
    References: <74d0ee5e-88a5-4eb2-9e4c-dfc980c0a704@madpilot.net> Content-Language: en-US
    Cc: madpilot@freebsd.org, shadow53+freebsd@shadow53.com
    From: Charlie Li <vishwin@freebsd.org>
    Autocrypt: addr=vishwin@freebsd.org; keydata=
    xjMEaEicoBYJKwYBBAHaRw8BAQdAZBuydpjFLGem4uRJPWaYMXX2e+BN1jDhbD3tcqbxhdfN
    MkNoYXJsaWUgTGkgKEZyZWVCU0QgUHJvamVjdCkgPHZpc2h3aW5ARnJlZUJTRC5vcmc+wpkE
    ExYKAEEWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCaEicoAIbAwUJCWYBgAULCQgHAgIiAgYV
    CgkICwIEFgIDAQIeBwIXgAAKCRDP+1cn7slqBM/bAP9bhA4e0LxJYFYJlftZM5WHrMSPpUe6
    G2pVqmQWTQ0EZQEA0PNryfH3qRWWPSI8mFNRnG24hi5/aXFqCnHj1tcJ9Q/OOARoSJygEgor
    BgEEAZdVAQUBAQdAUT4TzYFmV6ueIGwjX0N+445KZV6ns1Wiw67QMsJZxHkDAQgHwn4EGBYK
    ACYWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCaEicoAIbDAUJCWYBgAAKCRDP+1cn7slqBPO/
    AQCPuGiyyfJClICRs/ToG0MsT8YcPdBygzuUIIeGpkjJpgEA7AoFCQ0Y28Y3hIDFn2k9PH3B
    nGWL3g05W0ds2qoj+gQ=
    Organization: FreeBSD Project
    In-Reply-To: <74d0ee5e-88a5-4eb2-9e4c-dfc980c0a704@madpilot.net>

    --------------DkMvT7sOj0KSjiZfrJaI4n7t
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    T24gMDkvMDIvMjAyNiAxNjozNywgR3VpZG8gRmFsc2kgd3JvdGU6DQo+IEhpLA0KPiANCj4g SSdsbCB0YWtlIHRoZSByaXNrIG9mIHByb2RkaW5nIHRoZSB3YXNwIG5lc3QgcmVsYXRlZCB0 byBweXRob24gdmVyc2lvbiANCj4gdXBncmFkZS4NCj4gDQo+IEknbSBmb3JjZWQgdG8gZG8g dGhpcyBhcyB0aGUgbWFpbnRhaW5lciBvZiBkZXNrdXRpbHMvY2FsaWJyZS4NCj4gDQo+IFRh dCBwcm9qZWN0IGhhcyByZWNlbnRseSByZWxlYXNlZCBhIG5ldyBtYWpvciB2ZXJzaW9uIHdp dGggYW5kIGhhcmQgDQo+IHJlcXVpcmVtZW50IG9mIHB5dGhvbiAzLjE0IG9yIG5ld2VyIFsx XS4gSXQgdXNlcyBuZXcgY29uc3RydWN0cyBhbmQgDQo+IGltcG9ydHMgaW4gbXVsdGlwbGUg cGxhY2VzLCBhcyBtdWNoIGFzIG5lZWRlZCB0byBtYWtlIHRoZSAiaGFjayBpdCB0byANCj4g d29yayB3aXRoIDMuMTEiIHN0cmF0ZWd5IG5vdCB2aWFibGUgKHNob3J0IG9mIG9mIGNyZWF0 aW5nIGEgZnVsbCBmb3JrIG9mIA0KPiB0aGUgc29mdHdhcmUpLg0KPiANCj4gU28gbXkgcXVl c3Rpb24sIHdoaWNoIGlzIG5vdCBhIGRlbWFuZCwgYnV0IGp1c3QgYSByZXF1ZXN0IGZvciAN Cj4gaW5mb3JtYXRpb24gSSBkaWQgbm90IGZpbmQgZWxzZXdoZXJlOg0KPiANCj4gSXMgdGhl cmUgYW55IGVmZm9ydCB1bmRlcndheSB0byB1cGRhdGUgdGhlIHB5dGhvbiBkZWZhdWx0IHRv IGEgbmV3ZXIgDQo+IHZlcnNpb24/DQo+IA0KVGhlIG90aGVyIHJlcGxpZXMgaGF2ZSBjb3Zl cmVkIHRoZSBleGlzdGluZyBlZmZvcnQgdG8gZ2V0IHRvIDMuMTIgYXMgDQpkZWZhdWx0LCB3 aGljaCBpcyBhIHN0b3BnYXAgdG8gMy4xMy4gR2VuZXJhbGx5IHB5dGhvbkAncyBwcm9jZWR1 cmUgaXMgdG8gDQpzZXQgdGhlIGRlZmF1bHQgdG8gTi0xLCB3aGVyZSBOIGlzIHRoZSBsYXRl c3QgdXBzdHJlYW0gQ1B5dGhvbiByZWxlYXNlIA0KYnJhbmNoLg0KDQpVbmxpa2UgcHJldmlv dXMgZGVmYXVsdCBjaGFuZ2VzLCAzLjEyIGFuZCBsYXRlcidzIGNoYW5nZXMgaGF2ZSBiZWNv bWUgDQpmYXIgbW9yZSBpbnRydXNpdmUsIHNwZWNpZmljYWxseSBkZXByZWNhdGlvbnMgYW5k IHJlbW92YWxzIG9mIGNlcnRhaW4gDQpjb21wb25lbnRzIHRoYXQgbmVhcmx5IGV2ZXJ5IHBh Y2thZ2UgaGFzIChoaXN0b3JpY2FsbHkpIHJlbGllZCBvbi4gVGhlIA0KZ3JlYXRlciBQeXRo b24gcGFja2FnZSBlY29zeXN0ZW0gaGFzIGFsc28gbm90IGJlZW4gdGhlIG1vc3QgdGltZWx5 IHRvIA0KYWN0IHVwb24gdGhvc2UgY2hhbmdlcyBsZXQgYWxvbmUgcmVjZWl2ZSB0aGUgaW5m b3JtYXRpb24gb2YgdGhlbSBoYXBwZW5pbmcuDQoNClRoZSBtYWluIHByb2JsZW0gZm9yIHVz IGluIHBvcnRzIGlzIHRoYXQgc2V0dGluZyBhIGxvd2VyIGZsYXZvdXIgYm91bmQgDQp0aGF0 IGlzIGhpZ2hlciB0aGFuIHRoZSBkZWZhdWx0IGlzIGJyb2tlbi4gVGhpcyBpcyBiZWNhdXNl IHRoZSBmbGF2b3VyIA0KY29ycmVzcG9uZGluZyB0byB0aGUgZGVmYXVsdCB3aWxsIG5vdCBl eGlzdCwgd2hpY2ggY2F1c2VzIA0KcG91ZHJpZXJlLWJ1bGsoOCkgdG8gYWJvcnQgaW1tZWRp YXRlbHkuIFRoZSB3b3JrYXJvdW5kIGlzIHRvIHNldCB0aGUgDQpsb3dlciBib3VuZCB0byB0 aGUgY3VycmVudCBkZWZhdWx0LCBidXQgc2V0IEJST0tFTiBvbiBldmVyeSBmbGF2b3VyIA0K ZXhjZXB0IGZvciAzLjE0IChhbmQgc29vbiAzLjE0dCkuDQo+IEFsc28sIGFwYXJ0IGZyb20g dGhhdCwgYXMgSSBleHBsYWluIGluIFsxXSwgaWYgSSBzaW1wbHkgcHV0IA0KPiBVU0VTPXB5 dGhvbjozLjE0KyBpbiB0aGUgTWFrZWZpbGUsIHRoZSBwb3J0IGZhaWxzIHRvIGJ1aWxkIGR1 ZSB0byBtYW55IA0KPiBvZiBpdHMgcmVxdWlyZW1lbnRzIGZhaWxpbmcgdG8gcHJvdmlkZSBh IHB5LTMxNCBmbGF2b3IuIElzIHRoZXJlIGFueSANCj4gd29yayBvbiB0aGlzIGZyb250Pw0K PiANCj4gSSBhc2sgdG8ga25vdyBpZiB0aGVyZSBpcyBzb21lIGVmZm9ydCBJIGNhbiBqb2lu IGFuZCBtYXliZSBoZWxwLCANCj4gYWx0aG91Z2ggSSdtIG5vdCBhIHB5dGhvbiBleHBlcnQu DQo+IA0KV2hpY2ggZGVwZW5kZW5jaWVzIGhhdmUgYW4gdXBwZXIgZmxhdm91ciBib3VuZCB0 byA8IDMuMTQ/DQoNCi0tIA0KQ2hhcmxpZSBMaQ0KLi4ubm9wZSwgc3RpbGwgZG9uJ3QgaGF2 ZSBhbiBleGl0IGxpbmUuDQo=

    --------------DkMvT7sOj0KSjiZfrJaI4n7t--

    --------------vw2iu070w6TNfOQ4VtrsuTJr
    Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature
    Content-Disposition: attachment; filename="OpenPGP_signature.asc"

    -----BEGIN PGP SIGNATURE-----

    wnsEABYIACMWIQTHxcCLnAXo3rFg6k7P+1cn7slqBAUCaYqOZwUDAAAAAAAKCRDP+1cn7slqBMYF AQCzZfxhevx5l6pddFV1idgFHoPZJp5dq8GLncA2WbnitQD+N7v1rB/jdItXuVIvcUmFoRWsZWmZ 34DT2Dhq5wHmEQk=
    =3aBc
    -----END PGP SIGNATURE-----

    --------------vw2iu070w6TNfOQ4VtrsuTJr--


    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21b-Linux NewsLink 1.2
  • From Guido Falsi@madpilot@FreeBSD.org to muc.lists.freebsd.ports on Tue Feb 10 18:28:14 2026
    From Newsgroup: muc.lists.freebsd.ports

    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 <madpilot@FreeBSD.org>



    --
    Posted automagically by a mail2news gateway at muc.de e.V.
    Please direct questions, flames, donations, etc. to news-admin@muc.de
    --- Synchronet 3.21b-Linux NewsLink 1.2