1
0
forked from pool/python-Sphinx
python-Sphinx/python-Sphinx.spec

217 lines
6.5 KiB
RPMSpec

#
# spec file for package python-Sphinx
#
# Copyright (c) 2018 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/
#
%if 0%{?suse_version} != 1315
%bcond_without latex
%else
%bcond_with latex
%endif
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define oldpython python
Name: python-Sphinx
Version: 1.7.1
Release: 0
Url: http://sphinx-doc.org
Summary: Python documentation generator
License: BSD-2-Clause
Group: Development/Languages/Python
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
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.0.0
Requires: python-six >= 1.5
Requires: python-snowballstemmer >= 1.1
Requires: python-sphinx_rtd_theme
Requires: python-sphinxcontrib
Requires: python-sphinxcontrib-websupport
%if 0%{?suse_version} >= 1000
Recommends: python-SQLAlchemy >= 0.9
Recommends: python-Whoosh >= 2.0
Recommends: %{name}-doc-man
%endif
%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
%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 facilitates creating documentation for Python
projects (or other documents consisting of multiple reStructuredText
sources). It was originally created for the Python documentation, and
supports Python project documentation well, but C/C++ is likewise
supported.
Sphinx uses reStructuredText as its markup language. Sphinx draws from
the 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)
%if 0%{?suse_version} > 1320
Requires: texlive-latexmk
Requires: texlive-makeindex
Requires: tex(varwidth.sty)
%endif
%description latex
Sphinx is a tool that facilitates creating documentation for Python
projects (or other documents consisting of multiple reStructuredText
sources).
This package contains the LaTeX components for %{name}.
%prep
%setup -q -n Sphinx-%{version}
%patch1 -p1
sed -i 's/\r$//' sphinx/themes/basic/static/jquery.js # Fix wrong end-of-line encoding
%build
%python_build
%install
%python_install
%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_expand %fdupes %{buildroot}%{$python_sitelib}
%post
%{python_install_alternative sphinx-apidoc sphinx-autogen sphinx-build sphinx-quickstart}
%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_sitelib}/sphinx/
%if %{with latex}
%exclude %{python_sitelib}/sphinx/texinputs/
%endif
%{python_sitelib}/Sphinx-%{version}-py*.egg-info
# Requirements are not available on SLES
%if %{with latex}
%files %{python_files latex}
%defattr(-,root,root,-)
%doc AUTHORS LICENSE
%{python_sitelib}/sphinx/texinputs/
%endif
%changelog