nucleic / kiwi

Efficient C++ implementation of the Cassowary constraint solving algorithm
https://kiwisolver.readthedocs.io/en/latest/
Other
692 stars 88 forks source link

Not compatible with setuptools >=61 #136

Closed fff7d1bc closed 2 years ago

fff7d1bc commented 2 years ago

The project builds just fine with setuptools 60, however starting with 61 it now require the version to be defined in pyproject.

>>> Compiling source in /var/portage/tmp/portage/dev-python/kiwisolver-1.4.1/work/kiwi-1.4.1 ...
 * python3_8: running distutils-r1_run_phase distutils-r1_python_compile
python3.8 setup.py build -j 32
/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py:102: _ExperimentalProjectMetadata: Support for project metadata in `pyproject.toml` is still experimental and may be removed (or change) in future releases.
  warnings.warn(msg, _ExperimentalProjectMetadata)
configuration error: `project` must contain ['version'] properties
DESCRIPTION:
    version should be statically defined in the ``version`` field

GIVEN VALUE:
    {
        "name": "kiwisolver",
        "description": "A fast implementation of the Cassowary constraint solver",
        "readme": "README.rst",
        "requires-python": ">=3.7",
        "license": {
            "file": "LICENSE"
        },
        "authors": [
            {
                "name": "The Nucleic Development Team",
                "email": "sccolbert@gmail.com"
            }
        ],
        "maintainers": [
            {
                "name": "Matthieu C. Dartiailh",
                "email": "m.dartiailh@gmail.com"
            }
        ],
        "classifiers": [
            "License :: OSI Approved :: BSD License",
            "Programming Language :: Python",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.7",
            "Programming Language :: Python :: 3.8",
            "Programming Language :: Python :: 3.9",
            "Programming Language :: Python :: 3.10",
            "Programming Language :: Python :: Implementation :: CPython",
            "Programming Language :: Python :: Implementation :: PyPy"
        ],
        "urls": {
            "homepage": "https://github.com/nucleic/kiwi",
            "documentation": "https://kiwisolver.readthedocs.io/en/latest/",
            "repository": "https://github.com/nucleic/kiwi",
            "changelog": "https://github.com/nucleic/kiwi/blob/main/releasenotes.rst"
        }
    }

OFFENDING RULE: 'required'

DEFINITION:
    {
        "required": [
            "version"
        ]
    }
Traceback (most recent call last):
  File "setup.py", line 46, in <module>
    setup(
  File "/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 122, in setup
    dist.parse_config_files()
  File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 854, in parse_config_files
    pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
  File "/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py", line 54, in apply_configuration
    config = read_configuration(filepath, True, ignore_option_errors, dist)
  File "/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py", line 120, in read_configuration
    validate(subset, filepath)
  File "/usr/lib/python3.8/site-packages/setuptools/config/pyprojecttoml.py", line 43, in validate
    raise error from None
ValueError: invalid pyproject.toml config: `project`

Related https://bugs.gentoo.org/836699

fff7d1bc commented 2 years ago

I see 1.4.2 fixes it.