aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@riseup.net>2020-04-07 09:15:30 +0200
committerAndrew Ammerlaan <andrewammerlaan@riseup.net>2020-04-07 09:16:46 +0200
commit316e8573d3edb2936364e24c4c02286453ba5cca (patch)
tree353be68d368c135fa1b9b7c7e9a02147f023f93d
parentsci-electronics/verilator: fix the order of RDEPEND and DEPEND for 4.026 (diff)
downloadguru-316e8573d3edb2936364e24c4c02286453ba5cca.tar.gz
guru-316e8573d3edb2936364e24c4c02286453ba5cca.tar.bz2
guru-316e8573d3edb2936364e24c4c02286453ba5cca.zip
eclass/docs: many fixes, should work now
Package-Manager: Portage-2.3.96, Repoman-2.3.22 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@riseup.net>
-rw-r--r--eclass/docs.eclass77
1 files changed, 39 insertions, 38 deletions
diff --git a/eclass/docs.eclass b/eclass/docs.eclass
index 2f243bd8f..6e4ceea12 100644
--- a/eclass/docs.eclass
+++ b/eclass/docs.eclass
@@ -68,6 +68,9 @@ esac
# is added by the eclass. E.g. to depend on mkdocs-material:
#
# DOCDEPEND="dev-python/mkdocs-material"
+#
+# This eclass appends to this variable, so you can
+# call it later in your ebuild again if necessary.
# @ECLASS-VARIABLE: AUTODOC
# @PRE_INHERIT
@@ -89,21 +92,29 @@ esac
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
+case "${DOCBUILDER}" in
+ "sphinx"|"mkdocs")
+ # 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
+ # 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
+ ;;
+ "")
+ die "DOCBUILDER unset, should be set to use ${ECLASS}"
+ ;;
+ *)
+ die "Unsupported DOCBUILDER=${DOCBUILDER} (unknown) for ${ECLASS}"
+ ;;
+esac
# @FUNCTION: python_check_deps
# @DESCRIPTION:
@@ -113,10 +124,12 @@ python_check_deps() {
use doc || return 0
local dep
- for dep in ${DOCDEPEND[@]}; do
+ for dep in ${check_deps[@]}; do
has_version "${dep}[${PYTHON_USEDEP}]" || return 1
done
}
+# Save this before we start manipulating it
+check_deps=${DOCDEPEND}
# @FUNCTION: python_append_dep
# @DESCRIPTION:
@@ -129,7 +142,7 @@ python_append_deps() {
local temp=()
local dep
for dep in ${DOCDEPEND[@]}; do
- temp+=" ${dep}"
+ temp+=" ${dep}[\${PYTHON_USEDEP}]"
done
DOCDEPEND=${temp}
}
@@ -142,16 +155,16 @@ sphinx_setup() {
: ${AUTODOC:=1}
- if [[ ! ${AUTODOC} == 1 && -n ${DEPS} ]]; then
+ if [[ ${AUTODOC} == 0 && -n "${DOCDEPEND}" ]]; then
die "${FUNCNAME}: do not set autodoc to 0 if external plugins are used"
fi
if [[ ${AUTODOC} == 1 ]]; then
- deps="$(python_gen_any_dep "
+ DOCDEPEND="$(python_gen_any_dep "
dev-python/sphinx[\${PYTHON_USEDEP}]
${DOCDEPEND}")"
else
- deps="dev-python/sphinx"
+ DOCDEPEND="dev-python/sphinx"
fi
}
@@ -171,11 +184,11 @@ sphinx_compile() {
if [[ ${AUTODOC} == 0 ]]; then
if grep -F -q 'sphinx.ext.autodoc' "${confpy}"; then
- die "distutils_enable_sphinx: autodoc disabled but sphinx.ext.autodoc found in ${confpy}"
+ die "${FUNCNAME}: autodoc disabled but sphinx.ext.autodoc found in ${confpy}"
fi
- elif [[ -z ${DEPS[@]} ]]; then
+ elif [[ -z ${DOCDEPEND[@]} ]]; then
if ! grep -F -q 'sphinx.ext.autodoc' "${confpy}"; then
- die "distutils_enable_sphinx: sphinx.ext.autodoc not found in ${confpy}, set AUTODOC=0"
+ die "${FUNCNAME}: sphinx.ext.autodoc not found in ${confpy}, set AUTODOC=0"
fi
fi
@@ -195,12 +208,12 @@ mkdocs_setup() {
: ${AUTODOC:=0}
if [[ ${AUTODOC} == 1 ]]; then
- deps="$(python_gen_any_dep "
+ DOCDEPEND="$(python_gen_any_dep "
dev-python/mkdocs[\${PYTHON_USEDEP}]
dev-python/mkautodoc[\${PYTHON_USEDEP}]
${DOCDEPEND}")"
else
- deps="$(python_gen_any_dep "
+ DOCDEPEND="$(python_gen_any_dep "
dev-python/mkdocs[\${PYTHON_USEDEP}]
${DOCDEPEND}")"
fi
@@ -257,12 +270,6 @@ docs_compile() {
"mkdocs")
mkdocs_compile
;;
- "")
- die "DOCBUILDER unset, should be set to use ${ECLASS}"
- ;;
- *)
- die "Unsupported DOCBUILDER=${DOCBUILDER} (unknown) for ${ECLASS}"
- ;;
esac
HTML_DOCS+=( "${OUTDIR}/." )
@@ -287,18 +294,12 @@ case "${DOCBUILDER}" in
python_append_deps
mkdocs_setup
;;
- "")
- die "DOCBUILDER unset, should be set to use ${ECLASS}"
- ;;
- *)
- die "Unsupported DOCBUILDER=${DOCBUILDER} (unknown) for ${ECLASS}"
- ;;
esac
if [[ ${EAPI} == [56] ]]; then
- DEPEND+=" doc? ( ${deps} )"
+ DEPEND+=" doc? ( ${DOCDEPEND} )"
else
- BDEPEND+=" doc? ( ${deps} )"
+ BDEPEND+=" doc? ( ${DOCDEPEND} )"
fi
# If this is a python package using distutils-r1