• [gentoo-dev] [PATCH 1/1] docs.eclass: fix sphinx/mkdocs docs building i

    From Andrew Ammerlaan@21:1/5 to All on Wed Aug 23 11:00:01 2023
    Hi all,

    This patch copies the sphinx-build logic from python-utils-r1.eclass to
    use 'python -m mkdocs' instead of plain 'mkdocs' whenever possible. This
    fixes building mkdocs themes in pep517 mode where the very themes we are installing would otherwise be unavailable for building the documentation.

    Best regards,
    Andrew

    diff --git a/eclass/docs.eclass b/eclass/docs.eclass
    index 1aa4937a6363..bd2f252eff55 100644
    --- a/eclass/docs.eclass
    +++ b/eclass/docs.eclass
    @@ -269,8 +269,18 @@ sphinx_compile() {
    sed -i -e 's:^intersphinx_mapping:disabled_&:' \
    "${DOCS_DIR}"/conf.py || die
    # not all packages include the Makefile in pypi tarball
    - sphinx-build -b html -d "${DOCS_OUTDIR}"/_build/doctrees "${DOCS_DIR}" \
    - "${DOCS_OUTDIR}" || die "${FUNCNAME}: sphinx-build failed"
    + local command=( "${EPYTHON}" -m sphinx.cmd.build )
    + if ! "${EPYTHON}" -c "import sphinx.cmd.build" 2>/dev/null; then
    + command=( sphinx-build )
    + fi
    + command+=(
    + -b html
    + -d "${DOCS_OUTDIR}"/_build/doctrees
    + "${DOCS_DIR}"
    + "${DOCS_OUTDIR}"
    + )
    + echo "${command[@]}" >&2
    + "${command[@]}" || die "${FUNCNAME}: sphinx-build failed"

    HTML_DOCS+=( "${DOCS_OUTDIR}" )

    @@ -316,9 +326,17 @@ mkdocs_compile() {
    [[ -f ${mkdocsyml} ]] ||
    die "${FUNCNAME}: ${mkdocsyml} not found, DOCS_DIR=${DOCS_DIR} wrong"

    - pushd "${DOCS_DIR}" || die
    - mkdocs build -d "${DOCS_OUTDIR}" || die "${FUNCNAME}: mkdocs build fail