#
# 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.8.2
-Release: 1
+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: 7d33499e851300c194cbb0396de72462
+#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 >= 0.9.8
-BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.612
+BuildRequires: openssl-devel >= 1.0.1
+BuildRequires: rpm-pythonprov >= 5.4.15-48
+BuildRequires: rpmbuild(macros) >= 1.714
%if %{with python2}
-BuildRequires: python-cffi >= 0.8
+BuildRequires: python-cffi >= 1.4.1
BuildRequires: python-devel >= 1:2.6
BuildRequires: python-enum34
-BuildRequires: python-pyasn1
-BuildRequires: python-setuptools
+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-cffi >= 0.8
-BuildRequires: python3-devel >= 1:3.2
-BuildRequires: python3-pyasn1
-BuildRequires: python3-setuptools
+BuildRequires: python3-cffi >= 1.4.1
+BuildRequires: python3-devel >= 1:3.4
+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
-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)
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
Requires: python3-six >= 1.4.1
%description -n python3-cryptography
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
-%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/cryptography/hazmat/bindings/__pycache__/*.c
-%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/cryptography/hazmat/primitives/src/*.[ch]
%endif
%if %{with python3}
-%{__python3} setup.py \
- build --build-base build-3 \
- install --skip-build \
- --optimize=2 \
- --root=$RPM_BUILD_ROOT
-
-%{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/cryptography/hazmat/primitives/src/*.[ch]
+%py3_install
%endif
%clean
%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
-%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/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/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 LICENSE.APACHE LICENSE.BSD
+%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/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/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