diff options
| author | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2023-07-14 09:48:22 +0200 |
|---|---|---|
| committer | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2023-07-17 10:03:10 +0200 |
| commit | 3a6c1dbbb68093c139b9fdb0420cf5e913c7cfe6 (patch) | |
| tree | dd98c0456e52fceef4680a4c0f1b43c6fc13f538 /eclass/docs.eclass | |
| parent | ded4355b6b18b1c982d17c9f0e6f4c6f3d276715 (diff) | |
| download | gentoo-3a6c1dbbb68093c139b9fdb0420cf5e913c7cfe6.tar.gz gentoo-3a6c1dbbb68093c139b9fdb0420cf5e913c7cfe6.tar.bz2 gentoo-3a6c1dbbb68093c139b9fdb0420cf5e913c7cfe6.zip | |
docs.eclass: define missing python_check_deps()
and remove some code duplication
Closes: https://bugs.gentoo.org/910278
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Diffstat (limited to 'eclass/docs.eclass')
| -rw-r--r-- | eclass/docs.eclass | 59 |
1 files changed, 33 insertions, 26 deletions
diff --git a/eclass/docs.eclass b/eclass/docs.eclass index da598226bfc0..1aa4937a6363 100644 --- a/eclass/docs.eclass +++ b/eclass/docs.eclass @@ -186,21 +186,36 @@ initialize_git_repo() { fi } -# @FUNCTION: python_append_deps +# @FUNCTION: _docs_set_python_deps # @INTERNAL # @DESCRIPTION: -# Appends [\${PYTHON_USEDEP}] to all dependencies -# for python based DOCS_BUILDERs such as mkdocs or -# sphinx. -python_append_deps() { +# Add python_gen_any_dep or python_gen_cond_dep +# to DOCS_DEPEND and define python_check_deps +_docs_set_python_deps() { debug-print-function ${FUNCNAME} - local temp + local deps=${@} + python_check_deps() { + use doc || return 0 + + local dep + for dep in ${deps[@]}; do + python_has_version "${dep}[${PYTHON_USEDEP}]" || + return 1 + done + } + + local deps_appended local dep - for dep in ${DOCS_DEPEND[@]}; do - temp+=" ${dep}[\${PYTHON_USEDEP}]" + for dep in ${deps[@]}; do + deps_appended+=" ${dep}[\${PYTHON_USEDEP}]" done - DOCS_DEPEND=${temp} + + if [[ ${_PYTHON_SINGLE_R1_ECLASS} ]]; then + DOCS_DEPEND=$(python_gen_cond_dep "${deps_appended}") + else + DOCS_DEPEND=$(python_gen_any_dep "${deps_appended}") + fi } # @FUNCTION: sphinx_deps @@ -212,8 +227,8 @@ sphinx_deps() { : "${DOCS_AUTODOC:=1}" - deps="dev-python/sphinx[\${PYTHON_USEDEP}] - ${DOCS_DEPEND}" + deps="dev-python/sphinx + ${DOCS_DEPEND}" if [[ ${DOCS_AUTODOC} == 0 ]]; then if [[ -n "${DOCS_DEPEND}" ]]; then die "${FUNCNAME}: do not set DOCS_AUTODOC to 0 if external plugins are used" @@ -221,11 +236,8 @@ sphinx_deps() { elif [[ ${DOCS_AUTODOC} != 0 && ${DOCS_AUTODOC} != 1 ]]; then die "${FUNCNAME}: DOCS_AUTODOC should be set to 0 or 1" fi - if [[ ${_PYTHON_SINGLE_R1_ECLASS} ]]; then - DOCS_DEPEND="$(python_gen_cond_dep "${deps}")" - else - DOCS_DEPEND="$(python_gen_any_dep "${deps}")" - fi + + _docs_set_python_deps ${deps} } # @FUNCTION: sphinx_compile @@ -276,19 +288,16 @@ mkdocs_deps() { : "${DOCS_AUTODOC:=0}" - deps="dev-python/mkdocs[\${PYTHON_USEDEP}] - ${DOCS_DEPEND}" + deps="dev-python/mkdocs + ${DOCS_DEPEND}" if [[ ${DOCS_AUTODOC} == 1 ]]; then - deps="dev-python/mkautodoc[\${PYTHON_USEDEP}] + deps="dev-python/mkautodoc ${deps}" elif [[ ${DOCS_AUTODOC} != 0 && ${DOCS_AUTODOC} != 1 ]]; then die "${FUNCNAME}: DOCS_AUTODOC should be set to 0 or 1" fi - if [[ ${_PYTHON_SINGLE_R1_ECLASS} ]]; then - DOCS_DEPEND="$(python_gen_cond_dep "${deps}")" - else - DOCS_DEPEND="$(python_gen_any_dep "${deps}")" - fi + + _docs_set_python_deps ${deps} } # @FUNCTION: mkdocs_compile @@ -404,11 +413,9 @@ IUSE+=" doc" # Call the correct setup function case ${DOCS_BUILDER} in "sphinx") - python_append_deps sphinx_deps ;; "mkdocs") - python_append_deps mkdocs_deps ;; "doxygen") |
