commit d749d6e407f9e73e3e6b3fc3fee8d31ffd7de5b2
Author: Jakub Bogusz <[email protected]>
Date:   Wed Jan 20 21:51:40 2021 +0100

    - updated to 1.7.1
    - added tests patch (allow pytest 5, seems to work; adjust for ecdsa 0.14+)

 python-pyjwt-tests.patch | 29 +++++++++++++++++++++
 python-pyjwt.spec        | 68 ++++++++++++++++++++++++++++++++----------------
 2 files changed, 74 insertions(+), 23 deletions(-)
---
diff --git a/python-pyjwt.spec b/python-pyjwt.spec
index 2664c2d..bb27cb1 100644
--- a/python-pyjwt.spec
+++ b/python-pyjwt.spec
@@ -1,40 +1,49 @@
 #
 # Conditional build:
-%bcond_with    doc     # don't build doc
-%bcond_with    tests   # do not perform "make test"
+%bcond_with    tests   # unit tests
 %bcond_without python2 # CPython 2.x module
 %bcond_without python3 # CPython 3.x module
 
 %define                module  pyjwt
-Summary:       JSON Web Token implementation in Python
+Summary:       JSON Web Token implementation in Python 2
+Summary(pl.UTF-8):     Implementacja JSON Web Token w Pythonie 2
 Name:          python-%{module}
-Version:       1.4.0
-Release:       4
+# keep 1.x here for python2 support
+Version:       1.7.1
+Release:       1
 License:       MIT
 Group:         Libraries/Python
+#Source0Download: https://pypi.org/simple/pyjwt/
 Source0:       
https://files.pythonhosted.org/packages/source/P/PyJWT/PyJWT-%{version}.tar.gz
-# Source0-md5: 2f9bd9226d72b13d19d2c557114d03dc
+# Source0-md5: a4712f980c008696e13e09504120b2a0
+Patch0:                %{name}-tests.patch
 URL:           http://github.com/jpadilla/pyjwt
 BuildRequires: rpm-pythonprov
 BuildRequires: rpmbuild(macros) >= 1.714
 %if %{with python2}
-BuildRequires: python-modules
+BuildRequires: python-modules >= 1:2.7
 BuildRequires: python-setuptools
 %if %{with tests}
-BuildRequires: python-pytest
-BuildRequires: python-pytest-cov
-BuildRequires: python-pytest-runner
+BuildRequires: python-Crypto
+BuildRequires: python-ecdsa
+BuildRequires: python-pytest >= 4.0.1
+BuildRequires: python-pytest-cov >= 2.6.0
+BuildRequires: python-pytest-runner >= 4.2
 %endif
 %endif
 %if %{with python3}
-BuildRequires: python3-modules
+BuildRequires: python3-modules >= 1:3.4
 BuildRequires: python3-setuptools
 %if %{with tests}
-BuildRequires: python3-pytest
-BuildRequires: python3-pytest-cov
-BuildRequires: python3-pytest-runner
+BuildRequires: python3-Crypto
+BuildRequires: python3-ecdsa
+BuildRequires: python3-pytest >= 4.0.1
+BuildRequires: python3-pytest-cov >= 2.6.0
+BuildRequires: python3-pytest-runner >= 4.2
 %endif
 %endif
+# file and namespace conflict
+Conflicts:     python-jwt
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -42,27 +51,40 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 A Python implementation of RFC 7519. Original implementation was
 written by @progrium.
 
+%description -l pl.UTF-8
+Pythonowa implementacja RFC 7519. Oryginalna implementacja została
+napisana przez @progrium.
+
 %package -n python3-%{module}
-Summary:       JSON Web Token implementation in Python
+Summary:       JSON Web Token implementation in Python 3
+Summary(pl.UTF-8):     Implementacja JSON Web Token w Pythonie 3
+Group:         Libraries/Python
 Requires:      python3-setuptools
+# file and namespace conflict
+Conflicts:     python3-jwt
 
 %description -n python3-%{module}
 A Python implementation of RFC 7519. Original implementation was
 written by @progrium.
 
