ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/lang/python/python-jsonschema/Makefile b/external/subpack/lang/python/python-jsonschema/Makefile
new file mode 100644
index 0000000..82ce406
--- /dev/null
+++ b/external/subpack/lang/python/python-jsonschema/Makefile
@@ -0,0 +1,43 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-jsonschema
+PKG_VERSION:=4.22.0
+PKG_RELEASE:=1
+
+PYPI_NAME:=jsonschema
+PKG_HASH:=5b22d434a45935119af990552c862e5d6d564e8f6601206b305a61fdf661a2b7
+
+PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=COPYING
+
+PKG_BUILD_DEPENDS:=python-hatchling/host python-hatch-vcs/host python-hatch-fancy-pypi-readme/host
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-jsonschema
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  TITLE:=An implementation of JSON Schema validation
+  URL:=https://github.com/python-jsonschema/jsonschema
+  DEPENDS:= \
+	  +python3-light \
+	  +python3-decimal \
+	  +python3-urllib \
+	  +python3-uuid \
+	  +python3-attrs \
+	  +python3-jsonschema-specifications \
+	  +python3-referencing \
+	  +python3-rpds-py
+endef
+
+define Package/python3-jsonschema/description
+  jsonschema is an implementation of JSON Schema validation for Python.
+endef
+
+$(eval $(call Py3Package,python3-jsonschema))
+$(eval $(call BuildPackage,python3-jsonschema))
+$(eval $(call BuildPackage,python3-jsonschema-src))
diff --git a/external/subpack/lang/python/python-jsonschema/test.sh b/external/subpack/lang/python/python-jsonschema/test.sh
new file mode 100644
index 0000000..37fe492
--- /dev/null
+++ b/external/subpack/lang/python/python-jsonschema/test.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+[ "$1" = python3-jsonschema ] || exit 0
+
+python3 - << 'EOF'
+
+from jsonschema import validate
+
+# A sample schema, like what we'd get from json.load()
+schema = {
+    "type" : "object",
+    "properties" : {
+        "price" : {"type" : "number"},
+        "name" : {"type" : "string"},
+    },
+}
+
+# If no exception is raised by validate(), the instance is valid.
+validate(instance={"name" : "Eggs", "price" : 34.99}, schema=schema)
+
+EOF