Skip to content

Allow building Sphinx docs #55

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

jsquyres
Copy link
Member

If docs/requirements.txt exists in the source tree, that means that we
have Sphinx documentation, not Pandoc documentation. Create a Python
virtual environment before running configure and install the Right
things for Sphinx to build the man pages. This also means that there
will be no Pandoc-generated man pages, so don't bother trying to
convert them to HTML.

Signed-off-by: Jeff Squyres [email protected]

@jsquyres jsquyres requested a review from bwbarrett February 13, 2022 15:18
@jsquyres
Copy link
Member Author

@bwbarrett I'm not entirely sure that this is correct; I could use your guidance here. The intent for this PR is to support open-mpi/ompi#8329 by allowing building the Sphinx docs if they are present (and skip doing some Pandoc things). Once open-mpi/ompi#8329 merges, we can further simplify a few things here in ompi-scripts by fully removing all Pandoc things.

If docs/requirements.txt exists in the source tree, that means that we
have Sphinx documentation, not Pandoc documentation, and we don't need
to do the Pandoc-specific things to make HTML man pages.

Also add some comments about the pending switch on the v5.0.x branch
from Pandoc to Sphinx.  When that happens, we can delete
Pandoc-specific stuff from these scripts.

Signed-off-by: Jeff Squyres <[email protected]>
@@ -179,6 +179,9 @@ fi
# ./configure --help. In prep for 5.0, we added a developer
# requirement for pandoc to build (not required for dist tarballs),
# with an explicit option to disable.
# JMS: The requirement will shortly change from pandoc to Sphinx.
# Keep pandoc for now; when Sphinx is brought to the v5.0.x branch, we
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We run CI tests on branches prior to 5.0.x, so we can't remove this block for some time. That said, it needs to change. I think the logic becomes:

  1. if no --disable-man-pages option to configure, do nothing. (this is a pre-pandoc build)
  2. if docs/requirements.txt exists, do nothing (this is a 5.0.x or later build, so configure will autoselct forward whether or not Sphinx is found).
  3. if pandoc is found, do nothing (this is a pandoc-era build, and we have pandoc)
  4. else, add --disable-man-pages to configure (this is a pandoc-era build, and we don't have pandoc, so we need to add a configure argument to let the build succeed).

@jsquyres jsquyres closed this Aug 17, 2022
@jsquyres jsquyres deleted the pr/build-sphinx branch August 17, 2022 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants