Bug 255013

Summary: Mk/Uses/python.mk: Prepare infrastructure support for Python 3.10
Product: Ports & Packages Reporter: Dmitry Marakasov <amdmi3>
Component: Package InfrastructureAssignee: freebsd-python (Nobody) <python>
Status: Closed FIXED    
Severity: Affects Some People CC: antoine, kai, python, wen
Priority: --- Flags: koobs: maintainer-feedback? (python)
antoine: exp-run+
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Patch 1: switch to 5 digit PYTHON_REL
none
Patch 2: support for 2 digit python minor version
none
Patch 3: Switch from PYTHON_PORTVERSION to PYTHON_DISTVERSION
none
Cumulative patch, actual version none

Description Dmitry Marakasov freebsd_committer 2021-04-12 17:55:39 UTC
Add infrastructure support for python 3.10.

- Switch to 5 digit PYTHON_REL due to two digit minor version
- Add the rest of 2 digit minor version support
- Switch from PYTHON_PORTVERSION to PYTHON_DISTVERSION to simplify adding prerelease python versions

Review: https://reviews.freebsd.org/D29418
Complete git branch: https://github.com/freebsd/freebsd-ports/compare/main...AMDmi3:python310
Comment 1 Dmitry Marakasov freebsd_committer 2021-04-12 17:58:11 UTC
Created attachment 224060 [details]
Patch 1: switch to 5 digit PYTHON_REL
Comment 2 Dmitry Marakasov freebsd_committer 2021-04-12 17:58:45 UTC
Created attachment 224061 [details]
Patch 2: support for 2 digit python minor version
Comment 3 Dmitry Marakasov freebsd_committer 2021-04-12 17:59:35 UTC
Created attachment 224062 [details]
Patch 3: Switch from PYTHON_PORTVERSION to PYTHON_DISTVERSION
Comment 4 Dmitry Marakasov freebsd_committer 2021-04-24 20:49:51 UTC
Requesting an exp-run
Comment 5 Dmitry Marakasov freebsd_committer 2021-04-24 20:50:51 UTC
Created attachment 224403 [details]
Cumulative patch, actual version

Patch for exp-run
Comment 6 Antoine Brodin freebsd_committer 2021-05-01 16:23:51 UTC
Exp-run looks fine.

