python-Sphinx/python-Sphinx.spec
Sascha Peilicke 5f35dda70d - Updateo version 1.2b3:
+ The Sphinx error log files will now include a list of the loaded extensions
    for help in debugging.
  + PR#154: Remove "sphinx" prefix from LaTeX class name except 'sphinxmanual'
    and 'sphinxhowto'. Now you can use your custom document class without
    'sphinx' prefix. Thanks to Erik B.
  + #1265: Fix i18n: crash when translating a section name that is pointed to from
    a named target.
  + A wrong condition broke the search feature on first page that is usually
    index.rst.  This issue was introduced in 1.2b1.
  + #703: When Sphinx can't decode filenames with non-ASCII characters, Sphinx now
    catches UnicodeError and will continue if possible instead of raising the
    exception.
- Changes from version 1.2b2 and prior:
  + See CHANGES file
- Own /etc/alternatives/sphinx-* by ghosting (update-alternatives)
  
  * PR#40: Fix safe_repr function to decode bytestrings with non-ASCII
  * PR#37: Allow configuring sphinx-apidoc via SPHINX_APIDOC_OPTIONS.
  * #864: Fix crash with some settings of :confval:modindex_common_prefix.
  * #862: Fix handling of -D and -A options on Python 3.
  * #831: Provide --project flag in setup_command as advertised.
  * #873: Fix assertion errors with empty only directives.
  * #805: Make the Sphinx.add_index_to_domain method work correctly.
  * #599: Import PIL as from PIL import Image.
  * #571: Implement ~ cross-reference prefix for the C domain.
  * Fix traceback with only directives preceded by targets.
  * Fix JavaScript domain links to objects with $ in their name.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Sphinx?expand=0&rev=41
2013-11-06 11:47:17 +00:00

170 lines
7.1 KiB
RPMSpec

