]> git.pld-linux.org Git - packages/python3-cryptography.git/blobdiff - python-cryptography.spec
- rebuild with python 3.8
[packages/python3-cryptography.git] / python-cryptography.spec
index 3882113384ba799daae1ab451f7cc46d7f46f678..1fab86958cda34ca247fe599bc11ce16de784a48 100644 (file)
@@ -1,45 +1,75 @@
+# TODO: when updating try to reenable all tests (two were failing in 2.7 with openssl 1.1.1d)
 #
 # 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_without tests   # unit test
 
 Summary:       Crypthography library for Python 2
 Summary(pl.UTF-8):     Biblioteka Cryptography dla Pythona 2
 Name:          python-cryptography
-Version:       0.8.2
-Release:       3
+Version:       2.7
+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.org/simple/cryptography/
+Source0:       https://files.pythonhosted.org/packages/source/c/cryptography/cryptography-%{version}.tar.gz
+# Source0-md5: 7dfe1035cae43569e571318f000462a4
+#Source1Download: https://pypi.org/simple/cryptography_vectors/
+Source1:       https://files.pythonhosted.org/packages/source/c/cryptography-vectors/cryptography_vectors-%{version}.tar.gz
+# Source1-md5: 1a518a28ed9c924ca6c570aa8ea0c334
 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-devel >= 1:2.6
+BuildRequires: python-cffi >= 1.8
+BuildRequires: python-devel >= 1:2.7
 BuildRequires: python-enum34
-BuildRequires: python-pyasn1
-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
+%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 >= 0.8
-BuildRequires: python3-devel >= 1:3.2
-BuildRequires: python3-pyasn1
-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-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 >= 0.8
-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
 cryptography is a package designed to expose cryptographic recipes and
 primitives to Python developers. Our goal is for it to be your
-"cryptographic standard library". It supports Python 2.6-2.7, Python
-3.2+, and PyPy.
+"cryptographic standard library". It supports Python 2.7, Python 3.4+,
+and PyPy.
 
 cryptography includes both high level recipes, and low level
 interfaces to common cryptographic algorithms such as symmetric
@@ -51,7 +81,7 @@ This package contains Python 2 modules.
 cryptography to pakiet zaprojektowany w celu udostępnienia funkcji i
 obiektów kryptograficznych programistom Pythona. Celem jest
 dostarczenie "standardowej biblioteki kryptograficznej". Obsługuje
-Pythona 2.6-2.7, Pythona 3.2+ oraz PyPy.
+Pythona 2.7, Pythona 3.4+ oraz PyPy.
 
 cryptography zawiera zarówno funkcje wysokopoziomowe, jak i
 niskopoziomowe interfejsy do popularnych algorytmów kryptograficznych,
@@ -64,14 +94,13 @@ 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:      python3-six >= 1.4.1
+Requires:      openssl >= 1.0.1
 
 %description -n python3-cryptography
 cryptography is a package designed to expose cryptographic recipes and
 primitives to Python developers. Our goal is for it to be your
-"cryptographic standard library". It supports Python 2.6-2.7, Python
-3.2+, and PyPy.
+"cryptographic standard library". It supports Python 2.7, Python 3.4+,
+and PyPy.
 
 cryptography includes both high level recipes, and low level
 interfaces to common cryptographic algorithms such as symmetric
@@ -83,7 +112,7 @@ This package contains Python 3 modules.
 cryptography to pakiet zaprojektowany w celu udostępnienia funkcji i
 obiektów kryptograficznych programistom Pythona. Celem jest
 dostarczenie "standardowej biblioteki kryptograficznej". Obsługuje
-Pythona 2.6-2.7, Pythona 3.2+ oraz PyPy.
+Pythona 2.7, Pythona 3.4+ oraz PyPy.
 
 cryptography zawiera zarówno funkcje wysokopoziomowe, jak i
 niskopoziomowe interfejsy do popularnych algorytmów kryptograficznych,
@@ -92,45 +121,64 @@ wyprowadzające klucze.
 
 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
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
+
+%description apidocs
+API documentation for cryptography module.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API modułu cryptography.
+
 %prep
-%setup -q -n cryptography-%{version}
+%setup -q -n cryptography-%{version} %{?with_tests:-a1}
+
+%if %{with tests}
+%{__mv} cryptography_vectors-%{version}/cryptography_vectors .
+%endif
 
 %build
 export CFLAGS="%{rpmcflags}"
 
 %if %{with python2}
-%{__python} setup.py build \
-       --build-base build-2
+%py_build
+
+%if %{with tests}
+PYTHONPATH=$(pwd) \
+%{__python} -m pytest tests  -k 'not test_dh_parameters_supported and not test_load_ecdsa_no_named_curve'
+%endif
 %endif
 
 %if %{with python2}
-%{__python3} setup.py build \
-       --build-base build-3
+%py3_build
+
+%if %{with tests}
+PYTHONPATH=$(pwd) \
+%{__python3} -m pytest tests  -k 'not test_dh_parameters_supported and not test_load_ecdsa_no_named_curve'
+%endif
+%endif
+
+%if %{with doc}
+%{__make} -C docs html \
+       SPHINXBUILD=sphinx-build-3
 %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
@@ -139,26 +187,20 @@ rm -rf $RPM_BUILD_ROOT
 %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
@@ -167,17 +209,20 @@ rm -rf $RPM_BUILD_ROOT
 %{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
+%{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
@@ -186,24 +231,16 @@ rm -rf $RPM_BUILD_ROOT
 %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__
@@ -216,8 +253,20 @@ rm -rf $RPM_BUILD_ROOT
 %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__
+%dir %{py3_sitedir}/cryptography/x509
+%{py3_sitedir}/cryptography/x509/*.py
+%{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
This page took 1.523748 seconds and 4 git commands to generate.