aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2024-06-15 08:40:30 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2024-06-15 09:12:43 +0000
commit83f92b48b265affa4ba4563fd5842c9ef08d9554 (patch)
tree95fe7d088a7bfff194df409f9598edfd10b71c6e
parenta95870ffbe7aa88cf6104e5c7642411e7e267345 (diff)
devel/py-jschon: New port: JSON toolkit for Python developers
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-jschon/Makefile34
-rw-r--r--devel/py-jschon/distinfo11
-rw-r--r--devel/py-jschon/pkg-descr12
4 files changed, 58 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index a3eb8e37481d..e8eb0849aedc 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4979,6 +4979,7 @@
SUBDIR += py-johnnydep
SUBDIR += py-jsbeautifier
SUBDIR += py-jschema-to-python
+ SUBDIR += py-jschon
SUBDIR += py-jsmin
SUBDIR += py-json5
SUBDIR += py-json_tricks
diff --git a/devel/py-jschon/Makefile b/devel/py-jschon/Makefile
new file mode 100644
index 000000000000..c21d80620911
--- /dev/null
+++ b/devel/py-jschon/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= jschon
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.11.1
+CATEGORIES= devel textproc python
+#MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= JSON toolkit for Python developers
+WWW= https://github.com/marksparkza/jschon
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}rfc3986>0:www/py-rfc3986@${PY_FLAVOR}
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}coverage>0:devel/py-coverage@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}hypothesis>0:devel/py-hypothesis@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-benchmark>=0:devel/py-pytest-benchmark@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-httpserver>=0:devel/py-pytest-httpserver@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= distutils autoplist pytest # 4 tests fail, see https://github.com/marksparkza/jschon/issues/118
+
+USE_GITHUB= yes
+GH_ACCOUNT= marksparkza
+GH_TUPLE= json-schema-org:JSON-Schema-Test-Suite:0433a2bf827d3039c272e831049a6e58deab787d:json_schema_org_JSON_Schema_Test_Suite/tests/JSON-Schema-Test-Suite \
+ json-schema-org:json-schema-spec:aaedf928fb5aba87d815d0a7a152e872b13cbb77:json_schema_org_json_schema_spec1/jschon/catalog/json-schema-2019-09 \
+ json-schema-org:json-schema-spec:6b2052df656484d01bdf1969b709dc8845884678:json_schema_org_json_schema_spec2/jschon/catalog/json-schema-2020-12 \
+ marksparkza:json-schema-spec:2cb7c7447f9b795c9940710bf0eda966a92c937f:marksparkza_json_schema_spec/jschon/catalog/json-schema-next
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-jschon/distinfo b/devel/py-jschon/distinfo
new file mode 100644
index 000000000000..3a1e360d7de5
--- /dev/null
+++ b/devel/py-jschon/distinfo
@@ -0,0 +1,11 @@
+TIMESTAMP = 1718439259
+SHA256 (marksparkza-jschon-v0.11.1_GH0.tar.gz) = 575ad63618710a13e6eb7fa96225ebf9820845fdec1d5c75fde33f1f19294e68
+SIZE (marksparkza-jschon-v0.11.1_GH0.tar.gz) = 84003
+SHA256 (json-schema-org-JSON-Schema-Test-Suite-0433a2bf827d3039c272e831049a6e58deab787d_GH0.tar.gz) = 1a6da89452e57b94bc117ace9c760a492c27e0c59540f547577c2b95c4f672c2
+SIZE (json-schema-org-JSON-Schema-Test-Suite-0433a2bf827d3039c272e831049a6e58deab787d_GH0.tar.gz) = 221182
+SHA256 (json-schema-org-json-schema-spec-aaedf928fb5aba87d815d0a7a152e872b13cbb77_GH0.tar.gz) = 660bbbf65911e85e0e39bef01663fbe962f3b003633e2386b4e6b79ba19f4727
+SIZE (json-schema-org-json-schema-spec-aaedf928fb5aba87d815d0a7a152e872b13cbb77_GH0.tar.gz) = 98756
+SHA256 (json-schema-org-json-schema-spec-6b2052df656484d01bdf1969b709dc8845884678_GH0.tar.gz) = ecd400bd7d7921aff5e683e16d677e00913008a86f3575dc8e9e544005b0e4aa
+SIZE (json-schema-org-json-schema-spec-6b2052df656484d01bdf1969b709dc8845884678_GH0.tar.gz) = 107264
+SHA256 (marksparkza-json-schema-spec-2cb7c7447f9b795c9940710bf0eda966a92c937f_GH0.tar.gz) = bba05bc120d23848beedff55a33d479e92ce1d825806a5c400a7b08cda5676f9
+SIZE (marksparkza-json-schema-spec-2cb7c7447f9b795c9940710bf0eda966a92c937f_GH0.tar.gz) = 163737
diff --git a/devel/py-jschon/pkg-descr b/devel/py-jschon/pkg-descr
new file mode 100644
index 000000000000..f10fae187dca
--- /dev/null
+++ b/devel/py-jschon/pkg-descr
@@ -0,0 +1,12 @@
+jschon is an object-oriented JSON Schema implementation for Python.
+
+Features:
+* JSON Schema validator implementation (drafts 2019-09, 2020-12)
+ * Schema compilation and indexing
+ * $ref loading from local and remote sources
+ * Support for custom keywords, vocabularies and meta-schemas
+ * Support for format validation
+* JSON class implementing the JSON data model
+* JSON Pointer (RFC 6901)
+* JSON Patch (RFC 6902)
+* Relative JSON Pointer (draft)