You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
python-fido2/python-fido2.spec

160 lines
4.4 KiB

%if 0%{?fedora}
%bcond_with python2
%else
%bcond_without python2
%endif
# Missing pyfakefs on EPEL7
%bcond_with python2_tests
%global srcname fido2
Name: python-%{srcname}
Version: 0.5.0
Release: 1%{?dist}
Summary: Functionality for FIDO 2.0, including USB device communication
# Main code is BSD
# pyu2f is APLv2
# public_suffix_list.dat is MPLv2
License: BSD and ASL 2.0 and MPLv2.0
URL: https://github.com/Yubico/python-fido2
Source0: https://github.com/Yubico/python-%{srcname}/archive/%{version}/python-%{name}-%{version}.tar.gz
# Deal with old setuptools on EPEL7
Patch0: python-fido2-setup.patch
BuildArch: noarch
%global _description\
Provides library functionality for communicating with a FIDO device over USB\
as well as verifying attestation and assertion signatures.\
\
WARNING: This project is in beta. Expect things to change or break at any time!\
\
This library aims to support the FIDO U2F and FIDO 2.0 protocols for\
communicating with a USB authenticator via the Client-to-Authenticator\
Protocol (CTAP 1 and 2). In addition to this low-level device access, classes\
defined in the fido2.client and fido2.server modules implement higher level\
operations which are useful when interfacing with an Authenticator, or when\
implementing a Relying Party.\
\
For usage, see the examples/ directory.
%description %_description
%if %{with python2}
%package -n python2-%{srcname}
Summary: %summary
BuildRequires: python2-devel
BuildRequires: python2-cryptography
BuildRequires: python2-six
BuildRequires: python2-enum34
# For tests
BuildRequires: python2-mock
%if %{with python2_tests}
BuildRequires: python2-pyfakefs
%endif
Requires: python2-enum34
Requires: python2-cryptography
Requires: python2-six
%{?python_provide:%python_provide python2-%{srcname}}
%description -n python2-%{srcname} %_description
%endif
%package -n python%{python3_pkgversion}-%{srcname}
Summary: %summary
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-cryptography
BuildRequires: python%{python3_pkgversion}-six
# For tests
BuildRequires: python%{python3_pkgversion}-mock
BuildRequires: python%{python3_pkgversion}-pyfakefs
Requires: python%{python3_pkgversion}-cryptography
Requires: python%{python3_pkgversion}-six
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
%description -n python%{python3_pkgversion}-%{srcname} %_description
%if 0%{?python3_other_pkgversion}
%package -n python%{python3_other_pkgversion}-%{srcname}
Summary: %summary
BuildRequires: python%{python3_other_pkgversion}-devel
BuildRequires: python%{python3_other_pkgversion}-cryptography
BuildRequires: python%{python3_other_pkgversion}-six
# For tests
BuildRequires: python%{python3_other_pkgversion}-mock
BuildRequires: python%{python3_other_pkgversion}-pyfakefs
Requires: python%{python3_other_pkgversion}-cryptography
Requires: python%{python3_other_pkgversion}-six
%{?python_provide:%python_provide python%{python3_other_pkgversion}-%{srcname}}
%description -n python%{python3_other_pkgversion}-%{srcname} %_description
%endif
%prep
%autosetup -p1
%build
%if %{with python2}
%py2_build
%endif
%py3_build
%if 0%{?python3_other_pkgversion}
%py3_other_build
%endif
%install
%if %{with python2}
%py2_install
%endif
%py3_install
%if 0%{?python3_other_pkgversion}
%py3_other_install
%endif
%check
%if %{with python2} && %{with python2_tests}
%{__python2} setup.py test
%endif
%{__python3} setup.py test
%if 0%{?python3_other_pkgversion}
%{__python3_other} setup.py test
%endif
%if %{with python2}
%files -n python2-%{srcname}
%license COPYING*
%doc NEWS README.adoc examples
%{python2_sitelib}/%{srcname}-*.egg-info/
%{python2_sitelib}/%{srcname}/
%endif
%files -n python%{python3_pkgversion}-%{srcname}
%license COPYING*
%doc NEWS README.adoc examples
%{python3_sitelib}/%{srcname}-*.egg-info/
%{python3_sitelib}/%{srcname}/
%if 0%{?python3_other_pkgversion}
%files -n python%{python3_pkgversion}-%{srcname}
%license COPYING*
%doc NEWS README.adoc examples
%{python3_other_sitelib}/%{srcname}-*.egg-info/
%{python3_other_sitelib}/%{srcname}/
%endif
%changelog
* Mon Dec 31 2018 Orion Poplawski <orion@nwra.com> - 0.5.0-1
- Update to 0.5.0
* Mon Dec 3 2018 Orion Poplawski <orion@nwra.com> - 0.4.0-2
- Fix License
- Remove tab and fix permissions
* Fri Nov 30 2018 Orion Poplawski <orion@nwra.com> - 0.4.0-1
- Initial Fedora package