The issue is now fixed with setupmeta 3.5.2, by populating both dist.install_requires AND dist.metadata.install_requires
It appears that setuptools is using those fields possibly inconsistently.
The script create-venv.sh can be used to investigate the issue with distinct version of setuptools.
To repro the problem:
::
python -m venv .venv
source .venv/bin/activate
pip install -U pip wheel setupmeta==3.5.1 # before workaround added
pip install -e /path/to/setuptools
python setup.py dist_info
# If successful, *.dist-info/requires.txt will exist and
*.dist-info/METADATA will have the line "Dist-Requires: thx"
/path/to/setuptools is presumed to be a checkout of the setuptools repo, which
succeeds at 3c9d6ac96bb76670adc48535816fa3331b027c80^ and fails at
3c9d6ac96bb76670adc48535816fa3331b027c80 itself (and several arbitrary commits
after, including today's main, 2255e6366c70b9813d115ae0a0bba329affbd0ac
This does not appear to be limited to calling setup.py directly, and is
possible to trigger with pip wheel and others. The egg_info contains
dist.dependencies, but the dist_info does not.