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