#
# spec file for package python-Sphinx
#
# Copyright (c) 2013 SUSE LINUX Products 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/
#
Name: python-Sphinx
Version: 1.2b3
Release: 0
Url: http://sphinx.pocoo.org
Summary: Python documentation generator
License: BSD-2-Clause
Group: Development/Languages/Python
Source: http://pypi.python.org/packages/source/S/Sphinx/Sphinx-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python-devel
BuildRequires: python-setuptools
# Documentation requirements:
BuildRequires: python-Jinja2 >= 2.3
BuildRequires: python-docutils >= 0.7
# Testsuite requirements:
BuildRequires: python-Pygments >= 1.2
BuildRequires: python-nose
Requires(post): update-alternatives
Requires(postun): update-alternatives
Requires: python-Jinja2 >= 2.3
Requires: python-Pygments >= 1.2
Requires: python-docutils >= 0.7
Suggests: python-rst2pdf
Provides: 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
%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 doc
Summary: Documentation for %{name}
Group: Documentation/Other
Requires: %{name} = %{version}
%description 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.
%prep
%setup -q -n Sphinx-%{version}
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
# allow for update-alternatives later on:
sed -i 's/\(sphinx-.*\) =/\1-%{py_ver} =/' setup.py
%build
python setup.py build
python setup.py build_sphinx && rm build/sphinx/html/.buildinfo
python setup.py build_sphinx -b man
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
for B in apidoc autogen build quickstart ; do
ln -s %{_bindir}/sphinx-$B-%{py_ver} %{buildroot}%{_bindir}/sphinx-$B
done
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
ln -s %{_mandir}/man1/sphinx-$M-%{py_ver}.1 %{buildroot}%{_mandir}/man1/sphinx-$M.1
done
%find_lang sphinx
%check
PYTHONPATH=$PWD make test
%pre
# Since /usr/bin/sphinx-* became ghosted to be used with update-alternatives, we have
# to get rid of the old binary resulting from the non-update-alternativies-ified package:
[[ ! -L %{_bindir}/sphinx-apidoc ]] && rm -f %{_bindir}/sphinx-apidoc
[[ ! -L %{_bindir}/sphinx-build ]] && rm -f %{_bindir}/sphinx-build
[[ ! -L %{_bindir}/sphinx-autogen ]] && rm -f %{_bindir}/sphinx-autogen
[[ ! -L %{_bindir}/sphinx-quickstart ]] && rm -f %{_bindir}/sphinx-quickstart
[[ ! -L %{_mandir}/man1/sphinx-all.1.gz ]] && rm -f %{_mandir}/man1/sphinx-all.1.gz
[[ ! -L %{_mandir}/man1/sphinx-apidoc.1.gz ]] && rm -f %{_mandir}/man1/sphinx-apidoc.1.gz
[[ ! -L %{_mandir}/man1/sphinx-build.1.gz ]] && rm -f %{_mandir}/man1/sphinx-build.1.gz
[[ ! -L %{_mandir}/man1/sphinx-quickstart.1.gz ]] && rm -f %{_mandir}/man1/sphinx-quickstart.1.gz
exit 0
%post
update-alternatives \
--install %{_bindir}/sphinx-apidoc sphinx-apidoc %{_bindir}/sphinx-apidoc-%{py_ver} 20 \
--slave %{_bindir}/sphinx-build sphinx-build %{_bindir}/sphinx-build-%{py_ver} \
--slave %{_bindir}/sphinx-autogen sphinx-autogen %{_bindir}/sphinx-autogen-%{py_ver} \
--slave %{_bindir}/sphinx-quickstart sphinx-quickstart %{_bindir}/sphinx-quickstart-%{py_ver} \
--slave %{_mandir}/man1/sphinx-all.1.gz sphinx-all.1 %{_mandir}/sphinx-all-%{py_ver}.1.gz \
--slave %{_mandir}/man1/sphinx-apidoc.1.gz sphinx-apidoc.1 %{_mandir}/sphinx-apidoc-%{py_ver}.1.gz \
--slave %{_mandir}/man1/sphinx-build.1.gz sphinx-build.1 %{_mandir}/sphinx-build-%{py_ver}.1.gz \
--slave %{_mandir}/man1/sphinx-quickstart.1.gz sphinx-quickstart.1 %{_mandir}/sphinx-quickstart-%{py_ver}.1.gz \
%preun
if [ $1 -eq 0 ] ; then
update-alternatives --remove sphinx-build %{_bindir}/sphinx-apidoc-%{py_ver}
fi
%files -f sphinx.lang
%defattr(-,root,root,-)
%doc AUTHORS CHANGES LICENSE README.rst
%ghost %{_bindir}/sphinx-apidoc
%ghost %{_sysconfdir}/alternatives/sphinx-apidoc
%{_bindir}/sphinx-apidoc-%{py_ver}
%ghost %{_bindir}/sphinx-autogen
%ghost %{_sysconfdir}/alternatives/sphinx-autogen
%{_bindir}/sphinx-autogen-%{py_ver}
%ghost %{_bindir}/sphinx-build
%ghost %{_sysconfdir}/alternatives/sphinx-build
%{_bindir}/sphinx-build-%{py_ver}
%ghost %{_bindir}/sphinx-quickstart
%ghost %{_sysconfdir}/alternatives/sphinx-quickstart
%{_bindir}/sphinx-quickstart-%{py_ver}
%ghost %{_mandir}/man1/sphinx-all.1.gz
%ghost %{_sysconfdir}/alternatives/sphinx-all.1.gz
%{_mandir}/man1/sphinx-all-%{py_ver}.1.gz
%ghost %{_mandir}/man1/sphinx-apidoc.1.gz
%ghost %{_sysconfdir}/alternatives/sphinx-apidoc.1.gz
%{_mandir}/man1/sphinx-apidoc-%{py_ver}.1.gz
%ghost %{_mandir}/man1/sphinx-build.1.gz
%ghost %{_sysconfdir}/alternatives/sphinx-build.1.gz
%{_mandir}/man1/sphinx-build-%{py_ver}.1.gz
%ghost %{_mandir}/man1/sphinx-quickstart.1.gz
%ghost %{_sysconfdir}/alternatives/sphinx-quickstart.1.gz
%{_mandir}/man1/sphinx-quickstart-%{py_ver}.1.gz
%{python_sitelib}/sphinx/
%{python_sitelib}/Sphinx-%{version}-py%{py_ver}.egg-info
%files doc
%defattr(-,root,root,-)
%doc EXAMPLES build/sphinx/html
%changelog