[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH v3 20/20] configure: bootstrap sphinx with mkvenv
From: |
John Snow |
Subject: |
[RFC PATCH v3 20/20] configure: bootstrap sphinx with mkvenv |
Date: |
Mon, 24 Apr 2023 16:02:48 -0400 |
When docs are explicitly requested, require Sphinx>=1.6.0. When docs are
explicitly disabled, don't bother to check for Sphinx at all. If docs
are set to "auto", attempt to locate Sphinx, but continue onward if it
wasn't located.
For the case that --enable-pypi is set to 'enabled' (the default) but
docs are set to 'auto' (also the default), do not actually consult PyPI
to install Sphinx. Only perform this action when docs are requested
explicitly.
Signed-off-by: John Snow <jsnow@redhat.com>
---
configure | 27 +++++++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 0881fffc14..a247b9491c 100755
--- a/configure
+++ b/configure
@@ -1122,14 +1122,14 @@ fi
# Suppress writing compiled files
python="$python -B"
-
+mkvenv="$python ${source_path}/python/scripts/mkvenv.py"
mkvenv_flags=""
if test "$pypi" = "enabled" ; then
mkvenv_flags="--online"
fi
-if ! $python "${source_path}/python/scripts/mkvenv.py" ensure \
+if ! $mkvenv ensure \
$mkvenv_flags \
--dir "${source_path}/python/wheels" \
--diagnose "meson" \
@@ -1144,6 +1144,29 @@ fi
# *exclusively*.
meson="$(cd pyvenv/bin; pwd)/meson"
+# Conditionally ensure Sphinx is installed.
+
+mkvenv_flags=""
+if test "$pypi" = "enabled" -a "$docs" = "enabled" ; then
+ mkvenv_flags="--online"
+fi
+
+if test "$docs" != "disabled" ; then
+ if ! $mkvenv ensure \
+ $mkvenv_flags \
+ --diagnose "sphinx-build" \
+ "sphinx>=1.6.0" ;
+ then
+ if test "$docs" = "enabled" ; then
+ exit 1
+ fi
+ echo "Sphinx not found/usable, disabling docs."
+ docs=disabled
+ else
+ docs=enabled
+ fi
+fi
+
echo "MKVENV ok!"
# Probe for ninja
--
2.39.2
- [RFC PATCH v3 14/20] configure: use 'mkvenv ensure meson' to bootstrap meson, (continued)
- [RFC PATCH v3 01/20] python: update pylint configuration, John Snow, 2023/04/24
- [RFC PATCH v3 16/20] tests: Use configure-provided pyvenv for tests, John Snow, 2023/04/24
- [RFC PATCH v3 17/20] configure: move --enable-docs and --disable-docs back to configure, John Snow, 2023/04/24
- [RFC PATCH v3 19/20] configure: use --diagnose option with meson ensure, John Snow, 2023/04/24
- [RFC PATCH v3 18/20] mkvenv: add diagnose() method for ensure() failures, John Snow, 2023/04/24
- [RFC PATCH v3 20/20] configure: bootstrap sphinx with mkvenv,
John Snow <=
- Re: [RFC PATCH v3 00/20] configure: create a python venv and ensure meson, sphinx, Daniel P . Berrangé, 2023/04/25
- Re: [RFC PATCH v3 00/20] configure: create a python venv and ensure meson, sphinx, John Snow, 2023/04/25
- Re: [RFC PATCH v3 00/20] configure: create a python venv and ensure meson, sphinx, John Snow, 2023/04/25
- Re: [RFC PATCH v3 00/20] configure: create a python venv and ensure meson, sphinx, Daniel P . Berrangé, 2023/04/25
- Re: [RFC PATCH v3 00/20] configure: create a python venv and ensure meson, sphinx, John Snow, 2023/04/25
- Re: [RFC PATCH v3 00/20] configure: create a python venv and ensure meson, sphinx, Daniel P . Berrangé, 2023/04/26
- Re: [RFC PATCH v3 00/20] configure: create a python venv and ensure meson, sphinx, Paolo Bonzini, 2023/04/26
- Re: [RFC PATCH v3 00/20] configure: create a python venv and ensure meson, sphinx, Daniel P . Berrangé, 2023/04/25
Re: [RFC PATCH v3 00/20] configure: create a python venv and ensure meson, sphinx, Paolo Bonzini, 2023/04/26