commit:     4ed38fe356eb6729a4fec7578c2c775af91755bc
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 26 12:20:02 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct 26 16:48:41 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ed38fe3

sys-devel/clang: Reuse eclass manpage build logic for 10.0.1+

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 sys-devel/clang/clang-10.0.1.ebuild      | 39 ++++++++++++++++++++-----------
 sys-devel/clang/clang-11.0.0.9999.ebuild | 39 ++++++++++++++++++++-----------
 sys-devel/clang/clang-11.0.0.ebuild      | 39 ++++++++++++++++++++-----------
 sys-devel/clang/clang-12.0.0.9999.ebuild | 40 ++++++++++++++++++++------------
 4 files changed, 103 insertions(+), 54 deletions(-)

diff --git a/sys-devel/clang/clang-10.0.1.ebuild 
b/sys-devel/clang/clang-10.0.1.ebuild
index d3aad2e7443..547b3a5ef49 100644
--- a/sys-devel/clang/clang-10.0.1.ebuild
+++ b/sys-devel/clang/clang-10.0.1.ebuild
@@ -10,6 +10,7 @@ inherit cmake llvm llvm.org multilib-minimal pax-utils \
 DESCRIPTION="C language family frontend for LLVM"
 HOMEPAGE="https://llvm.org/";
 LLVM_COMPONENTS=( clang clang-tools-extra )
