diff --git a/devel/py-jsonschema/Makefile b/devel/py-jsonschema/Makefile index ac0adc3c5989..6640344ef811 100644 --- a/devel/py-jsonschema/Makefile +++ b/devel/py-jsonschema/Makefile @@ -1,32 +1,33 @@ # Created by: Muhammad Moinur Rahman PORTNAME= jsonschema PORTVERSION= 4.6.0 +PORTREVISION= 1 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= bofh@FreeBSD.org COMMENT= JSON Schema validation for Python 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}importlib-metadata>=0:devel/py-importlib-metadata@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}importlib-resources>=0:devel/py-importlib-resources@${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 CONFLICTS_INSTALL= py*-jsonschema3 # bin/jsonschema NO_ARCH= yes do-test: cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m tox .include diff --git a/devel/py-jsonschema/files/patch-MANIFEST.in b/devel/py-jsonschema/files/patch-MANIFEST.in new file mode 100644 index 000000000000..fb22f9988615 --- /dev/null +++ b/devel/py-jsonschema/files/patch-MANIFEST.in @@ -0,0 +1,7 @@ +--- MANIFEST.in.orig 2022-06-04 16:19:42 UTC ++++ MANIFEST.in +@@ -3,3 +3,4 @@ include *.rst + include COPYING + include pyproject.toml + include tox.ini ++graft jsonschema/schemas diff --git a/devel/py-jsonschema/files/patch-setup.py b/devel/py-jsonschema/files/patch-setup.py index aadc6f44df9f..34e2ea541b85 100644 --- a/devel/py-jsonschema/files/patch-setup.py +++ b/devel/py-jsonschema/files/patch-setup.py @@ -1,12 +1,68 @@ ---- setup.py.orig 2022-06-03 09:53:13 UTC +--- setup.py.orig 2022-06-05 15:48:47 UTC +++ setup.py -@@ -0,0 +1,9 @@ -+#!/usr/bin/env python +@@ -0,0 +1,65 @@ ++# -*- coding: utf-8 -*- ++from setuptools import setup + -+import setuptools -+ -+if __name__ == "__main__": -+ setuptools.setup( -+ packages=['jsonschema'], -+ use_scm_version=True, -+ ) ++setup( ++ name='jsonschema', ++ version='4.6.0', ++ 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`_ 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 `_ and\n `Draft 2019-09 `_,\n except for ``dynamicRef`` / ``recursiveRef`` and ``$vocabulary`` (in-progress).\n Full support for\n `Draft 7 `_,\n `Draft 6 `_,\n `Draft 4 `_\n and\n `Draft 3 `_\n\n* `Lazy validation `_\n that can iteratively report *all* validation errors.\n\n* `Programmatic querying `_\n of which properties or items failed validation.\n\n\nInstallation\n------------\n\n``jsonschema`` is available on `PyPI `_. You can install using `pip `_:\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`_. Running them can be done via::\n\n $ tox -e perf\n\n\nCommunity\n---------\n\nThe JSON Schema specification has `a Slack\n`_, with an `invite link on its home page\n`_. 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 `_.\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`_.\n\nAnd for companies who appreciate ``jsonschema`` and its continued support\nand growth, ``jsonschema`` is also now supportable via `TideLift\n`_.\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', ++ ], ++)