#
# Conditional build:
-%bcond_without python2 # CPython 2.x module
-%bcond_without python3 # CPython 3.x module
+%bcond_without python2 # CPython 2.x module
+%bcond_without python3 # CPython 3.x module
+%bcond_without doc # Sphinx documentation
+%bcond_with tests # test target [not all dependencies are currently available in PLD]
Summary: Crypthography library for Python 2
Summary(pl.UTF-8): Biblioteka Cryptography dla Pythona 2
Name: python-cryptography
-Version: 1.2.3
-Release: 3
+Version: 2.7
+Release: 1
License: Apache v2.0 or BSD
Group: Libraries/Python
-Source0: https://pypi.python.org/packages/source/c/cryptography/cryptography-%{version}.tar.gz
-# Source0-md5: 5474d2b3e8c7555a60852e48d2743f85
+#Source0Download: https://pypi.org/simple/cryptography/
+Source0: https://files.pythonhosted.org/packages/source/c/cryptography/cryptography-%{version}.tar.gz
+# Source0-md5: 7dfe1035cae43569e571318f000462a4
URL: https://cryptography.io/
-BuildRequires: openssl-devel >= 0.9.8
-BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.710
+BuildRequires: openssl-devel >= 1.0.1
+BuildRequires: rpm-pythonprov >= 5.4.15-48
+BuildRequires: rpmbuild(macros) >= 1.714
%if %{with python2}
-BuildRequires: python-cffi >= 1.4.1
-BuildRequires: python-devel >= 1:2.6
+BuildRequires: python-cffi >= 1.8
+BuildRequires: python-devel >= 1:2.7
BuildRequires: python-enum34
-BuildRequires: python-pyasn1 >= 0.1.8
-BuildRequires: python-setuptools
+BuildRequires: python-pytz
+BuildRequires: python-setuptools >= 18.5
BuildRequires: python-six >= 1.4.1
+%if %{with tests}
+BuildRequires: python-asn1crypto >= 0.21.0
+BuildRequires: python-cryptography_vectors
+%if "%{py_ver}" >= "2.7"
+BuildRequires: python-hypothesis >= 1.11.4
+%endif
+BuildRequires: python-idna >= 2.1
+BuildRequires: python-ipaddress
+BuildRequires: python-iso8601
+BuildRequires: python-pretend
+BuildRequires: python-pytest >= 3.6.0
+BuildRequires: python-pytz
+%endif
%endif
%if %{with python3}
-BuildRequires: python3-cffi >= 1.4.1
-BuildRequires: python3-devel >= 1:3.2
-BuildRequires: python3-pyasn1 >= 0.1.8
-BuildRequires: python3-setuptools
+BuildRequires: python3-cffi >= 1.8
+BuildRequires: python3-devel >= 1:3.4
+BuildRequires: python3-setuptools >= 18.5
BuildRequires: python3-six >= 1.4.1
+%if %{with tests}
+BuildRequires: python3-asn1crypto >= 0.21.0
+BuildRequires: python3-cryptography_vectors
+BuildRequires: python3-hypothesis >= 1.11.4
+BuildRequires: python3-idna >= 2.1
+BuildRequires: python3-iso8601
+BuildRequires: python3-pretend
+BuildRequires: python3-pytest >= 3.6.0
+BuildRequires: python3-pytz
+%endif
%endif
-Requires: python-cffi >= 1.4.1
-Requires: python-six >= 1.4.1
+%if %{with doc}
+BuildRequires: python3-sphinx_rtd_theme
+BuildRequires: sphinx-pdg-3 >= 1.6.5
+%endif
+Requires: openssl >= 1.0.1
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Summary: Crypthography library for Python 3
Summary(pl.UTF-8): Biblioteka Cryptography dla Pythona 3
Group: Libraries/Python
-Requires: python3-cffi >= 1.4.1
-Requires: python3-six >= 1.4.1
+Requires: openssl >= 1.0.1
%description -n python3-cryptography
cryptography is a package designed to expose cryptographic recipes and
Ten pakiet zawiera moduły Pythona 3.
+%package apidocs
+Summary: API documentation for cryptography module
+Summary(pl.UTF-8): Dokumentacja API modułu cryptography
+Group: Documentation
+
+%description apidocs
+API documentation for cryptography module.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API modułu cryptography.
+
%prep
%setup -q -n cryptography-%{version}
export CFLAGS="%{rpmcflags}"
%if %{with python2}
-%py_build \
- --build-base build-2
+%py_build %{?with_tests:test}
%endif
%if %{with python2}
-%py3_build \
- --build-base build-3
+%py3_build %{?with_tests:test}
+%endif
+
+%if %{with doc}
+%{__make} -C docs html \
+ SPHINXBUILD=sphinx-build-3
%endif
%install
%if %{with python2}
%files
%defattr(644,root,root,755)
-%doc AUTHORS.rst README.rst LICENSE.APACHE LICENSE.BSD
+%doc AUTHORS.rst README.rst LICENSE LICENSE.APACHE LICENSE.BSD
%dir %{py_sitedir}/cryptography
%{py_sitedir}/cryptography/*.py[co]
%dir %{py_sitedir}/cryptography/hazmat
%{py_sitedir}/cryptography/hazmat/*.py[co]
%dir %{py_sitedir}/cryptography/hazmat/backends
%{py_sitedir}/cryptography/hazmat/backends/*.py[co]
-%dir %{py_sitedir}/cryptography/hazmat/backends/commoncrypto
-%{py_sitedir}/cryptography/hazmat/backends/commoncrypto/*.py[co]
%dir %{py_sitedir}/cryptography/hazmat/backends/openssl
%{py_sitedir}/cryptography/hazmat/backends/openssl/*.py[co]
%dir %{py_sitedir}/cryptography/hazmat/bindings
%{py_sitedir}/cryptography/hazmat/bindings/*.py[co]
%attr(755,root,root) %{py_sitedir}/cryptography/hazmat/bindings/_*.so
-%dir %{py_sitedir}/cryptography/hazmat/bindings/commoncrypto
-%{py_sitedir}/cryptography/hazmat/bindings/commoncrypto/*.py[co]
%dir %{py_sitedir}/cryptography/hazmat/bindings/openssl
%{py_sitedir}/cryptography/hazmat/bindings/openssl/*.py[co]
-%dir %{py_sitedir}/cryptography/hazmat/primitives/interfaces
-%{py_sitedir}/cryptography/hazmat/primitives/interfaces/*.py[co]
%dir %{py_sitedir}/cryptography/hazmat/primitives
%{py_sitedir}/cryptography/hazmat/primitives/*.py[co]
%dir %{py_sitedir}/cryptography/hazmat/primitives/asymmetric
%{py_sitedir}/cryptography/hazmat/primitives/ciphers/*.py[co]
%dir %{py_sitedir}/cryptography/hazmat/primitives/kdf
%{py_sitedir}/cryptography/hazmat/primitives/kdf/*.py[co]
+%dir %{py_sitedir}/cryptography/hazmat/primitives/serialization
+%{py_sitedir}/cryptography/hazmat/primitives/serialization/*.py[co]
%dir %{py_sitedir}/cryptography/hazmat/primitives/twofactor
%{py_sitedir}/cryptography/hazmat/primitives/twofactor/*.py[co]
%dir %{py_sitedir}/cryptography/x509
%if %{with python3}
%files -n python3-cryptography
%defattr(644,root,root,755)
-%doc AUTHORS.rst README.rst LICENSE.APACHE LICENSE.BSD
+%doc AUTHORS.rst README.rst LICENSE LICENSE.APACHE LICENSE.BSD
%dir %{py3_sitedir}/cryptography
%{py3_sitedir}/cryptography/*.py
%{py3_sitedir}/cryptography/__pycache__
%dir %{py3_sitedir}/cryptography/hazmat/backends
%{py3_sitedir}/cryptography/hazmat/backends/*.py
%{py3_sitedir}/cryptography/hazmat/backends/__pycache__
-%dir %{py3_sitedir}/cryptography/hazmat/backends/commoncrypto
-%{py3_sitedir}/cryptography/hazmat/backends/commoncrypto/*.py
-%{py3_sitedir}/cryptography/hazmat/backends/commoncrypto/__pycache__
%dir %{py3_sitedir}/cryptography/hazmat/backends/openssl
%{py3_sitedir}/cryptography/hazmat/backends/openssl/*.py
%{py3_sitedir}/cryptography/hazmat/backends/openssl/__pycache__
%{py3_sitedir}/cryptography/hazmat/bindings/*.py
%{py3_sitedir}/cryptography/hazmat/bindings/__pycache__
%attr(755,root,root) %{py3_sitedir}/cryptography/hazmat/bindings/_*.so
-%dir %{py3_sitedir}/cryptography/hazmat/bindings/commoncrypto
-%{py3_sitedir}/cryptography/hazmat/bindings/commoncrypto/*.py
-%{py3_sitedir}/cryptography/hazmat/bindings/commoncrypto/__pycache__
%dir %{py3_sitedir}/cryptography/hazmat/bindings/openssl
%{py3_sitedir}/cryptography/hazmat/bindings/openssl/*.py
%{py3_sitedir}/cryptography/hazmat/bindings/openssl/__pycache__
-%dir %{py3_sitedir}/cryptography/hazmat/primitives/interfaces
-%{py3_sitedir}/cryptography/hazmat/primitives/interfaces/*.py
-%{py3_sitedir}/cryptography/hazmat/primitives/interfaces/__pycache__
%dir %{py3_sitedir}/cryptography/hazmat/primitives
%{py3_sitedir}/cryptography/hazmat/primitives/*.py
%{py3_sitedir}/cryptography/hazmat/primitives/__pycache__
%dir %{py3_sitedir}/cryptography/hazmat/primitives/kdf
%{py3_sitedir}/cryptography/hazmat/primitives/kdf/*.py
%{py3_sitedir}/cryptography/hazmat/primitives/kdf/__pycache__
+%dir %{py3_sitedir}/cryptography/hazmat/primitives/serialization
+%{py3_sitedir}/cryptography/hazmat/primitives/serialization/*.py
+%{py3_sitedir}/cryptography/hazmat/primitives/serialization/__pycache__
%dir %{py3_sitedir}/cryptography/hazmat/primitives/twofactor
%{py3_sitedir}/cryptography/hazmat/primitives/twofactor/*.py
%{py3_sitedir}/cryptography/hazmat/primitives/twofactor/__pycache__
%{py3_sitedir}/cryptography/x509/__pycache__
%{py3_sitedir}/cryptography-%{version}-py*.egg-info
%endif
+
+%if %{with doc}
+%files apidocs
+%defattr(644,root,root,755)
+%doc docs/_build/html/{_downloads,_modules,_static,development,hazmat,x509,*.html,*.js}
+%endif