From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Warner Losh" <imp@bsdimp.com>, "Beraldo Leal" <bleal@redhat.com>,
"John Snow" <jsnow@redhat.com>, "Kyle Evans" <kevans@freebsd.org>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Daniel Berrange" <berrange@redhat.com>,
"Reinoud Zandijk" <reinoud@netbsd.org>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Cleber Rosa" <crosa@redhat.com>,
"Ryo ONODERA" <ryoon@netbsd.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Ani Sinha" <ani@anisinha.ca>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>
Subject: [RFC PATCH v3 20/20] configure: bootstrap sphinx with mkvenv
Date: Mon, 24 Apr 2023 16:02:48 -0400 [thread overview]
Message-ID: <20230424200248.1183394-21-jsnow@redhat.com> (raw)
In-Reply-To: <20230424200248.1183394-1-jsnow@redhat.com>
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
next prev parent reply other threads:[~2023-04-24 20:08 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-24 20:02 [RFC PATCH v3 00/20] configure: create a python venv and ensure meson, sphinx John Snow
2023-04-24 20:02 ` [RFC PATCH v3 01/20] python: update pylint configuration John Snow
2023-04-25 16:38 ` Daniel P. Berrangé
2023-04-24 20:02 ` [RFC PATCH v3 02/20] python: add mkvenv.py John Snow
2023-04-24 20:02 ` [RFC PATCH v3 03/20] mkvenv: add console script entry point generation John Snow
2023-04-24 20:02 ` [RFC PATCH v3 04/20] mkvenv: Add better error message for missing pyexpat module John Snow
2023-04-24 20:02 ` [RFC PATCH v3 05/20] mkvenv: generate console entry shims from inside the venv John Snow
2023-04-24 20:02 ` [RFC PATCH v3 06/20] mkvenv: work around broken pip installations on Debian 10 John Snow
2023-04-24 20:02 ` [RFC PATCH v3 07/20] mkvenv: add nested venv workaround John Snow
2023-04-24 20:02 ` [RFC PATCH v3 08/20] mkvenv: add ensure subcommand John Snow
2023-04-24 20:02 ` [RFC PATCH v3 09/20] tests/docker: add python3-venv dependency John Snow
2023-04-25 16:42 ` Daniel P. Berrangé
2023-04-24 20:02 ` [RFC PATCH v3 10/20] tests/vm: Configure netbsd to use Python 3.10 John Snow
2023-04-25 16:43 ` Daniel P. Berrangé
2023-04-24 20:02 ` [RFC PATCH v3 11/20] tests/vm: add py310-expat to NetBSD John Snow
2023-04-25 16:45 ` Daniel P. Berrangé
2023-04-25 16:57 ` John Snow
2023-04-24 20:02 ` [RFC PATCH v3 12/20] scripts/make-release: download meson==0.61.5 .whl John Snow
2023-04-24 20:02 ` [RFC PATCH v3 13/20] configure: create a python venv unconditionally John Snow
2023-04-24 20:02 ` [RFC PATCH v3 14/20] configure: use 'mkvenv ensure meson' to bootstrap meson John Snow
2023-04-24 20:35 ` Warner Losh
2023-04-24 20:41 ` John Snow
2023-04-24 21:20 ` Warner Losh
2023-04-24 20:02 ` [RFC PATCH v3 15/20] configure: add --enable-pypi and --disable-pypi John Snow
2023-04-24 20:02 ` [RFC PATCH v3 16/20] tests: Use configure-provided pyvenv for tests John Snow
2023-04-24 20:02 ` [RFC PATCH v3 17/20] configure: move --enable-docs and --disable-docs back to configure John Snow
2023-04-24 20:02 ` [RFC PATCH v3 18/20] mkvenv: add diagnose() method for ensure() failures John Snow
2023-04-24 20:02 ` [RFC PATCH v3 19/20] configure: use --diagnose option with meson ensure John Snow
2023-04-24 20:02 ` John Snow [this message]
2023-04-25 17:17 ` [RFC PATCH v3 00/20] configure: create a python venv and ensure meson, sphinx Daniel P. Berrangé
2023-04-25 17:22 ` John Snow
2023-04-25 17:34 ` John Snow
2023-04-25 18:10 ` Daniel P. Berrangé
2023-04-25 18:58 ` John Snow
2023-04-26 8:21 ` Daniel P. Berrangé
2023-04-26 8:35 ` Paolo Bonzini
2023-04-25 18:03 ` Daniel P. Berrangé
2023-04-26 8:05 ` Paolo Bonzini
2023-04-26 8:49 ` Paolo Bonzini
2023-04-26 16:16 ` John Snow
2023-04-26 19:10 ` Paolo Bonzini
2023-04-26 8:53 ` Daniel P. Berrangé
2023-04-26 9:08 ` Paolo Bonzini
2023-04-26 16:32 ` John Snow
2023-04-26 19:23 ` Paolo Bonzini
2023-05-01 19:20 ` John Snow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230424200248.1183394-21-jsnow@redhat.com \
--to=jsnow@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=ani@anisinha.ca \
--cc=berrange@redhat.com \
--cc=bleal@redhat.com \
--cc=crosa@redhat.com \
--cc=imp@bsdimp.com \
--cc=kevans@freebsd.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=reinoud@netbsd.org \
--cc=ryoon@netbsd.org \
--cc=thuth@redhat.com \
--cc=wainersm@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).