In pypa/setuptools#3965, I discovered that build fails to build a dependency with a url req that's part of extras because it stumbles on python/importlib_metadata#357, which was only backported to Python 3.9, but build uses stdlib importlib.metadata for Python 3.8. Build should probably use importlib_metadata for Python 3.8 and maybe for Python 3.9 (quite a few improvements and fixes landed in CPython 3.10).