aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicola Lunghi <nick83ola@gmail.com>2019-11-15 17:46:20 +0000
committerKhem Raj <raj.khem@gmail.com>2019-11-17 12:34:21 -0800
commit5ad8fb181e4f113901ebaa045b6a903afa367e78 (patch)
treeb0ac05e9b9a2bb717b1498a24a4d74756ac5b8fe
parent90d119191f4b2af86d8dc216ae9c956242784089 (diff)
downloadmeta-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>
-rw-r--r--meta-python/recipes-devtools/python/python-jsonschema.inc11
-rw-r--r--meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch96
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 c1b11a2cc7..837d5760cd 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 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 <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
+