I would like to provide a Cygwin package for license-expression Python
package to do SPDX licence checks, developed by the same team doing
SPDX-toolkit for SPDX, using the same current data, by and working with
Fedora folks et al.
Description:
Python utility library to parse, compare, simplify and normalize
license expressions (such as SPDX license expressions).
License: Apache-2.0
For more information see the project home pages:
https://github.com/nexB/license-expression
https://pypi.org/project/license-expression
It is in PyPI and packaged by major Linux and BSD distros, and Msys2:
https://repology.org/project/python:license-expression/versions
Attached cygport and at:
https://cygwin.com/cgit/cygwin-packages/playground/commit/?id=3626386b10c967f780547d1703ad23bd50f6331a
package job (without tests):
https://cygwin.com/cgi-bin2/jobs.cgi?id=8210&srcpkg=playground&user=Brian+Inglis
log at:
https://github.com/cygwin/scallywag/actions/runs/9293093201
The package installs and runs using PoC script attached in
spdx-license-expression.py hooked into /usr/share/cygport/lib/pkg_pkg.cygpart
by the license hint addition patch attached.
I also ran a test of the Python script and module against all package source
cygport files declaring licences which I maintain or ever looked at, including
a
git/cygwin-packages/*.cygport download from 2023-02, showing the results in the
attached log.
I also attempted to trap the exceptions in the script, but that does not seem
to
work in any documented obvious manner, but I do not know enough Python to
address this fully.
If someone else who knows python cared to adopt and improve this in a more
normal manner, and incorporate this more smoothly into cygport, we could all
appreciate that.
Alternatively, some candid comments and frank feedback might allow me to do so!
;^>
Recent changes:
v30.3.0 - 2024-03-18
This is a minor release without API changes:
- Use latest skeleton
- Update license list to latest ScanCode and SPDX 3.23
- Drop support for Python 3.7
v30.2.0 - 2023-11-29
This is a minor release without API changes:
- Use latest skeleton
- Update license list to latest ScanCode and SPDX 3.22
- Add Python 3.12 support in CI
v30.1.1 - 2023-01-16
This is a minor dot release without API changes
- Use latest skeleton
- Update license list to latest ScanCode and SPDX 3.20
v30.1.0 - 2023-01-16
This is a minor release without API changes
- Use latest skeleton (and updated configure script)
- Update license list to latest ScanCode and SPDX 3.19
- Use correct syntax for python_require
- Drop using Travis and Appveyor
- Drop support for Python 3.7 and add Python 3.11 in CI
v30.0.0 - 2022-05-10
This is a minor release with API changes
- Use latest skeleton (and updated configure script)
- Drop using calver
- Improve error checking when combining licenses
Attached:
python-license-expression.cygport
spdx-license-expression.py
cygport-lib-pkg_pkg-cygpart-spdx-license-expression-check.patch
spdx-license-expression-test.log