14
0
forked from pool/python-Sphinx

Accepting request 512790 from home:TheBlackCat:branches:devel:languages:python

- Split documentation into subpackage to avoid dependency loops.
- Only require python3-typing for python3 < 3.5

OBS-URL: https://build.opensuse.org/request/show/512790
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Sphinx?expand=0&rev=85
This commit is contained in:
Todd R
2017-07-27 13:01:58 +00:00
committed by Git OBS Bridge
parent c449bfb315
commit f27a5cc865
4 changed files with 1025 additions and 78 deletions

View File

@@ -1,5 +1,5 @@
#
# spec file for package python-Sphinx
# spec file for package python-Sphinx-doc
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
@@ -31,35 +31,13 @@ Url: http://sphinx-doc.org
Summary: Python documentation generator
License: BSD-2-Clause
Group: Development/Languages/Python
Source: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{version}.tar.gz
Source: https://files.pythonhosted.org/packages/source/S/Sphinx/Sphinx-%{version}.tar.gz
Patch1: disable-test.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
# SECTION documentation requirements
BuildRequires: %{python_module Babel >= 1.3}
BuildRequires: %{python_module Jinja2 >= 2.3}
BuildRequires: %{python_module Pygments >= 2.0}
BuildRequires: %{python_module alabaster >= 0.7}
BuildRequires: %{python_module docutils >= 0.11}
BuildRequires: %{python_module imagesize}
BuildRequires: %{python_module requests >= 2.0.0}
BuildRequires: %{python_module six >= 1.5}
BuildRequires: %{python_module snowballstemmer >= 1.1}
BuildRequires: %{python_module sphinx_rtd_theme}
BuildRequires: %{python_module sphinxcontrib-websupport}
BuildRequires: %{python_module typing}
# ENDSECTION doc requirements
# SECTION testsuite requirements
BuildRequires: %{python_module html5lib}
BuildRequires: %{python_module mock}
BuildRequires: %{python_module pytest}
BuildRequires: ImageMagick
# ENDSECTION
# for python 2 only:
BuildRequires: python-enum34
Requires: python-Babel >= 1.3
Requires: python-Jinja2 >= 2.3
Requires: python-Pygments >= 2.0
@@ -71,7 +49,18 @@ Requires: python-six >= 1.5
Requires: python-snowballstemmer >= 1.1
Requires: python-sphinx_rtd_theme
Requires: python-sphinxcontrib-websupport
Recommends: python-SQLAlchemy >= 0.9
Recommends: python-Whoosh >= 2.0
Recommends: %{name}-doc-man
%ifpython2
Requires: python-enum34
Requires: python-typing
%endif
%ifpython3
%if %{python3_version_nodots} < 35
Requires: python-typing
%endif
%endif
Requires(post): update-alternatives
Requires(postun): update-alternatives
@@ -101,23 +90,6 @@ Sphinx uses reStructuredText as its markup language, and many of its strengths
come from the power and straightforwardness of reStructuredText and its parsing
and translating suite, the Docutils.
%package -n %{name}-doc
Summary: Documentation for %{name}
Group: Documentation/Other
Provides: %{python_module Sphinx-doc = %{version}}
%description -n %{name}-doc
Sphinx is a tool that makes it easy to create intelligent and beautiful
documentation for Python projects (or other documents consisting of multiple
reStructuredText sources), written by Georg Brandl. It was originally created
for the new Python documentation, and has excellent facilities for Python
project documentation, but C/C++ is supported as well, and more languages are
planned.
Sphinx uses reStructuredText as its markup language, and many of its strengths
come from the power and straightforwardness of reStructuredText and its parsing
and translating suite, the Docutils.
%package latex
Summary: Sphinx packages for LaTeX
Group: Productivity/Publishing/TeX/Base
@@ -204,47 +176,20 @@ sed -i '/#\!/d' sphinx/pycode/pgen2/token.py # Fix non-excutable-script warning
sed -i 's/\r$//' sphinx/themes/basic/static/jquery.js # Fix wrong end-of-line encoding
%build
# build library
%python_build
# 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
%python_install
install -d %{buildroot}%{_mandir}/man1/
mv build.doc/man/sphinx-all.1 %{buildroot}%{_mandir}/man1/sphinx-all.1
mv build.doc/man/sphinx-apidoc.1 %{buildroot}%{_mandir}/man1/sphinx-apidoc.1
mv build.doc/man/sphinx-build.1 %{buildroot}%{_mandir}/man1/sphinx-build.1
mv build.doc/man/sphinx-quickstart.1 %{buildroot}%{_mandir}/man1/sphinx-quickstart.1
%python_clone -a %{buildroot}%{_bindir}/sphinx-apidoc
%python_clone -a %{buildroot}%{_bindir}/sphinx-autogen
%python_clone -a %{buildroot}%{_bindir}/sphinx-build
%python_clone -a %{buildroot}%{_bindir}/sphinx-quickstart
%python_clone -a %{buildroot}%{_mandir}/man1/sphinx-all.1
%python_clone -a %{buildroot}%{_mandir}/man1/sphinx-apidoc.1
%python_clone -a %{buildroot}%{_mandir}/man1/sphinx-build.1
%python_clone -a %{buildroot}%{_mandir}/man1/sphinx-quickstart.1
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
export PYTHONPATH=$PWD
export LANG=en_US.UTF-8
# exclude online-only linkcheck test
export EXCLUDES="--ignore=test_build_linkcheck.py"
%{python_expand make test PYTHON=%__$python TEST="$EXCLUDES"}
%post
%{python_install_alternative sphinx-apidoc sphinx-autogen sphinx-build sphinx-quickstart sphinx-all.1%ext_man sphinx-apidoc.1%ext_man sphinx-build.1%ext_man sphinx-quickstart.1%ext_man}
%{python_install_alternative sphinx-apidoc sphinx-autogen sphinx-build sphinx-quickstart}
%postun
%python_uninstall_alternative sphinx-apidoc
@@ -256,21 +201,12 @@ export EXCLUDES="--ignore=test_build_linkcheck.py"
%python_alternative %{_bindir}/sphinx-autogen
%python_alternative %{_bindir}/sphinx-build
%python_alternative %{_bindir}/sphinx-quickstart
%python_alternative %{_mandir}/man1/sphinx-all.1%ext_man
%python_alternative %{_mandir}/man1/sphinx-apidoc.1%ext_man
%python_alternative %{_mandir}/man1/sphinx-build.1%ext_man
%python_alternative %{_mandir}/man1/sphinx-quickstart.1%ext_man
%{python_sitelib}/sphinx/
%if %{with latex}
%exclude %{python_sitelib}/sphinx/texinputs/
%endif
%{python_sitelib}/Sphinx-%{version}-py*.egg-info
%files -n %{name}-doc
%defattr(-,root,root,-)
%doc AUTHORS LICENSE EXAMPLES
%doc build.doc/html/
# Requirements are not available on SLES
%if %{with latex}
%files %{python_files latex}