bpo-30487: automatically create a venv and install Sphinx when running make by cjrh · Pull Request #4346 · python/cpython (original) (raw)

@zware thx for checking in. You can look now. Note my comment that starts with "I fixed your other comments. The tests pass. ". I was perhaps unclear there, but I'm basically asking: since the venv block in the Makefile will only run if venv dir is missing, "$(VENVDIR)/bin/sphinx-build" can never succeed until the venv is built; so why check whether $(SPHINXBUILD) --version > /dev/null 2>&1 works?

Also, it was necessary to change the "$(VENVDIR)/bin/sphinx-build" mentioned in the previous paragraph to "PATH=$(VENVDIR)/bin:$$PATH sphinx-build", due to upstream changes. You will see this in the diff.

Next, management of blurb is now also tied to management of Sphinx, since they share a virtualenv. The permutations get complicated if the user can set their own blurb, but not sphinx, or vice versa, or both, or neither, etc. I think that is all overkill and we should make the simple case work well, but it's your feature, tell me how you want it to be :)