[Buildroot] [PATCH v3 1/3] package/python-yamllint: new package
Heiko Thiery
heiko.thiery at gmail.com
Fri Apr 12 05:53:57 UTC 2024
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 <heiko.thiery at gmail.com>
---
v2: accidentally resend this series as v2
(it's too early in the morning and no coffee yet)
v3:
- add missing runtime depnedencies
- a patch that enables the target build for python-pathspec is
required https://patchwork.ozlabs.org/project/buildroot/patch/20240412054421.1346030-1-heiko.thiery@gmail.com/
- add runtime test
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"]
--
2.39.2
More information about the buildroot
mailing list