From 5ad8fb181e4f113901ebaa045b6a903afa367e78 Mon Sep 17 00:00:00 2001 From: Nicola Lunghi Date: Fri, 15 Nov 2019 17:46:20 +0000 Subject: python-jsonschema: add PACKAGECONFIG nongpl option This is the backport of a patch upstream - 10f8a3e Add format validators as separate modules This will add a PACKAGECONFIG = "nongpl" option to include only dependencies not licensed under the GPL license. Signed-off-by: Nicola Lunghi Signed-off-by: Khem Raj --- .../0001-setup.cfg-add-non-GPL-format-option.patch | 96 ++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch (limited to 'meta-python/recipes-devtools/python/python-jsonschema') diff --git a/meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch b/meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch new file mode 100644 index 0000000000..afc38a30bf --- /dev/null +++ b/meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch @@ -0,0 +1,96 @@ +From 8df0332475991884b8e1801d31f9c3e06d06bf9f Mon Sep 17 00:00:00 2001 +From: Nicola Lunghi +Date: Thu, 14 Nov 2019 18:58:56 +0000 +Subject: [PATCH] setup.cfg: add non GPL format option + +This is a rewrite of the following upstream commits: + + - 10f8a3e Add format validators as separate modules + - af37707 non GPL format option + +removing all the non necessary bits (tox in particular) + +Original author: Nicolas Aimetti + +Upstream-status: Backported. [ to be removed for releases > 3.1.1 ] +--- + jsonschema/_format.py | 33 ++++++++++++++++++++++++++++----- + setup.cfg | 6 ++++++ + 2 files changed, 34 insertions(+), 5 deletions(-) + +diff --git a/jsonschema/_format.py b/jsonschema/_format.py +index aa04090..c967d98 100644 +--- a/jsonschema/_format.py ++++ b/jsonschema/_format.py +@@ -248,7 +248,26 @@ else: + try: + import rfc3987 + except ImportError: +- pass ++ try: ++ from rfc3986_validator import validate_rfc3986 ++ except ImportError: ++ pass ++ else: ++ @_checks_drafts(name="uri",) ++ def is_uri(instance): ++ if not isinstance(instance, str_types): ++ return True ++ return validate_rfc3986(instance, rule="URI") ++ ++ @_checks_drafts( ++ draft6="uri-reference", ++ draft7="uri-reference", ++ raises=ValueError, ++ ) ++ def is_uri_reference(instance): ++ if not isinstance(instance, str_types): ++ return True ++ return validate_rfc3986(instance, rule="URI_reference") + else: + @_checks_drafts(draft7="iri", raises=ValueError) + def is_iri(instance): +@@ -280,15 +299,19 @@ else: + + + try: +- import strict_rfc3339 ++ from strict_rfc3339 import validate_rfc3339 + except ImportError: +- pass +-else: ++ try: ++ from rfc3339_validator import validate_rfc3339 ++ except ImportError: ++ validate_rfc3339 = None ++ ++if validate_rfc3339: + @_checks_drafts(name="date-time") + def is_datetime(instance): + if not isinstance(instance, str_types): + return True +- return strict_rfc3339.validate_rfc3339(instance) ++ return validate_rfc3339(instance) + + @_checks_drafts(draft7="time") + def is_time(instance): +diff --git a/setup.cfg b/setup.cfg +index 74bc4a7..878221c 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -40,6 +40,12 @@ format = + rfc3987 + strict-rfc3339 + webcolors ++format_nongpl = ++ idna ++ jsonpointer>1.13 ++ webcolors ++ rfc3986-validator>0.1.0 ++ rfc3339-validator + + [options.entry_points] + console_scripts = +-- +2.20.1 + -- cgit v1.2.3-54-g00ecf