From: Nicola Lunghi <nick83ola@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: [meta-python][PATCH v3 2/2] python-jsonschema: add PACKAGECONFIG nongpl option
Date: Fri, 15 Nov 2019 17:46:20 +0000 [thread overview]
Message-ID: <20191115174618.39355-2-nick83ola@gmail.com> (raw)
In-Reply-To: <20191115174618.39355-1-nick83ola@gmail.com>
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>
---
.../python/python-jsonschema.inc | 11 +++
...-setup.cfg-add-non-GPL-format-option.patch | 96 +++++++++++++++++++
2 files changed, 107 insertions(+)
create mode 100644 meta-python/recipes-devtools/python/python-jsonschema/0001-setup.cfg-add-non-GPL-format-option.patch
diff --git a/meta-python/recipes-devtools/python/python-jsonschema.inc b/meta-python/recipes-devtools/python/python-jsonschema.inc
index c1b11a2cc..837d5760c 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 000000000..afc38a30b
--- /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
+
--
2.20.1
prev parent reply other threads:[~2019-11-15 17:47 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-15 17:46 [meta-python][PATCH v3 1/2] python-jsonschema: multiple fixes Nicola Lunghi
2019-11-15 17:46 ` Nicola Lunghi [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191115174618.39355-2-nick83ola@gmail.com \
--to=nick83ola@gmail.com \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.