#
# 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_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: 0.3
-Release: 1
-License: Apache v2.0
+Version: 2.3.1
+Release: 2
+License: Apache v2.0 or BSD
Group: Libraries/Python
-Source0: https://pypi.python.org/packages/source/c/cryptography/cryptography-%{version}.tar.gz
-# Source0-md5: 1a9f2520acfef9489ac42fdc9a7be441
+#Source0Download: https://pypi.python.org/simple/cryptography/
+Source0: https://files.pythonhosted.org/packages/source/c/cryptography/cryptography-%{version}.tar.gz
+# Source0-md5: 2b5e8269c43c9b9ab54fc8c75ba3c7ac
URL: https://cryptography.io/
-BuildRequires: openssl-devel
+BuildRequires: openssl-devel >= 1.0.1
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.714
%if %{with python2}
+BuildRequires: python-cffi >= 1.4.1
BuildRequires: python-devel >= 1:2.6
-BuildRequires: python-cffi >= 0.8
+BuildRequires: python-enum34
+BuildRequires: python-pyasn1 >= 0.1.8
+BuildRequires: python-setuptools >= 11.3
BuildRequires: python-six >= 1.4.1
+%if %{with tests}
+BuildRequires: python-cryptography_vectors
+%if "%{py_ver}" >= "2.7"
+BuildRequires: python-hypothesis >= 1.11.4
+%endif
+BuildRequires: python-idna >= 2.0
+BuildRequires: python-ipaddress
+BuildRequires: python-iso8601
+BuildRequires: python-pretend
+BuildRequires: python-pyasn1_modules
+BuildRequires: python-pytest
+%endif
%endif
%if %{with python3}
-BuildRequires: python3-devel >= 3.2
-BuildRequires: python3-cffi >= 0.8
+BuildRequires: python3-cffi >= 1.4.1
+BuildRequires: python3-devel >= 1:3.3
+BuildRequires: python3-pyasn1 >= 0.1.8
+BuildRequires: python3-setuptools >= 11.3
BuildRequires: python3-six >= 1.4.1
+%if %{with tests}
+BuildRequires: python3-cryptography_vectors
+BuildRequires: python3-hypothesis >= 1.11.4
+BuildRequires: python3-idna >= 2.0
+BuildRequires: python3-iso8601
+BuildRequires: python3-pretend
+BuildRequires: python3-pyasn1_modules
+BuildRequires: python3-pytest
%endif
-BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.612
-Requires: python-cffi >= 0.8
+%endif
+Requires: openssl >= 1.0.1
+Requires: python-cffi >= 1.4.1
Requires: python-six >= 1.4.1
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+# modern Python provides those
+%define _noautoreq python3egg.ipaddress python3egg.enum34
+
%description
cryptography is a package designed to expose cryptographic recipes and
primitives to Python developers. Our goal is for it to be your
cryptography zawiera zarówno funkcje wysokopoziomowe, jak i
niskopoziomowe interfejsy do popularnych algorytmów kryptograficznych,
-takich jak szyfry symetryczne, skróty wiadomości czy funkcje
+takich jak szyfry symetryczne, skróty wiadomości czy funkcje
wyprowadzające klucze.
Ten pakiet zawiera moduły Pythona 2.
Summary: Crypthography library for Python 3
Summary(pl.UTF-8): Biblioteka Cryptography dla Pythona 3
Group: Libraries/Python
-Requires: python3-cffi >= 0.8
+Requires: openssl >= 1.0.1
+Requires: python3-cffi >= 1.4.1
+%if "%{py3_ver}" < "3.4"
+Requires: python3-enum34
+%endif
Requires: python3-six >= 1.4.1
%description -n python3-cryptography
cryptography zawiera zarówno funkcje wysokopoziomowe, jak i
niskopoziomowe interfejsy do popularnych algorytmów kryptograficznych,
-takich jak szyfry symetryczne, skróty wiadomości czy funkcje
+takich jak szyfry symetryczne, skróty wiadomości czy funkcje
wyprowadzające klucze.
Ten pakiet zawiera moduły Pythona 3.
export CFLAGS="%{rpmcflags}"
%if %{with python2}
-%{__python} setup.py build \
- --build-base build-2
+%py_build %{?with_tests:test}
%endif
%if %{with python2}
-%{__python3} setup.py build \
- --build-base build-3
+%py3_build %{?with_tests:test}
%endif
%install
rm -rf $RPM_BUILD_ROOT
%if %{with python2}
-%{__python} setup.py \
- build --build-base build-2 \
- install --skip-build \
- --optimize=2 \
- --root=$RPM_BUILD_ROOT
+%py_install
%py_postclean
%endif
%if %{with python3}
-%{__python3} setup.py \
- build --build-base build-3 \
- install --skip-build \
- --optimize=2 \
- --root=$RPM_BUILD_ROOT
+%py3_install
%endif
%clean
%if %{with python2}
%files
%defattr(644,root,root,755)
-%doc AUTHORS.rst README.rst
+%doc AUTHORS.rst README.rst LICENSE LICENSE.APACHE LICENSE.BSD
%dir %{py_sitedir}/cryptography
-%attr(755,root,root) %{py_sitedir}/cryptography/_*_cffi_*.so
%{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]
-%dir %{py_sitedir}/cryptography/hazmat/bindings/commoncrypto
-%{py_sitedir}/cryptography/hazmat/bindings/commoncrypto/*.py[co]
+%attr(755,root,root) %{py_sitedir}/cryptography/hazmat/bindings/_*.so
%dir %{py_sitedir}/cryptography/hazmat/bindings/openssl
%{py_sitedir}/cryptography/hazmat/bindings/openssl/*.py[co]
%dir %{py_sitedir}/cryptography/hazmat/primitives
%{py_sitedir}/cryptography/hazmat/primitives/kdf/*.py[co]
%dir %{py_sitedir}/cryptography/hazmat/primitives/twofactor
%{py_sitedir}/cryptography/hazmat/primitives/twofactor/*.py[co]
+%dir %{py_sitedir}/cryptography/x509
+%{py_sitedir}/cryptography/x509/*.py[co]
%{py_sitedir}/cryptography-%{version}-py*.egg-info
%endif
%if %{with python3}
%files -n python3-cryptography
%defattr(644,root,root,755)
-%doc AUTHORS.rst README.rst
+%doc AUTHORS.rst README.rst LICENSE LICENSE.APACHE LICENSE.BSD
%dir %{py3_sitedir}/cryptography
-%attr(755,root,root) %{py3_sitedir}/cryptography/_*_cffi_*.so
%{py3_sitedir}/cryptography/*.py
%{py3_sitedir}/cryptography/__pycache__
%dir %{py3_sitedir}/cryptography/hazmat
%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__
%dir %{py3_sitedir}/cryptography/hazmat/bindings
%{py3_sitedir}/cryptography/hazmat/bindings/*.py
%{py3_sitedir}/cryptography/hazmat/bindings/__pycache__
-%dir %{py3_sitedir}/cryptography/hazmat/bindings/commoncrypto
-%{py3_sitedir}/cryptography/hazmat/bindings/commoncrypto/*.py
-%{py3_sitedir}/cryptography/hazmat/bindings/commoncrypto/__pycache__
+%attr(755,root,root) %{py3_sitedir}/cryptography/hazmat/bindings/_*.so
%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/twofactor
%{py3_sitedir}/cryptography/hazmat/primitives/twofactor/*.py
%{py3_sitedir}/cryptography/hazmat/primitives/twofactor/__pycache__
+%dir %{py3_sitedir}/cryptography/x509
+%{py3_sitedir}/cryptography/x509/*.py
+%{py3_sitedir}/cryptography/x509/__pycache__
%{py3_sitedir}/cryptography-%{version}-py*.egg-info
%endif