forked from pool/python-Sphinx
Accepting request 493489 from devel:languages:python
1 OBS-URL: https://build.opensuse.org/request/show/493489 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Sphinx?expand=0&rev=39
This commit is contained in:
commit
cb81966aa2
@ -1,3 +1,20 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon May 8 15:38:53 UTC 2017 - toddrme2178@gmail.com
|
||||
|
||||
- Fix update-alternatives.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 5 14:55:31 UTC 2017 - toddrme2178@gmail.com
|
||||
|
||||
- Fix old obsoletes/provides.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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
|
||||
|
||||
|
@ -16,6 +16,14 @@
|
||||
#
|
||||
|
||||
|
||||
%if 0%{?suse_version} && ( 0%{?suse_version} != 1315 && 0%{?suse_version} > 1110 )
|
||||
%bcond_without latex
|
||||
%else
|
||||
%bcond_with latex
|
||||
%endif
|
||||
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
%define oldpython python
|
||||
Name: python-Sphinx
|
||||
Version: 1.5.2
|
||||
Release: 0
|
||||
@ -25,36 +33,41 @@ 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-devel
|
||||
BuildRequires: python-setuptools
|
||||
# Documentation requirements:
|
||||
BuildRequires: python-Babel
|
||||
BuildRequires: python-Jinja2 >= 2.3
|
||||
BuildRequires: python-alabaster
|
||||
BuildRequires: python-docutils >= 0.7
|
||||
BuildRequires: python-imagesize
|
||||
BuildRequires: python-mock
|
||||
BuildRequires: python-requests >= 2.4
|
||||
BuildRequires: python-six >= 1.5
|
||||
BuildRequires: python-snowballstemmer
|
||||
BuildRequires: python-sphinx_rtd_theme
|
||||
# Testsuite requirements:
|
||||
BuildRequires: python-Pygments >= 2.1
|
||||
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
|
||||
BuildRequires: python-html5lib
|
||||
BuildRequires: python-pytest
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
Requires: python-Babel
|
||||
Requires: python-Babel >= 1.3
|
||||
Requires: python-Jinja2 >= 2.3
|
||||
Requires: python-Pygments >= 2.0
|
||||
Requires: python-alabaster
|
||||
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
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
|
||||
%if 0%{?suse_version}
|
||||
Recommends: python-rst2pdf
|
||||
@ -62,13 +75,13 @@ Recommends: python-rst2pdf
|
||||
# workaround for suboptimal CentOS-7 project config
|
||||
#!BuildIgnore: texinfo
|
||||
|
||||
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
|
||||
%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
|
||||
@ -82,12 +95,12 @@ 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
|
||||
%package -n %{name}-doc
|
||||
Summary: Documentation for %{name}
|
||||
Group: Documentation/Other
|
||||
Requires: %{name} = %{version}
|
||||
Provides: %{python_module Sphinx-doc = %{version}}
|
||||
|
||||
%description doc
|
||||
%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
|
||||
@ -102,6 +115,7 @@ 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
|
||||
@ -179,94 +193,81 @@ 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
|
||||
# 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
|
||||
# Fix wrong end-of-line encoding
|
||||
sed -i 's/\r$//' sphinx/themes/basic/static/jquery.js
|
||||
sed -i 's/\r$//' sphinx/themes/basic/static/jquery.js # Fix wrong end-of-line encoding
|
||||
|
||||
%build
|
||||
python setup.py build
|
||||
python setup.py build_sphinx && rm build/sphinx/html/.buildinfo
|
||||
python setup.py build_sphinx -b man
|
||||
# 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 setup.py install --prefix=%{_prefix} --root=%{buildroot}
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||
for B in apidoc autogen build quickstart ; do
|
||||
touch %{buildroot}%{_sysconfdir}/alternatives/sphinx-$B
|
||||
ln -sf %{_sysconfdir}/alternatives/sphinx-$B %{buildroot}/%{_bindir}/sphinx-$B
|
||||
done
|
||||
%python_install
|
||||
|
||||
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
|
||||
touch %{buildroot}%{_sysconfdir}/alternatives/sphinx-$M.1.gz
|
||||
ln -sf %{_sysconfdir}/alternatives/sphinx-$M.1.gz %{buildroot}%{_mandir}/man1/sphinx-$M.1.gz
|
||||
done
|
||||
%find_lang sphinx
|
||||
|
||||
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
|
||||
# linkcheck tests need network access (which is not available in OBS)
|
||||
rm tests/test_build_linkcheck.py
|
||||
PYTHONPATH=$PWD LANG=en_US.UTF-8 make test
|
||||
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
|
||||
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}/man1/sphinx-all-%{py_ver}.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-%{py_ver}.1.gz \
|
||||
--slave %{_mandir}/man1/sphinx-quickstart.1.gz sphinx-quickstart.1 %{_mandir}/man1/sphinx-quickstart-%{py_ver}.1.gz \
|
||||
%{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}
|
||||
|
||||
%postun
|
||||
if [ $1 -eq 0 ] ; then
|
||||
update-alternatives --remove sphinx-apidoc %{_bindir}/sphinx-apidoc-%{py_ver}
|
||||
fi
|
||||
%python_uninstall_alternative sphinx-apidoc
|
||||
|
||||
%files -f sphinx.lang
|
||||
%files %{python_files}
|
||||
%defattr(-,root,root,-)
|
||||
%doc AUTHORS CHANGES LICENSE README.rst
|
||||
%{_bindir}/sphinx-apidoc
|
||||
%{_bindir}/sphinx-apidoc-%{py_ver}
|
||||
%{_bindir}/sphinx-autogen
|
||||
%{_bindir}/sphinx-autogen-%{py_ver}
|
||||
%{_bindir}/sphinx-build
|
||||
%{_bindir}/sphinx-build-%{py_ver}
|
||||
%{_bindir}/sphinx-quickstart
|
||||
%{_bindir}/sphinx-quickstart-%{py_ver}
|
||||
%{_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_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%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 0%{?suse_version} && ( 0%{?suse_version} != 1315 && 0%{?suse_version} > 1110 )
|
||||
%if %{with latex}
|
||||
%exclude %{python_sitelib}/sphinx/texinputs/
|
||||
%endif
|
||||
%{python_sitelib}/Sphinx-%{version}-py%{py_ver}.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
|
||||
%{python_sitelib}/Sphinx-%{version}-py*.egg-info
|
||||
|
||||
%files doc
|
||||
%files -n %{name}-doc
|
||||
%defattr(-,root,root,-)
|
||||
%doc EXAMPLES build/sphinx/html
|
||||
%doc AUTHORS LICENSE EXAMPLES
|
||||
%doc build.doc/html/
|
||||
|
||||
# Requirements are not available on SLES
|
||||
%if 0%{?suse_version} && ( 0%{?suse_version} != 1315 && 0%{?suse_version} > 1110 )
|
||||
%files latex
|
||||
%if %{with latex}
|
||||
%files %{python_files latex}
|
||||
%defattr(-,root,root,-)
|
||||
%doc AUTHORS LICENSE
|
||||
%{python_sitelib}/sphinx/texinputs/
|
||||
|
Loading…
x
Reference in New Issue
Block a user