Allow bootstrapping sphinx
1. Introduce --without websupport Sphinx (build)requires sphinxcontrib-websupport but that (build)requires sphinx. This bcond can be used to bootstrap this. 2. Introduce --without tests The tests bring a lot of additional dependencies that make bootstrapping harder. This allows to build without tests. 3. Build the docs with self The documentation was built with 'python', thus importing sphinx from python2's sitelib. Sphinx was installed because of the above mentioned buildrequirement of sphinxcontrib-websupport. Now current sphinx from PWD is used, also python3 is used when available, otherwise python2. Never just python.
This commit is contained in:
parent
baac7bad24
commit
da1eff5e26
@ -11,6 +11,11 @@
|
||||
%bcond_without imagemagick_tests
|
||||
%endif
|
||||
|
||||
# When bootstrapping sphinx, we don't yet have sphinxcontrib-websupport
|
||||
%bcond_without websupport
|
||||
# Also, we don't have all the tests requirements
|
||||
%bcond_without tests
|
||||
|
||||
# Currently, python2 version is always the default: https://fedoraproject.org/wiki/Packaging:Python#Naming
|
||||
%if 1
|
||||
%global py3_default 0
|
||||
@ -67,13 +72,15 @@ BuildRequires: python2-imagesize
|
||||
BuildRequires: python2-requests
|
||||
BuildRequires: python2-packaging
|
||||
BuildRequires: python2-typing
|
||||
%if %{with websupport}
|
||||
BuildRequires: python2-sphinxcontrib-websupport
|
||||
%endif
|
||||
BuildRequires: environment(modules)
|
||||
|
||||
# for fixes
|
||||
BuildRequires: dos2unix
|
||||
|
||||
# for testing
|
||||
%if %{with tests}
|
||||
BuildRequires: python2-nose
|
||||
BuildRequires: python2-pytest
|
||||
BuildRequires: python2-pytest-cov
|
||||
@ -126,6 +133,7 @@ BuildRequires: tex(tabulary.sty)
|
||||
BuildRequires: tex(polyglossia.sty)
|
||||
BuildRequires: tex(ctablestack.sty)
|
||||
BuildRequires: tex(eu1enc.def)
|
||||
%endif
|
||||
|
||||
%if 0%{?with_python3}
|
||||
BuildRequires: python3-devel
|
||||
@ -134,6 +142,16 @@ BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-docutils
|
||||
BuildRequires: python3-jinja2
|
||||
BuildRequires: python3-pygments
|
||||
BuildRequires: python3-six
|
||||
BuildRequires: python3-sphinx_rtd_theme
|
||||
BuildRequires: python3-sphinx-theme-alabaster
|
||||
BuildRequires: python3-packaging
|
||||
BuildRequires: python3-imagesize
|
||||
BuildRequires: python3-requests
|
||||
%if %{with websupport}
|
||||
BuildRequires: python3-sphinxcontrib-websupport
|
||||
%endif
|
||||
%if %{with tests}
|
||||
BuildRequires: python3-nose
|
||||
BuildRequires: python3-pytest
|
||||
BuildRequires: python3-pytest-cov
|
||||
@ -143,13 +161,7 @@ BuildRequires: python3-simplejson
|
||||
BuildRequires: python3-html5lib
|
||||
BuildRequires: python3-whoosh
|
||||
BuildRequires: python3-snowballstemmer
|
||||
BuildRequires: python3-six
|
||||
BuildRequires: python3-sphinx_rtd_theme
|
||||
BuildRequires: python3-sphinx-theme-alabaster
|
||||
BuildRequires: python3-packaging
|
||||
BuildRequires: python3-imagesize
|
||||
BuildRequires: python3-requests
|
||||
BuildRequires: python3-sphinxcontrib-websupport
|
||||
%endif
|
||||
%endif # with_python3
|
||||
|
||||
|
||||
@ -198,7 +210,9 @@ Requires: python2-imagesize
|
||||
Requires: python2-requests
|
||||
Requires: python2-packaging
|
||||
Requires: python2-typing
|
||||
%if %{with websupport}
|
||||
Requires: python2-sphinxcontrib-websupport
|
||||
%endif
|
||||
Requires: environment(modules)
|
||||
# Needed to get rid of the alternatives config installed in f24 and f25
|
||||
# versions of the package
|
||||
@ -310,8 +324,10 @@ Requires: python3-sphinx-theme-alabaster
|
||||
Requires: python3-imagesize
|
||||
Requires: python3-requests
|
||||
Requires: python3-six
|
||||
Requires: python3-sphinxcontrib-websupport
|
||||
Requires: python3-packaging
|
||||
%if %{with websupport}
|
||||
Requires: python3-sphinxcontrib-websupport
|
||||
%endif
|
||||
Recommends: graphviz
|
||||
Recommends: ImageMagick
|
||||
Requires: environment(modules)
|
||||
@ -394,10 +410,14 @@ cp %{SOURCE5} .
|
||||
# fix line encoding of bundled jquery.js
|
||||
dos2unix -k ./sphinx/themes/basic/static/jquery.js
|
||||
|
||||
%if ! %{with imagemagick_tests}
|
||||
%if %{without imagemagick_tests}
|
||||
rm tests/test_ext_imgconverter.py
|
||||
%endif
|
||||
|
||||
%if %{without websupport}
|
||||
rm tests/test_websupport.py tests/test_api_translator.py
|
||||
%endif
|
||||
|
||||
%if 0%{?with_python3}
|
||||
rm -rf %{py3dir}
|
||||
cp -a . %{py3dir}
|
||||
@ -409,9 +429,16 @@ cp -a . %{py3dir}
|
||||
%py3_build
|
||||
%endif # with_python3
|
||||
|
||||
export PYTHONPATH=$PWD
|
||||
pushd doc
|
||||
make html
|
||||
make man
|
||||
%if 0%{?with_python3}
|
||||
export SPHINXBUILD="%{__python3} ../sphinx/cmd/build.py"
|
||||
%else
|
||||
export SPHINXBUILD="%{__python2} ../sphinx/cmd/build.py"
|
||||
%endif
|
||||
|
||||
make html SPHINXBUILD="$SPHINXBUILD"
|
||||
make man SPHINXBUILD="$SPHINXBUILD"
|
||||
rm -rf _build/html/.buildinfo
|
||||
mv _build/html ..
|
||||
popd
|
||||
@ -520,10 +547,14 @@ done
|
||||
>> sphinx.lang
|
||||
|
||||
|
||||
%if %{with tests}
|
||||
%check
|
||||
export PYTHONPATH=$PWD
|
||||
|
||||
# Currently, all linkcheck tests hit external websites. Since network access
|
||||
# is disabled in koji, we have to disable these.
|
||||
rm tests/test_build_linkcheck.py
|
||||
|
||||
# Igoring test_api_translator for now as it fails on Fedora.
|
||||
# The issue has been reported upstream: https://github.com/sphinx-doc/sphinx/issues/4710
|
||||
LANG=en_US.UTF-8 %{__python2} -m pytest -v --ignore=tests/test_api_translator.py
|
||||
@ -535,6 +566,7 @@ rm tests/test_build_linkcheck.py
|
||||
LANG=en_US.UTF-8 PYTHON=python3 make test
|
||||
popd
|
||||
%endif # with_python3
|
||||
%endif # with tests
|
||||
|
||||
|
||||
%files latex
|
||||
|
Loading…
Reference in New Issue
Block a user