14
0
forked from pool/python-Sphinx

Accepting request 490866 from devel:languages:python:singlespec

- update for singlespec
- run tests for all python versions
- include python-enum34 for test compatibility

OBS-URL: https://build.opensuse.org/request/show/490866
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Sphinx?expand=0&rev=77
This commit is contained in:
Todd R
2017-04-24 20:54:10 +00:00
committed by Git OBS Bridge
parent 62261ffc42
commit 1eb7626aa3
2 changed files with 93 additions and 88 deletions

View File

@@ -1,3 +1,10 @@
-------------------------------------------------------------------
Mon Feb 20 14:18:17 UTC 2017 - jmatejek@suse.com
- update for singlespec
- run tests for all python versions
- include python-enum34 for test compatibility
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Feb 16 11:18:38 UTC 2017 - tbechtold@suse.com Thu Feb 16 11:18:38 UTC 2017 - tbechtold@suse.com

View File

@@ -16,6 +16,7 @@
# #
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-Sphinx Name: python-Sphinx
Version: 1.5.2 Version: 1.5.2
Release: 0 Release: 0
@@ -25,30 +26,35 @@ License: BSD-2-Clause
Group: Development/Languages/Python Group: Development/Languages/Python
Source: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{version}.tar.gz Source: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python-devel BuildRequires: %{python_module devel}
BuildRequires: python-setuptools BuildRequires: %{python_module setuptools}
# Documentation requirements: BuildRequires: fdupes
BuildRequires: python-Babel BuildRequires: python-rpm-macros
BuildRequires: python-Jinja2 >= 2.3 # SECTION documentation requirements
BuildRequires: python-alabaster BuildRequires: %{python_module Babel >= 1.3}
BuildRequires: python-docutils >= 0.7 BuildRequires: %{python_module Jinja2 >= 2.3}
BuildRequires: python-imagesize BuildRequires: %{python_module Pygments >= 2.1}
BuildRequires: python-mock BuildRequires: %{python_module alabaster >= 0.7}
BuildRequires: python-requests >= 2.4 BuildRequires: %{python_module docutils >= 0.11}
BuildRequires: python-six >= 1.5 BuildRequires: %{python_module imagesize}
BuildRequires: python-snowballstemmer BuildRequires: %{python_module requests >= 2.4}
BuildRequires: python-sphinx_rtd_theme BuildRequires: %{python_module six >= 1.5}
# Testsuite requirements: BuildRequires: %{python_module snowballstemmer >= 1.1}
BuildRequires: python-Pygments >= 2.1 BuildRequires: %{python_module sphinx_rtd_theme}
# ENDSECTION doc requirements
# SECTION testsuite requirements
BuildRequires: %{python_module html5lib}
BuildRequires: %{python_module mock}
BuildRequires: %{python_module pytest}
# ENDSECTION
# for python 2 only:
BuildRequires: python-enum34 BuildRequires: python-enum34
BuildRequires: python-html5lib
BuildRequires: python-pytest
Requires(post): update-alternatives Requires(post): update-alternatives
Requires(postun): update-alternatives Requires(postun): update-alternatives
Requires: python-Babel Requires: python-Babel >= 1.3
Requires: python-Jinja2 >= 2.3 Requires: python-Jinja2 >= 2.3
Requires: python-Pygments >= 2.0 Requires: python-Pygments >= 2.0
Requires: python-alabaster Requires: python-alabaster >= 0.7
Requires: python-docutils >= 0.11 Requires: python-docutils >= 0.11
Requires: python-imagesize Requires: python-imagesize
Requires: python-requests >= 2.4 Requires: python-requests >= 2.4
@@ -62,13 +68,13 @@ Recommends: python-rst2pdf
# workaround for suboptimal CentOS-7 project config # workaround for suboptimal CentOS-7 project config
#!BuildIgnore: texinfo #!BuildIgnore: texinfo
%ifpython2
Provides: python-sphinx = %{version} Provides: python-sphinx = %{version}
Obsoletes: python-sphinx < %{version} Obsoletes: python-sphinx < %{version}
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%else
BuildArch: noarch
%endif %endif
BuildArch: noarch
%python_subpackages
%description %description
Sphinx is a tool that makes it easy to create intelligent and beautiful Sphinx is a tool that makes it easy to create intelligent and beautiful
@@ -82,12 +88,13 @@ Sphinx uses reStructuredText as its markup language, and many of its strengths
come from the power and straightforwardness of reStructuredText and its parsing come from the power and straightforwardness of reStructuredText and its parsing
and translating suite, the Docutils. and translating suite, the Docutils.
%package doc %package -n python-Sphinx-doc
Summary: Documentation for %{name} Summary: Documentation for %{name}
Group: Documentation/Other Group: Documentation/Other
Requires: %{name} = %{version} Provides: python2-Sphinx-doc
Provides: python3-Sphinx-doc
%description doc %description -n python-Sphinx-doc
Sphinx is a tool that makes it easy to create intelligent and beautiful Sphinx is a tool that makes it easy to create intelligent and beautiful
documentation for Python projects (or other documents consisting of multiple documentation for Python projects (or other documents consisting of multiple
reStructuredText sources), written by Georg Brandl. It was originally created reStructuredText sources), written by Georg Brandl. It was originally created
@@ -102,6 +109,7 @@ and translating suite, the Docutils.
%package latex %package latex
Summary: Sphinx packages for LaTeX Summary: Sphinx packages for LaTeX
Group: Productivity/Publishing/TeX/Base Group: Productivity/Publishing/TeX/Base
Requires: %{name} = %{version}
Requires: texlive-latex Requires: texlive-latex
Requires: texlive-metafont Requires: texlive-metafont
Requires: texlive-pdftex Requires: texlive-pdftex
@@ -179,94 +187,84 @@ This package contains the LaTeX components for %{name}.
%prep %prep
%setup -q -n Sphinx-%{version} %setup -q -n Sphinx-%{version}
rm -r sphinx/locale/__init__.pyc # drop shipped garbage
sed -i '/#\!/d' sphinx/pycode/pgen2/token.py # Fix non-excutable-script warning sed -i '/#\!/d' sphinx/pycode/pgen2/token.py # Fix non-excutable-script warning
# Add Interpreter version suffix to entrypoints (and thus /usr/bin binaries) to sed -i 's/\r$//' sphinx/themes/basic/static/jquery.js # Fix wrong end-of-line encoding
# allow for update-alternatives later on:
sed -i 's/\(sphinx-.*\) =/\1-%{py_ver} =/' setup.py
# Fix wrong end-of-line encoding
sed -i 's/\r$//' sphinx/themes/basic/static/jquery.js
%build %build
python setup.py build # build library
python setup.py build_sphinx && rm build/sphinx/html/.buildinfo %python_build
python setup.py build_sphinx -b man
# build documentation
%{_python_use_flavor python3}
mkdir build.doc
%__python3 setup.py build_sphinx && rm build/sphinx/html/.buildinfo
%__python3 setup.py build_sphinx -b man
mv build/sphinx/{html,man} build.doc
%install %install
python setup.py install --prefix=%{_prefix} --root=%{buildroot} %{python_expand %$python_install
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
for B in apidoc autogen build quickstart ; do for B in apidoc autogen build quickstart ; do
touch %{buildroot}%{_sysconfdir}/alternatives/sphinx-$B mv %{buildroot}%{_bindir}/sphinx-$B{,-%$python_bin_suffix}
ln -sf %{_sysconfdir}/alternatives/sphinx-$B %{buildroot}/%{_bindir}/sphinx-$B done }
done
install -d %{buildroot}%{_mandir}/man1/ install -d %{buildroot}%{_mandir}/man1/
for M in all apidoc build quickstart ; do
install -m 644 build/sphinx/man/sphinx-$M.1 %{buildroot}%{_mandir}/man1/sphinx-$M-%{py_ver}.1 for B in apidoc autogen build quickstart ; do
touch %{buildroot}%{_sysconfdir}/alternatives/sphinx-$M.1.gz %prepare_alternative sphinx-$B
ln -sf %{_sysconfdir}/alternatives/sphinx-$M.1.gz %{buildroot}%{_mandir}/man1/sphinx-$M.1.gz
done done
%find_lang sphinx
for M in all apidoc build quickstart ; do
%{python_expand install -m 644 build.doc/man/sphinx-$M.1 %{buildroot}%{_mandir}/man1/sphinx-$M-%{$python_bin_suffix}.1}
%prepare_alternative -t %{_mandir}/man1/sphinx-$M.1.gz sphinx-$M.1.gz
done
%fdupes %{buildroot}%{_prefix}
%check %check
# linkcheck tests need network access (which is not available in OBS) export PYTHONPATH=$PWD
rm tests/test_build_linkcheck.py export LANG=en_US.UTF-8
PYTHONPATH=$PWD LANG=en_US.UTF-8 make test # exclude online-only linkcheck test
export EXCLUDES="--ignore=test_build_linkcheck.py"
%{python_expand make test PYTHON=%__$python TEST="$EXCLUDES"}
%post %post
update-alternatives \ %{python_install_alternative sphinx-apidoc} \
--install %{_bindir}/sphinx-apidoc sphinx-apidoc %{_bindir}/sphinx-apidoc-%{py_ver} 20 \ --slave %{_bindir}/sphinx-build sphinx-build %{_bindir}/sphinx-build-%{python_bin_suffix} \
--slave %{_bindir}/sphinx-build sphinx-build %{_bindir}/sphinx-build-%{py_ver} \ --slave %{_bindir}/sphinx-autogen sphinx-autogen %{_bindir}/sphinx-autogen-%{python_bin_suffix} \
--slave %{_bindir}/sphinx-autogen sphinx-autogen %{_bindir}/sphinx-autogen-%{py_ver} \ --slave %{_bindir}/sphinx-quickstart sphinx-quickstart %{_bindir}/sphinx-quickstart-%{python_bin_suffix} \
--slave %{_bindir}/sphinx-quickstart sphinx-quickstart %{_bindir}/sphinx-quickstart-%{py_ver} \ --slave %{_mandir}/man1/sphinx-all.1.gz sphinx-all.1 %{_mandir}/man1/sphinx-all-%{python_bin_suffix}.1.gz \
--slave %{_mandir}/man1/sphinx-all.1.gz sphinx-all.1 %{_mandir}/man1/sphinx-all-%{py_ver}.1.gz \ --slave %{_mandir}/man1/sphinx-apidoc.1.gz sphinx-apidoc.1 %{_mandir}/man1/sphinx-apidoc-%{python_bin_suffix}.1.gz \
--slave %{_mandir}/man1/sphinx-apidoc.1.gz sphinx-apidoc.1 %{_mandir}/man1/sphinx-apidoc-%{py_ver}.1.gz \ --slave %{_mandir}/man1/sphinx-build.1.gz sphinx-build.1 %{_mandir}/man1/sphinx-build-%{python_bin_suffix}.1.gz \
--slave %{_mandir}/man1/sphinx-build.1.gz sphinx-build.1 %{_mandir}/man1/sphinx-build-%{py_ver}.1.gz \ --slave %{_mandir}/man1/sphinx-quickstart.1.gz sphinx-quickstart.1 %{_mandir}/man1/sphinx-quickstart-%{python_bin_suffix}.1.gz \
--slave %{_mandir}/man1/sphinx-quickstart.1.gz sphinx-quickstart.1 %{_mandir}/man1/sphinx-quickstart-%{py_ver}.1.gz \
%postun %postun
if [ $1 -eq 0 ] ; then %python_uninstall_alternative sphinx-apidoc
update-alternatives --remove sphinx-apidoc %{_bindir}/sphinx-apidoc-%{py_ver}
fi
%files -f sphinx.lang %files %{python_files}
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc AUTHORS CHANGES LICENSE README.rst %doc AUTHORS CHANGES LICENSE README.rst
%{_bindir}/sphinx-apidoc %python_alternative %{_bindir}/sphinx-apidoc
%{_bindir}/sphinx-apidoc-%{py_ver} %python_alternative %{_bindir}/sphinx-autogen
%{_bindir}/sphinx-autogen %python_alternative %{_bindir}/sphinx-build
%{_bindir}/sphinx-autogen-%{py_ver} %python_alternative %{_bindir}/sphinx-quickstart
%{_bindir}/sphinx-build %python_alternative %{_mandir}/man1/sphinx-all.1.gz
%{_bindir}/sphinx-build-%{py_ver} %python_alternative %{_mandir}/man1/sphinx-apidoc.1.gz
%{_bindir}/sphinx-quickstart %python_alternative %{_mandir}/man1/sphinx-build.1.gz
%{_bindir}/sphinx-quickstart-%{py_ver} %python_alternative %{_mandir}/man1/sphinx-quickstart.1.gz
%{_mandir}/man1/sphinx-all.1.gz
%{_mandir}/man1/sphinx-all-%{py_ver}.1.gz
%{_mandir}/man1/sphinx-apidoc.1.gz
%{_mandir}/man1/sphinx-apidoc-%{py_ver}.1.gz
%{_mandir}/man1/sphinx-build.1.gz
%{_mandir}/man1/sphinx-build-%{py_ver}.1.gz
%{_mandir}/man1/sphinx-quickstart.1.gz
%{_mandir}/man1/sphinx-quickstart-%{py_ver}.1.gz
%{python_sitelib}/sphinx/ %{python_sitelib}/sphinx/
%if 0%{?suse_version} && ( 0%{?suse_version} != 1315 && 0%{?suse_version} > 1110 ) %if 0%{?suse_version} && ( 0%{?suse_version} != 1315 && 0%{?suse_version} > 1110 )
%exclude %{python_sitelib}/sphinx/texinputs/ %exclude %{python_sitelib}/sphinx/texinputs/
%endif %endif
%{python_sitelib}/Sphinx-%{version}-py%{py_ver}.egg-info %{python_sitelib}/Sphinx-%{version}-py%{python_version}.egg-info
%ghost %{_sysconfdir}/alternatives/sphinx-apidoc
%ghost %{_sysconfdir}/alternatives/sphinx-autogen
%ghost %{_sysconfdir}/alternatives/sphinx-build
%ghost %{_sysconfdir}/alternatives/sphinx-quickstart
%ghost %{_sysconfdir}/alternatives/sphinx-all.1.gz
%ghost %{_sysconfdir}/alternatives/sphinx-apidoc.1.gz
%ghost %{_sysconfdir}/alternatives/sphinx-build.1.gz
%ghost %{_sysconfdir}/alternatives/sphinx-quickstart.1.gz
%files doc %files -n python-Sphinx-doc
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc EXAMPLES build/sphinx/html %doc EXAMPLES build.doc/html
# Requirements are not available on SLES # Requirements are not available on SLES
%if 0%{?suse_version} && ( 0%{?suse_version} != 1315 && 0%{?suse_version} > 1110 ) %if 0%{?suse_version} && ( 0%{?suse_version} != 1315 && 0%{?suse_version} > 1110 )
%files latex %files %{python_files latex}
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc AUTHORS LICENSE %doc AUTHORS LICENSE
%{python_sitelib}/sphinx/texinputs/ %{python_sitelib}/sphinx/texinputs/