Blob Blame History Raw
# sitelib for noarch packages, sitearch for others (remove the unneeded one)
%{!?__python2: %global __python2 %__python}
%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}

%if 0%{?fedora}
%bcond_without python3
%else
%bcond_with python3
%endif

%global pkgname cookiecutter

Name:           python-cookiecutter
Version:        1.6.0
Release:        3%{?dist}
Summary:        CLI utility to create projects from templates
License:        BSD
URL:            https://github.com/audreyr/cookiecutter
Source0:        https://github.com/audreyr/%{pkgname}/archive/%{version}.tar.gz
BuildArch:      noarch

BuildRequires:  python2-devel

# doc deps
BuildRequires:  python2-sphinx
BuildRequires:  python2-click
BuildRequires:  python2-whichcraft
BuildRequires:  python2-binaryornot
BuildRequires:  python2-poyo
BuildRequires:  python2-jinja2-time

# testing deps
BuildRequires:  python2-pytest
BuildRequires:  python2-pytest-cov
BuildRequires:  python2-pytest-mock
BuildRequires:  python2-pytest-catchlog
BuildRequires:  python2-freezegun
BuildRequires:  python2-jinja2
BuildRequires:  python2-future
BuildRequires:  python2-arrow

%if %{with python3}
BuildRequires:  python3-devel
BuildRequires:  python3-sphinx
BuildRequires:  python3-click
BuildRequires:  python3-whichcraft
BuildRequires:  python3-binaryornot
BuildRequires:  python3-poyo
BuildRequires:  python3-jinja2-time
BuildRequires:  python3-future
BuildRequires:  python3-arrow

BuildRequires:  python3-pytest
BuildRequires:  python3-pytest-cov
BuildRequires:  python3-pytest-mock
BuildRequires:  python3-pytest-catchlog
BuildRequires:  python3-freezegun
BuildRequires:  python3-jinja2
%endif # with python3

%description
A command-line utility that creates projects from cookiecutters (project
templates), e.g. creating a Python package project from a Python package
project template.

%package     -n python2-%{pkgname}
Summary: %{summary}
Recommends: python-%{pkgname}-doc
Requires:  python2-binaryornot
Requires:  python2-click
Requires:  python2-jinja2
Requires:  python2-jinja2-time
Requires:  python2-poyo
Requires:  python2-requests
Requires:  python2-whichcraft
%{?python_provide:%python_provide python2-%{pkgname}}
%description -n python2-%{pkgname}
A command-line utility that creates projects from cookiecutters (project
templates), e.g. creating a Python package project from a Python package
project template.

%package     -n python-%{pkgname}-doc
Summary: Documentation for %{pkgname}
%description -n python-%{pkgname}-doc
Documentation for %{pkgname}

%if %{with python3}
%package     -n python3-%{pkgname}
Summary: %{summary}
Recommends: python-%{pkgname}-doc
Requires:  python3-binaryornot
Requires:  python3-click
Requires:  python3-future
Requires:  python3-jinja2
Requires:  python3-jinja2-time
Requires:  python3-poyo
Requires:  python3-requests
Requires:  python3-whichcraft
%{?python_provide:%python_provide python3-%{pkgname}}
%description -n python3-%{pkgname}
A command-line utility that creates projects from cookiecutters (project
templates), e.g. creating a Python package project from a Python package
project template.
%endif # with python3


%prep
%autosetup -n %{pkgname}-%{version}

# fix invocation of /usr/bin/python
%if %{with python3}
sed -i 's#python -c#%{__python3} -c#' Makefile
%else
sed -i 's#python -c#%{__python2} -c#' Makefile
%endif # with python3

%build
%{py2_build}

%if %{with python3}
%{py3_build}
%endif # with python3

# make sphinx docs
make docs

%install
%{py2_install}

%if %{with python3}
%{py3_install}
%endif # with python3

%check
%{__python2} setup.py test

%if %{with python3}
%{__python3} setup.py test
%endif # with python3

%files -n python2-%{pkgname}
%license LICENSE
# For noarch packages: sitelib
%{python2_sitelib}/*

%if %{with python3}
%files -n python3-%{pkgname}
%license LICENSE
# For noarch packages: sitelib
%{python3_sitelib}/*
%endif # with python3
%{_bindir}/%{pkgname}

%files -n python-%{pkgname}-doc
%license LICENSE
%doc docs
%doc *.rst

%changelog
* Tue May 29 2018 Brett Lentz <brett.lentz@gmail.com> - 1.6.0-3
- fix deps

* Tue Apr  3 2018 Brett Lentz <brett.lentz@gmail.com> - 1.6.0-2
- fix deps

* Thu Mar  1 2018 Brett Lentz <brett.lentz@gmail.com> - 1.6.0-1
- initial packaging