%global pypi_name josepy %if 0%{?rhel} && 0%{?rhel} <= 7 %bcond_with python3 %bcond_with docs %else %bcond_without python3 %bcond_without docs %endif %if 0%{?fedora} && 0%{?fedora} >= 30 %bcond_with python2 %else %bcond_without python2 %endif Name: python-%{pypi_name} Version: 1.2.0 Release: 1%{?dist} Summary: JOSE protocol implementation in Python License: ASL 2.0 URL: https://pypi.python.org/pypi/josepy Source0: https://files.pythonhosted.org/packages/source/j/%{pypi_name}/%{pypi_name}-%{version}.tar.gz BuildArch: noarch # Remove various unpackaged testing dependencies that are used only for linting Patch0: 0000-ignore-missing-linters.patch %if 0%{?rhel} && 0%{?rhel} <= 7 Patch1: 0001-allow-old-versions.patch %endif %if %{with python2} BuildRequires: python2-devel BuildRequires: python2-mock BuildRequires: python2-pytest BuildRequires: python2-setuptools %endif %if %{with python3} BuildRequires: python3-devel BuildRequires: python3-mock BuildRequires: python3-mypy BuildRequires: python3-pytest BuildRequires: python3-setuptools %endif %if %{with docs} BuildRequires: python3-sphinx BuildRequires: python3-sphinx_rtd_theme %endif %description JOSE protocol implementation in Python using cryptography. %if %{with python2} %package -n python2-%{pypi_name} Summary: %{summary} %{?python_provide:%python_provide python2-%{pypi_name}} Requires: python2-cryptography Requires: python2-setuptools Requires: python2-six BuildRequires: python2-cryptography BuildRequires: python2-setuptools BuildRequires: python2-six %if 0%{?rhel} && 0%{?rhel} <= 7 # EL7 has an unversioned name for this package Requires: pyOpenSSL BuildRequires: pyOpenSSL %else Requires: python2-pyOpenSSL BuildRequires: python2-pyOpenSSL %endif %if %{with docs} && !(0%{?rhel} && 0%{?rhel} <= 7) Recommends: python-%{pypi_name}-doc %endif %description -n python2-%{pypi_name} JOSE protocol implementation in Python using cryptography. This is the Python 2 version of the package. %endif %if %{with python3} %package -n python3-%{pypi_name} Summary: %{summary} %{?python_provide:%python_provide python3-%{pypi_name}} Requires: python3-cryptography Requires: python3-pyOpenSSL Requires: python3-setuptools Requires: python3-six BuildRequires: python3-cryptography BuildRequires: python3-pyOpenSSL BuildRequires: python3-setuptools BuildRequires: python3-six %if %{with docs} && !(0%{?rhel} && 0%{?rhel} <= 7) Recommends: python-%{pypi_name}-doc %endif %description -n python3-%{pypi_name} JOSE protocol implementation in Python using cryptography. This is the Python 3 version of the package. %endif %if %{with docs} %package -n python-%{pypi_name}-doc Summary: Documentation for python-%{pypi_name} Conflicts: python2-%{pypi_name} < 1.1.0-9 Conflicts: python3-%{pypi_name} < 1.1.0-9 %description -n python-%{pypi_name}-doc Documentation for python-%{pypi_name} %endif %prep %autosetup -n %{pypi_name}-%{version} # Remove bundled egg-info rm -rf %{pypi_name}.egg-info %build %if %{with python2} %py2_build %endif %if %{with python3} %py3_build %endif # Build documentation %if %{with docs} # EL7 has problems building the documentation due to fontawesome-fonts-web only # being available on x86_64 %{__python3} setup.py install --user make -C docs man PATH=${HOME}/.local/bin:$PATH SPHINXBUILD=sphinx-build-3 %endif %install %if %{with python2} %py2_install %endif %if %{with python3} %py3_install %endif %if %{with docs} install -Dpm0644 -t %{buildroot}%{_mandir}/man1 docs/_build/man/*.1* %endif %check %if %{with python2} %{__python2} setup.py test %endif %if %{with python3} %{__python3} setup.py test %endif %if %{with python2} %files -n python2-%{pypi_name} %license LICENSE.txt %doc README.rst %{python2_sitelib}/josepy %{python2_sitelib}/josepy-%{version}-py?.?.egg-info %if ! %{with python3} %{_bindir}/jws %else %exclude %{_mandir}/man1/jws.1* %endif %endif %if %{with python3} %files -n python3-%{pypi_name} %license LICENSE.txt %doc README.rst %{python3_sitelib}/josepy %{python3_sitelib}/josepy-%{version}-py?.?.egg-info %{_bindir}/jws %endif %if %{with docs} %files -n python-%{pypi_name}-doc %license LICENSE.txt %doc README.rst %{_mandir}/man1/* %endif %changelog * Mon Jul 01 2019 Eli Young - 1.2.0-1 - Update to 1.2.0 (#1725899) * Thu Jun 27 2019 Eli Young - 1.1.0-9 - Split docs to separate package (#1700273) * Sat Feb 02 2019 Fedora Release Engineering - 1.1.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Thu Dec 13 2018 Eli Young - 1.1.0-7 - Remove Python 2 package in Fedora 30+ (#1658534) * Sat Jul 14 2018 Fedora Release Engineering - 1.1.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Mon Jul 02 2018 Eli Young - 1.1.0-5 - Enable tests * Mon Jul 02 2018 Miro Hrončok - 1.1.0-4 - Rebuilt for Python 3.7 * Fri Jun 29 2018 Eli Young - 1.1.0-3 - Use available python2 metapackages for EPEL7 - Specify binary name for sphinx-build - Fix permissions on man files * Tue Jun 19 2018 Miro Hrončok - 1.1.0-2 - Rebuilt for Python 3.7 * Tue Apr 17 2018 Eli Young - 1.1.0-1 - Update to 1.1.0 (#1567455) * Fri Feb 09 2018 Fedora Release Engineering - 1.0.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Jan 18 2018 Eli Young - 1.0.1-1 - Initial package.