Closed christophfink closed 1 month ago
You can also run validate-pyproject pyproject.toml
to receive the same error.
* Getting build dependencies for wheel...
Compiling src/simplification/cutil.pyx because it changed.
[1/1] Cythonizing src/simplification/cutil.pyx
validate_pyproject.api.load_builtin_plugin defines `tool.distutils` schema
validate_pyproject.api.load_builtin_plugin defines `tool.setuptools` schema
configuration error: `project.classifiers[10]` must be trove-classifier
DESCRIPTION:
`PyPI classifier <https://pypi.org/classifiers/>`_.
GIVEN VALUE:
"License :: OSI Approved :: Blue Oak Model License (BlueOak-1.0.0)"
OFFENDING RULE: 'format'
DEFINITION:
{
"type": "string",
"format": "trove-classifier"
}
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in <module>
main()
File "/usr/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 357, in main
json_out["return_val"] = hook(**hook_input["kwargs"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pyproject_hooks/_in_process/_in_process.py", line 134, in get_requires_for_build_wheel
return hook(config_settings)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
self.run_setup()
File "/usr/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup
exec(code, locals())
File "<string>", line 31, in <module>
File "/usr/lib/python3.12/site-packages/setuptools/__init__.py", line 103, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/setuptools/_distutils/core.py", line 159, in setup
dist.parse_config_files()
File "/usr/lib/python3.12/site-packages/setuptools/dist.py", line 627, in parse_config_files
pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
File "/usr/lib/python3.12/site-packages/setuptools/config/pyprojecttoml.py", line 72, in apply_configuration
config = read_configuration(filepath, True, ignore_option_errors, dist)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/setuptools/config/pyprojecttoml.py", line 133, in read_configuration
validate(subset, filepath)
File "/usr/lib/python3.12/site-packages/setuptools/config/pyprojecttoml.py", line 61, in validate
raise ValueError(f"{error}\n{summary}") from None
ValueError: invalid pyproject.toml config: `project.classifiers[10]`.
configuration error: `project.classifiers[10]` must be trove-classifier
ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
Sorry, closing this for now as it seems to be related to an outdated version of validate-pyproject
packaged for Arch
Describe the bug
Building the current (v0.7.11, v0.7.12) versions fails in cythonize due to an ostensibly wrong formatting of the new license descriptor in pyproject.toml, if validate-pyproject happens to be installed.
To Reproduce
Steps to reproduce the behavior
--no-isolation
, it is not pulled in when building in abuild
chroot)python -m build
Expected behaviour
build passes successfully
System
Additional context
This is, at this time, an issue mostly for pushing a new PKGBUILD to the Arch AUR repository, as the recommended way of building Python packages there is to use
--no-isolation
. It could be circumvented. However, this is also indicative of either the BlueOak licenses not being recognised in the PyPi ontology, or of a typo somewhere, both of which should be fixed anyway