# # spec file for package python-Sphinx # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define oldpython python Name: python-Sphinx Version: 1.5.2 Release: 0 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 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.1} BuildRequires: %{python_module alabaster >= 0.7} BuildRequires: %{python_module docutils >= 0.11} BuildRequires: %{python_module imagesize} BuildRequires: %{python_module requests >= 2.4} BuildRequires: %{python_module six >= 1.5} BuildRequires: %{python_module snowballstemmer >= 1.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 Requires(post): update-alternatives Requires(postun): update-alternatives Requires: python-Babel >= 1.3 Requires: python-Jinja2 >= 2.3 Requires: python-Pygments >= 2.0 Requires: python-alabaster >= 0.7 Requires: python-docutils >= 0.11 Requires: python-imagesize Requires: python-requests >= 2.4 Requires: python-six >= 1.5 Requires: python-snowballstemmer >= 1.1 Requires: python-sphinx_rtd_theme %if 0%{?suse_version} Recommends: python-rst2pdf %endif # workaround for suboptimal CentOS-7 project config #!BuildIgnore: texinfo %ifpython2 Obsoletes: %{oldpython}-sphinx < %{version} Provides: %{oldpython}-sphinx = %{version} %endif BuildArch: noarch %python_subpackages %description 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 -n python-Sphinx-doc Summary: Documentation for %{name} Group: Documentation/Other Provides: python2-Sphinx-doc Provides: python3-Sphinx-doc %description -n python-Sphinx-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 Requires: %{name} = %{version} Requires: texlive-latex Requires: texlive-metafont Requires: texlive-pdftex Requires: tex(8r.enc) Requires: tex(alltt.sty) Requires: tex(amsfonts.sty) Requires: tex(amsmath.sty) Requires: tex(amssymb.sty) Requires: tex(amsthm.sty) Requires: tex(array.sty) Requires: tex(article.cls) Requires: tex(atbegshi.sty) Requires: tex(babel.sty) Requires: tex(bm.sty) Requires: tex(capt-of.sty) Requires: tex(cmap.sty) Requires: tex(color.sty) Requires: tex(colortbl.sty) Requires: tex(dvipdfmx.def) Requires: tex(english.ldf) Requires: tex(eqparbox.sty) Requires: tex(fancybox.sty) Requires: tex(fancyhdr.sty) Requires: tex(fancyvrb.sty) Requires: tex(float.sty) Requires: tex(fncychap.sty) Requires: tex(fontenc.sty) Requires: tex(footnote.sty) Requires: tex(framed.sty) Requires: tex(graphics.sty) Requires: tex(graphicx.sty) Requires: tex(hypcap.sty) Requires: tex(hyperref.sty) Requires: tex(ifthen.sty) Requires: tex(inputenc.sty) Requires: tex(longtable.sty) Requires: tex(makeidx.sty) Requires: tex(multirow.sty) Requires: tex(needspace.sty) Requires: tex(newfloat.sty) Requires: tex(palatino.sty) Requires: tex(parskip.sty) Requires: tex(pcrr.tfm) Requires: tex(pdftex.def) Requires: tex(pdftex.map) Requires: tex(phvr.tfm) Requires: tex(pplr.tfm) Requires: tex(preview.sty) Requires: tex(ptmr.tfm) Requires: tex(pzcmi.tfm) Requires: tex(tabulary.sty) Requires: tex(textcomp.sty) Requires: tex(threeparttable.sty) Requires: tex(times.sty) Requires: tex(titlesec.sty) Requires: tex(upquote.sty) Requires: tex(utf8.def) Requires: tex(utf8x.def) Requires: tex(wrapfig.sty) %description latex 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. This package contains the LaTeX components for %{name}. %prep %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 '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_expand %$python_install for B in apidoc autogen build quickstart ; do mv %{buildroot}%{_bindir}/sphinx-$B{,-%$python_bin_suffix} done } install -d %{buildroot}%{_mandir}/man1/ for B in apidoc autogen build quickstart ; do %prepare_alternative sphinx-$B done 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 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} \ --slave %{_bindir}/sphinx-build sphinx-build %{_bindir}/sphinx-build-%{python_bin_suffix} \ --slave %{_bindir}/sphinx-autogen sphinx-autogen %{_bindir}/sphinx-autogen-%{python_bin_suffix} \ --slave %{_bindir}/sphinx-quickstart sphinx-quickstart %{_bindir}/sphinx-quickstart-%{python_bin_suffix} \ --slave %{_mandir}/man1/sphinx-all.1.gz sphinx-all.1 %{_mandir}/man1/sphinx-all-%{python_bin_suffix}.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-build.1.gz sphinx-build.1 %{_mandir}/man1/sphinx-build-%{python_bin_suffix}.1.gz \ --slave %{_mandir}/man1/sphinx-quickstart.1.gz sphinx-quickstart.1 %{_mandir}/man1/sphinx-quickstart-%{python_bin_suffix}.1.gz \ %postun %python_uninstall_alternative sphinx-apidoc %files %{python_files} %defattr(-,root,root,-) %doc AUTHORS CHANGES LICENSE README.rst %python_alternative %{_bindir}/sphinx-apidoc %python_alternative %{_bindir}/sphinx-autogen %python_alternative %{_bindir}/sphinx-build %python_alternative %{_bindir}/sphinx-quickstart %python_alternative %{_mandir}/man1/sphinx-all.1.gz %python_alternative %{_mandir}/man1/sphinx-apidoc.1.gz %python_alternative %{_mandir}/man1/sphinx-build.1.gz %python_alternative %{_mandir}/man1/sphinx-quickstart.1.gz %{python_sitelib}/sphinx/ %if 0%{?suse_version} && ( 0%{?suse_version} != 1315 && 0%{?suse_version} > 1110 ) %exclude %{python_sitelib}/sphinx/texinputs/ %endif %{python_sitelib}/Sphinx-%{version}-py%{python_version}.egg-info %files -n python-Sphinx-doc %defattr(-,root,root,-) %doc EXAMPLES build.doc/html # Requirements are not available on SLES %if 0%{?suse_version} && ( 0%{?suse_version} != 1315 && 0%{?suse_version} > 1110 ) %files %{python_files latex} %defattr(-,root,root,-) %doc AUTHORS LICENSE %{python_sitelib}/sphinx/texinputs/ %endif %changelog