%define scl rh-python36
%{?scl:%scl_package %{name}}
%{!?scl:%global pkg_name %{name}}
%define name rsa
%define version 4.0
%define unmangled_version 4.0
%define unmangled_version 4.0
%define release 1
Summary: Pure-Python RSA implementation
%{?scl:Requires: %{scl}-runtime}
%{?scl:BuildRequires: %{scl}-runtime}
Name: %{?scl_prefix}rsa
Version: %{version}
Release: %{release}
Source0: rsa-%{unmangled_version}.tar.gz
License: ASL 2
Group: Development/Libraries
BuildRoot: %{_tmppath}/rsa-%{version}-%{release}-buildroot
Prefix: %{_prefix}
BuildArch: noarch
Vendor: Sybren A. Stuvel <sybren@stuvel.eu>
Packager: Martin Juhl <m@rtinjuhl.dk>
Url: https://stuvel.eu/rsa
%description
Pure Python RSA implementation
==============================
[](https://pypi.org/project/rsa/)
[](https://travis-ci.org/sybrenstuvel/python-rsa)
[](https://coveralls.io/github/sybrenstuvel/python-rsa?branch=master)
[](https://codeclimate.com/github/sybrenstuvel/python-rsa)
[Python-RSA](https://stuvel.eu/rsa) is a pure-Python RSA implementation. It supports
encryption and decryption, signing and verifying signatures, and key
generation according to PKCS#1 version 1.5. It can be used as a Python
library as well as on the commandline. The code was mostly written by
Sybren A. Stüvel.
Documentation can be found at the [Python-RSA homepage](https://stuvel.eu/rsa).
Download and install using:
pip install rsa
or download it from the [Python Package Index](https://pypi.org/project/rsa/).
The source code is maintained at [GitHub](https://github.com/sybrenstuvel/python-rsa/) and is
licensed under the [Apache License, version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
Major changes in 4.0
--------------------
Version 3.4 was the last version in the 3.x range. Version 4.0 drops the following modules,
as they are insecure:
- `rsa._version133`
- `rsa._version200`
- `rsa.bigfile`
- `rsa.varblock`
Those modules were marked as deprecated in version 3.4.
Furthermore, in 4.0 the I/O functions is streamlined to always work with bytes on all
supported versions of Python.
Version 4.0 drops support for Python 2.6 and 3.3.
%prep
%{?scl:scl enable %{scl} - << \EOF}
set -ex
%setup -n rsa-%{unmangled_version} -n rsa-%{unmangled_version}
%{?scl:EOF}
%build
%{?scl:scl enable %{scl} - << \EOF}
set -ex
LANG=en_US.UTF-8 python3 setup.py build
%{?scl:EOF}
%install
%{?scl:scl enable %{scl} - << \EOF}
set -ex
LANG=en_US.UTF-8 python3 setup.py install --single-version-externally-managed -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
%{?scl:EOF}
%clean
%{?scl:scl enable %{scl} - << \EOF}
set -ex
rm -rf $RPM_BUILD_ROOT
%{?scl:EOF}
%files -f INSTALLED_FILES
%defattr(-,root,root)