[Buildroot] [PATCH 1/1] package/python-pykwalify: add required package for zephyr cmake

Charles Hardin ckhardin at gmail.com
Mon Aug 21 17:58:28 UTC 2023


When building zephyr based firmware, the cmake integrates with
python scripts that can be run using the buildroot host-python
dependencies. This is useful for the sdk setups and associated
build steps for the firmware. In this use-case, a buildroot
external project can be setup with recipes to build firmware
images using eabi toolchains and the linux controller software
to talk to those firmware images using one SDK. This might not
be overtly obvious from the patches.

Add the required host packages and additional pykwalify

Signed-off-by: Charles Hardin <ckhardin at gmail.com>
---
 package/Config.in                             |  1 +
 package/python-dateutil/python-dateutil.mk    |  2 ++
 package/python-docopt/python-docopt.mk        |  1 +
 package/python-pykwalify/Config.in            |  9 ++++++++
 .../python-pykwalify/python-pykwalify.hash    |  6 +++++
 package/python-pykwalify/python-pykwalify.mk  | 23 +++++++++++++++++++
 .../python-ruamel-yaml/python-ruamel-yaml.mk  |  1 +
 7 files changed, 43 insertions(+)
 create mode 100644 package/python-pykwalify/Config.in
 create mode 100644 package/python-pykwalify/python-pykwalify.hash
 create mode 100644 package/python-pykwalify/python-pykwalify.mk

diff --git a/package/Config.in b/package/Config.in
index 54cddc3914..8eb6c2bf37 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1225,6 +1225,7 @@ menu "External python modules"
 	source "package/python-pyicu/Config.in"
 	source "package/python-pyinotify/Config.in"
 	source "package/python-pyjwt/Config.in"
+	source "package/python-pykwalify/Config.in"
 	source "package/python-pylibfdt/Config.in"
 	source "package/python-pylibftdi/Config.in"
 	source "package/python-pylru/Config.in"
diff --git a/package/python-dateutil/python-dateutil.mk b/package/python-dateutil/python-dateutil.mk
index b75f510bce..d45a047ba8 100644
--- a/package/python-dateutil/python-dateutil.mk
+++ b/package/python-dateutil/python-dateutil.mk
@@ -10,5 +10,7 @@ PYTHON_DATEUTIL_SETUP_TYPE = setuptools
 PYTHON_DATEUTIL_LICENSE = BSD-3-Clause
 PYTHON_DATEUTIL_LICENSE_FILES = LICENSE
 PYTHON_DATEUTIL_DEPENDENCIES = host-python-setuptools-scm
+HOST_PYTHON_DATEUTIL_DEPENDENCIES = host-python-setuptools-scm host-python-six
 
 $(eval $(python-package))
+$(eval $(host-python-package))
diff --git a/package/python-docopt/python-docopt.mk b/package/python-docopt/python-docopt.mk
index f87d2f85a6..d326f4f0aa 100644
--- a/package/python-docopt/python-docopt.mk
+++ b/package/python-docopt/python-docopt.mk
@@ -11,3 +11,4 @@ PYTHON_DOCOPT_LICENSE_FILES = LICENSE-MIT
 PYTHON_DOCOPT_SETUP_TYPE = setuptools
 
 $(eval $(python-package))
+$(eval $(host-python-package))
diff --git a/package/python-pykwalify/Config.in b/package/python-pykwalify/Config.in
new file mode 100644
index 0000000000..03afe31865
--- /dev/null
+++ b/package/python-pykwalify/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_PYTHON_PYKWALIFY
+	bool "python-pykwalify"
+	select BR2_PACKAGE_PYTHON_DATEUTIL # runtime
+	select BR2_PACKAGE_PYTHON_DOCOPT # runtime
+	select BR2_PACKAGE_PYTHON_RUAMEL_YAML # runtime
+	help
+	  Python lib/cli for JSON/YAML schema validation.
+
+	  http://github.com/grokzen/pykwalify
diff --git a/package/python-pykwalify/python-pykwalify.hash b/package/python-pykwalify/python-pykwalify.hash
new file mode 100644
index 0000000000..6ddfb6306a
--- /dev/null
+++ b/package/python-pykwalify/python-pykwalify.hash
@@ -0,0 +1,6 @@
+# md5, sha256 from https://pypi.org/pypi/pykwalify/json
+md5  153197598f8508a49aefc0f44156c2b8  pykwalify-1.8.0.tar.gz
+sha256  796b2ad3ed4cb99b88308b533fb2f559c30fa6efb4fa9fda11347f483d245884  pykwalify-1.8.0.tar.gz
+# Locally computed sha256 checksums
+sha256  626fafd952ab0345edc227f2d565835fe1fd14067ae0d635ee3e47289b773dc4  LICENSE
+sha256  f89f247ddd2b9fdff655668148da4b6feaa9175fa44dd244d233006d0f551cd5  docs/license.rst
diff --git a/package/python-pykwalify/python-pykwalify.mk b/package/python-pykwalify/python-pykwalify.mk
new file mode 100644
index 0000000000..8a0bc6a227
--- /dev/null
+++ b/package/python-pykwalify/python-pykwalify.mk
@@ -0,0 +1,23 @@
+################################################################################
+#
+# python-pykwalify
+#
+################################################################################
+
+PYTHON_PYKWALIFY_VERSION = 1.8.0
+PYTHON_PYKWALIFY_SOURCE = pykwalify-$(PYTHON_PYKWALIFY_VERSION).tar.gz
+PYTHON_PYKWALIFY_SITE = https://files.pythonhosted.org/packages/d5/77/2d6849510dbfce5f74f1f69768763630ad0385ad7bb0a4f39b55de3920c7
+PYTHON_PYKWALIFY_SETUP_TYPE = setuptools
+PYTHON_PYKWALIFY_LICENSE = MIT
+PYTHON_PYKWALIFY_LICENSE_FILES = LICENSE docs/license.rst
+PYTHON_PYKWALIFY_DEPENDENCIES = \
+	python-dateutil \
+	python-docopt \
+	python-ruamel-yaml
+HOST_PYTHON_PYKWALIFY_DEPENDENCIES = \
+	host-python-dateutil \
+	host-python-docopt \
+	host-python-ruamel-yaml
+
+$(eval $(python-package))
+$(eval $(host-python-package))
diff --git a/package/python-ruamel-yaml/python-ruamel-yaml.mk b/package/python-ruamel-yaml/python-ruamel-yaml.mk
index a6fed3bc2c..4f5691c981 100644
--- a/package/python-ruamel-yaml/python-ruamel-yaml.mk
+++ b/package/python-ruamel-yaml/python-ruamel-yaml.mk
@@ -14,3 +14,4 @@ PYTHON_RUAMEL_YAML_CPE_ID_VENDOR = ruamel.yaml_project
 PYTHON_RUAMEL_YAML_CPE_ID_PRODUCT = ruamel.yaml
 
 $(eval $(python-package))
+$(eval $(host-python-package))
-- 
2.39.2 (Apple Git-143)




More information about the buildroot mailing list