python-ecdsa/python-ecdsa.spec

75 lines
2.5 KiB
RPMSpec

#
# spec file for package python-ecdsa
#
# Copyright (c) 2023 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%{?sle15_python_module_pythons}
Name: python-ecdsa
Version: 0.18.0
Release: 0
Summary: ECDSA cryptographic signature library (pure python)
License: MIT
URL: https://github.com/tlsfuzzer/python-ecdsa
Source: https://files.pythonhosted.org/packages/source/e/ecdsa/ecdsa-%{version}.tar.gz
BuildRequires: %{python_module hypothesis}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module six}
BuildRequires: fdupes
BuildRequires: openssl
BuildRequires: python-rpm-macros
Requires: python-six >= 1.9.0
Suggests: python-gmpy
Suggests: python-gmpy2
BuildArch: noarch
%python_subpackages
%description
This is an easy-to-use implementation of ECDSA cryptography (Elliptic Curve
Digital Signature Algorithm), implemented purely in Python, released under
the MIT license. With this library, you can quickly create keypairs (signing
key and verifying key), sign messages, and verify the signatures. The keys
and signatures are very short, making them easy to handle and incorporate
into other protocols.
%prep
%setup -q -n ecdsa-%{version}
%build
%python_build
#remove shebang from all non executable files
find ./ -type f -name "*.py" -perm 644 -exec sed -i -e '1{\@^#! %{_bindir}/env python@d}' {} \;
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# unfortunate hypothesis fuzzing (gh#warner/python-ecdsa#307):
donttest="(test_ecdsa and test_sig_verify)"
donttest="$donttest or (test_jacobi and test_add and scale_points)"
donttest="$donttest or (test_ellipticcurve and test_p192_mult_tests)"
%pytest -k "not ($donttest)"
%files %{python_files}
%license LICENSE
%doc NEWS README.md
%{python_sitelib}/ecdsa
%{python_sitelib}/ecdsa-%{version}*-info
%changelog