devel/py-setuptools build error

From: Janos Dohanics <web_at_3dresearch.com>
Date: Tue, 07 Jun 2022 00:15:25 UTC
Hello,

On a FreeBSD 13.1-STABLE #0 2b005e896 machine my attempt to upgrade
devel/py-setuptools fails:

# portupgrade -vR py38-setuptools-44.0.0_1
--->  Session started at: Mon, 06 Jun 2022 20:03:22 -0400
[Reading data from pkg(8) ... - 298 packages found - done]
[Gathering depends for devel/py-setuptools .(lang/python38)......(devel/pkgconf)(devel/gettext-tools)....(devel/libtextstyle)..(converters/libiconv)(print/indexinfo)(devel/gettext-runtime)..(devel/libffi).(math/mpdecimal).(devel/gmake)..(devel/readline). done]
[Exclude up-to-date packages ........... done]
--->  Upgrade of devel/py-setuptools started at: Mon, 06 Jun 2022 20:03:27 -0400
--->  Upgrading 'py38-setuptools-44.0.0_1' to 'py38-setuptools-62.1.0' (devel/py-setuptools)
--->  Build of devel/py-setuptools started at: Mon, 06 Jun 2022 20:03:27 -0400
--->  Building '/usr/ports/devel/py-setuptools'
===>  Cleaning for py38-setuptools-62.1.0
===>  Cleaning for py39-setuptools-62.1.0
===>  Cleaning for py37-setuptools-62.1.0
===>  Cleaning for py310-setuptools-62.1.0
===>  Cleaning for py311-setuptools-62.1.0
===>  License MIT accepted by the user
===>   py38-setuptools-62.1.0 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by py38-setuptools-62.1.0 for building
===>  Extracting for py38-setuptools-62.1.0
=> SHA256 Checksum OK for python/setuptools-62.1.0.tar.gz.
===>  Patching for py38-setuptools-62.1.0
===>   py38-setuptools-62.1.0 depends on file: /usr/local/bin/python3.8 - found
===>  Configuring for py38-setuptools-62.1.0
Traceback (most recent call last):
  File "setup.py", line 87, in <module>
    dist = setuptools.setup(**setup_params)
  File "/usr/ports/devel/py-setuptools/work-py38/setuptools-62.1.0/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "/usr/ports/devel/py-setuptools/work-py38/setuptools-62.1.0/setuptools/_distutils/core.py", line 109, in setup
    _setup_distribution = dist = klass(attrs)
  File "/usr/ports/devel/py-setuptools/work-py38/setuptools-62.1.0/setuptools/dist.py", line 462, in __init__
    _Distribution.__init__(
  File "/usr/ports/devel/py-setuptools/work-py38/setuptools-62.1.0/setuptools/_distutils/dist.py", line 293, in __init__
    self.finalize_options()
  File "/usr/ports/devel/py-setuptools/work-py38/setuptools-62.1.0/setuptools/dist.py", line 885, in finalize_options
    for ep in sorted(loaded, key=by_order):
  File "/usr/ports/devel/py-setuptools/work-py38/setuptools-62.1.0/setuptools/dist.py", line 884, in <lambda>
    loaded = map(lambda e: e.load(), filtered)
  File "/usr/ports/devel/py-setuptools/work-py38/setuptools-62.1.0/setuptools/_vendor/importlib_metadata/__init__.py", line 196, in load
    return functools.reduce(getattr, attrs, module)
AttributeError: type object 'Distribution' has no attribute '_finalize_feature_opts'
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/py-setuptools
egrep: empty (sub)expression
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20220606-71499-t8w2uy env UPGRADE_TOOL=portupgrade UPGRADE_PORT=py38-setuptools-44.0.0_1 UPGRADE_PORT_VER=44.0.0_1 make
** Fix the problem and try again.
--->  Build of devel/py-setuptools ended at: Mon, 06 Jun 2022 20:03:32 -0400 (consumed 00:00:05)
--->  Upgrade of devel/py-setuptools ended at: Mon, 06 Jun 2022 20:03:32 -0400 (consumed 00:00:05)
--->  ** Upgrade tasks 1: 0 done, 0 ignored, 0 skipped and 1 failed
--->  Listing the results (+:done / -:ignored / *:skipped / !:failed)
	! devel/py-setuptools (py38-setuptools-44.0.0_1)	(unknown build error)
--->  Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed
--->  Session ended at: Mon, 06 Jun 2022 20:03:32 -0400 (consumed 00:00:09)

Would you please advise?

-- 
Janos Dohanics