diff options
author | Nicola Lunghi <nick83ola@gmail.com> | 2019-11-15 17:46:20 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2019-11-17 12:34:21 -0800 |
commit | 5ad8fb181e4f113901ebaa045b6a903afa367e78 (patch) | |
tree | b0ac05e9b9a2bb717b1498a24a4d74756ac5b8fe /meta-python | |
parent | 90d119191f4b2af86d8dc216ae9c956242784089 (diff) | |
download | meta-openembedded-contrib-5ad8fb181e4f113901ebaa045b6a903afa367e78.tar.gz |
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 <nick83ola@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-python')
-rw-r--r-- | meta-python/recipes-devtools/python/python-jsonschema.inc | 11 | ||||
-rw-r--r-- | meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch | 96 |
2 files changed, 107 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python/python-jsonschema.inc b/meta-python/recipes-devtools/python/python-jsonschema.inc index c1b11a2cc74..837d5760cd2 100644 --- a/meta-python/recipes-devtools/python/python-jsonschema.inc +++ b/meta-python/recipes-devtools/python/python-jsonschema.inc @@ -5,6 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \ file://json/LICENSE;md5=9d4de43111d33570c8fe49b4cb0e01af" DEPENDS += "${PYTHON_PN}-vcversioner-native ${PYTHON_PN}-setuptools-scm-native" +FILESEXTRAPATHS_prepend := "${THISDIR}/python-jsonschema:" + +SRC_URI_append = " file://0001-setup.cfg-add-non-GPL-format-option.patch" + SRC_URI[md5sum] = "a802ab85600074a726ef6acc4e6a8148" SRC_URI[sha256sum] = "2fa0684276b6333ff3c0b1b27081f4b2305f0a36cf702a23db50edb141893c3f" @@ -16,6 +20,13 @@ PACKAGECONFIG[format] = ",,,\ ${PYTHON_PN}-rfc3987 \ ${PYTHON_PN}-strict-rfc3339 \ " +PACKAGECONFIG[nongpl] = ",,,\ + ${PYTHON_PN}-idna \ + ${PYTHON_PN}-jsonpointer \ + ${PYTHON_PN}-webcolors \ + ${PYTHON_PN}-rfc3986-validator \ + ${PYTHON_PN}-rfc3339-validator \ +" RDEPENDS_${PN} += " \ ${PYTHON_PN}-attrs \ 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 00000000000..afc38a30bff --- /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 <nick83ola@gmail.com> +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 <naimetti@yahoo.com.ar> + +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 + |