aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2022-09-10 16:05:55 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2022-09-10 16:05:55 +0000
commit75e6c9d254938243001a35b99d57b4809eafb2fc (patch)
treec5a88eb1becf062a58bfed0978f70e65e335a826
parent348891fe592e34e60ec81ff1c468414aee802314 (diff)
downloadports-75e6c9d254938243001a35b99d57b4809eafb2fc.tar.gz
ports-75e6c9d254938243001a35b99d57b4809eafb2fc.zip
devel/py-jsonschema49: Add py-jsonschema49 (copied from py-jsonschema)
- Add PORTSCOUT
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-jsonschema49/Makefile43
-rw-r--r--devel/py-jsonschema49/distinfo3
-rw-r--r--devel/py-jsonschema49/files/patch-setup.py69
-rw-r--r--devel/py-jsonschema49/pkg-descr6
5 files changed, 122 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 45f35f61cc72..e3cd6b440aa3 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4703,6 +4703,7 @@
SUBDIR += py-jsonschema
SUBDIR += py-jsonschema-spec
SUBDIR += py-jsonschema3
+ SUBDIR += py-jsonschema49
SUBDIR += py-jsonsir
SUBDIR += py-jupyter-client
SUBDIR += py-jupyter-core
diff --git a/devel/py-jsonschema49/Makefile b/devel/py-jsonschema49/Makefile
new file mode 100644
index 000000000000..3d123995310e
--- /dev/null
+++ b/devel/py-jsonschema49/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= jsonschema
+PORTVERSION= 4.9.1
+CATEGORIES= devel python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+PKGNAMESUFFIX= 49
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= JSON Schema validation for Python
+WWW= https://github.com/Julian/jsonschema
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>=3.4:devel/py-setuptools_scm@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}attrs>=17.4.0:devel/py-attrs@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyrsistent>=0.14.0:devel/py-pyrsistent@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tox>0:devel/py-tox@${PY_FLAVOR}
+
+USES= python:3.7+
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+CONFLICTS_INSTALL= py*-jsonschema3 # bin/jsonschema
+
+PORTSCOUT= limit:^4\.9\.
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 30800
+RUN_DEPEDNS+= ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=0:devel/py-importlib-metadata@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR}
+.endif
+
+.if ${PYTHON_REL} < 30900
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-resources>=0:devel/py-importlib-resources@${PY_FLAVOR}
+.endif
+
+do-test:
+ cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m tox
+
+.include <bsd.port.post.mk>
diff --git a/devel/py-jsonschema49/distinfo b/devel/py-jsonschema49/distinfo
new file mode 100644
index 000000000000..2b5ab5f49fe3
--- /dev/null
+++ b/devel/py-jsonschema49/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1662313350
+SHA256 (jsonschema-4.9.1.tar.gz) = 408c4c8ed0dede3b268f7a441784f74206380b04f93eb2d537c7befb3df3099f
+SIZE (jsonschema-4.9.1.tar.gz) = 281177
diff --git a/devel/py-jsonschema49/files/patch-setup.py b/devel/py-jsonschema49/files/patch-setup.py
new file mode 100644
index 000000000000..fd4b31c64e70
--- /dev/null
+++ b/devel/py-jsonschema49/files/patch-setup.py
@@ -0,0 +1,69 @@
+--- setup.py.orig 2022-07-20 21:49:12 UTC
++++ setup.py
+@@ -0,0 +1,66 @@
++# -*- coding: utf-8 -*-
++from setuptools import setup
++
++setup(
++ name='jsonschema',
++ version='4.7.2',
++ description='An implementation of JSON Schema validation for Python',
++ long_description='==========\njsonschema\n==========\n\n|PyPI| |Pythons| |CI| |ReadTheDocs| |Precommit| |Zenodo|\n\n.. |PyPI| image:: https://img.shields.io/pypi/v/jsonschema.svg\n :alt: PyPI version\n :target: https://pypi.org/project/jsonschema/\n\n.. |Pythons| image:: https://img.shields.io/pypi/pyversions/jsonschema.svg\n :alt: Supported Python versions\n :target: https://pypi.org/project/jsonschema/\n\n.. |CI| image:: https://github.com/python-jsonschema/jsonschema/workflows/CI/badge.svg\n :alt: Build status\n :target: https://github.com/python-jsonschema/jsonschema/actions?query=workflow%3ACI\n\n.. |ReadTheDocs| image:: https://readthedocs.org/projects/python-jsonschema/badge/?version=stable&style=flat\n :alt: ReadTheDocs status\n :target: https://python-jsonschema.readthedocs.io/en/stable/\n\n.. |Precommit| image:: https://results.pre-commit.ci/badge/github/python-jsonschema/jsonschema/main.svg\n :alt: pre-commit.ci status\n :target: https://results.pre-commit.ci/latest/github/python-jsonschema/jsonschema/main\n\n.. |Zenodo| image:: https://zenodo.org/badge/3072629.svg\n :target: https://zenodo.org/badge/latestdoi/3072629\n\n\n``jsonschema`` is an implementation of the `JSON Schema\n<https://json-schema.org>`_ specification for Python.\n\n.. code-block:: python\n\n >>> from jsonschema import validate\n\n >>> # A sample schema, like what we\'d get from json.load()\n >>> schema = {\n ... "type" : "object",\n ... "properties" : {\n ... "price" : {"type" : "number"},\n ... "name" : {"type" : "string"},\n ... },\n ... }\n\n >>> # If no exception is raised by validate(), the instance is valid.\n >>> validate(instance={"name" : "Eggs", "price" : 34.99}, schema=schema)\n\n >>> validate(\n ... instance={"name" : "Eggs", "price" : "Invalid"}, schema=schema,\n ... ) # doctest: +IGNORE_EXCEPTION_DETAIL\n Traceback (most recent call last):\n ...\n ValidationError: \'Invalid\' is not of type \'number\'\n\nIt can also be used from console:\n\n.. code-block:: bash\n\n $ jsonschema --instance sample.json sample.schema\n\nFeatures\n--------\n\n* Partial support for\n `Draft 2020-12 <https://python-jsonschema.readthedocs.io/en/latest/validate/#jsonschema.Draft202012Validator>`_ and\n `Draft 2019-09 <https://python-jsonschema.readthedocs.io/en/latest/validate/#jsonschema.Draft201909Validator>`_,\n except for ``dynamicRef`` / ``recursiveRef`` and ``$vocabulary`` (in-progress).\n Full support for\n `Draft 7 <https://python-jsonschema.readthedocs.io/en/latest/validate/#jsonschema.Draft7Validator>`_,\n `Draft 6 <https://python-jsonschema.readthedocs.io/en/latest/validate/#jsonschema.Draft6Validator>`_,\n `Draft 4 <https://python-jsonschema.readthedocs.io/en/latest/validate/#jsonschema.Draft4Validator>`_\n and\n `Draft 3 <https://python-jsonschema.readthedocs.io/en/latest/validate/#jsonschema.Draft3Validator>`_\n\n* `Lazy validation <https://python-jsonschema.readthedocs.io/en/latest/validate/#jsonschema.protocols.Validator.iter_errors>`_\n that can iteratively report *all* validation errors.\n\n* `Programmatic querying <https://python-jsonschema.readthedocs.io/en/latest/errors/>`_\n of which properties or items failed validation.\n\n\nInstallation\n------------\n\n``jsonschema`` is available on `PyPI <https://pypi.org/project/jsonschema/>`_. You can install using `pip <https://pip.pypa.io/en/stable/>`_:\n\n.. code-block:: bash\n\n $ pip install jsonschema\n\n\nRunning the Test Suite\n----------------------\n\nIf you have ``tox`` installed (perhaps via ``pip install tox`` or your\npackage manager), running ``tox`` in the directory of your source\ncheckout will run ``jsonschema``\'s test suite on all of the versions\nof Python ``jsonschema`` supports. If you don\'t have all of the\nversions that ``jsonschema`` is tested under, you\'ll likely want to run\nusing ``tox``\'s ``--skip-missing-interpreters`` option.\n\nOf course you\'re also free to just run the tests on a single version with your\nfavorite test runner. The tests live in the ``jsonschema.tests`` package.\n\n\nBenchmarks\n----------\n\n``jsonschema``\'s benchmarks make use of `pyperf\n<https://pyperf.readthedocs.io>`_. Running them can be done via::\n\n $ tox -e perf\n\n\nCommunity\n---------\n\nThe JSON Schema specification has `a Slack\n<https://json-schema.slack.com>`_, with an `invite link on its home page\n<https://json-schema.org/>`_. Many folks knowledgeable on authoring\nschemas can be found there.\n\nOtherwise, asking questions on Stack Overflow is another means of\ngetting help if you\'re stuck.\n\n\nAbout\n-----\n\nI\'m Julian Berman.\n\n``jsonschema`` is on `GitHub <https://github.com/python-jsonschema/jsonschema>`_.\n\nGet in touch, via GitHub or otherwise, if you\'ve got something to contribute,\nit\'d be most welcome!\n\nYou can also generally find me on Libera (nick: ``Julian``) in various\nchannels, including ``#python``.\n\nIf you feel overwhelmingly grateful, you can also `sponsor me\n<https://github.com/sponsors/Julian/>`_.\n\nAnd for companies who appreciate ``jsonschema`` and its continued support\nand growth, ``jsonschema`` is also now supportable via `TideLift\n<https://tidelift.com/subscription/pkg/pypi-jsonschema?utm_source=pypi-j\nsonschema&utm_medium=referral&utm_campaign=readme>`_.\n',
++ author='Julian Berman',
++ author_email='Julian+jsonschema@GrayVines.com',
++ classifiers=[
++ 'Development Status :: 5 - Production/Stable',
++ 'Intended Audience :: Developers',
++ 'License :: OSI Approved :: MIT License',
++ 'Operating System :: OS Independent',
++ 'Programming Language :: Python',
++ 'Programming Language :: Python :: 3.10',
++ 'Programming Language :: Python :: 3.11',
++ 'Programming Language :: Python :: 3.7',
++ 'Programming Language :: Python :: 3.8',
++ 'Programming Language :: Python :: 3.9',
++ 'Programming Language :: Python :: Implementation :: CPython',
++ 'Programming Language :: Python :: Implementation :: PyPy',
++ ],
++ install_requires=[
++ 'attrs>=17.4.0',
++ 'importlib-metadata; python_version < "3.8"',
++ 'importlib-resources>=1.4.0; python_version < "3.9"',
++ 'pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0',
++ 'typing-extensions; python_version < "3.8"',
++ ],
++ extras_require={
++ 'format': [
++ 'fqdn',
++ 'idna',
++ 'isoduration',
++ 'jsonpointer>1.13',
++ 'rfc3339-validator',
++ 'rfc3987',
++ 'uri-template',
++ 'webcolors>=1.11',
++ ],
++ 'format-nongpl': [
++ 'fqdn',
++ 'idna',
++ 'isoduration',
++ 'jsonpointer>1.13',
++ 'rfc3339-validator',
++ 'rfc3986-validator>0.1.0',
++ 'uri-template',
++ 'webcolors>=1.11',
++ ],
++ },
++ entry_points={
++ 'console_scripts': [
++ 'jsonschema = jsonschema.cli:main',
++ ],
++ },
++ packages=[
++ 'jsonschema',
++ 'jsonschema.schemas',
++ 'jsonschema.benchmarks',
++ 'jsonschema.tests',
++ ],
++ package_data={'': ['*']},
++)
diff --git a/devel/py-jsonschema49/pkg-descr b/devel/py-jsonschema49/pkg-descr
new file mode 100644
index 000000000000..130c5d25f094
--- /dev/null
+++ b/devel/py-jsonschema49/pkg-descr
@@ -0,0 +1,6 @@
+jsonschema is an implementation of JSON Schema for Python
+
+ - Full support for Draft 3 and Draft 4 of the schema.
+ - Lazy validation that can iteratively report all validation errors.
+ - Small and extensible
+ - Programmatic querying of which properties or items failed validation.