Blob Blame History Raw
%global module cornice

%if 0%{?fedora}
%global with_python3 1
%else
# EL doesn't have Python 3
%global with_python3 0
%endif

%if 0%{?rhel} || 0%{?rhel} < 7
# EL 6 doesn't have this macro
%global __python2       %{__python}
%global python2_sitelib %{python_sitelib}
%endif

Name:             python-cornice
Summary:          Define Web Services in Pyramid
Version:          1.0.0
Release:          2%{?dist}

License:          MPLv2.0
URL:              https://pypi.python.org/pypi/cornice
Source0:          https://pypi.python.org/packages/source/c/%{module}/%{module}-%{version}.tar.gz

# This file is missing from the tarball
#     https://github.com/mozilla-services/cornice/pull/240
Source1:          spore_validation.rx

BuildArch:        noarch

BuildRequires:    python-colander
BuildRequires:    python-coverage
BuildRequires:    python2-devel
BuildRequires:    python-docutils
BuildRequires:    python-mock
BuildRequires:    python-pyramid
BuildRequires:    python-rxjson
BuildRequires:    python-setuptools
BuildRequires:    python-simplejson
BuildRequires:    python-venusian
BuildRequires:    python-webtest

Requires:         python-colander
Requires:         python-docutils
Requires:         python-pyramid
Requires:         python-simplejson
Requires:         python-venusian

%description
Helpers to build & document Web Services with Pyramid.


%package sphinx
Summary:          Generate documentation for Web Services

BuildRequires:    python-sphinx

Requires:         %{name} = %{version}-%{release}
Requires:         python-sphinx

%description sphinx
Generate documentation for Web Services.


%if %{with_python3}
%package -n python3-cornice
Summary:          Define Web Services in Pyramid

BuildRequires:    python3-colander
BuildRequires:    python3-coverage
BuildRequires:    python3-devel
BuildRequires:    python3-docutils
BuildRequires:    python3-mock
BuildRequires:    python3-pyramid
BuildRequires:    python3-rxjson
BuildRequires:    python3-setuptools
BuildRequires:    python3-simplejson
BuildRequires:    python3-venusian
BuildRequires:    python3-webtest

Requires:         python3-colander
Requires:         python3-docutils
Requires:         python3-pyramid
Requires:         python3-simplejson
Requires:         python3-venusian

%description -n python3-cornice
Helpers to build & document Web Services with Pyramid.


%package -n python3-cornice-sphinx
Summary:          Generate documentation for Web Services

BuildRequires:    python3-sphinx

Requires:         python3-cornice = %{version}-%{release}
Requires:         python3-sphinx

%description -n python3-cornice-sphinx
Generate documentation for Web Services.
%endif


%prep
%setup -q -n %{module}-%{version}

# This file is missing from the tarball
#     https://github.com/mozilla-services/cornice/pull/240
cp -p %{SOURCE1} ./cornice/tests/ext/

%if %{with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|'
%endif


%build
CFLAGS="$RPM_OPT_FLAGS" %{__python2} setup.py build

%if %{with_python3}
pushd %{py3dir}
CFLAGS="$RPM_OPT_FLAGS" %{__python3} setup.py build
popd
%endif


%install
%if %{with_python3}
pushd %{py3dir}
%{__python3} setup.py install --skip-build --root %{buildroot}
popd
%endif

%{__python2} setup.py install --skip-build --root %{buildroot}


%check
%{__python2} setup.py test

%if %{with_python3}
pushd %{py3dir}
%{__python3} setup.py test
popd
%endif


%files
%doc CHANGES.txt CONTRIBUTORS.txt LICENSE README.rst
%{python2_sitelib}/%{module}*
%exclude %{python2_sitelib}/%{module}/ext/sphinxext*

%files sphinx
%{python2_sitelib}/%{module}/ext/sphinxext*

%if %{with_python3}
%files -n python3-cornice
%doc CHANGES.txt CONTRIBUTORS.txt LICENSE README.rst
%{python3_sitelib}/%{module}*
%exclude %{python3_sitelib}/%{module}/ext/sphinxext*
%exclude %{python3_sitelib}/%{module}/ext/__pycache__/sphinxext*

%files -n python3-cornice-sphinx
%{python3_sitelib}/%{module}/ext/sphinxext*
%{python3_sitelib}/%{module}/ext/__pycache__/sphinxext*
%endif


%changelog
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Fri Jun 05 2015 Luke Macken <lmacken@redhat.com> - 1.0.0-1
- Update to 1.0.0

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.16.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sun Jun 01 2014 Mathieu Bridon <bochecha@fedoraproject.org> - 0.16.2-1
- Initial package for Fedora.