Bug 270510 - python.mk: remove setuptools from RUN_DEPENDS
Summary: python.mk: remove setuptools from RUN_DEPENDS
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Port Management Team
URL: https://reviews.freebsd.org/D39303
Keywords:
Depends on: 272134 270243 272581 272582 272584
Blocks: 270358 271673
  Show dependency treegraph
 
Reported: 2023-03-29 04:09 UTC by Charlie Li
Modified: 2024-03-29 08:21 UTC (History)
12 users (show)

See Also:
vishwin: exp-run?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Charlie Li freebsd_committer freebsd_triage 2023-03-29 04:09:38 UTC
See review D39303 for patch and description.

exp-run requested mostly to check for transient consumers. Also the place to bring up any runtime issues when pkg_resources is taken away so that further action can be taken.
Comment 1 Antoine Brodin freebsd_committer freebsd_triage 2023-03-29 21:09:16 UTC
Some new failure logs:

https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-pylast-5.1.0_1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-soxr-0.3.4.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/libgusb-0.3.10_1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-QtPy-2.3.1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-find-libpython-0.3.0.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-flit-scm-1.7.0_1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-jsonschema-4.17.3_1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-platformdirs-2.6.2_1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-prettytable-3.6.0_1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-scikit-build-0.16.7.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/opencolorio-2.1.3_1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-formulaic-0.5.2.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-openTSNE-0.7.1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-filelock-3.10.3.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-plumbum-1.8.1_1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-29_18h43m08s/logs/errors/py39-sphinx-autodoc-typehints-1.22_1.log
Comment 2 Antoine Brodin freebsd_committer freebsd_triage 2023-03-30 09:40:18 UTC
A few more:

https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/py39-vunit-hdl-4.6.2.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/mongodb42-4.2.24.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/mongodb50-5.0.14_2.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/criterion-2.4.1.13.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/py39-cytoolz-0.12.1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/py39-pyproject-fmt-0.5.0_1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/py39-financedatabase-2.0.9.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/py39-gemmi-0.6.0.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/ikos-3.1_2.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/gpodder-3.11.0.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/py39-libdnet-1.13_4.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/py39-qutip-4.7.1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/system-config-printer-1.5.12_2.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/sssd-smb-1.16.5_8.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/py39-dj40-django-auth-ldap-4.1.0_1.log
https://pkg-status.freebsd.org/gohan05/data/131amd64-default-foo/2023-03-30_09h13m37s/logs/errors/py39-django-auth-ldap-4.1.0_1.log
Comment 3 commit-hook freebsd_committer freebsd_triage 2023-07-18 00:57:28 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9a80a6ee5e8ebf5c279b3d7a9e7e8b7dbabbaf0a

