commit:     803ac64d367c4c865a2c30f1196dfec95dc7fee1
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 14 02:45:40 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 14 03:48:12 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=803ac64d

toolchain.eclass: add initial sphinx support for 13

Adds TOOLCHAIN_SPHINX_BUILD. Upstream have converted their docs
to Sphinx and it's needed for man, info, and HTML docs.

There's no progress yet on including the files in dist tarballs though.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 2bed15110ece..4b96a087352c 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -100,6 +100,12 @@ tc_version_is_between() {
 # @DESCRIPTION:
 # Indicate the developer who hosts the patchset for an ebuild.
 
+# @ECLASS_VARIABLE: TOOLCHAIN_SPHINX_BUILD
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Indicate if Sphinx is needed for this build. Enabled by default for
+# >= 13.*.9999 (this is when upstream changed their docs from texinfo->sphinx).
+
 # @ECLASS_VARIABLE: GCC_PV
 # @INTERNAL
 # @DESCRIPTION:
@@ -289,7 +295,8 @@ fi
 
 #---->> DEPEND <<----
 
-RDEPEND="sys-libs/zlib
+RDEPEND="
+       sys-libs/zlib
        virtual/libiconv
        nls? ( virtual/libintl )
 "
@@ -320,10 +327,18 @@ BDEPEND="
        test? (
                >=dev-util/dejagnu-1.4.4
                >=sys-devel/autogen-5.5.4
-       )"
+       )
+"
 DEPEND="${RDEPEND}"
 
+# Snapshots don't contain info or man pages.
 if [[ ${PN} == gcc && ${PV} == *_p* ]] ; then
+       # >= GCC 13 needs sphinx to generate the info and man pages.
+       # It still uses texinfo as well.
+       if [[ -n ${TOOLCHAIN_SPHINX_BUILD} ]] ; then
+               BDEPEND+=" dev-python/sphinx"
+       fi
+
        # Snapshots don't contain info pages.
        # If they start to, adjust gcc_cv_prog_makeinfo_modern logic in 
toolchain_src_configure.
        # Needed unless/until 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106899 is fixed

Reply via email to