From 2258fc413a3566722e84def281503e49172c117b Mon Sep 17 00:00:00 2001 From: Heiko Thiery Date: Fri, 12 Apr 2024 07:53:57 +0200 Subject: [PATCH] package/python-yamllint: new package This host package is needed since u-boot 2024.04 for building ti defconfigs. This is an requirement for using buildman/binman [1]. [1] https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/buildman/requirements.txt?ref_type=tags#L3 Signed-off-by: Heiko Thiery Signed-off-by: Yann E. MORIN --- package/Config.in | 1 + package/python-yamllint/Config.in | 8 ++++++++ package/python-yamllint/python-yamllint.hash | 3 +++ package/python-yamllint/python-yamllint.mk | 15 +++++++++++++++ .../tests/package/sample_python_yamllint.py | 13 +++++++++++++ .../testing/tests/package/test_python_yamllint.py | 11 +++++++++++ 6 files changed, 51 insertions(+) create mode 100644 package/python-yamllint/Config.in create mode 100644 package/python-yamllint/python-yamllint.hash create mode 100644 package/python-yamllint/python-yamllint.mk create mode 100644 support/testing/tests/package/sample_python_yamllint.py create mode 100644 support/testing/tests/package/test_python_yamllint.py diff --git a/package/Config.in b/package/Config.in index d9bbf64c95..1935077f0f 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1437,6 +1437,7 @@ menu "External python modules" source "package/python-xmljson/Config.in" source "package/python-xmltodict/Config.in" source "package/python-xmodem/Config.in" + source "package/python-yamllint/Config.in" source "package/python-yarl/Config.in" source "package/python-yatl/Config.in" source "package/python-zc-lockfile/Config.in" diff --git a/package/python-yamllint/Config.in b/package/python-yamllint/Config.in new file mode 100644 index 0000000000..5c0962f09f --- /dev/null +++ b/package/python-yamllint/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_YAMLLINT + bool "python-yamllint" + select BR2_PACKAGE_PYTHON_PATHSPEC # runtime + select BR2_PACKAGE_PYTHON_PYYAML # runtime + help + A linter for YAML files. + + https://github.com/adrienverge/yamllint diff --git a/package/python-yamllint/python-yamllint.hash b/package/python-yamllint/python-yamllint.hash new file mode 100644 index 0000000000..d80e0fdf42 --- /dev/null +++ b/package/python-yamllint/python-yamllint.hash @@ -0,0 +1,3 @@ +# Locally computed sha256 checksums +sha256 7a003809f88324fd2c877734f2d575ee7881dd9043360657cc8049c809eba6cd yamllint-1.35.1.tar.gz +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSE diff --git a/package/python-yamllint/python-yamllint.mk b/package/python-yamllint/python-yamllint.mk new file mode 100644 index 0000000000..ceaca3b0b8 --- /dev/null +++ b/package/python-yamllint/python-yamllint.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-yamllint +# +################################################################################ + +PYTHON_YAMLLINT_VERSION = 1.35.1 +PYTHON_YAMLLINT_SOURCE = yamllint-$(PYTHON_YAMLLINT_VERSION).tar.gz +PYTHON_YAMLLINT_SITE = https://files.pythonhosted.org/packages/da/06/d8cee5c3dfd550cc0a466ead8b321138198485d1034130ac1393cc49d63e +PYTHON_YAMLLINT_SETUP_TYPE = pep517 +PYTHON_YAMLLINT_LICENSE = GPL-3.0 +PYTHON_YAMLLINT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/support/testing/tests/package/sample_python_yamllint.py b/support/testing/tests/package/sample_python_yamllint.py new file mode 100644 index 0000000000..369a3b8d7d --- /dev/null +++ b/support/testing/tests/package/sample_python_yamllint.py @@ -0,0 +1,13 @@ +# example form https://yamllint.readthedocs.io/en/stable/development.html + +from yamllint import (config, linter) + +data = '''--- +- &anchor + foo: bar +- *anchor +''' + +yaml_config = config.YamlLintConfig("extends: default") +for p in linter.run(data, yaml_config): + print(p.desc, p.line, p.rule) diff --git a/support/testing/tests/package/test_python_yamllint.py b/support/testing/tests/package/test_python_yamllint.py new file mode 100644 index 0000000000..226048ae87 --- /dev/null +++ b/support/testing/tests/package/test_python_yamllint.py @@ -0,0 +1,11 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonYamllint(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_YAMLLINT=y + """ + sample_scripts = ["tests/package/sample_python_yamllint.py"]