+LLVM_MANPAGES=build
 LLVM_TEST_COMPONENTS=(
        llvm/lib/Testing/Support
        llvm/utils/{lit,llvm-lit,unittest}
@@ -43,7 +44,7 @@ RDEPEND="
        ${PYTHON_DEPS}"
 DEPEND="${RDEPEND}"
 BDEPEND="
-       dev-python/sphinx
+       doc? ( dev-python/sphinx )
        xml? ( virtual/pkgconfig )
        ${PYTHON_DEPS}"
 RDEPEND="${RDEPEND}
@@ -116,7 +117,7 @@ check_distribution_components() {
                                                ;;
                                        # conditional to USE=doc
                                        docs-clang-html|docs-clang-tools-html)
-                                               continue
+                                               use doc || continue
                                                ;;
                                esac
 
@@ -196,11 +197,15 @@ get_distribution_components() {
                        find-all-symbols
                        modularize
                        pp-trace
-
-                       # manpages
-                       docs-clang-man
-                       docs-clang-tools-man
                )
+               
+               if llvm_are_manpages_built; then
+                       out+=(
+                               # manpages
+                               docs-clang-man
+                               docs-clang-tools-man
+                       )
+               fi
 
                use doc && out+=(
                        docs-clang-html
@@ -259,16 +264,23 @@ multilib_src_configure() {
        )
 
        if multilib_is_native_abi; then
+               local build_docs=OFF
+               if llvm_are_manpages_built; then
+                       build_docs=ON
+                       mycmakeargs+=(
+                               -DLLVM_BUILD_DOCS=ON
+                               -DLLVM_ENABLE_SPHINX=ON
+                               
-DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+                               
-DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
+                               -DSPHINX_WARNINGS_AS_ERRORS=OFF
+                       )
+               fi
+
                mycmakeargs+=(
                        # normally copied from LLVM_INCLUDE_DOCS but the latter
                        # is lacking value in stand-alone builds
-                       -DCLANG_INCLUDE_DOCS=ON
-                       -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON
-                       -DLLVM_BUILD_DOCS=ON
-                       -DLLVM_ENABLE_SPHINX=ON
-                       
-DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-                       
-DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
-                       -DSPHINX_WARNINGS_AS_ERRORS=OFF
+                       -DCLANG_INCLUDE_DOCS=${build_docs}
+                       -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
                )
        else
                mycmakeargs+=(
@@ -389,6 +401,7 @@ multilib_src_install_all() {
        fi
 
        docompress "/usr/lib/llvm/${SLOT}/share/man"
+       llvm_install_manpages
        # match 'html' non-compression
        use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
        # +x for some reason; TODO: investigate

diff --git a/sys-devel/clang/clang-11.0.0.9999.ebuild 
b/sys-devel/clang/clang-11.0.0.9999.ebuild
index 9a815d36163..a66c3ab9739 100644
--- a/sys-devel/clang/clang-11.0.0.9999.ebuild
+++ b/sys-devel/clang/clang-11.0.0.9999.ebuild
@@ -10,6 +10,7 @@ inherit cmake llvm llvm.org multilib-minimal pax-utils \
 DESCRIPTION="C language family frontend for LLVM"
 HOMEPAGE="https://llvm.org/";
 LLVM_COMPONENTS=( clang clang-tools-extra )
+LLVM_MANPAGES=build
 LLVM_TEST_COMPONENTS=(
        llvm/lib/Testing/Support
        llvm/utils/{lit,llvm-lit,unittest}
@@ -44,8 +45,8 @@ RDEPEND="
        ${PYTHON_DEPS}"
 DEPEND="${RDEPEND}"
 BDEPEND="
-       dev-python/sphinx
        >=dev-util/cmake-3.16
+       doc? ( dev-python/sphinx )
        xml? ( virtual/pkgconfig )
        ${PYTHON_DEPS}"
 RDEPEND="${RDEPEND}
@@ -112,7 +113,7 @@ check_distribution_components() {
                                                ;;
                                        # conditional to USE=doc
                                        docs-clang-html|docs-clang-tools-html)
-                                               continue
+                                               use doc || continue
                                                ;;
                                esac
 
@@ -191,11 +192,15 @@ get_distribution_components() {
                        find-all-symbols
                        modularize
                        pp-trace
-
-                       # manpages
-                       docs-clang-man
-                       docs-clang-tools-man
                )
+               
+               if llvm_are_manpages_built; then
+                       out+=(
+                               # manpages
+                               docs-clang-man
+                               docs-clang-tools-man
+                       )
+               fi
 
                use doc && out+=(
                        docs-clang-html
@@ -256,16 +261,23 @@ multilib_src_configure() {
        )
 
        if multilib_is_native_abi; then
+               local build_docs=OFF
+               if llvm_are_manpages_built; then
+                       build_docs=ON
+                       mycmakeargs+=(
+                               -DLLVM_BUILD_DOCS=ON
+                               -DLLVM_ENABLE_SPHINX=ON
+                               
-DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+                               
-DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
+                               -DSPHINX_WARNINGS_AS_ERRORS=OFF
+                       )
+               fi
+
                mycmakeargs+=(
                        # normally copied from LLVM_INCLUDE_DOCS but the latter
                        # is lacking value in stand-alone builds
-                       -DCLANG_INCLUDE_DOCS=ON
-                       -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON
-                       -DLLVM_BUILD_DOCS=ON
-                       -DLLVM_ENABLE_SPHINX=ON
-                       
-DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-                       
-DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
-                       -DSPHINX_WARNINGS_AS_ERRORS=OFF
+                       -DCLANG_INCLUDE_DOCS=${build_docs}
+                       -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
                )
        else
                mycmakeargs+=(
@@ -386,6 +398,7 @@ multilib_src_install_all() {
        fi
 
        docompress "/usr/lib/llvm/${SLOT}/share/man"
+       llvm_install_manpages
        # match 'html' non-compression
        use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
        # +x for some reason; TODO: investigate

diff --git a/sys-devel/clang/clang-11.0.0.ebuild 
b/sys-devel/clang/clang-11.0.0.ebuild
index ed86435d86e..facfef0b9a2 100644
--- a/sys-devel/clang/clang-11.0.0.ebuild
+++ b/sys-devel/clang/clang-11.0.0.ebuild
@@ -10,6 +10,7 @@ inherit cmake llvm llvm.org multilib-minimal pax-utils \
 DESCRIPTION="C language family frontend for LLVM"
 HOMEPAGE="https://llvm.org/";
 LLVM_COMPONENTS=( clang clang-tools-extra )
+LLVM_MANPAGES=build
 LLVM_TEST_COMPONENTS=(
        llvm/lib/Testing/Support
        llvm/utils/{lit,llvm-lit,unittest}
@@ -44,8 +45,8 @@ RDEPEND="
        ${PYTHON_DEPS}"
 DEPEND="${RDEPEND}"
 BDEPEND="
-       dev-python/sphinx
        >=dev-util/cmake-3.16
+       doc? ( dev-python/sphinx )
        xml? ( virtual/pkgconfig )
        ${PYTHON_DEPS}"
 RDEPEND="${RDEPEND}
@@ -112,7 +113,7 @@ check_distribution_components() {
                                                ;;
                                        # conditional to USE=doc
                                        docs-clang-html|docs-clang-tools-html)
-                                               continue
+                                               use doc || continue
                                                ;;
                                esac
 
@@ -191,11 +192,15 @@ get_distribution_components() {
                        find-all-symbols
                        modularize
                        pp-trace
-
-                       # manpages
-                       docs-clang-man
-                       docs-clang-tools-man
                )
+               
+               if llvm_are_manpages_built; then
+                       out+=(
+                               # manpages
+                               docs-clang-man
+                               docs-clang-tools-man
+                       )
+               fi
 
                use doc && out+=(
                        docs-clang-html
@@ -256,16 +261,23 @@ multilib_src_configure() {
        )
 
        if multilib_is_native_abi; then
+               local build_docs=OFF
+               if llvm_are_manpages_built; then
+                       build_docs=ON
+                       mycmakeargs+=(
+                               -DLLVM_BUILD_DOCS=ON
+                               -DLLVM_ENABLE_SPHINX=ON
+                               
-DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+                               
-DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
+                               -DSPHINX_WARNINGS_AS_ERRORS=OFF
+                       )
+               fi
+
                mycmakeargs+=(
                        # normally copied from LLVM_INCLUDE_DOCS but the latter
                        # is lacking value in stand-alone builds
-                       -DCLANG_INCLUDE_DOCS=ON
-                       -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON
-                       -DLLVM_BUILD_DOCS=ON
-                       -DLLVM_ENABLE_SPHINX=ON
-                       
-DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-                       
-DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
-                       -DSPHINX_WARNINGS_AS_ERRORS=OFF
+                       -DCLANG_INCLUDE_DOCS=${build_docs}
+                       -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
                )
        else
                mycmakeargs+=(
@@ -386,6 +398,7 @@ multilib_src_install_all() {
        fi
 
        docompress "/usr/lib/llvm/${SLOT}/share/man"
+       llvm_install_manpages
        # match 'html' non-compression
        use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
        # +x for some reason; TODO: investigate

diff --git a/sys-devel/clang/clang-12.0.0.9999.ebuild 
b/sys-devel/clang/clang-12.0.0.9999.ebuild
index 5d413abcc3e..c2935609f3f 100644
--- a/sys-devel/clang/clang-12.0.0.9999.ebuild
+++ b/sys-devel/clang/clang-12.0.0.9999.ebuild
@@ -10,6 +10,7 @@ inherit cmake llvm llvm.org multilib-minimal pax-utils \
 DESCRIPTION="C language family frontend for LLVM"
 HOMEPAGE="https://llvm.org/";
 LLVM_COMPONENTS=( clang clang-tools-extra )
+LLVM_MANPAGES=build
 LLVM_TEST_COMPONENTS=(
        llvm/lib/Testing/Support
        llvm/utils/{lit,llvm-lit,unittest}
@@ -44,8 +45,8 @@ RDEPEND="
        ${PYTHON_DEPS}"
 DEPEND="${RDEPEND}"
 BDEPEND="
-       dev-python/sphinx
        >=dev-util/cmake-3.16
+       doc? ( dev-python/sphinx )
        xml? ( virtual/pkgconfig )
        ${PYTHON_DEPS}"
 RDEPEND="${RDEPEND}
@@ -110,7 +111,7 @@ check_distribution_components() {
                                                ;;
                                        # conditional to USE=doc
                                        docs-clang-html|docs-clang-tools-html)
-                                               continue
+                                               use doc || continue
                                                ;;
                                esac
 
@@ -189,11 +190,15 @@ get_distribution_components() {
                        find-all-symbols
                        modularize
                        pp-trace
-
-                       # manpages
-                       docs-clang-man
-                       docs-clang-tools-man
                )
+               
+               if llvm_are_manpages_built; then
+                       out+=(
+                               # manpages
+                               docs-clang-man
+                               docs-clang-tools-man
+                       )
+               fi
 
                use doc && out+=(
                        docs-clang-html
@@ -254,17 +259,21 @@ multilib_src_configure() {
        )
 
        if multilib_is_native_abi; then
+               local build_docs=OFF
+               if llvm_are_manpages_built; then
+                       build_docs=ON
+                       mycmakeargs+=(
+                               -DLLVM_BUILD_DOCS=ON
+                               -DLLVM_ENABLE_SPHINX=ON
+                               
-DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+                               
-DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
+                               -DSPHINX_WARNINGS_AS_ERRORS=OFF
+                       )
+               fi
                mycmakeargs+=(
                        
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
-                       # normally copied from LLVM_INCLUDE_DOCS but the latter
-                       # is lacking value in stand-alone builds
-                       -DCLANG_INCLUDE_DOCS=ON
-                       -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON
-                       -DLLVM_BUILD_DOCS=ON
-                       -DLLVM_ENABLE_SPHINX=ON
-                       
-DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-                       
-DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
-                       -DSPHINX_WARNINGS_AS_ERRORS=OFF
+                       -DCLANG_INCLUDE_DOCS=${build_docs}
+                       -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
                )
        else
                mycmakeargs+=(
@@ -385,6 +394,7 @@ multilib_src_install_all() {
        fi
 
        docompress "/usr/lib/llvm/${SLOT}/share/man"
+       llvm_install_manpages
        # match 'html' non-compression
        use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
        # +x for some reason; TODO: investigate

Reply via email to