Removed deprecated 'license classifiers' and updated license field with
valid SPDX license expression to to comply with Python packaging standards
(PEP 639).
The license in setup.py and pyproject.toml was incorrect (GPLv3 instead
of GPLv3+, which is the license for most of our software). Also, the
license identifier did not use a SPDX license identification string.
Add the patch version number to poetry version. Because UHD uses
the patch number for adding branch information on development branches
we need to save the patch number in some different variable for later
access.
Depending on the build folder poetry build might use build.py
instead of the intended build package which leads to an import error
for "BuildBackendException". To prevent confusion rename the script
to something UHD specific.
This sets classifiers in pyproject.toml. Most of them
are static except for the development status. The status
is set to 2 (pre alpha) as a default. Only if UHD_RELEASE_MODE
is set it changes to 4 (beta) if we are on a release canditate tag
or 5 (release) if we are on release tag. If we aren't on any tag
or the tag does not meet the correct formatting we stay on 2
and a warning is issued.
This adds a pyproject.toml to generate Python wheels using poetry.
The toml file is generated by cmake to add build dependend information to the
file. On Windows the build process invokes poetry using the configured
Python executable. The existing distribution way (copy python data
to site-packages folder of UHD installation) is not changed yet.