From d2ea07281f32bd77ceadbd50242a707f3467a1f6b3c36252118b086c68d7e49b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Wed, 14 Nov 2018 13:55:36 +0000 Subject: [PATCH 1/2] - Add patch to build with python 3.7: * pyjwt-python37.patch OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-PyJWT?expand=0&rev=36 --- pyjwt-python37.patch | 32 ++++++++++++++++++++++++++++++++ python-PyJWT.changes | 6 ++++++ python-PyJWT.spec | 5 ++++- 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 pyjwt-python37.patch diff --git a/pyjwt-python37.patch b/pyjwt-python37.patch new file mode 100644 index 0000000..56ae2f1 --- /dev/null +++ b/pyjwt-python37.patch @@ -0,0 +1,32 @@ +From 2122f94432d160a23e79a4771c05d71132dc6db9 Mon Sep 17 00:00:00 2001 +From: kreutz-hs <43569762+kreutz-hs@users.noreply.github.com> +Date: Fri, 2 Nov 2018 12:24:18 +0100 +Subject: [PATCH] Support Python 3.7 (#375) + +* Import collection ABC's from correct module + They were moved into collections.abc in 3.3 and will be deprecated + from collections in 3.8. +--- + CHANGELOG.md | 2 ++ + jwt/api_jwt.py | 6 +++++- + tox.ini | 2 +- + 3 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/jwt/api_jwt.py b/jwt/api_jwt.py +index 6caeecf..0836ec0 100644 +--- a/jwt/api_jwt.py ++++ b/jwt/api_jwt.py +@@ -1,8 +1,12 @@ + import json + import warnings + from calendar import timegm +-from collections import Iterable, Mapping + from datetime import datetime, timedelta ++try: ++ # Importing ABCs from collections will be removed in PY3.8 ++ from collections.abc import Iterable, Mapping ++except ImportError: ++ from collections import Iterable, Mapping + try: + # import required by mypy to perform type checking, not used for normal execution + from typing import Callable, Dict, List, Optional, Union # NOQA diff --git a/python-PyJWT.changes b/python-PyJWT.changes index da1bfcc..ed92953 100644 --- a/python-PyJWT.changes +++ b/python-PyJWT.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Nov 14 13:51:54 UTC 2018 - Tomáš Chvátal + +- Add patch to build with python 3.7: + * pyjwt-python37.patch + ------------------------------------------------------------------- Sat Jul 7 17:24:24 UTC 2018 - arun@gmx.de diff --git a/python-PyJWT.spec b/python-PyJWT.spec index 8a944c2..b3cdb01 100644 --- a/python-PyJWT.spec +++ b/python-PyJWT.spec @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -25,6 +25,7 @@ License: MIT Group: Development/Languages/Python URL: https://github.com/progrium/pyjwt Source: https://files.pythonhosted.org/packages/source/P/PyJWT/PyJWT-%{version}.tar.gz +Patch0: pyjwt-python37.patch BuildRequires: %{python_module cryptography >= 1.4} BuildRequires: %{python_module devel} BuildRequires: %{python_module ecdsa} @@ -46,6 +47,8 @@ A Python implementation of JSON Web Token draft 01. %prep %setup -q -n PyJWT-%{version} +%patch0 -p1 + dos2unix jwt/__main__.py %build From 15ac49e4b8be5aa430c8d6bb29baf0bd4c28f131f36fa1016fb591f2b02b943c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Tue, 27 Nov 2018 12:00:34 +0000 Subject: [PATCH 2/2] Accepting request 652151 from home:glaubitz:branches:devel:languages:python - Add patch to fix testsuite with pytest 3.9.0: * pyjwt-pytest390.patch OBS-URL: https://build.opensuse.org/request/show/652151 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-PyJWT?expand=0&rev=37 --- pyjwt-pytest390.patch | 24 ++++++++++++++++++++++++ python-PyJWT.changes | 6 ++++++ python-PyJWT.spec | 3 +++ 3 files changed, 33 insertions(+) create mode 100644 pyjwt-pytest390.patch diff --git a/pyjwt-pytest390.patch b/pyjwt-pytest390.patch new file mode 100644 index 0000000..87863fe --- /dev/null +++ b/pyjwt-pytest390.patch @@ -0,0 +1,24 @@ +diff -Nru PyJWT-1.6.4.orig/tests/test_api_jws.py PyJWT-1.6.4/tests/test_api_jws.py +--- PyJWT-1.6.4.orig/tests/test_api_jws.py 2018-03-03 15:45:20.000000000 +0100 ++++ PyJWT-1.6.4/tests/test_api_jws.py 2018-11-27 12:48:14.393379717 +0100 +@@ -294,7 +294,7 @@ + jws.decode, example_jws, key=example_secret, + options={'verify_signature': False}, + ) +- except AssertionError: ++ except pytest.fail.Exception: + pass + else: + assert False, "Unexpected DeprecationWarning raised." +diff -Nru PyJWT-1.6.4.orig/tests/test_api_jwt.py PyJWT-1.6.4/tests/test_api_jwt.py +--- PyJWT-1.6.4.orig/tests/test_api_jwt.py 2018-03-18 14:35:35.000000000 +0100 ++++ PyJWT-1.6.4/tests/test_api_jwt.py 2018-11-27 12:48:24.217463350 +0100 +@@ -516,7 +516,7 @@ + pytest.deprecated_call( + jwt.decode, jwt_message, secret, verify=False, + ) +- except AssertionError: ++ except pytest.fail.Exception: + pass + else: + assert False, "Unexpected DeprecationWarning raised." diff --git a/python-PyJWT.changes b/python-PyJWT.changes index ed92953..032f7c6 100644 --- a/python-PyJWT.changes +++ b/python-PyJWT.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Nov 27 11:52:40 UTC 2018 - John Paul Adrian Glaubitz + +- Add patch to fix testsuite with pytest 3.9.0: + * pyjwt-pytest390.patch + ------------------------------------------------------------------- Wed Nov 14 13:51:54 UTC 2018 - Tomáš Chvátal diff --git a/python-PyJWT.spec b/python-PyJWT.spec index b3cdb01..7521778 100644 --- a/python-PyJWT.spec +++ b/python-PyJWT.spec @@ -26,6 +26,8 @@ Group: Development/Languages/Python URL: https://github.com/progrium/pyjwt Source: https://files.pythonhosted.org/packages/source/P/PyJWT/PyJWT-%{version}.tar.gz Patch0: pyjwt-python37.patch +# fix testsuite with pytest >= 3.9.0, see: https://github.com/jpadilla/pyjwt/issues/382 +Patch1: pyjwt-pytest390.patch BuildRequires: %{python_module cryptography >= 1.4} BuildRequires: %{python_module devel} BuildRequires: %{python_module ecdsa} @@ -48,6 +50,7 @@ A Python implementation of JSON Web Token draft 01. %prep %setup -q -n PyJWT-%{version} %patch0 -p1 +%patch1 -p1 dos2unix jwt/__main__.py