commit 9a80a6ee5e8ebf5c279b3d7a9e7e8b7dbabbaf0a
Author:     Charlie Li <vishwin@FreeBSD.org>
AuthorDate: 2023-07-18 00:16:21 +0000
Commit:     Charlie Li <vishwin@FreeBSD.org>
CommitDate: 2023-07-18 00:53:09 +0000

    devel/py-setuptools: convert individual consumers to ${PY_SETUPTOOLS}

    Currently a no-op, but in the future outputs the correct setuptools
    port depending on whether USES_PYTHON=distutils is specified.

    With hat: python
    PR: 270510, 270358

 archivers/py-blosc2/Makefile                          | 2 +-
 archivers/py-python-rpm-packaging/Makefile            | 2 +-
 archivers/py-sozipfile/Makefile                       | 2 +-
 archivers/py-zopfli/Makefile                          | 2 +-
 astro/py-metpy/Makefile                               | 2 +-
 astro/py-spacetrack/Makefile                          | 2 +-
 audio/py-gtts/Makefile                                | 2 +-
 benchmarks/uica/Makefile                              | 2 +-
 biology/py-resdk/Makefile                             | 2 +-
 databases/py-aiomysql/Makefile                        | 2 +-
 databases/py-asyncmy/Makefile                         | 2 +-
 databases/py-fastparquet/Makefile                     | 2 +-
 databases/py-geoalchemy2/Makefile                     | 2 +-
 databases/py-mysqlclient/Makefile                     | 2 +-
 databases/py-psycopg-c/Makefile                       | 2 +-
 databases/py-psycopg-pool/Makefile                    | 2 +-
 databases/py-psycopg/Makefile                         | 2 +-
 databases/py-sqlalchemy20/Makefile                    | 2 +-
 databases/py-tiledb/Makefile                          | 2 +-
 databases/rrdtool/Makefile                            | 2 +-
 deskutils/py-send2trash/Makefile                      | 2 +-
 deskutils/recoll/Makefile                             | 2 +-
 deskutils/zim/Makefile                                | 2 +-
 devel/ipython/Makefile                                | 2 +-
 devel/libgusb/Makefile                                | 2 +-
 devel/mercurial/Makefile                              | 2 +-
 devel/nanopb/Makefile                                 | 2 +-
 devel/py-QtPy/Makefile                                | 2 +-
 devel/py-aiosignal/Makefile                           | 2 +-
 devel/py-ansi/Makefile                                | 2 +-
 devel/py-anyio/Makefile                               | 2 +-
 devel/py-apptools/Makefile                            | 2 +-
 devel/py-aspectlib/Makefile                           | 2 +-
 devel/py-astroid/Makefile                             | 2 +-
 devel/py-attrs-strict/Makefile                        | 2 +-
 devel/py-autopage/Makefile                            | 2 +-
 devel/py-avro/Makefile                                | 2 +-
 devel/py-b2sdk/Makefile                               | 2 +-
 devel/py-backports.cached-property/Makefile           | 2 +-
 devel/py-backports.entry-points-selectable/Makefile   | 2 +-
 devel/py-blinker/Makefile                             | 2 +-
 devel/py-bytecode/Makefile                            | 2 +-
 devel/py-cachetools/Makefile                          | 2 +-
 devel/py-calver/Makefile                              | 2 +-
 devel/py-canonicaljson/Makefile                       | 2 +-
 devel/py-case/Makefile                                | 2 +-
 devel/py-cmd2/Makefile                                | 2 +-
 devel/py-configobj/Makefile                           | 2 +-
 devel/py-configupdater/Makefile                       | 2 +-
 devel/py-ctypesgen/Makefile                           | 2 +-
 devel/py-curtsies/Makefile                            | 2 +-
 devel/py-custodian/Makefile                           | 2 +-
 devel/py-cwcwidth/Makefile                            | 2 +-
 devel/py-cython-test-exception-raiser/Makefile        | 2 +-
 devel/py-d2to1/Makefile                               | 2 +-
 devel/py-dask/Makefile                                | 2 +-
 devel/py-datasette/Makefile                           | 2 +-
 devel/py-ddtrace/Makefile                             | 2 +-
 devel/py-debugpy/Makefile                             | 2 +-
 devel/py-deepmerge/Makefile                           | 2 +-
 devel/py-distributed/Makefile                         | 2 +-
 devel/py-editdistance/Makefile                        | 2 +-
 devel/py-envier/Makefile                              | 2 +-
 devel/py-envisage/Makefile                            | 4 ++--
 devel/py-epsilon/Makefile                             | 2 +-
 devel/py-ewah-bool-utils/Makefile                     | 2 +-
 devel/py-executing/Makefile                           | 2 +-
 devel/py-fasteners/Makefile                           | 2 +-
 devel/py-fixtures/Makefile                            | 2 +-
 devel/py-flake8-black/Makefile                        | 2 +-
 devel/py-flake8-bugbear/Makefile                      | 2 +-
 devel/py-flake8-comprehensions/Makefile               | 2 +-
 devel/py-flake8_simplify/Makefile                     | 2 +-
 devel/py-google-crc32c/Makefile                       | 2 +-
 devel/py-hunter/Makefile                              | 2 +-
 devel/py-importlib-metadata/Makefile                  | 2 +-
 devel/py-inflect/Makefile                             | 2 +-
 devel/py-jaraco.classes/Makefile                      | 2 +-
 devel/py-jaraco.collections/Makefile                  | 2 +-
 devel/py-jaraco.context/Makefile                      | 2 +-
 devel/py-jaraco.env/Makefile                          | 2 +-
 devel/py-jaraco.functools/Makefile                    | 2 +-
 devel/py-jaraco.itertools/Makefile                    | 2 +-
 devel/py-jaraco.logging/Makefile                      | 2 +-
 devel/py-jaraco.text/Makefile                         | 2 +-
 devel/py-jaraco.timing/Makefile                       | 2 +-
 devel/py-jaraco.util/Makefile                         | 2 +-
 devel/py-jupyter-server-mathjax/Makefile              | 2 +-
 devel/py-klepto/Makefile                              | 2 +-
 devel/py-libcst/Makefile                              | 2 +-
 devel/py-libtmux/Makefile                             | 2 +-
 devel/py-llfuse/Makefile                              | 2 +-
 devel/py-monkeytype/Makefile                          | 2 +-
 devel/py-moto/Makefile                                | 2 +-
 devel/py-msgpack/Makefile                             | 2 +-
 devel/py-mypy-protobuf/Makefile                       | 2 +-
 devel/py-mypy/Makefile                                | 2 +-
 devel/py-mystic/Makefile                              | 2 +-
 devel/py-opentelemetry-api/Makefile                   | 2 +-
 devel/py-opentelemetry-sdk/Makefile                   | 2 +-
 devel/py-parameterized/Makefile                       | 2 +-
 devel/py-parver/Makefile                              | 2 +-
 devel/py-path/Makefile                                | 2 +-
 devel/py-pathos/Makefile                              | 2 +-
 devel/py-pdoc/Makefile                                | 2 +-
 devel/py-pep621/Makefile                              | 2 +-
 devel/py-pint-pandas/Makefile                         | 2 +-
 devel/py-pint/Makefile                                | 2 +-
 devel/py-pip-requirements-parser/Makefile             | 2 +-
 devel/py-pip-run/Makefile                             | 2 +-
 devel/py-pip-tools/Makefile                           | 4 ++--
 devel/py-pipenv/Makefile                              | 4 ++--
 devel/py-pluggy/Makefile                              | 2 +-
 devel/py-pooch/Makefile                               | 2 +-
 devel/py-pox/Makefile                                 | 2 +-
 devel/py-ppft/Makefile                                | 2 +-
 devel/py-prance/Makefile                              | 2 +-
 devel/py-py-partiql-parser/Makefile                   | 2 +-
 devel/py-pyee/Makefile                                | 2 +-
 devel/py-pyface/Makefile                              | 2 +-
 devel/py-pyina/Makefile                               | 2 +-
 devel/py-pyls-black/Makefile                          | 2 +-
 devel/py-pyperf/Makefile                              | 2 +-
 devel/py-pyproject-metadata/Makefile                  | 2 +-
 devel/py-pyscaffold/Makefile                          | 2 +-
 devel/py-pytest-checkdocs/Makefile                    | 2 +-
 devel/py-pytest-enabler/Makefile                      | 2 +-
 devel/py-pytest-helpers-namespace/Makefile            | 2 +-
 devel/py-pytest-html/Makefile                         | 2 +-
 devel/py-pytest-localserver/Makefile                  | 2 +-
 devel/py-pytest-mpl/Makefile                          | 2 +-
 devel/py-pytest-plus/Makefile                         | 2 +-
 devel/py-pytest-services/Makefile                     | 2 +-
 devel/py-pytest-subtests/Makefile                     | 2 +-
 devel/py-pytest-sugar/Makefile                        | 2 +-
 devel/py-pytest/Makefile                              | 2 +-
 devel/py-pythonfinder/Makefile                        | 2 +-
 devel/py-pytweening/Makefile                          | 2 +-
 devel/py-pytz-deprecation-shim/Makefile               | 2 +-
 devel/py-pyvisa-py/Makefile                           | 2 +-
 devel/py-pyvisa/Makefile                              | 2 +-
 devel/py-pyyaml-include/Makefile                      | 2 +-
 devel/py-represent/Makefile                           | 2 +-
 devel/py-requirementslib/Makefile                     | 2 +-
 devel/py-resolvelib1/Makefile                         | 2 +-
 devel/py-retype/Makefile                              | 2 +-
 devel/py-rope/Makefile                                | 2 +-
 devel/py-rstr/Makefile                                | 2 +-
 devel/py-scikit-base/Makefile                         | 2 +-
 devel/py-semver/Makefile                              | 2 +-
 devel/py-setuptools-declarative-requirements/Makefile | 2 +-
 devel/py-setuptools-pkg/Makefile                      | 2 +-
 devel/py-setuptools-rust/Makefile                     | 4 ++--
 devel/py-shtab/Makefile                               | 2 +-
 devel/py-simpleeval/Makefile                          | 2 +-
 devel/py-subprocess-tee/Makefile                      | 2 +-
 devel/py-tempora/Makefile                             | 2 +-
 devel/py-time-machine/Makefile                        | 2 +-
 devel/py-trove-classifiers/Makefile                   | 2 +-
 devel/py-twine/Makefile                               | 2 +-
 devel/py-txi2p-tahoe/Makefile                         | 2 +-
 devel/py-typeguard/Makefile                           | 2 +-
 devel/py-validate-pyproject/Makefile                  | 2 +-
 devel/py-versioneer/Makefile                          | 2 +-
 devel/py-versioningit/Makefile                        | 2 +-
 devel/py-vistir/Makefile                              | 2 +-
 devel/py-watermark/Makefile                           | 2 +-
 devel/py-yamllint/Makefile                            | 2 +-
 devel/py-zarr/Makefile                                | 2 +-
 devel/py-zipp/Makefile                                | 2 +-
 devel/pylint/Makefile                                 | 2 +-
 devel/pytype/Makefile                                 | 2 +-
 finance/py-technical/Makefile                         | 2 +-
 graphics/py-PyOpenGL-accelerate/Makefile              | 2 +-
 graphics/py-fotokilof/Makefile                        | 2 +-
 graphics/py-pillow/Makefile                           | 2 +-
 graphics/py-pygeos/Makefile                           | 2 +-
 graphics/py-pyproj/Makefile                           | 2 +-
 graphics/py-rasterstats/Makefile                      | 2 +-
 graphics/py-traitsui/Makefile                         | 2 +-
 graphics/py-webcolors/Makefile                        | 2 +-
 math/e-antic/Makefile                                 | 2 +-
 math/py-autograd/Makefile                             | 2 +-
 math/py-cvxopt/Makefile                               | 2 +-
 math/py-fsph/Makefile                                 | 2 +-
 math/py-jacobi/Makefile                               | 2 +-
 math/py-jax/Makefile                                  | 2 +-
 math/py-ml-dtypes/Makefile                            | 2 +-
 math/py-numba-stats/Makefile                          | 2 +-
 math/py-openTSNE/Makefile                             | 2 +-
 math/py-pandas/Makefile                               | 2 +-
 math/py-permutation/Makefile                          | 2 +-
 math/py-py-find-1st/Makefile                          | 2 +-
 math/py-pygsl/Makefile                                | 2 +-
 math/py-pytensor/Makefile                             | 2 +-
 math/py-resample/Makefile                             | 2 +-
 math/py-rpy2/Makefile                                 | 2 +-
 math/py-scikit-fem/Makefile                           | 2 +-
 misc/libcomps/Makefile                                | 2 +-
 misc/py-crudini/Makefile                              | 2 +-
 misc/py-openai/Makefile                               | 2 +-
 misc/py-palettable/Makefile                           | 2 +-
 misc/py-spdx-tools/Makefile                           | 2 +-
 misc/py-tqdm/Makefile                                 | 2 +-
 misc/py-wandb/Makefile                                | 2 +-
 multimedia/py-pymediainfo/Makefile                    | 2 +-
 multimedia/py-pysubs2/Makefile                        | 2 +-
 multimedia/streamlink/Makefile                        | 2 +-
 net-mgmt/crmsh/Makefile                               | 4 ++--
 net-mgmt/net-snmp/Makefile                            | 4 ++--
 net/onionprobe/Makefile                               | 2 +-
 net/py-matrix-synapse-ldap3/Makefile                  | 2 +-
 net/py-pyroute2.minimal/Makefile                      | 2 +-
 net/py-pyroute2/Makefile                              | 2 +-
 news/py-sabctools/Makefile                            | 2 +-
 print/py-freetype-py/Makefile                         | 2 +-
 print/py-python-ly/Makefile                           | 2 +-
 print/py-ufolib2/Makefile                             | 2 +-
 print/py-uharfbuzz/Makefile                           | 2 +-
 science/py-asdf-standard/Makefile                     | 2 +-
 science/py-asdf-transform-schemas/Makefile            | 2 +-
 science/py-asdf-unit-schemas/Makefile                 | 2 +-
 science/py-asdf/Makefile                              | 2 +-
 science/py-pymatgen-analysis-alloys/Makefile          | 2 +-
 science/py-segregation/Makefile                       | 2 +-
 science/py-signac/Makefile                            | 2 +-
 science/py-spaghetti/Makefile                         | 2 +-
 science/smoldyn/Makefile                              | 2 +-
 science/thermofun/Makefile                            | 2 +-
 security/gpgme/Makefile                               | 4 ++--
 security/libpwquality/Makefile                        | 2 +-
 security/py-certomancer/Makefile                      | 2 +-
 security/py-httpx-auth/Makefile                       | 2 +-
 security/py-pyhanko-certvalidator/Makefile            | 2 +-
 security/py-pyhanko/Makefile                          | 2 +-
 security/py-pyspnego/Makefile                         | 2 +-
 sysutils/datadog-integrations/Makefile                | 2 +-
 sysutils/py-ansible-compat/Makefile                   | 2 +-
 sysutils/py-ansible-core/Makefile                     | 2 +-
 sysutils/py-ansible-lint/Makefile                     | 2 +-
 sysutils/py-distro/Makefile                           | 2 +-
 sysutils/py-hcloud/Makefile                           | 2 +-
 sysutils/py-liquidctl/Makefile                        | 2 +-
 sysutils/py-ploy/Makefile                             | 2 +-
 sysutils/py-ploy_ezjail/Makefile                      | 2 +-
 sysutils/py-psutil/Makefile                           | 2 +-
 sysutils/syslog-ng/Makefile                           | 2 +-
 textproc/codespell/Makefile                           | 2 +-
 textproc/py-asciinema/Makefile                        | 2 +-
 textproc/py-ini2toml/Makefile                         | 2 +-
 textproc/py-jq/Makefile                               | 2 +-
 textproc/py-linkify-it-py/Makefile                    | 2 +-
 textproc/py-markdown/Makefile                         | 2 +-
 textproc/py-markups/Makefile                          | 2 +-
 textproc/py-mistune/Makefile                          | 2 +-
 textproc/py-mistune2/Makefile                         | 2 +-
 textproc/py-nbsphinx/Makefile                         | 2 +-
 textproc/py-normality/Makefile                        | 2 +-
 textproc/py-ocrmypdf/Makefile                         | 2 +-
 textproc/py-openstep-plist/Makefile                   | 2 +-
 textproc/py-parse-type/Makefile                       | 2 +-
 textproc/py-parse/Makefile                            | 2 +-
 textproc/py-petl/Makefile                             | 2 +-
 textproc/py-pyaml/Makefile                            | 2 +-
 textproc/py-pygments/Makefile                         | 2 +-
 textproc/py-python-markdown-math/Makefile             | 2 +-
 textproc/py-sphinx-autoapi/Makefile                   | 2 +-
 textproc/py-sphinxcontrib-towncrier/Makefile          | 2 +-
 textproc/py-uc-micro-py/Makefile                      | 2 +-
 textproc/py-unicodeitplus/Makefile                    | 2 +-
 textproc/translate-toolkit/Makefile                   | 2 +-
 textproc/xml2rfc/Makefile                             | 2 +-
 www/onionbalance/Makefile                             | 2 +-
 www/py-aiohttp/Makefile                               | 2 +-
 www/py-aioquic/Makefile                               | 2 +-
 www/py-branca/Makefile                                | 2 +-
 www/py-cheroot/Makefile                               | 2 +-
 www/py-cherrypy/Makefile                              | 2 +-
 www/py-cssutils/Makefile                              | 2 +-
 www/py-dj41-django-cors-headers/Makefile              | 2 +-
 www/py-dj41-django-rich/Makefile                      | 2 +-
 www/py-django-bleach/Makefile                         | 2 +-
 www/py-django-braces/Makefile                         | 2 +-
 www/py-django-cors-headers/Makefile                   | 2 +-
 www/py-django-crispy-forms/Makefile                   | 2 +-
 www/py-django-haystack/Makefile                       | 2 +-
 www/py-django-rich/Makefile                           | 2 +-
 www/py-feedgenerator/Makefile                         | 2 +-
 www/py-flask-migrate/Makefile                         | 2 +-
 www/py-flask-socketio/Makefile                        | 2 +-
 www/py-flask-wtf/Makefile                             | 2 +-
 www/py-flask/Makefile                                 | 2 +-
 www/py-folium/Makefile                                | 2 +-
 www/py-hyperlink/Makefile                             | 2 +-
 www/py-lektor/Makefile                                | 2 +-
 www/py-pastedeploy/Makefile                           | 2 +-
 www/py-pyjwt/Makefile                                 | 2 +-
 www/py-pylsqpack/Makefile                             | 2 +-
 www/py-scgi/Makefile                                  | 2 +-
 www/py-tornado/Makefile                               | 2 +-
 www/py-waitress/Makefile                              | 2 +-
 www/py-werkzeug/Makefile                              | 2 +-
 www/py-woob/Makefile                                  | 2 +-
 www/radicale/Makefile                                 | 2 +-
 x11-fonts/py-afdko/Makefile                           | 2 +-
 x11-fonts/py-cffsubr/Makefile                         | 2 +-
 x11-fonts/py-glyphsLib/Makefile                       | 2 +-
 x11-fonts/py-opentype-sanitizer/Makefile              | 2 +-
 x11-fonts/py-ufonormalizer/Makefile                   | 2 +-
 309 files changed, 316 insertions(+), 316 deletions(-)