+%description -n python3-%{module} -l pl.UTF-8
+Pythonowa implementacja RFC 7519. Oryginalna implementacja została
+napisana przez @progrium.
+
 %prep
 %setup -q -n PyJWT-%{version}
+%patch0 -p1
 
 # Remove bundled egg-info
 %{__rm} -r PyJWT.egg-info
 
 %build
 %if %{with python2}
-%py_build %{?with_tests:test}
+%py_build %{?with_tests:pytest}
 %endif
 
 %if %{with python3}
-%py3_build %{?with_tests:test}
+%py3_build %{?with_tests:pytest}
 %endif
 
 %install
@@ -70,12 +92,12 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with python2}
 %py_install
 %py_postclean
-mv $RPM_BUILD_ROOT%{_bindir}/jwt{,-2}
+%{__mv} $RPM_BUILD_ROOT%{_bindir}/pyjwt{,-2}
 %endif
 
 %if %{with python3}
 %py3_install
-mv $RPM_BUILD_ROOT%{_bindir}/jwt{,-3}
+%{__mv} $RPM_BUILD_ROOT%{_bindir}/pyjwt{,-3}
 %endif
 
 %clean
@@ -84,8 +106,8 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with python2}
 %files
 %defattr(644,root,root,755)
-%doc README.md LICENSE
-%attr(755,root,root) %{_bindir}/jwt-2
+%doc AUTHORS CHANGELOG.md LICENSE README.rst
+%attr(755,root,root) %{_bindir}/pyjwt-2
 %{py_sitescriptdir}/jwt
 %{py_sitescriptdir}/PyJWT-%{version}-py*.egg-info
 %endif
@@ -93,8 +115,8 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with python3}
 %files -n python3-%{module}
 %defattr(644,root,root,755)
-%doc README.md LICENSE
-%attr(755,root,root) %{_bindir}/jwt-3
+%doc AUTHORS CHANGELOG.md LICENSE README.rst
+%attr(755,root,root) %{_bindir}/pyjwt-3
 %{py3_sitescriptdir}/jwt
 %{py3_sitescriptdir}/PyJWT-%{version}-py*.egg-info
 %endif
diff --git a/python-pyjwt-tests.patch b/python-pyjwt-tests.patch
new file mode 100644
index 0000000..d12fca0
--- /dev/null
+++ b/python-pyjwt-tests.patch
@@ -0,0 +1,29 @@
+--- PyJWT-1.7.1/setup.py.orig  2018-12-06 13:28:35.000000000 +0100
++++ PyJWT-1.7.1/setup.py       2021-01-20 21:48:02.372776650 +0100
+@@ -33,9 +33,9 @@
+     sys.exit()
+ 
+ tests_require = [
+-    'pytest>=4.0.1,<5.0.0',
+-    'pytest-cov>=2.6.0,<3.0.0',
+-    'pytest-runner>=4.2,<5.0.0',
++    'pytest>=4.0.1',
++    'pytest-cov>=2.6.0',
++    'pytest-runner>=4.2',
+ ]
+ 
+ needs_pytest = set(('pytest', 'test', 'ptr')).intersection(sys.argv)
+--- PyJWT-1.7.1/tests/contrib/test_algorithms.py.orig  2018-11-26 
04:04:17.000000000 +0100
++++ PyJWT-1.7.1/tests/contrib/test_algorithms.py       2021-01-20 
21:47:38.742904664 +0100
+@@ -161,7 +161,10 @@
+         with open(key_path('testkey_ec.pub'), 'r') as keyfile:
+             jwt_pub_key = algo.prepare_key(keyfile.read())
+ 
+-        result = algo.verify(jwt_message, jwt_pub_key, jwt_sig)
++        try:
++            result = algo.verify(jwt_message, jwt_pub_key, jwt_sig)
++        except: # ecdsa>=0.14 raises BadSignatureError
++            result = False
+         assert not result
+ 
+     def test_ec_verify_should_return_true_if_signature_valid(self):
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python-pyjwt.git/commitdiff/d749d6e407f9e73e3e6b3fc3fee8d31ffd7de5b2

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to