@kai : can you review the patch?
Comment 7 Dmitry Marakasov freebsd_committer 2021-05-01 17:24:54 UTC
For the record, in private email wen@ has approved the patch. He also suggested to wait with python 310 import till first beta release, but I don't see any reason for this - we can and should start testing and improving 3.10 support as soon as possible.
Comment 8 Kubilay Kocak freebsd_committer freebsd_triage 2021-05-02 05:05:17 UTC
(In reply to Dmitry Marakasov from comment #7

Feel free to create a issue and review for, and land a lang/python310 port, suffixing the comment with (Development Version), just add python@ to reviewers
Comment 9 Kai Knoblich freebsd_committer 2021-05-04 09:14:21 UTC
(In reply to Antoine Brodin from comment #6)

No, I have to pass because I don't have much spare cycles at the moment.
Comment 10 commit-hook freebsd_committer 2021-05-25 13:59:01 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5f69415313f894338dca54e21b5c3981e5e5f58f

commit 5f69415313f894338dca54e21b5c3981e5e5f58f
Author:     Dmitry Marakasov <amdmi3@FreeBSD.org>
AuthorDate: 2021-04-09 13:28:59 +0000
Commit:     Dmitry Marakasov <amdmi3@FreeBSD.org>
CommitDate: 2021-05-25 13:55:44 +0000

    Mk: switch from PYTHON_PORTVERSION to PYTHON_DISTVERSION

    This brings python framework in consistense with handbook recommendations
    to prefer DISTVERSION and simplifies adding prerelease versions of
    python

    PR:             255013
    Differential Revision:  https://reviews.freebsd.org/D29418
    Exp-run by:     antoine
    Approved by:    wen@, no objection from python@ or portmgr@

 Mk/Uses/python.mk                |  6 +++---
 databases/py-gdbm/Makefile       |  8 ++++----
 databases/py-sqlite3/Makefile    | 10 +++++-----
 lang/pypy/bsd.pypy.cffi.mk       |  2 +-
 lang/python-doc-html/Makefile    |  9 ++++-----
 lang/python-tools/Makefile       |  6 +++---
 lang/python27/Makefile           | 10 +++++-----
 lang/python27/Makefile.version   |  2 +-
 lang/python27/pkg-plist          |  6 +++---
 lang/python36/Makefile           | 12 ++++++------
 lang/python36/Makefile.version   |  2 +-
 lang/python37/Makefile           | 12 ++++++------
 lang/python37/Makefile.version   |  2 +-
 lang/python38/Makefile           | 12 ++++++------
 lang/python38/Makefile.version   |  2 +-
 lang/python39/Makefile           | 12 ++++++------
 lang/python39/Makefile.version   |  2 +-
 lang/tauthon/Makefile            |  2 +-
 x11-toolkits/py-tkinter/Makefile |  8 ++++----
 19 files changed, 62 insertions(+), 63 deletions(-)
Comment 11 commit-hook freebsd_committer 2021-05-25 13:59:02 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=40d7b487381cc91eb3156103e6ffe8c02d5e8a70

commit 40d7b487381cc91eb3156103e6ffe8c02d5e8a70
Author:     Dmitry Marakasov <amdmi3@FreeBSD.org>
AuthorDate: 2021-04-09 23:16:29 +0000
Commit:     Dmitry Marakasov <amdmi3@FreeBSD.org>
CommitDate: 2021-05-25 13:55:44 +0000

    Mk: add framework support for two digit python minor version

    PR:             255013
    Differential Revision:  https://reviews.freebsd.org/D29418
    Exp-run by:     antoine
    Approved by:    wen@, no objection from python@ or portmgr@

 Mk/Uses/python.mk | 31 ++++++++++++++++++-------------
 1 file changed, 18 insertions(+), 13 deletions(-)
Comment 12 commit-hook freebsd_committer 2021-05-25 13:59:03 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0729af4255a63ee299e0c63a18b6a86520a19e02

commit 0729af4255a63ee299e0c63a18b6a86520a19e02
Author:     Dmitry Marakasov <amdmi3@FreeBSD.org>
AuthorDate: 2021-04-09 23:15:37 +0000
Commit:     Dmitry Marakasov <amdmi3@FreeBSD.org>
CommitDate: 2021-05-25 13:55:43 +0000

    Mk: switch PYTHON_REL to 5 digits to support python 3.10.x

    PR:             255013
    Differential Revision:  https://reviews.freebsd.org/D29418
    Exp-run by:     antoine
    Approved by:    wen@, no objection from python@ or portmgr@

 CHANGES                                 |  8 ++++++++
 Mk/Uses/python.mk                       | 20 ++++++++++----------
 astro/py-metpy/Makefile                 |  4 ++--
 databases/py-sqlalchemy14/Makefile      |  2 +-
 databases/py-sqlite3/Makefile           |  2 +-
 deskutils/dosage/Makefile               |  2 +-
 devel/py-Jinja2/Makefile                |  2 +-
 devel/py-aiortc/Makefile                |  2 +-
 devel/py-anyio/Makefile                 |  2 +-
 devel/py-argcomplete/Makefile           |  2 +-
 devel/py-arrow/Makefile                 |  2 +-
 devel/py-astroid/Makefile               |  2 +-
 devel/py-b2sdk/Makefile                 |  2 +-
 devel/py-black/Makefile                 |  4 ++--
 devel/py-build/Makefile                 |  2 +-
 devel/py-catalogue/Makefile             |  2 +-
 devel/py-cmd2/Makefile                  |  2 +-
 devel/py-dataclasses-json/Makefile      |  2 +-
 devel/py-flake8/Makefile                |  2 +-
 devel/py-fsspec/Makefile                |  2 +-
 devel/py-future-annotations/Makefile    |  2 +-
 devel/py-graphql-relay/Makefile         |  2 +-
 devel/py-importlib-metadata/Makefile    |  2 +-
 devel/py-importlib-resources/Makefile   |  2 +-
 devel/py-jsonpickle/Makefile            |  2 +-
 devel/py-libcst/Makefile                |  2 +-
 devel/py-openstacksdk/Makefile          |  2 +-
 devel/py-oslo.config/Makefile           |  2 +-
 devel/py-osprofiler/Makefile            |  2 +-
 devel/py-pep517/Makefile                |  2 +-
 devel/py-pint/Makefile                  |  4 ++--
 devel/py-pip-run/Makefile               |  2 +-
 devel/py-pip/Makefile                   |  2 +-
 devel/py-pipx/Makefile                  |  2 +-
 devel/py-pluggy/Makefile                |  2 +-
 devel/py-poetry-core/Makefile           |  2 +-
 devel/py-prettytable/Makefile           |  2 +-
 devel/py-ptpython/Makefile              |  2 +-
 devel/py-pytest/Makefile                |  2 +-
 devel/py-pyvisa-py/Makefile             |  2 +-
 devel/py-pyvisa/Makefile                |  4 ++--
 devel/py-setuptools/Makefile            |  2 +-
 devel/py-twine/Makefile                 |  2 +-
 devel/py-watermark/Makefile             |  2 +-
 games/adonthell/Makefile                |  2 +-
 games/anki/Makefile                     |  2 +-
 graphics/py-python-poppler-qt5/Makefile |  2 +-
 math/cadabra2/Makefile                  |  2 +-
 net/irrd/Makefile                       |  2 +-
 net/py-kombu/Makefile                   |  2 +-
 net/py-netaddr/Makefile                 |  2 +-
 net/py-tweepy/Makefile                  |  2 +-
 net/py-wsproto/Makefile                 |  2 +-
 print/py-fonttools3/Makefile            |  2 +-
 print/py-ufolib2/Makefile               |  2 +-
 science/py-asdf/Makefile                |  2 +-
 science/py-h5py/Makefile                |  2 +-
 security/py-flask-saml/Makefile         |  2 +-
 security/py-signedjson/Makefile         |  2 +-
 sysutils/py-python-crontab/Makefile     |  2 +-
 textproc/py-fingerprints/Makefile       |  2 +-
 textproc/py-markdown-it-py/Makefile     |  2 +-
 textproc/py-normality/Makefile          |  2 +-
 textproc/py-sphinx-inline-tabs/Makefile |  2 +-
 www/py-aiohttp/Makefile                 |  2 +-
 www/py-aioquic/Makefile                 |  2 +-
 www/py-cssutils/Makefile                |  2 +-
 www/py-dj31-django-auth-ldap/Makefile   |  2 +-
 www/py-django-auth-ldap/Makefile        |  2 +-
 www/py-django-bootstrap3/Makefile       |  2 +-
 www/py-django-markdownx/Makefile        |  2 +-
 www/py-django-treebeard/Makefile        |  2 +-
 www/py-fqdn/Makefile                    |  2 +-
 www/py-hypercorn/Makefile               |  2 +-
 www/py-uvicorn/Makefile                 |  2 +-
 www/py-werkzeug/Makefile                |  2 +-
 www/py-yarl/Makefile                    |  2 +-
 www/qutebrowser/Makefile                |  4 ++--
 x11-toolkits/py-tkinter/Makefile        |  2 +-
 x11-wm/chamfer/Makefile                 |  2 +-
 80 files changed, 101 insertions(+), 93 deletions(-)