Comment 4 Charlie Li freebsd_committer freebsd_triage 2023-07-18 23:30:58 UTC
Quick glean from exp-run and some RUN_DEPENDS snooping reveal that setuptools_scm, hatch-vcs et al specify setuptools in RUN_DEPENDS. Technically correct per upstream package metadata, but causes environment pollution with our build processes. Still need to check for any pkg_resources consumers but I doubt any exist anymore.

For documentation purposes (will add to wiki later):
RUN_DEPENDS should never contain ${PY_SETUPTOOLS} unless the port in question is a leaf port (ie no further consumers). Those ports that specify setuptools as a runtime dependency in the Python package metadata should have their consumers specify them instead. The ${PY_SETUPTOOLS} dependency line returned is only correct for the port it is used in. As different setuptools versions cannot exist concurrently in the same environment (chroot, jail, Python virtual environment, etc), it is essential to prevent environment pollution via RUN_DEPENDS, especially when multiple ports in a dependency chain differ between USE_PYTHON=pep517 and USE_PYTHON=distutils.
Comment 5 commit-hook freebsd_committer freebsd_triage 2024-02-21 06:13:29 UTC
A commit in branch main references this bug:

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

commit d3af6c1c0caa1585dc88e07c6981f5ce1b817ec8
Author:     Charlie Li <vishwin@FreeBSD.org>
AuthorDate: 2024-02-21 06:07:35 +0000
Commit:     Charlie Li <vishwin@FreeBSD.org>
CommitDate: 2024-02-21 06:07:35 +0000

    www/py-yarl: add ${PY_SETUPTOOLS} to BUILD_DEPENDS

    devel/py-wheel is not a PEP-517 build backend; add the real one.
    Once the linked PR is committed, this build will fail.

    With hat: python
    PR: 270510

 www/py-yarl/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Comment 6 commit-hook freebsd_committer freebsd_triage 2024-02-29 14:44:25 UTC
A commit in branch main references this bug:

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

commit e37109f1766e97f8aecf23417ef83167a43831ed
Author:     Charlie Li <vishwin@FreeBSD.org>
AuthorDate: 2024-02-29 14:40:22 +0000
Commit:     Charlie Li <vishwin@FreeBSD.org>
CommitDate: 2024-02-29 14:40:22 +0000

    math/py-matplotlib: add ${PY_SETUPTOOLS} to BUILD_DEPENDS

    No PEP-517 build backend was specified, so add the correct one
    (setuptools). Build only succeeds because setuptools is brought in
    by other dependencies transiently, which will fail after the linked
    PR is committed.

    With hat: python
    PR: 270510

 math/py-matplotlib/Makefile | 1 +
 1 file changed, 1 insertion(+)
Comment 7 Henrich Hartzer 2024-03-28 17:57:42 UTC
Which packages still have this issue that need to be updated? Is it the large list in that "no-op" commit?

Maybe if we have a list of these, more of us can tackle them one by one until we can close this out.