commit:     764e4b954b8df8d9f1393fe514425c736f03aaf6
Author:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
AuthorDate: Mon Apr  6 19:35:11 2020 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
CommitDate: Mon Apr  6 19:35:47 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=764e4b95

eclass/docs: USE these handy _ECLASS variables

to check if python-(any)-r1 has been inherited

Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> riseup.net>

 eclass/docs.eclass | 38 +++++++++++++++++++++++---------------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/eclass/docs.eclass b/eclass/docs.eclass
index e3eaaa3..2f243bd 100644
--- a/eclass/docs.eclass
+++ b/eclass/docs.eclass
@@ -86,18 +86,23 @@ esac
 #
 # Defaults to ${DOCDIR}/_build/html
 
-# If PYHTON_COMPAT is not defined this is not a python
-# package, if it is defined, odds are that either
-# distutils-r1 or python-r1 is inherited as well
-# in this case we cannot inherit python-any-r1
-# because these eclasses are incompatible.
-# We also need to set 'something' to be able
-# to inherit python-any-r1 at all
-if [[ -z "${PYTHON_COMPAT}" ]]; then
-       PYTHON_COMPAT=( python3_{6,7,8} )
-       inherit python-any-r1
-else
-       inherit python-r1
+if [[ ! ${_DOCS} ]]; then
+
+# For the python based DOCBUILDERS we need to inherit python-any-r1
+if [[ "${DOCBUILDER}"=="sphinx" || "${DOCBUILDER}"=="mkdocs" ]]; then
+       # If this is not a python package then
+       # this is not already set, so we need
+       # to set this to inherit python-any-r1
+       if [[ -z "${PYTHON_COMPAT}" ]]; then
+               PYTHON_COMPAT=( python3_{6,7,8} )
+       fi
+
+       # Inherit python-any-r1 if neither python-any-r1 nor
+       # python-r1 have been inherited, because we need the
+       # python_gen_any_dep function
+       if [[ ! ${_PYTHON_R1} && ! ${_PYTHON_ANY_R1} ]]; then
+               inherit python-any-r1
+       fi
 fi
 
 # @FUNCTION: python_check_deps
@@ -162,7 +167,7 @@ sphinx_compile() {
 
        local confpy=${DOCDIR}/conf.py
        [[ -f ${confpy} ]] ||
-               die "${confpy} not found, distutils_enable_sphinx call wrong"
+               die "${confpy} not found, DOCDIR=${DOCDIR} call wrong"
 
        if [[ ${AUTODOC} == 0 ]]; then
                if grep -F -q 'sphinx.ext.autodoc' "${confpy}"; then
@@ -213,7 +218,7 @@ mkdocs_compile() {
 
        local mkdocsyml=${DOCDIR}/mkdocs.yml
        [[ -f ${mkdocsyml} ]] ||
-               die "${mkdocsyml} not found, distutils_enable_mkdocs call wrong"
+               die "${mkdocsyml} not found, DOCDIR=${DOCDIR} wrong"
 
        pushd "${DOCDIR}"
        mkdocs build -d "${OUTDIR}" || die
@@ -299,8 +304,11 @@ fi
 # If this is a python package using distutils-r1
 # then put the compile function in the specific
 # python function, else just put it in src_compile
-if [[ -n "${DISTUTILS_USE_SETUPTOOLS}" ]]; then
+if [[ ${_DISTUTILS_R1} ]]; then
        python_compile_all() { docs_compile; }
 else
        src_compile() { docs_compile; }
 fi
+
+_DOCS=1
+fi

Reply via email to