python-cryptography/python-cryptography.spec

124 lines
4.3 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-cryptography
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-cryptography
Version: 2.0
Release: 0
Summary: Python library which exposes cryptographic recipes and primitives
License: Apache-2.0 or BSD-3-Clause
Group: Development/Languages/Python
Url: https://cryptography.io/en/latest/
Source0: https://files.pythonhosted.org/packages/source/c/cryptography/cryptography-%{version}.tar.gz
Source1: https://files.pythonhosted.org/packages/source/c/cryptography/cryptography-%{version}.tar.gz.asc
Source2: %{name}.keyring
Source3: https://files.pythonhosted.org/packages/source/c/cryptography_vectors/cryptography_vectors-%{version}.tar.gz
Source4: https://files.pythonhosted.org/packages/source/c/cryptography_vectors/cryptography_vectors-%{version}.tar.gz.asc
# PATCH-FIX-SLE disable-uneven-sizes-tests.patch bnc#944204
Patch1: disable-uneven-sizes-tests.patch
BuildRequires: %{python_module asn1crypto >= 0.21.0}
BuildRequires: %{python_module cffi >= 1.4.1}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module idna >= 2.1}
BuildRequires: %{python_module pyasn1-modules}
BuildRequires: %{python_module pytz}
BuildRequires: %{python_module setuptools >= 11.3}
BuildRequires: %{python_module six >= 1.4.1}
BuildRequires: python-rpm-macros
BuildRequires: python2-enum34
BuildRequires: python2-ipaddress
# SECTION Test requirements
BuildRequires: %{python_module hypothesis}
BuildRequires: %{python_module iso8601}
BuildRequires: %{python_module packaging}
BuildRequires: %{python_module pretend}
BuildRequires: %{python_module pyasn1 >= 0.1.8}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module virtualenv}
# /SECTION
BuildRequires: fdupes
BuildRequires: libopenssl-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libffi)
Requires: python-asn1crypto >= 0.21.0
Requires: python-idna >= 2.1
Requires: python-packaging
Accepting request 325375 from home:tbechtold:branches:devel:languages:python - update to 1.0: * Switched to the new `cffi`_ ``set_source`` out-of-line API mode for compilation. This results in significantly faster imports and lowered memory consumption. Due to this change we no longer support PyPy releases older than 2.6 nor do we support any released version of PyPy3 (until a version supporting cffi 1.0 comes out). * Fix parsing of OpenSSH public keys that have spaces in comments. * Support serialization of certificate signing requests using the ``public_bytes`` method of :class:`~cryptography.x509.CertificateSigningRequest`. * Support serialization of certificates using the ``public_bytes`` method of :class:`~cryptography.x509.Certificate`. * Add ``get_provisioning_uri`` method to :class:`~cryptography.hazmat.primitives.twofactor.hotp.HOTP` and :class:`~cryptography.hazmat.primitives.twofactor.totp.TOTP` for generating provisioning URIs. * Add :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHash` and :class:`~cryptography.hazmat.primitives.kdf.concatkdf.ConcatKDFHMAC`. * Raise a ``TypeError`` when passing objects that are not text as the value to :class:`~cryptography.x509.NameAttribute`. * Add support for :class:`~cryptography.x509.OtherName` as a general name type. * Added new X.509 extension support in :class:`~cryptography.x509.Certificate` The following new extensions are now supported: * :class:`~cryptography.x509.OCSPNoCheck` * :class:`~cryptography.x509.InhibitAnyPolicy` * :class:`~cryptography.x509.IssuerAlternativeName` * :class:`~cryptography.x509.NameConstraints` * Extension support was added to :class:`~cryptography.x509.CertificateSigningRequest`. OBS-URL: https://build.opensuse.org/request/show/325375 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cryptography?expand=0&rev=15
2015-08-24 10:43:13 +02:00
Requires: python-pyasn1 >= 0.1.8
Requires: python-setuptools >= 11.3
Requires: python-six >= 1.4.1
%requires_eq python-cffi
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%ifpython2
Requires: python-enum34
Requires: python-ipaddress
%endif
%python_subpackages
%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.
cryptography includes both high level recipes, and low
level interfaces to common cryptographic algorithms such as
symmetric ciphers, message digests and key derivation
functions.
%prep
%setup -q -n cryptography-%{version}
# prepare vectors module
tar xvzf %{SOURCE3}
%patch1 -p1
%build
export CFLAGS="%{optflags} -fno-strict-aliasing"
%python_build
%install
%python_install
%fdupes %{buildroot}%{_prefix}
%check
%if 0%{?suse_version} >= 1210
%{python_expand # this is going to be fun
# create virtualenv
$python %{_bindir}/virtualenv --system-site-packages TESTROOT-%{$python_bin_suffix}
. TESTROOT-%{$python_bin_suffix}/bin/activate
# install package in virtualenv
$python setup.py install
# install cryptography vectors
(cd cryptography_vectors-%{version} && $python setup.py install)
# run tests with virtualenv'd python
# (specify "tests" directory, otherwise py.test discovers tests in virtualenv'd setuptools)
$python -m pytest tests
# finish
deactivate
}
%endif
%files %{python_files}
%defattr(-,root,root,-)
%doc LICENSE LICENSE.APACHE LICENSE.BSD
%doc AUTHORS.rst CONTRIBUTING.rst CHANGELOG.rst README.rst
%{python_sitearch}/*
%changelog